aboutsummaryrefslogtreecommitdiff
path: root/node_modules/sort-keys
diff options
context:
space:
mode:
authorMinteck <nekostarfan@gmail.com>2021-08-24 14:41:48 +0200
committerMinteck <nekostarfan@gmail.com>2021-08-24 14:41:48 +0200
commitd25e11bee6ca5ca523884da132d18e1400e077b9 (patch)
tree8af39fde19f7ed640a60fb397c7edd647dff1c4c /node_modules/sort-keys
downloadkartik-iridium-d25e11bee6ca5ca523884da132d18e1400e077b9.tar.gz
kartik-iridium-d25e11bee6ca5ca523884da132d18e1400e077b9.tar.bz2
kartik-iridium-d25e11bee6ca5ca523884da132d18e1400e077b9.zip
Initial commit
Diffstat (limited to 'node_modules/sort-keys')
-rw-r--r--node_modules/sort-keys/index.js44
-rw-r--r--node_modules/sort-keys/license21
-rw-r--r--node_modules/sort-keys/package.json40
-rw-r--r--node_modules/sort-keys/readme.md60
4 files changed, 165 insertions, 0 deletions
diff --git a/node_modules/sort-keys/index.js b/node_modules/sort-keys/index.js
new file mode 100644
index 0000000..f75a0e0
--- /dev/null
+++ b/node_modules/sort-keys/index.js
@@ -0,0 +1,44 @@
+'use strict';
+var isPlainObj = require('is-plain-obj');
+
+module.exports = function (obj, opts) {
+ if (!isPlainObj(obj)) {
+ throw new TypeError('Expected a plain object');
+ }
+
+ opts = opts || {};
+
+ // DEPRECATED
+ if (typeof opts === 'function') {
+ opts = {compare: opts};
+ }
+
+ var deep = opts.deep;
+ var seenInput = [];
+ var seenOutput = [];
+
+ var sortKeys = function (x) {
+ var seenIndex = seenInput.indexOf(x);
+
+ if (seenIndex !== -1) {
+ return seenOutput[seenIndex];
+ }
+
+ var ret = {};
+ var keys = Object.keys(x).sort(opts.compare);
+
+ seenInput.push(x);
+ seenOutput.push(ret);
+
+ for (var i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ var val = x[key];
+
+ ret[key] = deep && isPlainObj(val) ? sortKeys(val) : val;
+ }
+
+ return ret;
+ };
+
+ return sortKeys(obj);
+};
diff --git a/node_modules/sort-keys/license b/node_modules/sort-keys/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/sort-keys/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/sort-keys/package.json b/node_modules/sort-keys/package.json
new file mode 100644
index 0000000..dff0653
--- /dev/null
+++ b/node_modules/sort-keys/package.json
@@ -0,0 +1,40 @@
+{
+ "name": "sort-keys",
+ "version": "1.1.2",
+ "description": "Sort the keys of an object",
+ "license": "MIT",
+ "repository": "sindresorhus/sort-keys",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "scripts": {
+ "test": "xo && mocha"
+ },
+ "files": [
+ "index.js"
+ ],
+ "keywords": [
+ "sort",
+ "object",
+ "keys",
+ "obj",
+ "key",
+ "stable",
+ "deterministic",
+ "deep",
+ "recursive",
+ "recursively"
+ ],
+ "dependencies": {
+ "is-plain-obj": "^1.0.0"
+ },
+ "devDependencies": {
+ "mocha": "*",
+ "xo": "*"
+ }
+}
diff --git a/node_modules/sort-keys/readme.md b/node_modules/sort-keys/readme.md
new file mode 100644
index 0000000..a671ffb
--- /dev/null
+++ b/node_modules/sort-keys/readme.md
@@ -0,0 +1,60 @@
+# sort-keys [![Build Status](https://travis-ci.org/sindresorhus/sort-keys.svg?branch=master)](https://travis-ci.org/sindresorhus/sort-keys)
+
+> Sort the keys of an object
+
+Useful to get a deterministically ordered object, as the order of keys can vary between engines.
+
+
+## Install
+
+```
+$ npm install --save sort-keys
+```
+
+
+## Usage
+
+```js
+const sortKeys = require('sort-keys');
+
+sortKeys({c: 0, a: 0, b: 0});
+//=> {a: 0, b: 0, c: 0}
+
+sortKeys({b: {b: 0, a: 0}, a: 0}, {deep: true});
+//=> {a: 0, b: {a: 0, b: 0}}
+
+sortKeys({c: 0, a: 0, b: 0}, {
+ compare: (a, b) => -a.localeCompare(b)
+});
+//=> {c: 0, b: 0, a: 0}
+```
+
+
+## API
+
+### sortKeys(input, [options])
+
+Returns a new object with sorted keys.
+
+#### input
+
+Type: `Object`
+
+#### options
+
+##### deep
+
+Type: `boolean`
+
+Recursively sort keys.
+
+##### compare
+
+Type: `Function`
+
+[Compare function.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)