Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@isaacs')
-rw-r--r--node_modules/@isaacs/string-locale-compare/LICENSE15
-rw-r--r--node_modules/@isaacs/string-locale-compare/index.js22
-rw-r--r--node_modules/@isaacs/string-locale-compare/package.json28
3 files changed, 65 insertions, 0 deletions
diff --git a/node_modules/@isaacs/string-locale-compare/LICENSE b/node_modules/@isaacs/string-locale-compare/LICENSE
new file mode 100644
index 000000000..05eeeb88c
--- /dev/null
+++ b/node_modules/@isaacs/string-locale-compare/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/@isaacs/string-locale-compare/index.js b/node_modules/@isaacs/string-locale-compare/index.js
new file mode 100644
index 000000000..a6cec27ef
--- /dev/null
+++ b/node_modules/@isaacs/string-locale-compare/index.js
@@ -0,0 +1,22 @@
+const hasIntl = typeof Intl === 'object' && !!Intl
+const Collator = hasIntl && Intl.Collator
+const cache = new Map()
+
+const collatorCompare = locale => {
+ const collator = new Collator(locale)
+ return (a, b) => collator.compare(a, b)
+}
+
+const localeCompare = locale => (a, b) => a.localeCompare(b, locale)
+
+module.exports = locale => {
+ if (!locale || typeof locale !== 'string')
+ throw new TypeError('locale required')
+
+ if (cache.has(locale))
+ return cache.get(locale)
+
+ const compare = hasIntl ? collatorCompare(locale) : localeCompare(locale)
+ cache.set(locale, compare)
+ return compare
+}
diff --git a/node_modules/@isaacs/string-locale-compare/package.json b/node_modules/@isaacs/string-locale-compare/package.json
new file mode 100644
index 000000000..a322c1c92
--- /dev/null
+++ b/node_modules/@isaacs/string-locale-compare/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "@isaacs/string-locale-compare",
+ "version": "1.0.1",
+ "files": [
+ "index.js"
+ ],
+ "main": "index.js",
+ "description": "Compare strings with Intl.Collator if available, falling back to String.localeCompare otherwise",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/isaacs/string-locale-compare"
+ },
+ "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)",
+ "license": "ISC",
+ "scripts": {
+ "test": "tap",
+ "snap": "tap",
+ "preversion": "npm test",
+ "postversion": "npm publish",
+ "prepublishOnly": "git push origin --follow-tags"
+ },
+ "tap": {
+ "check-coverage": true
+ },
+ "devDependencies": {
+ "tap": "^15.0.9"
+ }
+}