summaryrefslogtreecommitdiff
path: root/node_modules/@jridgewell/set-array/dist/set-array.umd.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2024-05-14 14:05:49 +0800
committerlittleblack111 <littleblack11111@gmail.com>2024-05-14 14:05:49 +0800
commit06823fbf1c2e763a5bf76c3990ca98fbbcd98691 (patch)
tree4280bece3888d12a022093bf1a9cd1b049393602 /node_modules/@jridgewell/set-array/dist/set-array.umd.js
parent1368909b3cd552dbb0d12d5863c597f5be46177d (diff)
updated node_modules
Diffstat (limited to 'node_modules/@jridgewell/set-array/dist/set-array.umd.js')
-rw-r--r--node_modules/@jridgewell/set-array/dist/set-array.umd.js87
1 files changed, 56 insertions, 31 deletions
diff --git a/node_modules/@jridgewell/set-array/dist/set-array.umd.js b/node_modules/@jridgewell/set-array/dist/set-array.umd.js
index a1c200a1..ab498cc1 100644
--- a/node_modules/@jridgewell/set-array/dist/set-array.umd.js
+++ b/node_modules/@jridgewell/set-array/dist/set-array.umd.js
@@ -5,19 +5,6 @@
})(this, (function (exports) { 'use strict';
/**
- * Gets the index associated with `key` in the backing array, if it is already present.
- */
- exports.get = void 0;
- /**
- * Puts `key` into the backing array, if it is not already present. Returns
- * the index of the `key` in the backing array.
- */
- exports.put = void 0;
- /**
- * Pops the last added item out of the SetArray.
- */
- exports.pop = void 0;
- /**
* SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
* index of the `key` in the backing array.
*
@@ -31,26 +18,64 @@
this.array = [];
}
}
- (() => {
- exports.get = (strarr, key) => strarr._indexes[key];
- exports.put = (strarr, key) => {
- // The key may or may not be present. If it is present, it's a number.
- const index = exports.get(strarr, key);
- if (index !== undefined)
- return index;
- const { array, _indexes: indexes } = strarr;
- return (indexes[key] = array.push(key) - 1);
- };
- exports.pop = (strarr) => {
- const { array, _indexes: indexes } = strarr;
- if (array.length === 0)
- return;
- const last = array.pop();
- indexes[last] = undefined;
- };
- })();
+ /**
+ * Typescript doesn't allow friend access to private fields, so this just casts the set into a type
+ * with public access modifiers.
+ */
+ function cast(set) {
+ return set;
+ }
+ /**
+ * Gets the index associated with `key` in the backing array, if it is already present.
+ */
+ function get(setarr, key) {
+ return cast(setarr)._indexes[key];
+ }
+ /**
+ * Puts `key` into the backing array, if it is not already present. Returns
+ * the index of the `key` in the backing array.
+ */
+ function put(setarr, key) {
+ // The key may or may not be present. If it is present, it's a number.
+ const index = get(setarr, key);
+ if (index !== undefined)
+ return index;
+ const { array, _indexes: indexes } = cast(setarr);
+ const length = array.push(key);
+ return (indexes[key] = length - 1);
+ }
+ /**
+ * Pops the last added item out of the SetArray.
+ */
+ function pop(setarr) {
+ const { array, _indexes: indexes } = cast(setarr);
+ if (array.length === 0)
+ return;
+ const last = array.pop();
+ indexes[last] = undefined;
+ }
+ /**
+ * Removes the key, if it exists in the set.
+ */
+ function remove(setarr, key) {
+ const index = get(setarr, key);
+ if (index === undefined)
+ return;
+ const { array, _indexes: indexes } = cast(setarr);
+ for (let i = index + 1; i < array.length; i++) {
+ const k = array[i];
+ array[i - 1] = k;
+ indexes[k]--;
+ }
+ indexes[key] = undefined;
+ array.pop();
+ }
exports.SetArray = SetArray;
+ exports.get = get;
+ exports.pop = pop;
+ exports.put = put;
+ exports.remove = remove;
Object.defineProperty(exports, '__esModule', { value: true });