summaryrefslogtreecommitdiff
path: root/together/node_modules/semver/functions/parse.js
diff options
context:
space:
mode:
Diffstat (limited to 'together/node_modules/semver/functions/parse.js')
-rw-r--r--together/node_modules/semver/functions/parse.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/together/node_modules/semver/functions/parse.js b/together/node_modules/semver/functions/parse.js
new file mode 100644
index 0000000..a66663a
--- /dev/null
+++ b/together/node_modules/semver/functions/parse.js
@@ -0,0 +1,33 @@
+const { MAX_LENGTH } = require('../internal/constants')
+const { re, t } = require('../internal/re')
+const SemVer = require('../classes/semver')
+
+const parseOptions = require('../internal/parse-options')
+const parse = (version, options) => {
+ options = parseOptions(options)
+
+ 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