node-semvers 1.4.2 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/NodeVersions.js.map +1 -1
- package/dist/cjs/cli.d.cts +1 -1
- package/dist/cjs/cli.d.ts +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/lib/isNaN.d.cts +1 -1
- package/dist/cjs/lib/isNaN.d.ts +1 -1
- package/dist/cjs/lib/isNaN.js.map +1 -1
- package/dist/cjs/lib/keyFunctions.d.cts +3 -2
- package/dist/cjs/lib/keyFunctions.d.ts +3 -2
- package/dist/cjs/lib/keyFunctions.js +5 -5
- package/dist/cjs/lib/keyFunctions.js.map +1 -1
- package/dist/cjs/lib/lineFunctions.d.cts +3 -2
- package/dist/cjs/lib/lineFunctions.d.ts +3 -2
- package/dist/cjs/lib/lineFunctions.js +4 -4
- package/dist/cjs/lib/lineFunctions.js.map +1 -1
- package/dist/cjs/lib/match.d.cts +1 -1
- package/dist/cjs/lib/match.d.ts +1 -1
- package/dist/cjs/lib/match.js.map +1 -1
- package/dist/cjs/parseExpression/index.d.cts +2 -31
- package/dist/cjs/parseExpression/index.d.ts +2 -31
- package/dist/cjs/parseExpression/index.js.map +1 -1
- package/dist/cjs/parseExpression/isLTSFn.d.cts +3 -1
- package/dist/cjs/parseExpression/isLTSFn.d.ts +3 -1
- package/dist/cjs/parseExpression/isLTSFn.js.map +1 -1
- package/dist/cjs/parseExpression/isLatestFn.d.cts +3 -1
- package/dist/cjs/parseExpression/isLatestFn.d.ts +3 -1
- package/dist/cjs/parseExpression/isLatestFn.js.map +1 -1
- package/dist/cjs/parseExpression/schedulesLatest.d.cts +3 -1
- package/dist/cjs/parseExpression/schedulesLatest.d.ts +3 -1
- package/dist/cjs/parseExpression/schedulesLatest.js +4 -8
- package/dist/cjs/parseExpression/schedulesLatest.js.map +1 -1
- package/dist/cjs/types.d.cts +12 -0
- package/dist/cjs/types.d.ts +12 -0
- package/dist/esm/NodeVersions.js.map +1 -1
- package/dist/esm/cli.d.ts +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/lib/isNaN.d.ts +1 -1
- package/dist/esm/lib/isNaN.js.map +1 -1
- package/dist/esm/lib/keyFunctions.d.ts +3 -2
- package/dist/esm/lib/keyFunctions.js +5 -5
- package/dist/esm/lib/keyFunctions.js.map +1 -1
- package/dist/esm/lib/lineFunctions.d.ts +3 -2
- package/dist/esm/lib/lineFunctions.js +4 -4
- package/dist/esm/lib/lineFunctions.js.map +1 -1
- package/dist/esm/lib/match.d.ts +1 -1
- package/dist/esm/lib/match.js.map +1 -1
- package/dist/esm/parseExpression/index.d.ts +2 -31
- package/dist/esm/parseExpression/index.js.map +1 -1
- package/dist/esm/parseExpression/isLTSFn.d.ts +3 -1
- package/dist/esm/parseExpression/isLTSFn.js.map +1 -1
- package/dist/esm/parseExpression/isLatestFn.d.ts +3 -1
- package/dist/esm/parseExpression/isLatestFn.js.map +1 -1
- package/dist/esm/parseExpression/schedulesLatest.d.ts +3 -1
- package/dist/esm/parseExpression/schedulesLatest.js +4 -3
- package/dist/esm/parseExpression/schedulesLatest.js.map +1 -1
- package/dist/esm/types.d.ts +12 -0
- package/dist/esm/types.js.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/parseExpression/schedulesForEach.d.cts +0 -1
- package/dist/cjs/parseExpression/schedulesForEach.d.ts +0 -1
- package/dist/cjs/parseExpression/schedulesForEach.js +0 -17
- package/dist/cjs/parseExpression/schedulesForEach.js.map +0 -1
- package/dist/esm/parseExpression/schedulesForEach.d.ts +0 -1
- package/dist/esm/parseExpression/schedulesForEach.js +0 -6
- package/dist/esm/parseExpression/schedulesForEach.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRaw[]) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver), semver.coerce(b.semver)) ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): undefined | Promise<NodeVersions> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n function worker(options, callback) {\n const cache = new Cache((options as LoadOptions).cachePath || CACHE_PATH);\n cache.get(DISTS_URL, (err, versions:
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRaw[]) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver), semver.coerce(b.semver)) ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): undefined | Promise<NodeVersions> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n function worker(options, callback) {\n const cache = new Cache((options as LoadOptions).cachePath || CACHE_PATH);\n cache.get<VersionRaw[]>(DISTS_URL, (err, versions): undefined => {\n if (err) return callback(err);\n\n cache.get(SCHEDULES_URL, (err, schedule: ScheduleRaw[]) => {\n err ? callback(err) : callback(null, new NodeVersions(versions, schedule));\n });\n });\n }\n\n if (typeof callback === 'function') return worker(options, callback) as undefined;\n return new Promise((resolve, reject) => worker(options, (err, versions) => (err ? reject(err) : resolve(versions))));\n }\n\n static loadSync(options?: LoadOptions): NodeVersions | null {\n options = options || {};\n const cache = new Cache(options.cachePath || CACHE_PATH);\n const versions = cache.getSync<VersionRaw[]>(DISTS_URL);\n const schedule = cache.getSync<ScheduleRaw[]>(SCHEDULES_URL);\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n }\n\n resolve(expression: string | number | Date, options?: ResolveOptions): string | string[] | Version | Version[] | null {\n options = options || {};\n const path = options.path || 'version';\n\n // normalize\n if (typeof expression === 'number') expression = `${expression}`;\n if (typeof expression !== 'string') return null;\n expression = expression.trim();\n\n // single result, try a match\n const query = parseExpression.call(this, expression, options.now || new Date());\n if (query) {\n let version = null;\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (!match(test, query)) continue;\n version = test;\n break;\n }\n if (version) return version[path];\n }\n\n // filtered expression\n const range = options.range || '';\n const filters = { lts: !!~range.indexOf('lts'), key: undefined, line: undefined };\n filters.key = ~range.indexOf('major') ? major : ~range.indexOf('minor') ? minor : undefined;\n filters.line = ~range.indexOf('even') ? even : ~range.indexOf('odd') ? odd : undefined;\n\n const results = [];\n const founds = {};\n\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (filters.lts && !test.lts) continue;\n if (filters.line && !filters.line(test)) continue;\n if (!semver.satisfies(test.semver, expression)) continue;\n if (filters.key) {\n if (founds[filters.key(test)]) continue;\n founds[filters.key(test)] = true;\n }\n results.unshift(test[path]);\n }\n return results;\n }\n}\n"],"names":["NodeVersions","versions","schedule","Error","schedules","name","push","normalizeSchedule","sort","a","b","semver","gt","coerce","index","length","normalizeVersion","resolve","expression","options","path","trim","query","parseExpression","call","now","Date","version","test","date","match","range","filters","lts","indexOf","key","undefined","line","major","minor","even","odd","results","founds","satisfies","unshift","load","callback","worker","cache","Cache","cachePath","CACHE_PATH","get","DISTS_URL","err","SCHEDULES_URL","Promise","reject","loadSync","getSync"],"mappings":"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"}
|
package/dist/cjs/cli.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (argv:
|
|
1
|
+
declare const _default: (argv: string[]) => undefined;
|
|
2
2
|
export default _default;
|
package/dist/cjs/cli.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (argv:
|
|
1
|
+
declare const _default: (argv: string[]) => undefined;
|
|
2
2
|
export default _default;
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport isArray from 'isarray';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst ERROR_CODE = 11;\n\nexport default (argv) => {\n const options = getopts(argv.slice(1), {\n alias: { path: 'p', range: 'r', now: 'n' },\n stopEarly: true,\n });\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n // define.option('-p, --path [path]', 'path within version including raw for unprocessed version', 'version');\n // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'patch');\n // define.option('-n, --now [date]', 'use a specific time as a Date.parse');\n\n if (options.help) {\n console.log('');\n console.log('Example call:');\n console.log(' $ nv [version string]');\n console.log('');\n console.log('Version Strings:');\n console.log('Any command that calls for a version can be provided any of the');\n console.log('following \"version-ish\" identifies:');\n console.log('');\n console.log('- x.y.z A specific SemVer tuple');\n console.log('- x.y Major and minor version number');\n console.log('- x Just a major version number');\n console.log('- lts The most recent LTS (long-term support) node version');\n console.log('- lts/<name> The latest in a named LTS set. (argon, boron, etc.)');\n console.log('- lts/* Same as just \"lts\"');\n console.log('- latest The most recent (non-LTS) version');\n console.log('- stable Backwards-compatible alias for \"lts\"');\n console.log('- [expression] Engine and semver module expression like \"10.1.x || >=12.0.0\"');\n return;\n }\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log('Missing version string. Example usage: nv [version string]. Use nv --help for information on version strings');\n return exit(ERROR_CODE);\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options as LoadOptions, (err, semvers) => {\n if (err) {\n console.log(err.message);\n return exit(ERROR_CODE);\n }\n\n const version = semvers.resolve(args[0], options as ResolveOptions);\n if (!version || (isArray(version) && !(version as string[]).length)) {\n console.log(`Unrecognized: ${args[0]}`);\n return exit(ERROR_CODE);\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < (version as string[]).length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["ERROR_CODE","argv","stringify","value","JSON","options","getopts","slice","alias","path","range","now","stopEarly","Date","isNaN","parse","help","console","log","args","concat","_","length","exit","NodeVersions","load","err","semvers","message","version","resolve","isArray","index"],"mappings":";;;;+BASA;;;eAAA;;;2DATiB;oEACG;8DACA;8DACgD;8DAElD;;;;;;AAElB,IAAMA,aAAa;IAEnB,WAAe,SAACC;QAsCLC,YAAT,SAASA,UAAUC,KAAK;QACtB,OAAO,OAAOA,UAAU,WAAWA,QAAQC,KAAKF,SAAS,CAACC;IAC5D;IAvCA,IAAME,UAAUC,IAAAA,sBAAO,EAACL,KAAKM,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,MAAM;YAAKC,OAAO;YAAKC,KAAK;QAAI;QACzCC,WAAW;IACb;IACA,IAAI,OAAOP,QAAQM,GAAG,KAAK,aAAaN,QAAQM,GAAG,GAAG,IAAIE,KAAKC,IAAAA,gBAAK,EAAC,CAACT,QAAQM,GAAG,IAAIE,KAAKE,KAAK,CAACV,QAAQM,GAAG,IAAI,CAACN,QAAQM,GAAG;IAE3H,8GAA8G;IAC9G,uJAAuJ;IACvJ,4EAA4E;IAE5E,IAAIN,QAAQW,IAAI,EAAE;QAChBC,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZ;IACF;IAEA,IAAMC,OAAOlB,KAAKM,KAAK,CAAC,GAAG,GAAGa,MAAM,CAACf,QAAQgB,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBL,QAAQC,GAAG,CAAC;QACZ,OAAOK,IAAAA,aAAI,EAACvB;IACd;IAMAwB,gBAAY,CAACC,IAAI,CAACpB,SAAwB,SAACqB,KAAKC;QAC9C,IAAID,KAAK;YACPT,QAAQC,GAAG,CAACQ,IAAIE,OAAO;YACvB,OAAOL,IAAAA,aAAI,EAACvB;QACd;QAEA,IAAM6B,UAAUF,QAAQG,OAAO,CAACX,IAAI,CAAC,EAAE,EAAEd;QACzC,IAAI,CAACwB,WAAYE,IAAAA,gBAAO,EAACF,YAAY,CAAC,AAACA,QAAqBP,MAAM,EAAG;YACnEL,QAAQC,GAAG,CAAC,AAAC,iBAAwB,OAARC,IAAI,CAAC,EAAE;YACpC,OAAOI,IAAAA,aAAI,EAACvB;QACd;QAEAiB,QAAQC,GAAG,CAAC;QACZ,IAAIa,IAAAA,gBAAO,EAACF,UAAU;YACpB,IAAK,IAAIG,QAAQ,GAAGA,QAAQ,AAACH,QAAqBP,MAAM,EAAEU,QAASf,QAAQC,GAAG,CAAChB,UAAU2B,OAAO,CAACG,MAAM;QACzG,OAAOf,QAAQC,GAAG,CAAChB,UAAU2B;QAC7BN,IAAAA,aAAI,EAAC;IACP;AACF"}
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport isArray from 'isarray';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst ERROR_CODE = 11;\n\nexport default (argv: string[]): undefined => {\n const options = getopts(argv.slice(1), {\n alias: { path: 'p', range: 'r', now: 'n' },\n stopEarly: true,\n });\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n // define.option('-p, --path [path]', 'path within version including raw for unprocessed version', 'version');\n // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'patch');\n // define.option('-n, --now [date]', 'use a specific time as a Date.parse');\n\n if (options.help) {\n console.log('');\n console.log('Example call:');\n console.log(' $ nv [version string]');\n console.log('');\n console.log('Version Strings:');\n console.log('Any command that calls for a version can be provided any of the');\n console.log('following \"version-ish\" identifies:');\n console.log('');\n console.log('- x.y.z A specific SemVer tuple');\n console.log('- x.y Major and minor version number');\n console.log('- x Just a major version number');\n console.log('- lts The most recent LTS (long-term support) node version');\n console.log('- lts/<name> The latest in a named LTS set. (argon, boron, etc.)');\n console.log('- lts/* Same as just \"lts\"');\n console.log('- latest The most recent (non-LTS) version');\n console.log('- stable Backwards-compatible alias for \"lts\"');\n console.log('- [expression] Engine and semver module expression like \"10.1.x || >=12.0.0\"');\n return;\n }\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log('Missing version string. Example usage: nv [version string]. Use nv --help for information on version strings');\n return exit(ERROR_CODE);\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options as LoadOptions, (err, semvers) => {\n if (err) {\n console.log(err.message);\n return exit(ERROR_CODE);\n }\n\n const version = semvers.resolve(args[0], options as ResolveOptions);\n if (!version || (isArray(version) && !(version as string[]).length)) {\n console.log(`Unrecognized: ${args[0]}`);\n return exit(ERROR_CODE);\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < (version as string[]).length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["ERROR_CODE","argv","stringify","value","JSON","options","getopts","slice","alias","path","range","now","stopEarly","Date","isNaN","parse","help","console","log","args","concat","_","length","exit","NodeVersions","load","err","semvers","message","version","resolve","isArray","index"],"mappings":";;;;+BASA;;;eAAA;;;2DATiB;oEACG;8DACA;8DACgD;8DAElD;;;;;;AAElB,IAAMA,aAAa;IAEnB,WAAe,SAACC;QAsCLC,YAAT,SAASA,UAAUC,KAAK;QACtB,OAAO,OAAOA,UAAU,WAAWA,QAAQC,KAAKF,SAAS,CAACC;IAC5D;IAvCA,IAAME,UAAUC,IAAAA,sBAAO,EAACL,KAAKM,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,MAAM;YAAKC,OAAO;YAAKC,KAAK;QAAI;QACzCC,WAAW;IACb;IACA,IAAI,OAAOP,QAAQM,GAAG,KAAK,aAAaN,QAAQM,GAAG,GAAG,IAAIE,KAAKC,IAAAA,gBAAK,EAAC,CAACT,QAAQM,GAAG,IAAIE,KAAKE,KAAK,CAACV,QAAQM,GAAG,IAAI,CAACN,QAAQM,GAAG;IAE3H,8GAA8G;IAC9G,uJAAuJ;IACvJ,4EAA4E;IAE5E,IAAIN,QAAQW,IAAI,EAAE;QAChBC,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZ;IACF;IAEA,IAAMC,OAAOlB,KAAKM,KAAK,CAAC,GAAG,GAAGa,MAAM,CAACf,QAAQgB,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBL,QAAQC,GAAG,CAAC;QACZ,OAAOK,IAAAA,aAAI,EAACvB;IACd;IAMAwB,gBAAY,CAACC,IAAI,CAACpB,SAAwB,SAACqB,KAAKC;QAC9C,IAAID,KAAK;YACPT,QAAQC,GAAG,CAACQ,IAAIE,OAAO;YACvB,OAAOL,IAAAA,aAAI,EAACvB;QACd;QAEA,IAAM6B,UAAUF,QAAQG,OAAO,CAACX,IAAI,CAAC,EAAE,EAAEd;QACzC,IAAI,CAACwB,WAAYE,IAAAA,gBAAO,EAACF,YAAY,CAAC,AAACA,QAAqBP,MAAM,EAAG;YACnEL,QAAQC,GAAG,CAAC,AAAC,iBAAwB,OAARC,IAAI,CAAC,EAAE;YACpC,OAAOI,IAAAA,aAAI,EAACvB;QACd;QAEAiB,QAAQC,GAAG,CAAC;QACZ,IAAIa,IAAAA,gBAAO,EAACF,UAAU;YACpB,IAAK,IAAIG,QAAQ,GAAGA,QAAQ,AAACH,QAAqBP,MAAM,EAAEU,QAASf,QAAQC,GAAG,CAAChB,UAAU2B,OAAO,CAACG,MAAM;QACzG,OAAOf,QAAQC,GAAG,CAAChB,UAAU2B;QAC7BN,IAAAA,aAAI,EAAC;IACP;AACF"}
|
package/dist/cjs/lib/isNaN.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function isNaN(value:
|
|
1
|
+
export default function isNaN(value: unknown): boolean;
|
package/dist/cjs/lib/isNaN.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function isNaN(value:
|
|
1
|
+
export default function isNaN(value: unknown): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/isNaN.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nexport default function isNaN(value) {\n // biome-ignore lint/suspicious/noSelfCompare: Legacy\n return value !== value;\n}\n"],"names":["isNaN","value"],"mappings":"AAAA,+DAA+D;;;;;+BAC/D;;;eAAwBA;;;AAAT,SAASA,MAAMC,
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/isNaN.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nexport default function isNaN(value: unknown): boolean {\n // biome-ignore lint/suspicious/noSelfCompare: Legacy\n return value !== value;\n}\n"],"names":["isNaN","value"],"mappings":"AAAA,+DAA+D;;;;;+BAC/D;;;eAAwBA;;;AAAT,SAASA,MAAMC,KAAc;IAC1C,qDAAqD;IACrD,OAAOA,UAAUA;AACnB"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
1
|
+
import type { Version } from '../types.ts';
|
|
2
|
+
export declare function major(version: Version): string;
|
|
3
|
+
export declare function minor(version: Version): string;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
1
|
+
import type { Version } from '../types.ts';
|
|
2
|
+
export declare function major(version: Version): string;
|
|
3
|
+
export declare function minor(version: Version): string;
|
|
@@ -16,10 +16,10 @@ _export(exports, {
|
|
|
16
16
|
return minor;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
|
|
20
|
-
return version.major === 0 ? "".concat(version.major, ".").concat(version.minor) : version.major;
|
|
21
|
-
}
|
|
22
|
-
|
|
19
|
+
function major(version) {
|
|
20
|
+
return version.major === 0 ? "".concat(version.major, ".").concat(version.minor) : "".concat(version.major);
|
|
21
|
+
}
|
|
22
|
+
function minor(version) {
|
|
23
23
|
return version.major === 0 ? "".concat(version.major, ".").concat(version.minor, ".").concat(version.patch) : "".concat(version.major, ".").concat(version.minor);
|
|
24
|
-
}
|
|
24
|
+
}
|
|
25
25
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/keyFunctions.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/keyFunctions.ts"],"sourcesContent":["import type { Version } from '../types.ts';\n\nexport function major(version: Version): string {\n return version.major === 0 ? `${version.major}.${version.minor}` : `${version.major}`;\n}\n\nexport function minor(version: Version): string {\n return version.major === 0 ? `${version.major}.${version.minor}.${version.patch}` : `${version.major}.${version.minor}`;\n}\n"],"names":["major","minor","version","patch"],"mappings":";;;;;;;;;;;QAEgBA;eAAAA;;QAIAC;eAAAA;;;AAJT,SAASD,MAAME,OAAgB;IACpC,OAAOA,QAAQF,KAAK,KAAK,IAAI,AAAC,GAAmBE,OAAjBA,QAAQF,KAAK,EAAC,KAAiB,OAAdE,QAAQD,KAAK,IAAK,AAAC,GAAgB,OAAdC,QAAQF,KAAK;AACrF;AAEO,SAASC,MAAMC,OAAgB;IACpC,OAAOA,QAAQF,KAAK,KAAK,IAAI,AAAC,GAAmBE,OAAjBA,QAAQF,KAAK,EAAC,KAAoBE,OAAjBA,QAAQD,KAAK,EAAC,KAAiB,OAAdC,QAAQC,KAAK,IAAK,AAAC,GAAmBD,OAAjBA,QAAQF,KAAK,EAAC,KAAiB,OAAdE,QAAQD,KAAK;AACvH"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
1
|
+
import type { Version } from '../types.ts';
|
|
2
|
+
export declare function even(version: Version): boolean;
|
|
3
|
+
export declare function odd(version: Version): boolean;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
1
|
+
import type { Version } from '../types.ts';
|
|
2
|
+
export declare function even(version: Version): boolean;
|
|
3
|
+
export declare function odd(version: Version): boolean;
|
|
@@ -16,12 +16,12 @@ _export(exports, {
|
|
|
16
16
|
return odd;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
|
|
19
|
+
function even(version) {
|
|
20
20
|
var major = version.major === 0 ? version.minor : version.major;
|
|
21
21
|
return major % 2 === 0;
|
|
22
|
-
}
|
|
23
|
-
|
|
22
|
+
}
|
|
23
|
+
function odd(version) {
|
|
24
24
|
var major = version.major === 0 ? version.minor : version.major;
|
|
25
25
|
return major % 2 === 1;
|
|
26
|
-
}
|
|
26
|
+
}
|
|
27
27
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/lineFunctions.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/lineFunctions.ts"],"sourcesContent":["import type { Version } from '../types.ts';\n\nexport function even(version: Version): boolean {\n const major = version.major === 0 ? version.minor : version.major;\n return major % 2 === 0;\n}\n\nexport function odd(version: Version): boolean {\n const major = version.major === 0 ? version.minor : version.major;\n return major % 2 === 1;\n}\n"],"names":["even","odd","version","major","minor"],"mappings":";;;;;;;;;;;QAEgBA;eAAAA;;QAKAC;eAAAA;;;AALT,SAASD,KAAKE,OAAgB;IACnC,IAAMC,QAAQD,QAAQC,KAAK,KAAK,IAAID,QAAQE,KAAK,GAAGF,QAAQC,KAAK;IACjE,OAAOA,QAAQ,MAAM;AACvB;AAEO,SAASF,IAAIC,OAAgB;IAClC,IAAMC,QAAQD,QAAQC,KAAK,KAAK,IAAID,QAAQE,KAAK,GAAGF,QAAQC,KAAK;IACjE,OAAOA,QAAQ,MAAM;AACvB"}
|
package/dist/cjs/lib/match.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function match(test:
|
|
1
|
+
export default function match(test: object, query: object): boolean;
|
package/dist/cjs/lib/match.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function match(test:
|
|
1
|
+
export default function match(test: object, query: object): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/match.ts"],"sourcesContent":["export default function match(test, query) {\n for (const key in query) {\n if (test[key] !== query[key]) return false;\n }\n return true;\n}\n"],"names":["match","test","query","key"],"mappings":";;;;+BAAA;;;eAAwBA;;;AAAT,SAASA,MAAMC,
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/match.ts"],"sourcesContent":["export default function match(test: object, query: object): boolean {\n for (const key in query) {\n if (test[key] !== query[key]) return false;\n }\n return true;\n}\n"],"names":["match","test","query","key"],"mappings":";;;;+BAAA;;;eAAwBA;;;AAAT,SAASA,MAAMC,IAAY,EAAEC,KAAa;IACvD,IAAK,IAAMC,OAAOD,MAAO;QACvB,IAAID,IAAI,CAACE,IAAI,KAAKD,KAAK,CAACC,IAAI,EAAE,OAAO;IACvC;IACA,OAAO;AACT"}
|
|
@@ -1,31 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
minor?: undefined;
|
|
4
|
-
patch?: undefined;
|
|
5
|
-
name?: undefined;
|
|
6
|
-
codename?: undefined;
|
|
7
|
-
} | {
|
|
8
|
-
major: number;
|
|
9
|
-
minor: number;
|
|
10
|
-
patch?: undefined;
|
|
11
|
-
name?: undefined;
|
|
12
|
-
codename?: undefined;
|
|
13
|
-
} | {
|
|
14
|
-
major: number;
|
|
15
|
-
minor: number;
|
|
16
|
-
patch: number;
|
|
17
|
-
name?: undefined;
|
|
18
|
-
codename?: undefined;
|
|
19
|
-
} | {
|
|
20
|
-
name: any;
|
|
21
|
-
major?: undefined;
|
|
22
|
-
minor?: undefined;
|
|
23
|
-
patch?: undefined;
|
|
24
|
-
codename?: undefined;
|
|
25
|
-
} | {
|
|
26
|
-
codename: any;
|
|
27
|
-
major?: undefined;
|
|
28
|
-
minor?: undefined;
|
|
29
|
-
patch?: undefined;
|
|
30
|
-
name?: undefined;
|
|
31
|
-
};
|
|
1
|
+
import type { ParsedExpression } from '../types.ts';
|
|
2
|
+
export default function parseExpression(expression: string, now: Date): ParsedExpression;
|
|
@@ -1,31 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
minor?: undefined;
|
|
4
|
-
patch?: undefined;
|
|
5
|
-
name?: undefined;
|
|
6
|
-
codename?: undefined;
|
|
7
|
-
} | {
|
|
8
|
-
major: number;
|
|
9
|
-
minor: number;
|
|
10
|
-
patch?: undefined;
|
|
11
|
-
name?: undefined;
|
|
12
|
-
codename?: undefined;
|
|
13
|
-
} | {
|
|
14
|
-
major: number;
|
|
15
|
-
minor: number;
|
|
16
|
-
patch: number;
|
|
17
|
-
name?: undefined;
|
|
18
|
-
codename?: undefined;
|
|
19
|
-
} | {
|
|
20
|
-
name: any;
|
|
21
|
-
major?: undefined;
|
|
22
|
-
minor?: undefined;
|
|
23
|
-
patch?: undefined;
|
|
24
|
-
codename?: undefined;
|
|
25
|
-
} | {
|
|
26
|
-
codename: any;
|
|
27
|
-
major?: undefined;
|
|
28
|
-
minor?: undefined;
|
|
29
|
-
patch?: undefined;
|
|
30
|
-
name?: undefined;
|
|
31
|
-
};
|
|
1
|
+
import type { ParsedExpression } from '../types.ts';
|
|
2
|
+
export default function parseExpression(expression: string, now: Date): ParsedExpression;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/index.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from '../lib/isNaN.ts';\nimport isLatestFn from './isLatestFn.ts';\nimport isLTSFn from './isLTSFn.ts';\nimport schedulesLatest from './schedulesLatest.ts';\n\nexport default function parseExpression(expression, now) {\n if (expression[0] === 'v' && !isNaN(+expression.substr(1, 1))) expression = expression.substr(1);\n if (expression.substr(0, 4) === 'lts/') expression = expression.substr(4) === '*' ? 'lts' : expression.substr(4);\n if (expression === 'stable') expression = 'lts';\n\n if (typeof expression === 'number') return { major: expression };\n if (~expression.indexOf('.')) {\n const parts = expression.split('.');\n if (parts.length === 1) return isNaN(+parts[0]) ? null : { major: +parts[0] };\n if (parts.length === 2) return isNaN(+parts[0]) && isNaN(+parts[1]) ? null : { major: +parts[0], minor: +parts[1] };\n return isNaN(+parts[0]) && isNaN(+parts[1]) && isNaN(+parts[2]) ? null : { major: +parts[0], minor: +parts[1], patch: +parts[2] };\n }\n if (!isNaN(+expression)) return { major: +expression };\n if (expression === 'lts') {\n const lts = schedulesLatest(this.schedules, isLTSFn(now));\n return lts ? { name: lts.name } : null;\n }\n if (expression === 'latest') {\n const latest = schedulesLatest(this.schedules, isLatestFn(now));\n return latest ? { name: latest.name } : null;\n }\n return { codename: expression.toLowerCase() };\n}\n"],"names":["parseExpression","expression","now","isNaN","substr","major","indexOf","parts","split","length","minor","patch","lts","schedulesLatest","schedules","isLTSFn","name","latest","isLatestFn","codename","toLowerCase"],"mappings":"AAAA,+DAA+D;;;;;+
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/index.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from '../lib/isNaN.ts';\nimport type { ParsedExpression } from '../types.ts';\nimport isLatestFn from './isLatestFn.ts';\nimport isLTSFn from './isLTSFn.ts';\nimport schedulesLatest from './schedulesLatest.ts';\n\nexport default function parseExpression(expression: string, now: Date): ParsedExpression {\n if (expression[0] === 'v' && !isNaN(+expression.substr(1, 1))) expression = expression.substr(1);\n if (expression.substr(0, 4) === 'lts/') expression = expression.substr(4) === '*' ? 'lts' : expression.substr(4);\n if (expression === 'stable') expression = 'lts';\n\n if (typeof expression === 'number') return { major: expression };\n if (~expression.indexOf('.')) {\n const parts = expression.split('.');\n if (parts.length === 1) return isNaN(+parts[0]) ? null : { major: +parts[0] };\n if (parts.length === 2) return isNaN(+parts[0]) && isNaN(+parts[1]) ? null : { major: +parts[0], minor: +parts[1] };\n return isNaN(+parts[0]) && isNaN(+parts[1]) && isNaN(+parts[2]) ? null : { major: +parts[0], minor: +parts[1], patch: +parts[2] };\n }\n if (!isNaN(+expression)) return { major: +expression };\n if (expression === 'lts') {\n const lts = schedulesLatest(this.schedules, isLTSFn(now));\n return lts ? { name: lts.name } : null;\n }\n if (expression === 'latest') {\n const latest = schedulesLatest(this.schedules, isLatestFn(now));\n return latest ? { name: latest.name } : null;\n }\n return { codename: expression.toLowerCase() };\n}\n"],"names":["parseExpression","expression","now","isNaN","substr","major","indexOf","parts","split","length","minor","patch","lts","schedulesLatest","schedules","isLTSFn","name","latest","isLatestFn","codename","toLowerCase"],"mappings":"AAAA,+DAA+D;;;;;+BAO/D;;;eAAwBA;;;8DANN;mEAEK;gEACH;wEACQ;;;;;;AAEb,SAASA,gBAAgBC,UAAkB,EAAEC,GAAS;IACnE,IAAID,UAAU,CAAC,EAAE,KAAK,OAAO,CAACE,IAAAA,gBAAK,EAAC,CAACF,WAAWG,MAAM,CAAC,GAAG,KAAKH,aAAaA,WAAWG,MAAM,CAAC;IAC9F,IAAIH,WAAWG,MAAM,CAAC,GAAG,OAAO,QAAQH,aAAaA,WAAWG,MAAM,CAAC,OAAO,MAAM,QAAQH,WAAWG,MAAM,CAAC;IAC9G,IAAIH,eAAe,UAAUA,aAAa;IAE1C,IAAI,OAAOA,eAAe,UAAU,OAAO;QAAEI,OAAOJ;IAAW;IAC/D,IAAI,CAACA,WAAWK,OAAO,CAAC,MAAM;QAC5B,IAAMC,QAAQN,WAAWO,KAAK,CAAC;QAC/B,IAAID,MAAME,MAAM,KAAK,GAAG,OAAON,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;QAAC;QAC5E,IAAIA,MAAME,MAAM,KAAK,GAAG,OAAON,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,KAAKJ,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;YAAEG,OAAO,CAACH,KAAK,CAAC,EAAE;QAAC;QAClH,OAAOJ,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,KAAKJ,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,KAAKJ,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;YAAEG,OAAO,CAACH,KAAK,CAAC,EAAE;YAAEI,OAAO,CAACJ,KAAK,CAAC,EAAE;QAAC;IAClI;IACA,IAAI,CAACJ,IAAAA,gBAAK,EAAC,CAACF,aAAa,OAAO;QAAEI,OAAO,CAACJ;IAAW;IACrD,IAAIA,eAAe,OAAO;QACxB,IAAMW,MAAMC,IAAAA,0BAAe,EAAC,IAAI,CAACC,SAAS,EAAEC,IAAAA,kBAAO,EAACb;QACpD,OAAOU,MAAM;YAAEI,MAAMJ,IAAII,IAAI;QAAC,IAAI;IACpC;IACA,IAAIf,eAAe,UAAU;QAC3B,IAAMgB,SAASJ,IAAAA,0BAAe,EAAC,IAAI,CAACC,SAAS,EAAEI,IAAAA,qBAAU,EAAChB;QAC1D,OAAOe,SAAS;YAAED,MAAMC,OAAOD,IAAI;QAAC,IAAI;IAC1C;IACA,OAAO;QAAEG,UAAUlB,WAAWmB,WAAW;IAAG;AAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/isLTSFn.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/isLTSFn.ts"],"sourcesContent":["import type { Schedule } from '../types.ts';\n\nexport type Function = (item: Schedule) => boolean;\n\nexport default function isLTSFn(now: Date): Function {\n return function isLTS(item: Schedule): boolean {\n return item.lts && now >= item.start && now <= item.end;\n };\n}\n"],"names":["isLTSFn","now","isLTS","item","lts","start","end"],"mappings":";;;;+BAIA;;;eAAwBA;;;AAAT,SAASA,QAAQC,GAAS;IACvC,OAAO,SAASC,MAAMC,IAAc;QAClC,OAAOA,KAAKC,GAAG,IAAIH,OAAOE,KAAKE,KAAK,IAAIJ,OAAOE,KAAKG,GAAG;IACzD;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/isLatestFn.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/isLatestFn.ts"],"sourcesContent":["import type { Schedule } from '../types.ts';\n\nexport type Function = (item: Schedule) => boolean;\n\nexport default function isLatestFn(now: Date): Function {\n return function isLatest(item: Schedule): boolean {\n return !item.lts && now >= item.start && now <= item.end;\n };\n}\n"],"names":["isLatestFn","now","isLatest","item","lts","start","end"],"mappings":";;;;+BAIA;;;eAAwBA;;;AAAT,SAASA,WAAWC,GAAS;IAC1C,OAAO,SAASC,SAASC,IAAc;QACrC,OAAO,CAACA,KAAKC,GAAG,IAAIH,OAAOE,KAAKE,KAAK,IAAIJ,OAAOE,KAAKG,GAAG;IAC1D;AACF"}
|
|
@@ -8,17 +8,13 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return schedulesLatest;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _schedulesForEachts = /*#__PURE__*/ _interop_require_default(require("./schedulesForEach.js"));
|
|
12
|
-
function _interop_require_default(obj) {
|
|
13
|
-
return obj && obj.__esModule ? obj : {
|
|
14
|
-
default: obj
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
11
|
function schedulesLatest(schedules, filter) {
|
|
18
12
|
var latest = null;
|
|
19
|
-
(0
|
|
13
|
+
for(var index = 0; index < schedules.length; index++){
|
|
14
|
+
var schedule = schedules[index];
|
|
15
|
+
if (!filter(schedule)) continue;
|
|
20
16
|
if (!latest || latest.start < schedule.start) latest = schedule;
|
|
21
|
-
}
|
|
17
|
+
}
|
|
22
18
|
return latest;
|
|
23
19
|
}
|
|
24
20
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesLatest.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesLatest.ts"],"sourcesContent":["import type { Schedule } from '../types.ts';\n\nexport type Filter = (item: Schedule) => boolean;\n\nexport default function schedulesLatest(schedules: Schedule[], filter: Filter): Schedule {\n let latest = null;\n for (let index = 0; index < schedules.length; index++) {\n const schedule = schedules[index];\n if (!filter(schedule)) continue;\n if (!latest || latest.start < schedule.start) latest = schedule;\n }\n return latest;\n}\n"],"names":["schedulesLatest","schedules","filter","latest","index","length","schedule","start"],"mappings":";;;;+BAIA;;;eAAwBA;;;AAAT,SAASA,gBAAgBC,SAAqB,EAAEC,MAAc;IAC3E,IAAIC,SAAS;IACb,IAAK,IAAIC,QAAQ,GAAGA,QAAQH,UAAUI,MAAM,EAAED,QAAS;QACrD,IAAME,WAAWL,SAAS,CAACG,MAAM;QACjC,IAAI,CAACF,OAAOI,WAAW;QACvB,IAAI,CAACH,UAAUA,OAAOI,KAAK,GAAGD,SAASC,KAAK,EAAEJ,SAASG;IACzD;IACA,OAAOH;AACT"}
|
package/dist/cjs/types.d.cts
CHANGED
|
@@ -55,3 +55,15 @@ export interface Version {
|
|
|
55
55
|
raw: VersionRaw;
|
|
56
56
|
codename: string;
|
|
57
57
|
}
|
|
58
|
+
export interface ParsedVersion {
|
|
59
|
+
major: number;
|
|
60
|
+
minor?: number;
|
|
61
|
+
patch?: number;
|
|
62
|
+
}
|
|
63
|
+
export interface ParsedCodename {
|
|
64
|
+
codename: string;
|
|
65
|
+
}
|
|
66
|
+
export interface ParsedName {
|
|
67
|
+
name: string;
|
|
68
|
+
}
|
|
69
|
+
export type ParsedExpression = ParsedVersion | ParsedCodename | ParsedName;
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -55,3 +55,15 @@ export interface Version {
|
|
|
55
55
|
raw: VersionRaw;
|
|
56
56
|
codename: string;
|
|
57
57
|
}
|
|
58
|
+
export interface ParsedVersion {
|
|
59
|
+
major: number;
|
|
60
|
+
minor?: number;
|
|
61
|
+
patch?: number;
|
|
62
|
+
}
|
|
63
|
+
export interface ParsedCodename {
|
|
64
|
+
codename: string;
|
|
65
|
+
}
|
|
66
|
+
export interface ParsedName {
|
|
67
|
+
name: string;
|
|
68
|
+
}
|
|
69
|
+
export type ParsedExpression = ParsedVersion | ParsedCodename | ParsedName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRaw[]) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver), semver.coerce(b.semver)) ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): undefined | Promise<NodeVersions> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n function worker(options, callback) {\n const cache = new Cache((options as LoadOptions).cachePath || CACHE_PATH);\n cache.get(DISTS_URL, (err, versions:
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRaw[]) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver), semver.coerce(b.semver)) ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): undefined | Promise<NodeVersions> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n function worker(options, callback) {\n const cache = new Cache((options as LoadOptions).cachePath || CACHE_PATH);\n cache.get<VersionRaw[]>(DISTS_URL, (err, versions): undefined => {\n if (err) return callback(err);\n\n cache.get(SCHEDULES_URL, (err, schedule: ScheduleRaw[]) => {\n err ? callback(err) : callback(null, new NodeVersions(versions, schedule));\n });\n });\n }\n\n if (typeof callback === 'function') return worker(options, callback) as undefined;\n return new Promise((resolve, reject) => worker(options, (err, versions) => (err ? reject(err) : resolve(versions))));\n }\n\n static loadSync(options?: LoadOptions): NodeVersions | null {\n options = options || {};\n const cache = new Cache(options.cachePath || CACHE_PATH);\n const versions = cache.getSync<VersionRaw[]>(DISTS_URL);\n const schedule = cache.getSync<ScheduleRaw[]>(SCHEDULES_URL);\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n }\n\n resolve(expression: string | number | Date, options?: ResolveOptions): string | string[] | Version | Version[] | null {\n options = options || {};\n const path = options.path || 'version';\n\n // normalize\n if (typeof expression === 'number') expression = `${expression}`;\n if (typeof expression !== 'string') return null;\n expression = expression.trim();\n\n // single result, try a match\n const query = parseExpression.call(this, expression, options.now || new Date());\n if (query) {\n let version = null;\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (!match(test, query)) continue;\n version = test;\n break;\n }\n if (version) return version[path];\n }\n\n // filtered expression\n const range = options.range || '';\n const filters = { lts: !!~range.indexOf('lts'), key: undefined, line: undefined };\n filters.key = ~range.indexOf('major') ? major : ~range.indexOf('minor') ? minor : undefined;\n filters.line = ~range.indexOf('even') ? even : ~range.indexOf('odd') ? odd : undefined;\n\n const results = [];\n const founds = {};\n\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (filters.lts && !test.lts) continue;\n if (filters.line && !filters.line(test)) continue;\n if (!semver.satisfies(test.semver, expression)) continue;\n if (filters.key) {\n if (founds[filters.key(test)]) continue;\n founds[filters.key(test)] = true;\n }\n results.unshift(test[path]);\n }\n return results;\n }\n}\n"],"names":["Cache","semver","CACHE_PATH","DISTS_URL","SCHEDULES_URL","major","minor","even","odd","match","normalizeSchedule","normalizeVersion","parseExpression","NodeVersions","load","options","callback","worker","cache","cachePath","get","err","versions","schedule","Promise","resolve","reject","loadSync","getSync","expression","path","trim","query","call","now","Date","version","index","length","test","date","range","filters","lts","indexOf","key","undefined","line","results","founds","satisfies","unshift","Error","schedules","name","push","sort","a","b","gt","coerce"],"mappings":"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"}
|
package/dist/esm/cli.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (argv:
|
|
1
|
+
declare const _default: (argv: string[]) => undefined;
|
|
2
2
|
export default _default;
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport isArray from 'isarray';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst ERROR_CODE = 11;\n\nexport default (argv) => {\n const options = getopts(argv.slice(1), {\n alias: { path: 'p', range: 'r', now: 'n' },\n stopEarly: true,\n });\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n // define.option('-p, --path [path]', 'path within version including raw for unprocessed version', 'version');\n // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'patch');\n // define.option('-n, --now [date]', 'use a specific time as a Date.parse');\n\n if (options.help) {\n console.log('');\n console.log('Example call:');\n console.log(' $ nv [version string]');\n console.log('');\n console.log('Version Strings:');\n console.log('Any command that calls for a version can be provided any of the');\n console.log('following \"version-ish\" identifies:');\n console.log('');\n console.log('- x.y.z A specific SemVer tuple');\n console.log('- x.y Major and minor version number');\n console.log('- x Just a major version number');\n console.log('- lts The most recent LTS (long-term support) node version');\n console.log('- lts/<name> The latest in a named LTS set. (argon, boron, etc.)');\n console.log('- lts/* Same as just \"lts\"');\n console.log('- latest The most recent (non-LTS) version');\n console.log('- stable Backwards-compatible alias for \"lts\"');\n console.log('- [expression] Engine and semver module expression like \"10.1.x || >=12.0.0\"');\n return;\n }\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log('Missing version string. Example usage: nv [version string]. Use nv --help for information on version strings');\n return exit(ERROR_CODE);\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options as LoadOptions, (err, semvers) => {\n if (err) {\n console.log(err.message);\n return exit(ERROR_CODE);\n }\n\n const version = semvers.resolve(args[0], options as ResolveOptions);\n if (!version || (isArray(version) && !(version as string[]).length)) {\n console.log(`Unrecognized: ${args[0]}`);\n return exit(ERROR_CODE);\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < (version as string[]).length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["exit","getopts","isArray","NodeVersions","isNaN","ERROR_CODE","argv","options","slice","alias","path","range","now","stopEarly","Date","parse","help","console","log","args","concat","_","length","stringify","value","JSON","load","err","semvers","message","version","resolve","index"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,iBAAiB;AACrC,OAAOC,aAAa,UAAU;AAC9B,OAAOC,kBAA6D,aAAa;AACjF,+DAA+D;AAC/D,OAAOC,WAAW,iBAAiB;AAEnC,MAAMC,aAAa;AAEnB,eAAe,CAAA,CAACC;IACd,MAAMC,UAAUN,QAAQK,KAAKE,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,MAAM;YAAKC,OAAO;YAAKC,KAAK;QAAI;QACzCC,WAAW;IACb;IACA,IAAI,OAAON,QAAQK,GAAG,KAAK,aAAaL,QAAQK,GAAG,GAAG,IAAIE,KAAKV,MAAM,CAACG,QAAQK,GAAG,IAAIE,KAAKC,KAAK,CAACR,QAAQK,GAAG,IAAI,CAACL,QAAQK,GAAG;IAE3H,8GAA8G;IAC9G,uJAAuJ;IACvJ,4EAA4E;IAE5E,IAAIL,QAAQS,IAAI,EAAE;QAChBC,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZ;IACF;IAEA,MAAMC,OAAOb,KAAKE,KAAK,CAAC,GAAG,GAAGY,MAAM,CAACb,QAAQc,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBL,QAAQC,GAAG,CAAC;QACZ,OAAOlB,KAAKK;IACd;IAEA,SAASkB,UAAUC,KAAK;QACtB,OAAO,OAAOA,UAAU,WAAWA,QAAQC,KAAKF,SAAS,CAACC;IAC5D;IAEArB,aAAauB,IAAI,CAACnB,SAAwB,CAACoB,KAAKC;QAC9C,IAAID,KAAK;YACPV,QAAQC,GAAG,CAACS,IAAIE,OAAO;YACvB,OAAO7B,KAAKK;QACd;QAEA,MAAMyB,UAAUF,QAAQG,OAAO,CAACZ,IAAI,CAAC,EAAE,EAAEZ;QACzC,IAAI,CAACuB,WAAY5B,QAAQ4B,YAAY,CAAC,AAACA,QAAqBR,MAAM,EAAG;YACnEL,QAAQC,GAAG,CAAC,CAAC,cAAc,EAAEC,IAAI,CAAC,EAAE,EAAE;YACtC,OAAOnB,KAAKK;QACd;QAEAY,QAAQC,GAAG,CAAC;QACZ,IAAIhB,QAAQ4B,UAAU;YACpB,IAAK,IAAIE,QAAQ,GAAGA,QAAQ,AAACF,QAAqBR,MAAM,EAAEU,QAASf,QAAQC,GAAG,CAACK,UAAUO,OAAO,CAACE,MAAM;QACzG,OAAOf,QAAQC,GAAG,CAACK,UAAUO;QAC7B9B,KAAK;IACP;AACF,CAAA,EAAE"}
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport isArray from 'isarray';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst ERROR_CODE = 11;\n\nexport default (argv: string[]): undefined => {\n const options = getopts(argv.slice(1), {\n alias: { path: 'p', range: 'r', now: 'n' },\n stopEarly: true,\n });\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n // define.option('-p, --path [path]', 'path within version including raw for unprocessed version', 'version');\n // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'patch');\n // define.option('-n, --now [date]', 'use a specific time as a Date.parse');\n\n if (options.help) {\n console.log('');\n console.log('Example call:');\n console.log(' $ nv [version string]');\n console.log('');\n console.log('Version Strings:');\n console.log('Any command that calls for a version can be provided any of the');\n console.log('following \"version-ish\" identifies:');\n console.log('');\n console.log('- x.y.z A specific SemVer tuple');\n console.log('- x.y Major and minor version number');\n console.log('- x Just a major version number');\n console.log('- lts The most recent LTS (long-term support) node version');\n console.log('- lts/<name> The latest in a named LTS set. (argon, boron, etc.)');\n console.log('- lts/* Same as just \"lts\"');\n console.log('- latest The most recent (non-LTS) version');\n console.log('- stable Backwards-compatible alias for \"lts\"');\n console.log('- [expression] Engine and semver module expression like \"10.1.x || >=12.0.0\"');\n return;\n }\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log('Missing version string. Example usage: nv [version string]. Use nv --help for information on version strings');\n return exit(ERROR_CODE);\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options as LoadOptions, (err, semvers) => {\n if (err) {\n console.log(err.message);\n return exit(ERROR_CODE);\n }\n\n const version = semvers.resolve(args[0], options as ResolveOptions);\n if (!version || (isArray(version) && !(version as string[]).length)) {\n console.log(`Unrecognized: ${args[0]}`);\n return exit(ERROR_CODE);\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < (version as string[]).length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["exit","getopts","isArray","NodeVersions","isNaN","ERROR_CODE","argv","options","slice","alias","path","range","now","stopEarly","Date","parse","help","console","log","args","concat","_","length","stringify","value","JSON","load","err","semvers","message","version","resolve","index"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,iBAAiB;AACrC,OAAOC,aAAa,UAAU;AAC9B,OAAOC,kBAA6D,aAAa;AACjF,+DAA+D;AAC/D,OAAOC,WAAW,iBAAiB;AAEnC,MAAMC,aAAa;AAEnB,eAAe,CAAA,CAACC;IACd,MAAMC,UAAUN,QAAQK,KAAKE,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,MAAM;YAAKC,OAAO;YAAKC,KAAK;QAAI;QACzCC,WAAW;IACb;IACA,IAAI,OAAON,QAAQK,GAAG,KAAK,aAAaL,QAAQK,GAAG,GAAG,IAAIE,KAAKV,MAAM,CAACG,QAAQK,GAAG,IAAIE,KAAKC,KAAK,CAACR,QAAQK,GAAG,IAAI,CAACL,QAAQK,GAAG;IAE3H,8GAA8G;IAC9G,uJAAuJ;IACvJ,4EAA4E;IAE5E,IAAIL,QAAQS,IAAI,EAAE;QAChBC,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZ;IACF;IAEA,MAAMC,OAAOb,KAAKE,KAAK,CAAC,GAAG,GAAGY,MAAM,CAACb,QAAQc,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBL,QAAQC,GAAG,CAAC;QACZ,OAAOlB,KAAKK;IACd;IAEA,SAASkB,UAAUC,KAAK;QACtB,OAAO,OAAOA,UAAU,WAAWA,QAAQC,KAAKF,SAAS,CAACC;IAC5D;IAEArB,aAAauB,IAAI,CAACnB,SAAwB,CAACoB,KAAKC;QAC9C,IAAID,KAAK;YACPV,QAAQC,GAAG,CAACS,IAAIE,OAAO;YACvB,OAAO7B,KAAKK;QACd;QAEA,MAAMyB,UAAUF,QAAQG,OAAO,CAACZ,IAAI,CAAC,EAAE,EAAEZ;QACzC,IAAI,CAACuB,WAAY5B,QAAQ4B,YAAY,CAAC,AAACA,QAAqBR,MAAM,EAAG;YACnEL,QAAQC,GAAG,CAAC,CAAC,cAAc,EAAEC,IAAI,CAAC,EAAE,EAAE;YACtC,OAAOnB,KAAKK;QACd;QAEAY,QAAQC,GAAG,CAAC;QACZ,IAAIhB,QAAQ4B,UAAU;YACpB,IAAK,IAAIE,QAAQ,GAAGA,QAAQ,AAACF,QAAqBR,MAAM,EAAEU,QAASf,QAAQC,GAAG,CAACK,UAAUO,OAAO,CAACE,MAAM;QACzG,OAAOf,QAAQC,GAAG,CAACK,UAAUO;QAC7B9B,KAAK;IACP;AACF,CAAA,EAAE"}
|
package/dist/esm/lib/isNaN.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function isNaN(value:
|
|
1
|
+
export default function isNaN(value: unknown): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/isNaN.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nexport default function isNaN(value) {\n // biome-ignore lint/suspicious/noSelfCompare: Legacy\n return value !== value;\n}\n"],"names":["isNaN","value"],"mappings":"AAAA,+DAA+D;AAC/D,eAAe,SAASA,MAAMC,
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/isNaN.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nexport default function isNaN(value: unknown): boolean {\n // biome-ignore lint/suspicious/noSelfCompare: Legacy\n return value !== value;\n}\n"],"names":["isNaN","value"],"mappings":"AAAA,+DAA+D;AAC/D,eAAe,SAASA,MAAMC,KAAc;IAC1C,qDAAqD;IACrD,OAAOA,UAAUA;AACnB"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
1
|
+
import type { Version } from '../types.ts';
|
|
2
|
+
export declare function major(version: Version): string;
|
|
3
|
+
export declare function minor(version: Version): string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export
|
|
2
|
-
return version.major === 0 ? `${version.major}.${version.minor}` : version.major
|
|
3
|
-
}
|
|
4
|
-
export
|
|
1
|
+
export function major(version) {
|
|
2
|
+
return version.major === 0 ? `${version.major}.${version.minor}` : `${version.major}`;
|
|
3
|
+
}
|
|
4
|
+
export function minor(version) {
|
|
5
5
|
return version.major === 0 ? `${version.major}.${version.minor}.${version.patch}` : `${version.major}.${version.minor}`;
|
|
6
|
-
}
|
|
6
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/keyFunctions.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/keyFunctions.ts"],"sourcesContent":["import type { Version } from '../types.ts';\n\nexport function major(version: Version): string {\n return version.major === 0 ? `${version.major}.${version.minor}` : `${version.major}`;\n}\n\nexport function minor(version: Version): string {\n return version.major === 0 ? `${version.major}.${version.minor}.${version.patch}` : `${version.major}.${version.minor}`;\n}\n"],"names":["major","version","minor","patch"],"mappings":"AAEA,OAAO,SAASA,MAAMC,OAAgB;IACpC,OAAOA,QAAQD,KAAK,KAAK,IAAI,GAAGC,QAAQD,KAAK,CAAC,CAAC,EAAEC,QAAQC,KAAK,EAAE,GAAG,GAAGD,QAAQD,KAAK,EAAE;AACvF;AAEA,OAAO,SAASE,MAAMD,OAAgB;IACpC,OAAOA,QAAQD,KAAK,KAAK,IAAI,GAAGC,QAAQD,KAAK,CAAC,CAAC,EAAEC,QAAQC,KAAK,CAAC,CAAC,EAAED,QAAQE,KAAK,EAAE,GAAG,GAAGF,QAAQD,KAAK,CAAC,CAAC,EAAEC,QAAQC,KAAK,EAAE;AACzH"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
1
|
+
import type { Version } from '../types.ts';
|
|
2
|
+
export declare function even(version: Version): boolean;
|
|
3
|
+
export declare function odd(version: Version): boolean;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export
|
|
1
|
+
export function even(version) {
|
|
2
2
|
const major = version.major === 0 ? version.minor : version.major;
|
|
3
3
|
return major % 2 === 0;
|
|
4
|
-
}
|
|
5
|
-
export
|
|
4
|
+
}
|
|
5
|
+
export function odd(version) {
|
|
6
6
|
const major = version.major === 0 ? version.minor : version.major;
|
|
7
7
|
return major % 2 === 1;
|
|
8
|
-
}
|
|
8
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/lineFunctions.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/lineFunctions.ts"],"sourcesContent":["import type { Version } from '../types.ts';\n\nexport function even(version: Version): boolean {\n const major = version.major === 0 ? version.minor : version.major;\n return major % 2 === 0;\n}\n\nexport function odd(version: Version): boolean {\n const major = version.major === 0 ? version.minor : version.major;\n return major % 2 === 1;\n}\n"],"names":["even","version","major","minor","odd"],"mappings":"AAEA,OAAO,SAASA,KAAKC,OAAgB;IACnC,MAAMC,QAAQD,QAAQC,KAAK,KAAK,IAAID,QAAQE,KAAK,GAAGF,QAAQC,KAAK;IACjE,OAAOA,QAAQ,MAAM;AACvB;AAEA,OAAO,SAASE,IAAIH,OAAgB;IAClC,MAAMC,QAAQD,QAAQC,KAAK,KAAK,IAAID,QAAQE,KAAK,GAAGF,QAAQC,KAAK;IACjE,OAAOA,QAAQ,MAAM;AACvB"}
|
package/dist/esm/lib/match.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function match(test:
|
|
1
|
+
export default function match(test: object, query: object): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/match.ts"],"sourcesContent":["export default function match(test, query) {\n for (const key in query) {\n if (test[key] !== query[key]) return false;\n }\n return true;\n}\n"],"names":["match","test","query","key"],"mappings":"AAAA,eAAe,SAASA,MAAMC,
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/match.ts"],"sourcesContent":["export default function match(test: object, query: object): boolean {\n for (const key in query) {\n if (test[key] !== query[key]) return false;\n }\n return true;\n}\n"],"names":["match","test","query","key"],"mappings":"AAAA,eAAe,SAASA,MAAMC,IAAY,EAAEC,KAAa;IACvD,IAAK,MAAMC,OAAOD,MAAO;QACvB,IAAID,IAAI,CAACE,IAAI,KAAKD,KAAK,CAACC,IAAI,EAAE,OAAO;IACvC;IACA,OAAO;AACT"}
|
|
@@ -1,31 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
minor?: undefined;
|
|
4
|
-
patch?: undefined;
|
|
5
|
-
name?: undefined;
|
|
6
|
-
codename?: undefined;
|
|
7
|
-
} | {
|
|
8
|
-
major: number;
|
|
9
|
-
minor: number;
|
|
10
|
-
patch?: undefined;
|
|
11
|
-
name?: undefined;
|
|
12
|
-
codename?: undefined;
|
|
13
|
-
} | {
|
|
14
|
-
major: number;
|
|
15
|
-
minor: number;
|
|
16
|
-
patch: number;
|
|
17
|
-
name?: undefined;
|
|
18
|
-
codename?: undefined;
|
|
19
|
-
} | {
|
|
20
|
-
name: any;
|
|
21
|
-
major?: undefined;
|
|
22
|
-
minor?: undefined;
|
|
23
|
-
patch?: undefined;
|
|
24
|
-
codename?: undefined;
|
|
25
|
-
} | {
|
|
26
|
-
codename: any;
|
|
27
|
-
major?: undefined;
|
|
28
|
-
minor?: undefined;
|
|
29
|
-
patch?: undefined;
|
|
30
|
-
name?: undefined;
|
|
31
|
-
};
|
|
1
|
+
import type { ParsedExpression } from '../types.ts';
|
|
2
|
+
export default function parseExpression(expression: string, now: Date): ParsedExpression;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/index.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from '../lib/isNaN.ts';\nimport isLatestFn from './isLatestFn.ts';\nimport isLTSFn from './isLTSFn.ts';\nimport schedulesLatest from './schedulesLatest.ts';\n\nexport default function parseExpression(expression, now) {\n if (expression[0] === 'v' && !isNaN(+expression.substr(1, 1))) expression = expression.substr(1);\n if (expression.substr(0, 4) === 'lts/') expression = expression.substr(4) === '*' ? 'lts' : expression.substr(4);\n if (expression === 'stable') expression = 'lts';\n\n if (typeof expression === 'number') return { major: expression };\n if (~expression.indexOf('.')) {\n const parts = expression.split('.');\n if (parts.length === 1) return isNaN(+parts[0]) ? null : { major: +parts[0] };\n if (parts.length === 2) return isNaN(+parts[0]) && isNaN(+parts[1]) ? null : { major: +parts[0], minor: +parts[1] };\n return isNaN(+parts[0]) && isNaN(+parts[1]) && isNaN(+parts[2]) ? null : { major: +parts[0], minor: +parts[1], patch: +parts[2] };\n }\n if (!isNaN(+expression)) return { major: +expression };\n if (expression === 'lts') {\n const lts = schedulesLatest(this.schedules, isLTSFn(now));\n return lts ? { name: lts.name } : null;\n }\n if (expression === 'latest') {\n const latest = schedulesLatest(this.schedules, isLatestFn(now));\n return latest ? { name: latest.name } : null;\n }\n return { codename: expression.toLowerCase() };\n}\n"],"names":["isNaN","isLatestFn","isLTSFn","schedulesLatest","parseExpression","expression","now","substr","major","indexOf","parts","split","length","minor","patch","lts","schedules","name","latest","codename","toLowerCase"],"mappings":"AAAA,+DAA+D;AAC/D,OAAOA,WAAW,kBAAkB;
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/index.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from '../lib/isNaN.ts';\nimport type { ParsedExpression } from '../types.ts';\nimport isLatestFn from './isLatestFn.ts';\nimport isLTSFn from './isLTSFn.ts';\nimport schedulesLatest from './schedulesLatest.ts';\n\nexport default function parseExpression(expression: string, now: Date): ParsedExpression {\n if (expression[0] === 'v' && !isNaN(+expression.substr(1, 1))) expression = expression.substr(1);\n if (expression.substr(0, 4) === 'lts/') expression = expression.substr(4) === '*' ? 'lts' : expression.substr(4);\n if (expression === 'stable') expression = 'lts';\n\n if (typeof expression === 'number') return { major: expression };\n if (~expression.indexOf('.')) {\n const parts = expression.split('.');\n if (parts.length === 1) return isNaN(+parts[0]) ? null : { major: +parts[0] };\n if (parts.length === 2) return isNaN(+parts[0]) && isNaN(+parts[1]) ? null : { major: +parts[0], minor: +parts[1] };\n return isNaN(+parts[0]) && isNaN(+parts[1]) && isNaN(+parts[2]) ? null : { major: +parts[0], minor: +parts[1], patch: +parts[2] };\n }\n if (!isNaN(+expression)) return { major: +expression };\n if (expression === 'lts') {\n const lts = schedulesLatest(this.schedules, isLTSFn(now));\n return lts ? { name: lts.name } : null;\n }\n if (expression === 'latest') {\n const latest = schedulesLatest(this.schedules, isLatestFn(now));\n return latest ? { name: latest.name } : null;\n }\n return { codename: expression.toLowerCase() };\n}\n"],"names":["isNaN","isLatestFn","isLTSFn","schedulesLatest","parseExpression","expression","now","substr","major","indexOf","parts","split","length","minor","patch","lts","schedules","name","latest","codename","toLowerCase"],"mappings":"AAAA,+DAA+D;AAC/D,OAAOA,WAAW,kBAAkB;AAEpC,OAAOC,gBAAgB,kBAAkB;AACzC,OAAOC,aAAa,eAAe;AACnC,OAAOC,qBAAqB,uBAAuB;AAEnD,eAAe,SAASC,gBAAgBC,UAAkB,EAAEC,GAAS;IACnE,IAAID,UAAU,CAAC,EAAE,KAAK,OAAO,CAACL,MAAM,CAACK,WAAWE,MAAM,CAAC,GAAG,KAAKF,aAAaA,WAAWE,MAAM,CAAC;IAC9F,IAAIF,WAAWE,MAAM,CAAC,GAAG,OAAO,QAAQF,aAAaA,WAAWE,MAAM,CAAC,OAAO,MAAM,QAAQF,WAAWE,MAAM,CAAC;IAC9G,IAAIF,eAAe,UAAUA,aAAa;IAE1C,IAAI,OAAOA,eAAe,UAAU,OAAO;QAAEG,OAAOH;IAAW;IAC/D,IAAI,CAACA,WAAWI,OAAO,CAAC,MAAM;QAC5B,MAAMC,QAAQL,WAAWM,KAAK,CAAC;QAC/B,IAAID,MAAME,MAAM,KAAK,GAAG,OAAOZ,MAAM,CAACU,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;QAAC;QAC5E,IAAIA,MAAME,MAAM,KAAK,GAAG,OAAOZ,MAAM,CAACU,KAAK,CAAC,EAAE,KAAKV,MAAM,CAACU,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;YAAEG,OAAO,CAACH,KAAK,CAAC,EAAE;QAAC;QAClH,OAAOV,MAAM,CAACU,KAAK,CAAC,EAAE,KAAKV,MAAM,CAACU,KAAK,CAAC,EAAE,KAAKV,MAAM,CAACU,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;YAAEG,OAAO,CAACH,KAAK,CAAC,EAAE;YAAEI,OAAO,CAACJ,KAAK,CAAC,EAAE;QAAC;IAClI;IACA,IAAI,CAACV,MAAM,CAACK,aAAa,OAAO;QAAEG,OAAO,CAACH;IAAW;IACrD,IAAIA,eAAe,OAAO;QACxB,MAAMU,MAAMZ,gBAAgB,IAAI,CAACa,SAAS,EAAEd,QAAQI;QACpD,OAAOS,MAAM;YAAEE,MAAMF,IAAIE,IAAI;QAAC,IAAI;IACpC;IACA,IAAIZ,eAAe,UAAU;QAC3B,MAAMa,SAASf,gBAAgB,IAAI,CAACa,SAAS,EAAEf,WAAWK;QAC1D,OAAOY,SAAS;YAAED,MAAMC,OAAOD,IAAI;QAAC,IAAI;IAC1C;IACA,OAAO;QAAEE,UAAUd,WAAWe,WAAW;IAAG;AAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/isLTSFn.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/isLTSFn.ts"],"sourcesContent":["import type { Schedule } from '../types.ts';\n\nexport type Function = (item: Schedule) => boolean;\n\nexport default function isLTSFn(now: Date): Function {\n return function isLTS(item: Schedule): boolean {\n return item.lts && now >= item.start && now <= item.end;\n };\n}\n"],"names":["isLTSFn","now","isLTS","item","lts","start","end"],"mappings":"AAIA,eAAe,SAASA,QAAQC,GAAS;IACvC,OAAO,SAASC,MAAMC,IAAc;QAClC,OAAOA,KAAKC,GAAG,IAAIH,OAAOE,KAAKE,KAAK,IAAIJ,OAAOE,KAAKG,GAAG;IACzD;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/isLatestFn.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/isLatestFn.ts"],"sourcesContent":["import type { Schedule } from '../types.ts';\n\nexport type Function = (item: Schedule) => boolean;\n\nexport default function isLatestFn(now: Date): Function {\n return function isLatest(item: Schedule): boolean {\n return !item.lts && now >= item.start && now <= item.end;\n };\n}\n"],"names":["isLatestFn","now","isLatest","item","lts","start","end"],"mappings":"AAIA,eAAe,SAASA,WAAWC,GAAS;IAC1C,OAAO,SAASC,SAASC,IAAc;QACrC,OAAO,CAACA,KAAKC,GAAG,IAAIH,OAAOE,KAAKE,KAAK,IAAIJ,OAAOE,KAAKG,GAAG;IAC1D;AACF"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import schedulesForEach from './schedulesForEach.js';
|
|
2
1
|
export default function schedulesLatest(schedules, filter) {
|
|
3
2
|
let latest = null;
|
|
4
|
-
|
|
3
|
+
for(let index = 0; index < schedules.length; index++){
|
|
4
|
+
const schedule = schedules[index];
|
|
5
|
+
if (!filter(schedule)) continue;
|
|
5
6
|
if (!latest || latest.start < schedule.start) latest = schedule;
|
|
6
|
-
}
|
|
7
|
+
}
|
|
7
8
|
return latest;
|
|
8
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesLatest.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesLatest.ts"],"sourcesContent":["import type { Schedule } from '../types.ts';\n\nexport type Filter = (item: Schedule) => boolean;\n\nexport default function schedulesLatest(schedules: Schedule[], filter: Filter): Schedule {\n let latest = null;\n for (let index = 0; index < schedules.length; index++) {\n const schedule = schedules[index];\n if (!filter(schedule)) continue;\n if (!latest || latest.start < schedule.start) latest = schedule;\n }\n return latest;\n}\n"],"names":["schedulesLatest","schedules","filter","latest","index","length","schedule","start"],"mappings":"AAIA,eAAe,SAASA,gBAAgBC,SAAqB,EAAEC,MAAc;IAC3E,IAAIC,SAAS;IACb,IAAK,IAAIC,QAAQ,GAAGA,QAAQH,UAAUI,MAAM,EAAED,QAAS;QACrD,MAAME,WAAWL,SAAS,CAACG,MAAM;QACjC,IAAI,CAACF,OAAOI,WAAW;QACvB,IAAI,CAACH,UAAUA,OAAOI,KAAK,GAAGD,SAASC,KAAK,EAAEJ,SAASG;IACzD;IACA,OAAOH;AACT"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -55,3 +55,15 @@ export interface Version {
|
|
|
55
55
|
raw: VersionRaw;
|
|
56
56
|
codename: string;
|
|
57
57
|
}
|
|
58
|
+
export interface ParsedVersion {
|
|
59
|
+
major: number;
|
|
60
|
+
minor?: number;
|
|
61
|
+
patch?: number;
|
|
62
|
+
}
|
|
63
|
+
export interface ParsedCodename {
|
|
64
|
+
codename: string;
|
|
65
|
+
}
|
|
66
|
+
export interface ParsedName {
|
|
67
|
+
name: string;
|
|
68
|
+
}
|
|
69
|
+
export type ParsedExpression = ParsedVersion | ParsedCodename | ParsedName;
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/types.ts"],"sourcesContent":["export interface LoadOptions {\n cachePath?: string;\n now?: Date;\n}\n\nexport interface LoadError extends Error {\n code?: number;\n}\n\nexport interface ResolveOptions {\n now?: Date;\n range?: string;\n path?: string;\n}\n\nexport interface ScheduleRaw {\n version: string;\n name: string;\n semver: string;\n date: string;\n start: string;\n end: string;\n codename?: string;\n lts: string;\n maintenance?: string;\n}\n\nexport interface Schedule {\n name: string;\n semver: string;\n raw: ScheduleRaw;\n start: Date;\n end: Date;\n codename?: string;\n lts?: Date;\n maintenance?: Date;\n}\n\nexport interface VersionRaw {\n version: string;\n name: string;\n semver: string;\n major: number;\n minor: number;\n patch: number;\n lts: string;\n date: Date;\n raw: ScheduleRaw;\n codename: string;\n}\n\nexport interface Version {\n version: string;\n name: string;\n semver: string;\n major: number;\n minor: number;\n patch: number;\n lts: string;\n date: Date;\n raw: VersionRaw;\n codename: string;\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/types.ts"],"sourcesContent":["export interface LoadOptions {\n cachePath?: string;\n now?: Date;\n}\n\nexport interface LoadError extends Error {\n code?: number;\n}\n\nexport interface ResolveOptions {\n now?: Date;\n range?: string;\n path?: string;\n}\n\nexport interface ScheduleRaw {\n version: string;\n name: string;\n semver: string;\n date: string;\n start: string;\n end: string;\n codename?: string;\n lts: string;\n maintenance?: string;\n}\n\nexport interface Schedule {\n name: string;\n semver: string;\n raw: ScheduleRaw;\n start: Date;\n end: Date;\n codename?: string;\n lts?: Date;\n maintenance?: Date;\n}\n\nexport interface VersionRaw {\n version: string;\n name: string;\n semver: string;\n major: number;\n minor: number;\n patch: number;\n lts: string;\n date: Date;\n raw: ScheduleRaw;\n codename: string;\n}\n\nexport interface Version {\n version: string;\n name: string;\n semver: string;\n major: number;\n minor: number;\n patch: number;\n lts: string;\n date: Date;\n raw: VersionRaw;\n codename: string;\n}\n\nexport interface ParsedVersion {\n major: number;\n minor?: number;\n patch?: number;\n}\n\nexport interface ParsedCodename {\n codename: string;\n}\n\nexport interface ParsedName {\n name: string;\n}\n\nexport type ParsedExpression = ParsedVersion | ParsedCodename | ParsedName;\n"],"names":[],"mappings":"AA8EA,WAA2E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-semvers",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.4",
|
|
4
4
|
"description": "Utilities for managing versions of node including looking up codenames",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"exit": "^0.1.2",
|
|
49
|
-
"fetch-json-cache": "^1.2.
|
|
49
|
+
"fetch-json-cache": "^1.2.58",
|
|
50
50
|
"getopts-compat": "^2.2.6",
|
|
51
51
|
"isarray": "^2.0.5",
|
|
52
52
|
"semver": "^5.7.1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function schedulesForEach(schedules: any, filter: any, fn: any): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function schedulesForEach(schedules: any, filter: any, fn: any): void;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return schedulesForEach;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function schedulesForEach(schedules, filter, fn) {
|
|
12
|
-
for(var index = 0; index < schedules.length; index++){
|
|
13
|
-
var schedule = schedules[index];
|
|
14
|
-
!filter(schedule) || fn(schedule);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesForEach.ts"],"sourcesContent":["export default function schedulesForEach(schedules, filter, fn) {\n for (let index = 0; index < schedules.length; index++) {\n const schedule = schedules[index];\n !filter(schedule) || fn(schedule);\n }\n}\n"],"names":["schedulesForEach","schedules","filter","fn","index","length","schedule"],"mappings":";;;;+BAAA;;;eAAwBA;;;AAAT,SAASA,iBAAiBC,SAAS,EAAEC,MAAM,EAAEC,EAAE;IAC5D,IAAK,IAAIC,QAAQ,GAAGA,QAAQH,UAAUI,MAAM,EAAED,QAAS;QACrD,IAAME,WAAWL,SAAS,CAACG,MAAM;QACjC,CAACF,OAAOI,aAAaH,GAAGG;IAC1B;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function schedulesForEach(schedules: any, filter: any, fn: any): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesForEach.ts"],"sourcesContent":["export default function schedulesForEach(schedules, filter, fn) {\n for (let index = 0; index < schedules.length; index++) {\n const schedule = schedules[index];\n !filter(schedule) || fn(schedule);\n }\n}\n"],"names":["schedulesForEach","schedules","filter","fn","index","length","schedule"],"mappings":"AAAA,eAAe,SAASA,iBAAiBC,SAAS,EAAEC,MAAM,EAAEC,EAAE;IAC5D,IAAK,IAAIC,QAAQ,GAAGA,QAAQH,UAAUI,MAAM,EAAED,QAAS;QACrD,MAAME,WAAWL,SAAS,CAACG,MAAM;QACjC,CAACF,OAAOI,aAAaH,GAAGG;IAC1B;AACF"}
|