Buckets:
| const parse = require('./parse') | |
| const constants = require('../internal/constants') | |
| const SemVer = require('../classes/semver') | |
| const truncate = (version, truncation, options) => { | |
| if (!constants.RELEASE_TYPES.includes(truncation)) { | |
| return null | |
| } | |
| const clonedVersion = cloneInputVersion(version, options) | |
| return clonedVersion && doTruncation(clonedVersion, truncation) | |
| } | |
| const cloneInputVersion = (version, options) => { | |
| const versionStringToParse = ( | |
| version instanceof SemVer ? version.version : version | |
| ) | |
| return parse(versionStringToParse, options) | |
| } | |
| const doTruncation = (version, truncation) => { | |
| if (isPrerelease(truncation)) { | |
| return version.version | |
| } | |
| version.prerelease = [] | |
| switch (truncation) { | |
| case 'major': | |
| version.minor = 0 | |
| version.patch = 0 | |
| break | |
| case 'minor': | |
| version.patch = 0 | |
| break | |
| } | |
| return version.format() | |
| } | |
| const isPrerelease = (type) => { | |
| return type.startsWith('pre') | |
| } | |
| module.exports = truncate | |
Xet Storage Details
- Size:
- 1.02 kB
- Xet hash:
- 5691560b035f6a8d03ee6738177da3a311e2449d7a48441512a65917013e61e5
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.