Last commit july 5th

This commit is contained in:
2024-07-05 13:46:23 +02:00
parent dad0d86e8c
commit b0e4dfbb76
24982 changed files with 2621219 additions and 413 deletions

15
spa/node_modules/@isaacs/string-locale-compare/LICENSE generated vendored Normal file
View File

@@ -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.

View File

@@ -0,0 +1,31 @@
# @isaacs/string-locale-compare
Compare strings with Intl.Collator if available, falling back to
String.localeCompare otherwise.
This also forces the use of a specific locale, to avoid using the system
locale, which is non-deterministic.
## USAGE
```js
const stringLocaleCompare = require('@isaacs/string-locale-compare')
myArrayOfStrings.sort(stringLocaleCompare('en'))
// can also pass extra options
myArrayOfNumericStrings.sort(stringLocaleCompare('en', { numeric: true }))
```
## API
`stringLocaleCompare(locale, [options])`
Locale is required, must be a valid locale string.
Options is optional. The following options are supported:
* `sensitivity`
* `numeric`
* `ignorePunctuation`
* `caseFirst`

View File

@@ -0,0 +1,42 @@
const hasIntl = typeof Intl === 'object' && !!Intl
const Collator = hasIntl && Intl.Collator
const cache = new Map()
const collatorCompare = (locale, opts) => {
const collator = new Collator(locale, opts)
return (a, b) => collator.compare(a, b)
}
const localeCompare = (locale, opts) => (a, b) => a.localeCompare(b, locale, opts)
const knownOptions = [
'sensitivity',
'numeric',
'ignorePunctuation',
'caseFirst',
]
const { hasOwnProperty } = Object.prototype
module.exports = (locale, options = {}) => {
if (!locale || typeof locale !== 'string')
throw new TypeError('locale required')
const opts = knownOptions.reduce((opts, k) => {
if (hasOwnProperty.call(options, k)) {
opts[k] = options[k]
}
return opts
}, {})
const key = `${locale}\n${JSON.stringify(opts)}`
if (cache.has(key))
return cache.get(key)
const compare = hasIntl
? collatorCompare(locale, opts)
: localeCompare(locale, opts)
cache.set(key, compare)
return compare
}

View File

@@ -0,0 +1,28 @@
{
"name": "@isaacs/string-locale-compare",
"version": "1.1.0",
"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"
}
}