aboutsummaryrefslogtreecommitdiff
path: root/node_modules/enhanced-resolve/lib/util/identifier.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/enhanced-resolve/lib/util/identifier.js')
-rw-r--r--node_modules/enhanced-resolve/lib/util/identifier.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/node_modules/enhanced-resolve/lib/util/identifier.js b/node_modules/enhanced-resolve/lib/util/identifier.js
new file mode 100644
index 0000000..0c29ae4
--- /dev/null
+++ b/node_modules/enhanced-resolve/lib/util/identifier.js
@@ -0,0 +1,26 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Ivan Kopeykin @vankop
+*/
+
+"use strict";
+
+const PATH_QUERY_FRAGMENT_REGEXP = /^(#?(?:\0.|[^?#\0])*)(\?(?:\0.|[^#\0])*)?(#.*)?$/;
+
+/**
+ * @param {string} identifier identifier
+ * @returns {[string, string, string]|null} parsed identifier
+ */
+function parseIdentifier(identifier) {
+ const match = PATH_QUERY_FRAGMENT_REGEXP.exec(identifier);
+
+ if (!match) return null;
+
+ return [
+ match[1].replace(/\0(.)/g, "$1"),
+ match[2] ? match[2].replace(/\0(.)/g, "$1") : "",
+ match[3] || ""
+ ];
+}
+
+module.exports.parseIdentifier = parseIdentifier;