UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

47 lines 3.76 kB
import { SemVer, valid } from 'semver'; export class PaddingSemVer { constructor(semver) { // ignore invalid version, e.g.: '1000000000000000000.0.0' on https://registry.npmjs.com/latentflip-test if (!valid(semver)) { this.isPreRelease = true; this._paddingVersion = PaddingSemVer.anyVersion(); return; } this.semver = new SemVer(semver); // @ts-expect-error type definition is not correct if (this.semver.includePrerelease) { this.isPreRelease = true; } else if (this.semver.prerelease && this.semver.prerelease.length > 0) { this.isPreRelease = true; } else { this.isPreRelease = false; } } get paddingVersion() { if (!this._paddingVersion) { this._paddingVersion = PaddingSemVer.paddingVersion(this.semver.major) + PaddingSemVer.paddingVersion(this.semver.minor) + PaddingSemVer.paddingVersion(this.semver.patch); } return this._paddingVersion; } // 版本信息中为纯数字, JS 中支持的最大整型为 16 位 // 因此填充成 16 位对齐,如果版本号超过 16 位,则抛出异常 static paddingVersion(v) { const t = String(v); if (t.length <= 16) { const padding = Array.from({ length: 16 - t.length }) .fill(0) .join(''); return padding + t; } throw new Error(`v ${v} too long`); } static anyVersion() { return '000000000000000000000000000000000000000000000000'; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFkZGluZ1NlbVZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9QYWRkaW5nU2VtVmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQVksTUFBdUI7UUFDakMsd0dBQXdHO1FBQ3hHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsRCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsa0RBQWtEO1FBQ2xELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWU7Z0JBQ2xCLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7b0JBQy9DLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7b0JBQy9DLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCwrQkFBK0I7SUFDL0Isa0NBQWtDO0lBQ2xDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBUztRQUM3QixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ25CLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDbEQsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDUCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDWixPQUFPLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVTtRQUNmLE9BQU8sa0RBQWtELENBQUM7SUFDNUQsQ0FBQztDQUNGIn0=