You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
const {MAX_LENGTH} = require('../internal/constants') const { re, t } = require('../internal/re') const SemVer = require('../classes/semver')
const parse = (version, options) => { if (!options || typeof options !== 'object') { options = { loose: !!options, includePrerelease: false } }
if (version instanceof SemVer) { return version }
if (typeof version !== 'string') { return null }
if (version.length > MAX_LENGTH) { return null }
const r = options.loose ? re[t.LOOSE] : re[t.FULL] if (!r.test(version)) { return null }
try { return new SemVer(version, options) } catch (er) { return null } }
module.exports = parse
|