@r01al/array-polyfills 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +474 -2
  2. package/dist/auto.cjs +262 -0
  3. package/dist/auto.cjs.map +1 -1
  4. package/dist/auto.mjs +262 -0
  5. package/dist/auto.mjs.map +1 -1
  6. package/dist/auto.umd.js +530 -0
  7. package/dist/auto.umd.js.map +1 -0
  8. package/dist/functions/compact.d.ts +7 -0
  9. package/dist/functions/compact.js +7 -0
  10. package/dist/functions/compactMap.d.ts +6 -0
  11. package/dist/functions/compactMap.js +15 -0
  12. package/dist/functions/countBy.d.ts +6 -0
  13. package/dist/functions/countBy.js +17 -0
  14. package/dist/functions/difference.d.ts +6 -0
  15. package/dist/functions/difference.js +15 -0
  16. package/dist/functions/flatten.d.ts +5 -0
  17. package/dist/functions/flatten.js +14 -0
  18. package/dist/functions/groupBy.d.ts +6 -0
  19. package/dist/functions/groupBy.js +19 -0
  20. package/dist/functions/intersection.d.ts +6 -0
  21. package/dist/functions/intersection.js +11 -0
  22. package/dist/functions/pad.d.ts +7 -0
  23. package/dist/functions/pad.js +15 -0
  24. package/dist/functions/partition.d.ts +6 -0
  25. package/dist/functions/partition.js +17 -0
  26. package/dist/functions/pluck.d.ts +6 -0
  27. package/dist/functions/pluck.js +8 -0
  28. package/dist/functions/sample.d.ts +6 -0
  29. package/dist/functions/sample.js +16 -0
  30. package/dist/functions/sortBy.d.ts +6 -0
  31. package/dist/functions/sortBy.js +20 -0
  32. package/dist/functions/union.d.ts +6 -0
  33. package/dist/functions/union.js +22 -0
  34. package/dist/functions/uniqBy.d.ts +6 -0
  35. package/dist/functions/uniqBy.js +21 -0
  36. package/dist/functions/zip.d.ts +6 -0
  37. package/dist/functions/zip.js +15 -0
  38. package/dist/index.cjs +289 -11
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.ts +30 -0
  41. package/dist/index.js +42 -11
  42. package/dist/index.mjs +275 -12
  43. package/dist/index.mjs.map +1 -1
  44. package/dist/index.umd.js +580 -0
  45. package/dist/index.umd.js.map +1 -0
  46. package/dist/polyfills/array.d.ts +15 -0
  47. package/dist/polyfills/array.js +30 -0
  48. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.js","sources":["../node_modules/tslib/tslib.es6.js","../src/functions/first.ts","../src/functions/last.ts","../src/functions/unique.ts","../src/functions/chunk.ts","../src/functions/compact.ts","../src/functions/compactMap.ts","../src/functions/random.ts","../src/functions/keyValueMap.ts","../src/functions/sum.ts","../src/functions/avg.ts","../src/functions/max.ts","../src/functions/min.ts","../src/functions/shuffle.ts","../src/functions/groupBy.ts","../src/functions/flatten.ts","../src/functions/zip.ts","../src/functions/partition.ts","../src/functions/pluck.ts","../src/functions/countBy.ts","../src/functions/difference.ts","../src/functions/intersection.ts","../src/functions/union.ts","../src/functions/uniqBy.ts","../src/functions/sortBy.ts","../src/functions/sample.ts","../src/functions/pad.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/**\n* @returns the first element of the array, or undefined if the array is empty.\n*/\nexport default function <T>(this: T[]) { return this.length ? this[0] : undefined; }","/**\n* @returns the last element of the array, or undefined if the array is empty.\n*/\nexport default function <T>(this: T[]) { return this.length ? this[this.length - 1] : undefined; }","/**\n * @returns a new array with only unique elements from the original array.\n * Supports deep comparison for objects.\n * Uses a map for improved performance with primitives.\n */\nfunction deepEqual(a: any, b: any): boolean {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\" || a === null || b === null) return false;\n const keysA = Object.keys(a), keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!keysB.includes(key) || !deepEqual(a[key], b[key])) return false;\n }\n return true;\n}\n\nexport default function <T>(this: T[]): T[] {\n const result: T[] = [];\n const primitiveMap = new Map<any, boolean>();\n\n for (const item of this) {\n if (item === null || typeof item !== \"object\") {\n if (!primitiveMap.has(item)) {\n primitiveMap.set(item, true);\n result.push(item);\n }\n } else {\n if (!result.some(existing => deepEqual(existing, item))) {\n result.push(item);\n }\n }\n }\n return result;\n}","/**\n* Splits the array into smaller arrays of the given size.\n* @param size Number of items per chunk\n* @returns Array of chunks\n*/\n\nexport default function <T>(this: T[], size: number) {\n\tif (!Number.isInteger(size) || size <= 0) throw new Error(\"size must be a positive integer\");\n\tconst out: T[][] = [];\n\tfor (let i = 0; i < this.length; i += size) out.push(this.slice(i, i + size));\n\treturn out;\n}","type Falsy = false | 0 | \"\" | null | undefined;\n\n/**\n * Removes falsy values from the array.\n * @returns A new array without falsy values.\n */\nexport default function <T>(this: T[]) {\n\treturn this.filter((value): value is Exclude<T, Falsy> => Boolean(value));\n}\n","/**\n * Maps items and removes null/undefined results.\n * @param mapper Function to map items.\n * @returns A new array of mapped values without null/undefined.\n */\nexport default function <T, R>(\n\tthis: T[],\n\tmapper: (value: T, index: number, arr: T[]) => R\n) {\n\tconst out: Exclude<R, null | undefined>[] = [];\n\n\tfor (let index = 0; index < this.length; index++) {\n\t\tconst value = mapper(this[index], index, this);\n\t\tif (value !== null && value !== undefined) {\n\t\t\tout.push(value as Exclude<R, null | undefined>);\n\t\t}\n\t}\n\n\treturn out;\n}\n","/**\n * @returns a random element from the array, or undefined if the array is empty.\n */\nexport default function <T>(this: T[]) {\n\treturn this.length ? this[Math.floor(Math.random() * this.length)] : undefined;\n}","/**\n * Creates an object mapping each value of the given key to the corresponding value from the array of objects.\n * @param key The property name to use as keys in the result object.\n * @param value The property name to use as values in the result object.\n * @returns An object mapping key values to value values.\n */\nexport default function (this: KeyValueMap[], key: string, value: string) {\n\tif (!key) {\n\t\tthrow new Error('keyValueMap: key is required');\n\t}\n\n\tif (!value) {\n\t\tthrow new Error(\"keyValueMap: value is required\");\n\t}\n\n\tif (this.some(el => !el)) {\n\t\tthrow new Error('keyValueMap: Array contains falsy values');\n\t}\n\n\tif (this.some(el => typeof el !== 'object')) {\n\t\tthrow new Error('keyValueMap: Array contains non-object values');\n\t}\n\n\tif (this.some(el => !el.hasOwnProperty(key))) {\n\t\tthrow new Error(`keyValueMap: key \"${key}\" does not exist on all objects`);\n\t}\n\n\tvar map : KeyValueMap = {};\n\n\tfor (let index = 0; index < this.length; index++) {\n\t\tvar element: KeyValueMap = this[index];\n\n\t\tmap[element[key]] = element[value];\n\t}\n\t\n\treturn map;\n}","/**\n * Calculates the sum of all numbers in an array.\n * @returns The sum of all numbers in the array.\n * @throws Will throw an error if any element in the array is not a number.\n * @example\n * [1, 2, 3].sum() // returns 6\n * [10, -2, 5].sum() // returns 13\n * [1, '2', 3].sum() // throws Error\n */\n\nexport default function <T>(this: T[]) { \n if (this.some(el => typeof el !== 'number')) {\n throw new Error('All elements must be numbers');\n }\n\n let sum = 0;\n\n for (const num of this as unknown as number[]) {\n sum += num;\n }\n\n return sum\n}","/**\n * Calculates the average of all numbers in an array.\n * @returns The average value.\n * @throws If any element is not a number.\n */\nexport default function(this: number[]) {\n if (this.length === 0) return undefined;\n if (this.some(el => typeof el !== 'number')) {\n throw new Error('All elements must be numbers');\n }\n return this.reduce((a, b) => a + b, 0) / this.length;\n}","/**\n * Returns the maximum number in the array.\n * @returns The maximum value.\n * @throws If any element is not a number.\n */\nexport default function(this: number[]) {\n if (this.length === 0) return undefined;\n if (this.some(el => typeof el !== 'number')) {\n throw new Error('All elements must be numbers');\n }\n return Math.max(...this);\n}","/**\n * Returns the minimum number in the array.\n * @returns The minimum value.\n * @throws If any element is not a number.\n */\nexport default function(this: number[]) {\n if (this.length === 0) return undefined;\n if (this.some(el => typeof el !== 'number')) {\n throw new Error('All elements must be numbers');\n }\n return Math.min(...this);\n}","export default function shuffle<T>(this: T[]): T[] {\n for (let i = this.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [this[i], this[j]] = [this[j], this[i]];\n }\n \n return this;\n}","/**\n * Groups array items by a key or mapper function.\n * @param key The property name or mapper function to group by.\n * @returns An object where keys are group identifiers and values are arrays of items.\n */\nexport default function <T, K extends PropertyKey>(\n\tthis: T[],\n\tkey: ((item: T, index: number, arr: T[]) => K) | keyof T\n) {\n\tconst result = {} as Record<K, T[]>;\n\tconst getKey = typeof key === \"function\"\n\t\t? key\n\t\t: (item: T) => item[key] as unknown as K;\n\n\tfor (let index = 0; index < this.length; index++) {\n\t\tconst item = this[index];\n\t\tconst groupKey = getKey(item, index, this);\n\t\tif (!result[groupKey]) result[groupKey] = [];\n\t\tresult[groupKey].push(item);\n\t}\n\n\treturn result;\n}\n","/**\n * Flattens the array by one level.\n * @returns A new flattened array.\n */\nexport default function <T>(this: (T | T[])[]) {\n\tconst out: T[] = [];\n\n\tfor (const item of this) {\n\t\tif (Array.isArray(item)) out.push(...item);\n\t\telse out.push(item);\n\t}\n\n\treturn out;\n}\n","/**\n * Zips the array with other arrays.\n * @param arrays Arrays to zip with.\n * @returns An array of tuples, truncated to the shortest length.\n */\nexport default function <T>(this: T[], ...arrays: any[][]) {\n\tif (arrays.length === 0) return this.map(item => [item]);\n\n\tconst minLength = Math.min(this.length, ...arrays.map(arr => arr.length));\n\tconst out: any[][] = [];\n\n\tfor (let index = 0; index < minLength; index++) {\n\t\tout.push([this[index], ...arrays.map(arr => arr[index])]);\n\t}\n\n\treturn out;\n}\n","/**\n * Splits the array into two arrays based on a predicate.\n * @param predicate Function to test each element.\n * @returns A tuple: [items that pass, items that fail].\n */\nexport default function <T>(\n\tthis: T[],\n\tpredicate: (value: T, index: number, arr: T[]) => boolean\n) {\n\tconst pass: T[] = [];\n\tconst fail: T[] = [];\n\n\tfor (let index = 0; index < this.length; index++) {\n\t\tconst item = this[index];\n\t\tif (predicate(item, index, this)) pass.push(item);\n\t\telse fail.push(item);\n\t}\n\n\treturn [pass, fail] as [T[], T[]];\n}\n","/**\n * Plucks a property from each item in the array.\n * @param key Property name to pluck.\n * @returns A new array of property values.\n */\nexport default function <T, K extends keyof T>(this: T[], key: K) {\n\treturn this.map(item => item[key]);\n}\n","/**\n * Counts items by a key or mapper function.\n * @param key The property name or mapper function to count by.\n * @returns An object where keys are group identifiers and values are counts.\n */\nexport default function <T, K extends PropertyKey>(\n\tthis: T[],\n\tkey: ((item: T, index: number, arr: T[]) => K) | keyof T\n) {\n\tconst result = {} as Record<K, number>;\n\tconst getKey = typeof key === \"function\"\n\t\t? key\n\t\t: (item: T) => item[key] as unknown as K;\n\n\tfor (let index = 0; index < this.length; index++) {\n\t\tconst item = this[index];\n\t\tconst groupKey = getKey(item, index, this);\n\t\tresult[groupKey] = (result[groupKey] ?? 0) + 1;\n\t}\n\n\treturn result;\n}\n","/**\n * Returns items that are not present in the other arrays.\n * @param arrays Arrays to exclude.\n * @returns A new array of values not found in other arrays.\n */\nexport default function <T>(this: T[], ...arrays: T[][]) {\n\tif (arrays.length === 0) return this.slice();\n\n\tconst other = new Set<T>();\n\n\tfor (const arr of arrays) {\n\t\tfor (const item of arr) other.add(item);\n\t}\n\n\treturn this.filter(item => !other.has(item));\n}\n","/**\n * Returns items present in all arrays.\n * @param arrays Arrays to intersect with.\n * @returns A new array of items found in every array.\n */\nexport default function <T>(this: T[], ...arrays: T[][]) {\n\tif (arrays.length === 0) return this.slice();\n\n\tconst sets = arrays.map(arr => new Set(arr));\n\n\treturn this.filter(item => sets.every(set => set.has(item)));\n}\n","/**\n * Returns a unique merge of the array and the other arrays.\n * @param arrays Arrays to merge.\n * @returns A new array with unique values.\n */\nexport default function <T>(this: T[], ...arrays: T[][]) {\n\tconst out: T[] = [];\n\tconst seen = new Set<T>();\n\n\tconst push = (item: T) => {\n\t\tif (seen.has(item)) return;\n\t\tseen.add(item);\n\t\tout.push(item);\n\t};\n\n\tfor (const item of this) push(item);\n\tfor (const arr of arrays) {\n\t\tfor (const item of arr) push(item);\n\t}\n\n\treturn out;\n}\n","/**\n * Returns unique items by a key or mapper function.\n * @param key The property name or mapper function to determine uniqueness.\n * @returns A new array with unique items.\n */\nexport default function <T, K>(\n\tthis: T[],\n\tkey: ((item: T, index: number, arr: T[]) => K) | keyof T\n) {\n\tconst result: T[] = [];\n\tconst seen = new Set<unknown>();\n\tconst getKey = typeof key === \"function\"\n\t\t? key\n\t\t: (item: T) => item[key] as unknown as K;\n\n\tfor (let index = 0; index < this.length; index++) {\n\t\tconst item = this[index];\n\t\tconst keyValue = getKey(item, index, this);\n\t\tif (!seen.has(keyValue)) {\n\t\t\tseen.add(keyValue);\n\t\t\tresult.push(item);\n\t\t}\n\t}\n\n\treturn result;\n}\n","/**\n * Sorts items by a key or mapper function (stable).\n * @param key The property name or mapper function to sort by.\n * @returns A new array sorted by the key.\n */\nexport default function <T, K extends string | number | bigint>(\n\tthis: T[],\n\tkey: ((item: T, index: number, arr: T[]) => K) | keyof T\n) {\n\tconst getKey = typeof key === \"function\"\n\t\t? key\n\t\t: (item: T) => item[key] as unknown as K;\n\n\treturn this\n\t\t.map((item, index) => ({ item, index, key: getKey(item, index, this) }))\n\t\t.sort((a, b) => {\n\t\t\tif (a.key < b.key) return -1;\n\t\t\tif (a.key > b.key) return 1;\n\t\t\treturn a.index - b.index;\n\t\t})\n\t\t.map(entry => entry.item);\n}\n","/**\n * Returns a random sample of items without replacement.\n * @param count Number of items to sample.\n * @returns A new array containing sampled items.\n */\nexport default function <T>(this: T[], count: number) {\n\tif (!Number.isInteger(count) || count <= 0) {\n\t\tthrow new Error(\"count must be a positive integer\");\n\t}\n\n\tconst out = this.slice();\n\n\tfor (let i = out.length - 1; i > 0; i--) {\n\t\tconst j = Math.floor(Math.random() * (i + 1));\n\t\t[out[i], out[j]] = [out[j], out[i]];\n\t}\n\n\treturn out.slice(0, Math.min(count, out.length));\n}\n","/**\n * Pads the array to the given length with the provided value.\n * @param length Target length.\n * @param value Value to pad with.\n * @returns A new padded array.\n */\nexport default function <T>(this: T[], length: number, value: T) {\n\tif (!Number.isInteger(length) || length < 0) {\n\t\tthrow new Error(\"length must be a non-negative integer\");\n\t}\n\n\tconst out = this.slice();\n\n\twhile (out.length < length) out.push(value);\n\n\treturn out;\n}\n","import _first from \"./functions/first\";\nimport _last from \"./functions/last\";\nimport _unique from \"./functions/unique\";\nimport _chunk from \"./functions/chunk\";\nimport _compact from \"./functions/compact\";\nimport _compactMap from \"./functions/compactMap\";\nimport _random from \"./functions/random\";\nimport _keyValueMap from \"./functions/keyValueMap\";\nimport _sum from \"./functions/sum\";\nimport _avg from \"./functions/avg\";\nimport _max from \"./functions/max\";\nimport _min from \"./functions/min\";\nimport _shuffle from \"./functions/shuffle\";\nimport _groupBy from \"./functions/groupBy\";\nimport _flatten from \"./functions/flatten\";\nimport _zip from \"./functions/zip\";\nimport _partition from \"./functions/partition\";\nimport _pluck from \"./functions/pluck\";\nimport _countBy from \"./functions/countBy\";\nimport _difference from \"./functions/difference\";\nimport _intersection from \"./functions/intersection\";\nimport _union from \"./functions/union\";\nimport _uniqBy from \"./functions/uniqBy\";\nimport _sortBy from \"./functions/sortBy\";\nimport _sample from \"./functions/sample\";\nimport _pad from \"./functions/pad\";\n\nconst call = <T, A extends unknown[], R>(fn: (this: T, ...args: A) => R, thisArg: T, ...args: A): R =>\n\tfn.apply(thisArg, args);\n\nexport const first = <T>(arr: T[]): ReturnType<typeof _first> => call(_first, arr);\nexport const last = <T>(arr: T[]): ReturnType<typeof _last> => call(_last, arr);\nexport const unique = <T>(arr: T[]): ReturnType<typeof _unique> => call(_unique, arr);\nexport const chunk = <T>(arr: T[], size: number): ReturnType<typeof _chunk> => call(_chunk, arr, size);\nexport const compact = <T>(arr: T[]): ReturnType<typeof _compact> => call(_compact, arr);\nexport const compactMap = <T, R>(\n\tarr: T[],\n\tmapper: (value: T, index: number, arr: T[]) => R\n): ReturnType<typeof _compactMap> => call(_compactMap, arr, mapper);\nexport const random = <T>(arr: T[]): ReturnType<typeof _random> => call(_random, arr);\nexport const keyValueMap = <T>(arr: KeyValueMap[], key: string, value: string): KeyValueMap => call(_keyValueMap, arr, key, value);\nexport const sum = (arr: number[]): ReturnType<typeof _sum> => call(_sum, arr);\nexport const avg = (arr: number[]): ReturnType<typeof _avg> => call(_avg, arr);\nexport const max = (arr: number[]): ReturnType<typeof _max> => call(_max, arr);\nexport const min = (arr: number[]): ReturnType<typeof _min> => call(_min, arr);\nexport const shuffle = <T>(arr: T[]): ReturnType<typeof _shuffle> => call(_shuffle, arr);\nexport const groupBy = <T, K extends PropertyKey>(\n\tarr: T[],\n\tkey: ((item: T, index: number, arr: T[]) => K) | keyof T\n): ReturnType<typeof _groupBy> => call(_groupBy, arr, key);\nexport const flatten = <T>(arr: (T | T[])[]): ReturnType<typeof _flatten> => call(_flatten, arr);\nexport const zip = <T>(arr: T[], ...arrays: any[][]): ReturnType<typeof _zip> => call(_zip, arr, ...arrays);\nexport const partition = <T>(\n\tarr: T[],\n\tpredicate: (value: T, index: number, arr: T[]) => boolean\n): ReturnType<typeof _partition> => call(_partition, arr, predicate);\nexport const pluck = <T, K extends keyof T>(arr: T[], key: K): ReturnType<typeof _pluck> => call(_pluck, arr, key);\nexport const countBy = <T, K extends PropertyKey>(\n\tarr: T[],\n\tkey: ((item: T, index: number, arr: T[]) => K) | keyof T\n): ReturnType<typeof _countBy> => call(_countBy, arr, key);\nexport const difference = <T>(arr: T[], ...arrays: T[][]): ReturnType<typeof _difference> => call(_difference, arr, ...arrays);\nexport const intersection = <T>(arr: T[], ...arrays: T[][]): ReturnType<typeof _intersection> => call(_intersection, arr, ...arrays);\nexport const union = <T>(arr: T[], ...arrays: T[][]): ReturnType<typeof _union> => call(_union, arr, ...arrays);\nexport const uniqBy = <T, K>(\n\tarr: T[],\n\tkey: ((item: T, index: number, arr: T[]) => K) | keyof T\n): ReturnType<typeof _uniqBy> => call(_uniqBy, arr, key);\nexport const sortBy = <T, K extends string | number | bigint>(\n\tarr: T[],\n\tkey: ((item: T, index: number, arr: T[]) => K) | keyof T\n): ReturnType<typeof _sortBy> => call(_sortBy, arr, key);\nexport const sample = <T>(arr: T[], count: number): ReturnType<typeof _sample> => call(_sample, arr, count);\nexport const pad = <T>(arr: T[], length: number, value: T): ReturnType<typeof _pad> => call(_pad, arr, length, value);\n"],"names":["shuffle","_shuffle"],"mappings":"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","x_google_ignoreList":[0]}
@@ -4,6 +4,8 @@ declare global {
4
4
  last(): T | undefined;
5
5
  unique(): T[];
6
6
  chunk(size: number): T[][];
7
+ compact(): T[];
8
+ compactMap<R>(mapper: (value: T, index: number, arr: T[]) => R): Exclude<R, null | undefined>[];
7
9
  random(): T | undefined;
8
10
  keyValueMap(key: string, value: string): Record<string, any>[];
9
11
  sum(this: number[]): number;
@@ -11,6 +13,19 @@ declare global {
11
13
  max(this: number[]): number | undefined;
12
14
  min(this: number[]): number | undefined;
13
15
  shuffle(): T[];
16
+ groupBy<K extends PropertyKey>(key: ((item: T, index: number, arr: T[]) => K) | keyof T): Record<K, T[]>;
17
+ flatten(this: (T | T[])[]): T[];
18
+ zip(...arrays: any[][]): any[][];
19
+ partition(predicate: (value: T, index: number, arr: T[]) => boolean): [T[], T[]];
20
+ pluck<K extends keyof T>(key: K): T[K][];
21
+ countBy<K extends PropertyKey>(key: ((item: T, index: number, arr: T[]) => K) | keyof T): Record<K, number>;
22
+ difference(...arrays: T[][]): T[];
23
+ intersection(...arrays: T[][]): T[];
24
+ union(...arrays: T[][]): T[];
25
+ uniqBy<K>(key: ((item: T, index: number, arr: T[]) => K) | keyof T): T[];
26
+ sortBy<K extends string | number | bigint>(key: ((item: T, index: number, arr: T[]) => K) | keyof T): T[];
27
+ sample(count: number): T[];
28
+ pad(length: number, value: T): T[];
14
29
  }
15
30
  }
16
31
  export {};
@@ -3,12 +3,27 @@ import first from "../functions/first";
3
3
  import last from "../functions/last";
4
4
  import random from "../functions/random";
5
5
  import unique from "../functions/unique";
6
+ import compact from "../functions/compact";
7
+ import compactMap from "../functions/compactMap";
6
8
  import keyValueMap from "../functions/keyValueMap";
7
9
  import sum from "../functions/sum";
8
10
  import avg from "../functions/avg";
9
11
  import max from "../functions/max";
10
12
  import min from "../functions/min";
11
13
  import shuffle from "../functions/shuffle";
14
+ import groupBy from "../functions/groupBy";
15
+ import flatten from "../functions/flatten";
16
+ import zip from "../functions/zip";
17
+ import partition from "../functions/partition";
18
+ import pluck from "../functions/pluck";
19
+ import countBy from "../functions/countBy";
20
+ import difference from "../functions/difference";
21
+ import intersection from "../functions/intersection";
22
+ import union from "../functions/union";
23
+ import uniqBy from "../functions/uniqBy";
24
+ import sortBy from "../functions/sortBy";
25
+ import sample from "../functions/sample";
26
+ import pad from "../functions/pad";
12
27
  function defineArrayMethod(name, fn) {
13
28
  if (!Array.prototype[name]) {
14
29
  Object.defineProperty(Array.prototype, name, {
@@ -22,6 +37,8 @@ defineArrayMethod("first", first);
22
37
  defineArrayMethod("last", last);
23
38
  defineArrayMethod("unique", unique);
24
39
  defineArrayMethod("chunk", chunk);
40
+ defineArrayMethod("compact", compact);
41
+ defineArrayMethod("compactMap", compactMap);
25
42
  defineArrayMethod("random", random);
26
43
  defineArrayMethod("keyValueMap", keyValueMap);
27
44
  defineArrayMethod("sum", sum);
@@ -29,3 +46,16 @@ defineArrayMethod("avg", avg);
29
46
  defineArrayMethod("max", max);
30
47
  defineArrayMethod("min", min);
31
48
  defineArrayMethod("shuffle", shuffle);
49
+ defineArrayMethod("groupBy", groupBy);
50
+ defineArrayMethod("flatten", flatten);
51
+ defineArrayMethod("zip", zip);
52
+ defineArrayMethod("partition", partition);
53
+ defineArrayMethod("pluck", pluck);
54
+ defineArrayMethod("countBy", countBy);
55
+ defineArrayMethod("difference", difference);
56
+ defineArrayMethod("intersection", intersection);
57
+ defineArrayMethod("union", union);
58
+ defineArrayMethod("uniqBy", uniqBy);
59
+ defineArrayMethod("sortBy", sortBy);
60
+ defineArrayMethod("sample", sample);
61
+ defineArrayMethod("pad", pad);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@r01al/array-polyfills",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Cool JS Array Polyfills",
5
5
  "keywords": [
6
6
  "polyfills",
@@ -35,6 +35,7 @@
35
35
  },
36
36
  "module": "./dist/index.mjs",
37
37
  "main": "./dist/index.cjs",
38
+ "unpkg": "./dist/index.umd.js",
38
39
  "exports": {
39
40
  ".": {
40
41
  "types": "./dist/index.d.ts",