@ts-fns/stdlib 0.1.0
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.
- package/LICENSE +7 -0
- package/README.md +132 -0
- package/dist/array/index.cjs +551 -0
- package/dist/array/index.cjs.map +1 -0
- package/dist/array/index.d.cts +334 -0
- package/dist/array/index.d.cts.map +1 -0
- package/dist/array/index.d.mts +334 -0
- package/dist/array/index.d.mts.map +1 -0
- package/dist/array/index.mjs +498 -0
- package/dist/array/index.mjs.map +1 -0
- package/dist/errors-CJsLpYo9.d.cts +25 -0
- package/dist/errors-CJsLpYo9.d.cts.map +1 -0
- package/dist/errors-CJsLpYo9.d.mts +25 -0
- package/dist/errors-CJsLpYo9.d.mts.map +1 -0
- package/dist/errors-Dw1kitu_.mjs +39 -0
- package/dist/errors-Dw1kitu_.mjs.map +1 -0
- package/dist/errors-O-d_Vemi.cjs +74 -0
- package/dist/errors-O-d_Vemi.cjs.map +1 -0
- package/dist/function/index.cjs +15 -0
- package/dist/function/index.d.cts +107 -0
- package/dist/function/index.d.cts.map +1 -0
- package/dist/function/index.d.mts +107 -0
- package/dist/function/index.d.mts.map +1 -0
- package/dist/function/index.mjs +3 -0
- package/dist/function-CB82a2GS.cjs +186 -0
- package/dist/function-CB82a2GS.cjs.map +1 -0
- package/dist/function-DnI2v0p3.mjs +121 -0
- package/dist/function-DnI2v0p3.mjs.map +1 -0
- package/dist/get-CWL_cu6G.mjs +27 -0
- package/dist/get-CWL_cu6G.mjs.map +1 -0
- package/dist/get-yrs1Kqho.cjs +38 -0
- package/dist/get-yrs1Kqho.cjs.map +1 -0
- package/dist/guard/index.cjs +43 -0
- package/dist/guard/index.cjs.map +1 -0
- package/dist/guard/index.d.cts +52 -0
- package/dist/guard/index.d.cts.map +1 -0
- package/dist/guard/index.d.mts +52 -0
- package/dist/guard/index.d.mts.map +1 -0
- package/dist/guard/index.mjs +40 -0
- package/dist/guard/index.mjs.map +1 -0
- package/dist/index-BJlKyBJH.d.cts +18 -0
- package/dist/index-BJlKyBJH.d.cts.map +1 -0
- package/dist/index-DGrnGMDt.d.mts +18 -0
- package/dist/index-DGrnGMDt.d.mts.map +1 -0
- package/dist/isNotNil-DrF-ohem.cjs +28 -0
- package/dist/isNotNil-DrF-ohem.cjs.map +1 -0
- package/dist/isNotNil-R5f1hC53.mjs +23 -0
- package/dist/isNotNil-R5f1hC53.mjs.map +1 -0
- package/dist/iterator/index.cjs +160 -0
- package/dist/iterator/index.cjs.map +1 -0
- package/dist/iterator/index.d.cts +71 -0
- package/dist/iterator/index.d.cts.map +1 -0
- package/dist/iterator/index.d.mts +71 -0
- package/dist/iterator/index.d.mts.map +1 -0
- package/dist/iterator/index.mjs +148 -0
- package/dist/iterator/index.mjs.map +1 -0
- package/dist/lens/index.cjs +199 -0
- package/dist/lens/index.cjs.map +1 -0
- package/dist/lens/index.d.cts +109 -0
- package/dist/lens/index.d.cts.map +1 -0
- package/dist/lens/index.d.mts +109 -0
- package/dist/lens/index.d.mts.map +1 -0
- package/dist/lens/index.mjs +187 -0
- package/dist/lens/index.mjs.map +1 -0
- package/dist/map/index.cjs +86 -0
- package/dist/map/index.cjs.map +1 -0
- package/dist/map/index.d.cts +41 -0
- package/dist/map/index.d.cts.map +1 -0
- package/dist/map/index.d.mts +41 -0
- package/dist/map/index.d.mts.map +1 -0
- package/dist/map/index.mjs +75 -0
- package/dist/map/index.mjs.map +1 -0
- package/dist/number/index.cjs +179 -0
- package/dist/number/index.cjs.map +1 -0
- package/dist/number/index.d.cts +112 -0
- package/dist/number/index.d.cts.map +1 -0
- package/dist/number/index.d.mts +112 -0
- package/dist/number/index.d.mts.map +1 -0
- package/dist/number/index.mjs +159 -0
- package/dist/number/index.mjs.map +1 -0
- package/dist/object/index.cjs +190 -0
- package/dist/object/index.cjs.map +1 -0
- package/dist/object/index.d.cts +118 -0
- package/dist/object/index.d.cts.map +1 -0
- package/dist/object/index.d.mts +118 -0
- package/dist/object/index.d.mts.map +1 -0
- package/dist/object/index.mjs +169 -0
- package/dist/object/index.mjs.map +1 -0
- package/dist/orThrow-V91Jw2lF.mjs +15 -0
- package/dist/orThrow-V91Jw2lF.mjs.map +1 -0
- package/dist/orThrow-ejzcQYAI.cjs +20 -0
- package/dist/orThrow-ejzcQYAI.cjs.map +1 -0
- package/dist/order/index.cjs +50 -0
- package/dist/order/index.cjs.map +1 -0
- package/dist/order/index.d.cts +3 -0
- package/dist/order/index.d.mts +3 -0
- package/dist/order/index.mjs +42 -0
- package/dist/order/index.mjs.map +1 -0
- package/dist/order.constants-BWSCg3C7.d.cts +11 -0
- package/dist/order.constants-BWSCg3C7.d.cts.map +1 -0
- package/dist/order.constants-BWSCg3C7.d.mts +11 -0
- package/dist/order.constants-BWSCg3C7.d.mts.map +1 -0
- package/dist/purry-B2_0DGLV.cjs +28 -0
- package/dist/purry-B2_0DGLV.cjs.map +1 -0
- package/dist/purry-BOWmqwDB.mjs +23 -0
- package/dist/purry-BOWmqwDB.mjs.map +1 -0
- package/dist/set/index.cjs +131 -0
- package/dist/set/index.cjs.map +1 -0
- package/dist/set/index.d.cts +61 -0
- package/dist/set/index.d.cts.map +1 -0
- package/dist/set/index.d.mts +61 -0
- package/dist/set/index.d.mts.map +1 -0
- package/dist/set/index.mjs +115 -0
- package/dist/set/index.mjs.map +1 -0
- package/dist/string/index.cjs +288 -0
- package/dist/string/index.cjs.map +1 -0
- package/dist/string/index.d.cts +144 -0
- package/dist/string/index.d.cts.map +1 -0
- package/dist/string/index.d.mts +144 -0
- package/dist/string/index.d.mts.map +1 -0
- package/dist/string/index.mjs +254 -0
- package/dist/string/index.mjs.map +1 -0
- package/dist/tuple/index.cjs +135 -0
- package/dist/tuple/index.cjs.map +1 -0
- package/dist/tuple/index.d.cts +207 -0
- package/dist/tuple/index.d.cts.map +1 -0
- package/dist/tuple/index.d.mts +207 -0
- package/dist/tuple/index.d.mts.map +1 -0
- package/dist/tuple/index.mjs +122 -0
- package/dist/tuple/index.mjs.map +1 -0
- package/dist/types-D8f67ZCe.d.cts +54 -0
- package/dist/types-D8f67ZCe.d.cts.map +1 -0
- package/dist/types-D8f67ZCe.d.mts +54 -0
- package/dist/types-D8f67ZCe.d.mts.map +1 -0
- package/package.json +177 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { t as purry } from "../purry-BOWmqwDB.mjs";
|
|
2
|
+
import { n as NaNError } from "../errors-Dw1kitu_.mjs";
|
|
3
|
+
import "../order/index.mjs";
|
|
4
|
+
//#region src/number/_globalAliases.ts
|
|
5
|
+
const { isFinite, isInteger, isSafeInteger } = Number;
|
|
6
|
+
const numberConstructor = Number;
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region src/number/add.ts
|
|
9
|
+
function addImplementation(left, right) {
|
|
10
|
+
return left + right;
|
|
11
|
+
}
|
|
12
|
+
function add(...args) {
|
|
13
|
+
return purry(addImplementation, args);
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/number/compare.ts
|
|
17
|
+
function compare(left, right) {
|
|
18
|
+
if (left < right) return -1;
|
|
19
|
+
if (left > right) return 1;
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/number/decrement.ts
|
|
24
|
+
function decrement(num) {
|
|
25
|
+
return num - 1;
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/number/divide.ts
|
|
29
|
+
function divideImplementation(left, right) {
|
|
30
|
+
return left / right;
|
|
31
|
+
}
|
|
32
|
+
function divide(...args) {
|
|
33
|
+
return purry(divideImplementation, args);
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/number/increment.ts
|
|
37
|
+
function increment(num) {
|
|
38
|
+
return num + 1;
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/number/isNaN.ts
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @param num
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
function isNaN(num) {
|
|
48
|
+
return Number.isNaN(num);
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/number/isNil.ts
|
|
52
|
+
/**
|
|
53
|
+
* Check whether a value is nullish (`null` or `undefined`)
|
|
54
|
+
*
|
|
55
|
+
* @category Guard
|
|
56
|
+
* @param value - The value to check.
|
|
57
|
+
* @returns `true` if `value` is `null` or `undefined`; otherwise `false`.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```ts
|
|
61
|
+
* isNil(null); // true
|
|
62
|
+
* isNil(undefined); // true
|
|
63
|
+
* isNil(0); // false
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
function isNil(value) {
|
|
67
|
+
return value == null;
|
|
68
|
+
}
|
|
69
|
+
//#endregion
|
|
70
|
+
//#region src/number/isNotNaN.ts
|
|
71
|
+
/**
|
|
72
|
+
*
|
|
73
|
+
* @param num
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
function isNotNaN(num) {
|
|
77
|
+
return !Number.isNaN(num);
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/number/isNumber.ts
|
|
81
|
+
/**
|
|
82
|
+
* Check whether a value is a number (primitive `number`, not `NaN`).
|
|
83
|
+
*
|
|
84
|
+
* @category Guard
|
|
85
|
+
* @param data - The value to check.
|
|
86
|
+
* @returns `true` if `data` is a number; otherwise `false`.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```ts
|
|
90
|
+
* isNumber(1); // true
|
|
91
|
+
* isNumber(Infinity); // true
|
|
92
|
+
* isNumber(NaN); // true
|
|
93
|
+
* isNumber('1'); // false
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
function isNumber(data) {
|
|
97
|
+
return typeof data === "number";
|
|
98
|
+
}
|
|
99
|
+
//#endregion
|
|
100
|
+
//#region src/number/multiply.ts
|
|
101
|
+
function multiplyImplementation(left, right) {
|
|
102
|
+
return left * right;
|
|
103
|
+
}
|
|
104
|
+
function multiply(...args) {
|
|
105
|
+
return purry(multiplyImplementation, args);
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/number/parseFloat.ts
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
*/
|
|
112
|
+
function parseFloat(data) {
|
|
113
|
+
const num = Number.parseFloat(data);
|
|
114
|
+
if (Number.isNaN(num)) return new NaNError(`Num.parseFloat() :: "${data}" is NaN`);
|
|
115
|
+
return num;
|
|
116
|
+
}
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region src/number/parseInt.ts
|
|
119
|
+
/**
|
|
120
|
+
* @throws {NanError}
|
|
121
|
+
*/
|
|
122
|
+
function parseInt(data) {
|
|
123
|
+
const num = Number.parseInt(data, 10);
|
|
124
|
+
if (Number.isNaN(num)) return new NaNError(`Num.parseInt() :: "${data}" is NaN`);
|
|
125
|
+
return num;
|
|
126
|
+
}
|
|
127
|
+
//#endregion
|
|
128
|
+
//#region src/number/parseIntBase.ts
|
|
129
|
+
function parseIntBaseImplementation(data, radix) {
|
|
130
|
+
if (typeof radix !== "number") throw new NaNError(`Num.parseFloat(_, radix) :: "${data}" must be number`);
|
|
131
|
+
const num = Number.parseInt(data, radix);
|
|
132
|
+
if (Number.isNaN(num)) throw new NaNError(`Num.parseFloat(data, _) :: "${data}" is NaN`);
|
|
133
|
+
return num;
|
|
134
|
+
}
|
|
135
|
+
function parseIntBase(...args) {
|
|
136
|
+
return purry(parseIntBaseImplementation, args);
|
|
137
|
+
}
|
|
138
|
+
//#endregion
|
|
139
|
+
//#region src/number/product.ts
|
|
140
|
+
function product(data) {
|
|
141
|
+
return data.reduce((a, b) => a * b, 1);
|
|
142
|
+
}
|
|
143
|
+
//#endregion
|
|
144
|
+
//#region src/number/subtract.ts
|
|
145
|
+
function subtractImplementation(left, right) {
|
|
146
|
+
return left - right;
|
|
147
|
+
}
|
|
148
|
+
function subtract(...args) {
|
|
149
|
+
return purry(subtractImplementation, args);
|
|
150
|
+
}
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region src/number/sum.ts
|
|
153
|
+
function sum(data) {
|
|
154
|
+
return data.reduce((a, b) => a + b, 0);
|
|
155
|
+
}
|
|
156
|
+
//#endregion
|
|
157
|
+
export { numberConstructor as Number, add, compare, decrement, divide, increment, isFinite, isInteger, isNaN, isNil, isNotNaN, isNumber, isSafeInteger, multiply, parseFloat, parseInt, parseIntBase, product, subtract, sum };
|
|
158
|
+
|
|
159
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/number/_globalAliases.ts","../../src/number/add.ts","../../src/number/compare.ts","../../src/number/decrement.ts","../../src/number/divide.ts","../../src/number/increment.ts","../../src/number/isNaN.ts","../../src/number/isNil.ts","../../src/number/isNotNaN.ts","../../src/number/isNumber.ts","../../src/number/multiply.ts","../../src/number/parseFloat.ts","../../src/number/parseInt.ts","../../src/number/parseIntBase.ts","../../src/number/product.ts","../../src/number/subtract.ts","../../src/number/sum.ts"],"sourcesContent":["export const { isFinite, isInteger, isSafeInteger } = Number;\n\nconst numberConstructor = Number;\nexport { numberConstructor as Number };\n","import { purry } from '../function/purry';\n\nfunction addImplementation(left: number, right: number): number {\n return left + right;\n}\n\nexport function add(right: number): (left: number) => number;\nexport function add(left: number, right: number): number;\nexport function add(...args: unknown[]): unknown {\n return purry(addImplementation, args);\n}\n","import type { Order } from '../order';\nimport { eq, gt, lt } from '../order';\n\nexport function compare(left: number, right: number): Order {\n if (left < right) return lt;\n if (left > right) return gt;\n return eq;\n}\n","export function decrement(num: number): number {\n return num - 1;\n}\n","import { purry } from '../function/purry';\n\nfunction divideImplementation(left: number, right: number): number {\n return left / right;\n}\n\nexport function divide(right: number): (left: number) => number;\nexport function divide(left: number, right: number): number;\nexport function divide(...args: unknown[]): unknown {\n return purry(divideImplementation, args);\n}\n","export function increment(num: number): number {\n return num + 1;\n}\n","/**\n *\n * @param num\n * @returns\n */\nexport function isNaN(num: number): boolean {\n return Number.isNaN(num);\n}\n","/**\n * Check whether a value is nullish (`null` or `undefined`)\n *\n * @category Guard\n * @param value - The value to check.\n * @returns `true` if `value` is `null` or `undefined`; otherwise `false`.\n *\n * @example\n * ```ts\n * isNil(null); // true\n * isNil(undefined); // true\n * isNil(0); // false\n * ```\n */\nexport function isNil<T>(value: T): value is T & (null | undefined) {\n return value == null;\n}\n","/**\n *\n * @param num\n * @returns\n */\nexport function isNotNaN(num: number): boolean {\n return !Number.isNaN(num);\n}\n","import type { NarrowedTo } from '../types';\n\n/**\n * Check whether a value is a number (primitive `number`, not `NaN`).\n *\n * @category Guard\n * @param data - The value to check.\n * @returns `true` if `data` is a number; otherwise `false`.\n *\n * @example\n * ```ts\n * isNumber(1); // true\n * isNumber(Infinity); // true\n * isNumber(NaN); // true\n * isNumber('1'); // false\n * ```\n */\nexport function isNumber<T>(data: T | number): data is NarrowedTo<T, number> {\n return typeof data === 'number';\n}\n","import { purry } from '../function/purry';\n\nfunction multiplyImplementation(left: number, right: number): number {\n return left * right;\n}\n\nexport function multiply(right: number): (left: number) => number;\nexport function multiply(left: number, right: number): number;\nexport function multiply(...args: unknown[]): unknown {\n return purry(multiplyImplementation, args);\n}\n","import { NaNError } from '../errors';\n\n/**\n *\n */\nexport function parseFloat(data: string): NaNError | number {\n const num = Number.parseFloat(data);\n\n if (Number.isNaN(num)) {\n return new NaNError(`Num.parseFloat() :: \"${data}\" is NaN`);\n }\n\n return num;\n}\n","import { NaNError } from '../errors';\n\n/**\n * @throws {NanError}\n */\nexport function parseInt(data: string): NaNError | number {\n const num = Number.parseInt(data, 10);\n\n if (Number.isNaN(num)) {\n return new NaNError(`Num.parseInt() :: \"${data}\" is NaN`);\n }\n\n return num;\n}\n","import { NaNError } from '../errors';\nimport { purry } from '../function/purry';\n\nfunction parseIntBaseImplementation(data: string, radix: number): number {\n if (typeof radix !== 'number') {\n throw new NaNError(`Num.parseFloat(_, radix) :: \"${data}\" must be number`);\n }\n\n const num = Number.parseInt(data, radix);\n\n if (Number.isNaN(num)) {\n throw new NaNError(`Num.parseFloat(data, _) :: \"${data}\" is NaN`);\n }\n\n return num;\n}\n\n/**\n *\n * @throws {NaNError}\n */\nexport function parseIntBase(radix: number): (data: string) => number;\nexport function parseIntBase(data: string, radix: number): number;\nexport function parseIntBase(...args: unknown[]): unknown {\n return purry(parseIntBaseImplementation, args);\n}\n","export function product(data: number[]): number {\n return data.reduce((a, b) => a * b, 1);\n}\n","import { purry } from '../function/purry';\n\nfunction subtractImplementation(left: number, right: number): number {\n return left - right;\n}\n\nexport function subtract(right: number): (left: number) => number;\nexport function subtract(left: number, right: number): number;\nexport function subtract(...args: unknown[]): unknown {\n return purry(subtractImplementation, args);\n}\n","export function sum(data: number[]): number {\n return data.reduce((a, b) => a + b, 0);\n}\n"],"mappings":";;;;AAAA,MAAa,EAAE,UAAU,WAAW,kBAAkB;AAEtD,MAAM,oBAAoB;;;ACA1B,SAAS,kBAAkB,MAAc,OAAuB;CAC9D,OAAO,OAAO;AAChB;AAIA,SAAgB,IAAI,GAAG,MAA0B;CAC/C,OAAO,MAAM,mBAAmB,IAAI;AACtC;;;ACPA,SAAgB,QAAQ,MAAc,OAAsB;CAC1D,IAAI,OAAO,OAAO,OAAA;CAClB,IAAI,OAAO,OAAO,OAAA;CAClB,OAAA;AACF;;;ACPA,SAAgB,UAAU,KAAqB;CAC7C,OAAO,MAAM;AACf;;;ACAA,SAAS,qBAAqB,MAAc,OAAuB;CACjE,OAAO,OAAO;AAChB;AAIA,SAAgB,OAAO,GAAG,MAA0B;CAClD,OAAO,MAAM,sBAAsB,IAAI;AACzC;;;ACVA,SAAgB,UAAU,KAAqB;CAC7C,OAAO,MAAM;AACf;;;;;;;;ACGA,SAAgB,MAAM,KAAsB;CAC1C,OAAO,OAAO,MAAM,GAAG;AACzB;;;;;;;;;;;;;;;;;ACOA,SAAgB,MAAS,OAA2C;CAClE,OAAO,SAAS;AAClB;;;;;;;;ACXA,SAAgB,SAAS,KAAsB;CAC7C,OAAO,CAAC,OAAO,MAAM,GAAG;AAC1B;;;;;;;;;;;;;;;;;;ACUA,SAAgB,SAAY,MAAiD;CAC3E,OAAO,OAAO,SAAS;AACzB;;;ACjBA,SAAS,uBAAuB,MAAc,OAAuB;CACnE,OAAO,OAAO;AAChB;AAIA,SAAgB,SAAS,GAAG,MAA0B;CACpD,OAAO,MAAM,wBAAwB,IAAI;AAC3C;;;;;;ACLA,SAAgB,WAAW,MAAiC;CAC1D,MAAM,MAAM,OAAO,WAAW,IAAI;CAElC,IAAI,OAAO,MAAM,GAAG,GAClB,OAAO,IAAI,SAAS,wBAAwB,KAAK,SAAS;CAG5D,OAAO;AACT;;;;;;ACRA,SAAgB,SAAS,MAAiC;CACxD,MAAM,MAAM,OAAO,SAAS,MAAM,EAAE;CAEpC,IAAI,OAAO,MAAM,GAAG,GAClB,OAAO,IAAI,SAAS,sBAAsB,KAAK,SAAS;CAG1D,OAAO;AACT;;;ACVA,SAAS,2BAA2B,MAAc,OAAuB;CACvE,IAAI,OAAO,UAAU,UACnB,MAAM,IAAI,SAAS,gCAAgC,KAAK,iBAAiB;CAG3E,MAAM,MAAM,OAAO,SAAS,MAAM,KAAK;CAEvC,IAAI,OAAO,MAAM,GAAG,GAClB,MAAM,IAAI,SAAS,+BAA+B,KAAK,SAAS;CAGlE,OAAO;AACT;AAQA,SAAgB,aAAa,GAAG,MAA0B;CACxD,OAAO,MAAM,4BAA4B,IAAI;AAC/C;;;ACzBA,SAAgB,QAAQ,MAAwB;CAC9C,OAAO,KAAK,QAAQ,GAAG,MAAM,IAAI,GAAG,CAAC;AACvC;;;ACAA,SAAS,uBAAuB,MAAc,OAAuB;CACnE,OAAO,OAAO;AAChB;AAIA,SAAgB,SAAS,GAAG,MAA0B;CACpD,OAAO,MAAM,wBAAwB,IAAI;AAC3C;;;ACVA,SAAgB,IAAI,MAAwB;CAC1C,OAAO,KAAK,QAAQ,GAAG,MAAM,IAAI,GAAG,CAAC;AACvC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_purry = require("../purry-B2_0DGLV.cjs");
|
|
3
|
+
require("../function-CB82a2GS.cjs");
|
|
4
|
+
const require_get = require("../get-yrs1Kqho.cjs");
|
|
5
|
+
//#region src/object/_globalAliases.ts
|
|
6
|
+
const { fromEntries, hasOwn, is, keys, values } = Object;
|
|
7
|
+
/**
|
|
8
|
+
* @category Object
|
|
9
|
+
* @function
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* entries({ a: 1, b: 2 }); // [['a', 1], ['b', 2]]
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
const entries = Object.entries;
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/object/clone.ts
|
|
18
|
+
/**
|
|
19
|
+
* Alias of structuredClone without the optional second argument
|
|
20
|
+
*/
|
|
21
|
+
function clone(data) {
|
|
22
|
+
return globalThis.structuredClone(data);
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/object/evolve.ts
|
|
26
|
+
function evolveImplementation(obj, evolver) {
|
|
27
|
+
const evolved = Object.entries(evolver).reduce((acc, [k, fn]) => {
|
|
28
|
+
if (Object.hasOwn(obj, k)) acc[k] = fn(obj[k]);
|
|
29
|
+
return acc;
|
|
30
|
+
}, {});
|
|
31
|
+
return {
|
|
32
|
+
...obj,
|
|
33
|
+
...evolved
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function evolve(...args) {
|
|
37
|
+
return require_purry.purry(evolveImplementation, args);
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src/object/forEach.ts
|
|
41
|
+
function forEachImplementation(data, callbackfn) {
|
|
42
|
+
for (const [k, v] of Object.entries(data)) callbackfn(v, k);
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
function forEach(...args) {
|
|
46
|
+
return require_purry.purry(forEachImplementation, args);
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/object/groupBy.ts
|
|
50
|
+
function groupByImplementation(items, keySelector) {
|
|
51
|
+
return Object.groupBy(items, keySelector);
|
|
52
|
+
}
|
|
53
|
+
function groupBy(...args) {
|
|
54
|
+
return require_purry.purry(groupByImplementation, args);
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/object/indexBy.ts
|
|
58
|
+
function indexByImplementation(data, keySelector) {
|
|
59
|
+
const asArray = [...data];
|
|
60
|
+
const len = asArray.length;
|
|
61
|
+
const rtnObj = {};
|
|
62
|
+
for (let i = 0; i < len; i += 1) {
|
|
63
|
+
const value = asArray[i];
|
|
64
|
+
rtnObj[keySelector(value, i)] = value;
|
|
65
|
+
}
|
|
66
|
+
return rtnObj;
|
|
67
|
+
}
|
|
68
|
+
function indexBy(...args) {
|
|
69
|
+
return require_purry.purry(indexByImplementation, args);
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/object/map.ts
|
|
73
|
+
function mapImplementation(data, callbackfn) {
|
|
74
|
+
const entries = Object.entries(data);
|
|
75
|
+
const len = entries.length;
|
|
76
|
+
const newObj = {};
|
|
77
|
+
for (let i = 0; i < len; i += 1) {
|
|
78
|
+
const [k, v] = entries[i];
|
|
79
|
+
newObj[k] = callbackfn(v, k);
|
|
80
|
+
}
|
|
81
|
+
return newObj;
|
|
82
|
+
}
|
|
83
|
+
function map(...args) {
|
|
84
|
+
return require_purry.purry(mapImplementation, args);
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/object/merge.ts
|
|
88
|
+
function mergeImplementation(left, right) {
|
|
89
|
+
return {
|
|
90
|
+
...left,
|
|
91
|
+
...right
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function merge(...args) {
|
|
95
|
+
return require_purry.purry(mergeImplementation, args);
|
|
96
|
+
}
|
|
97
|
+
function mergeLeftImplementation(left, right) {
|
|
98
|
+
return {
|
|
99
|
+
...right,
|
|
100
|
+
...left
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function mergeLeft(...args) {
|
|
104
|
+
return require_purry.purry(mergeLeftImplementation, args);
|
|
105
|
+
}
|
|
106
|
+
merge.left = mergeLeft;
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/object/omit.ts
|
|
109
|
+
function omitImplementation(data, keys) {
|
|
110
|
+
const keysSet = new Set(keys);
|
|
111
|
+
const newObj = {};
|
|
112
|
+
for (const [key, value] of Object.entries(data)) if (!keysSet.has(key)) newObj[key] = value;
|
|
113
|
+
return newObj;
|
|
114
|
+
}
|
|
115
|
+
function omit(...args) {
|
|
116
|
+
return require_purry.purry(omitImplementation, args);
|
|
117
|
+
}
|
|
118
|
+
//#endregion
|
|
119
|
+
//#region src/object/pick.ts
|
|
120
|
+
function pickImplementation(data, keys) {
|
|
121
|
+
const keysSet = new Set(keys);
|
|
122
|
+
const newObj = {};
|
|
123
|
+
for (const [key, value] of Object.entries(data)) if (keysSet.has(key)) newObj[key] = value;
|
|
124
|
+
return newObj;
|
|
125
|
+
}
|
|
126
|
+
function pick(...args) {
|
|
127
|
+
return require_purry.purry(pickImplementation, args);
|
|
128
|
+
}
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region src/object/set.ts
|
|
131
|
+
function setImplementation(obj, key, value) {
|
|
132
|
+
return {
|
|
133
|
+
...obj,
|
|
134
|
+
[key]: value
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function set(...args) {
|
|
138
|
+
return require_purry.purry(setImplementation, args);
|
|
139
|
+
}
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/object/upsert.ts
|
|
142
|
+
function upsertImplementation(data, key, fn) {
|
|
143
|
+
if (!(key in data)) {
|
|
144
|
+
const updatedValue = fn(void 0);
|
|
145
|
+
return {
|
|
146
|
+
...data,
|
|
147
|
+
[key]: updatedValue
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
const value = data[key];
|
|
151
|
+
if (value == null) {
|
|
152
|
+
const updatedValue = fn(null);
|
|
153
|
+
return {
|
|
154
|
+
...data,
|
|
155
|
+
[key]: updatedValue
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
const updatedValue = fn(value);
|
|
159
|
+
return {
|
|
160
|
+
...data,
|
|
161
|
+
[key]: updatedValue
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
function upsert(...args) {
|
|
165
|
+
return require_purry.purry(upsertImplementation, args);
|
|
166
|
+
}
|
|
167
|
+
//#endregion
|
|
168
|
+
exports.clone = clone;
|
|
169
|
+
exports.entries = entries;
|
|
170
|
+
exports.evolve = evolve;
|
|
171
|
+
exports.forEach = forEach;
|
|
172
|
+
exports.fromEntries = fromEntries;
|
|
173
|
+
exports.get = require_get.get;
|
|
174
|
+
exports.getAssert = require_get.getAssert;
|
|
175
|
+
exports.groupBy = groupBy;
|
|
176
|
+
exports.hasOwn = hasOwn;
|
|
177
|
+
exports.indexBy = indexBy;
|
|
178
|
+
exports.is = is;
|
|
179
|
+
exports.keys = keys;
|
|
180
|
+
exports.map = map;
|
|
181
|
+
exports.merge = merge;
|
|
182
|
+
exports.mergeLeft = mergeLeft;
|
|
183
|
+
exports.omit = omit;
|
|
184
|
+
exports.pick = pick;
|
|
185
|
+
exports.set = set;
|
|
186
|
+
exports.setImplementation = setImplementation;
|
|
187
|
+
exports.upsert = upsert;
|
|
188
|
+
exports.values = values;
|
|
189
|
+
|
|
190
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["purry","purry","purry","purry","purry","purry","purry","purry","purry","purry"],"sources":["../../src/object/_globalAliases.ts","../../src/object/clone.ts","../../src/object/evolve.ts","../../src/object/forEach.ts","../../src/object/groupBy.ts","../../src/object/indexBy.ts","../../src/object/map.ts","../../src/object/merge.ts","../../src/object/omit.ts","../../src/object/pick.ts","../../src/object/set.ts","../../src/object/upsert.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-destructuring */\nexport const { fromEntries, hasOwn, is, keys, values } = Object;\n\n/**\n * @category Object\n * @function\n * @example\n * ```ts\n * entries({ a: 1, b: 2 }); // [['a', 1], ['b', 2]]\n * ```\n */\nexport const entries = Object.entries;\n","/**\n * Alias of structuredClone without the optional second argument\n */\nexport function clone<T>(data: T): T {\n return globalThis.structuredClone(data);\n}\n","import type { Simplify } from 'type-fest';\n\nimport { purry } from '../function';\n\ntype Evolved<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }> = {\n [K in keyof Obj]: Obj extends Record<K, infer T>\n ? Evolver extends Record<K, (value: Obj[K]) => infer R>\n ? R extends T\n ? T\n : unknown\n : never\n : never;\n};\n\nfunction evolveImplementation<\n Obj extends object,\n Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown },\n>(obj: Obj, evolver: Evolver): Simplify<Evolved<Obj, Evolver>> {\n const evolved = (Object.entries(evolver) as [keyof Obj, (value: unknown) => unknown][]).reduce<\n Partial<Record<keyof Obj, any>>\n >((acc, [k, fn]) => {\n // key must exist on obj, otherwise no value\n if (Object.hasOwn(obj, k)) {\n acc[k] = fn(obj[k]);\n }\n return acc;\n }, {});\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return { ...obj, ...evolved } as any;\n}\n\nexport function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(\n evolver: Evolver,\n): (obj: Obj) => Simplify<Evolved<Obj, Evolver>>;\nexport function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(\n obj: Obj,\n evolver: Evolver,\n): Simplify<Evolved<Obj, Evolver>>;\nexport function evolve(...args: unknown[]): unknown {\n return purry(evolveImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction forEachImplementation<T>(\n data: Record<string, T>,\n callbackfn: (value: T, key: string) => void,\n): Record<string, T> {\n for (const [k, v] of Object.entries(data)) {\n callbackfn(v, k);\n }\n return data;\n}\n\nexport function forEach<T>(callbackfn: (value: T, key: string) => void): (data: Record<string, T>) => Record<string, T>;\nexport function forEach<T>(data: Record<string, T>, callbackfn: (value: T, key: string) => void): Record<string, T>;\nexport function forEach(...args: readonly unknown[]): unknown {\n return purry(forEachImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction groupByImplementation<T>(\n items: Iterable<T>,\n keySelector: (item: T, index: number) => string,\n): Partial<Record<string, T[]>> {\n return Object.groupBy(items, keySelector);\n}\n\nexport function groupBy<T>(\n keySelector: (item: T, index: number) => string,\n): (items: Iterable<T>) => Partial<Record<string, T[]>>;\nexport function groupBy<T>(\n items: Iterable<T>,\n keySelector: (item: T, index: number) => string,\n): Partial<Record<string, T[]>>;\nexport function groupBy(...args: readonly unknown[]): unknown {\n return purry(groupByImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction indexByImplementation<T>(\n data: Iterable<T>,\n keySelector: (item: T, index: number) => string,\n): Record<string, T> {\n const asArray = [...data];\n const len = asArray.length;\n const rtnObj: Record<string, T> = {};\n for (let i = 0; i < len; i += 1) {\n const value = asArray[i]!;\n rtnObj[keySelector(value, i)] = value;\n }\n return rtnObj;\n}\n\nexport function indexBy<T>(keySelector: (item: T, index: number) => string): (data: Iterable<T>) => Record<string, T>;\nexport function indexBy<T>(data: Iterable<T>, keySelector: (item: T, index: number) => string): Record<string, T>;\nexport function indexBy(...args: readonly unknown[]): unknown {\n return purry(indexByImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction mapImplementation<T, U>(data: Record<string, T>, callbackfn: (value: T, key: string) => U): Record<string, U> {\n const entries = Object.entries(data);\n const len = entries.length;\n const newObj: Record<string, U> = {};\n for (let i = 0; i < len; i += 1) {\n const [k, v] = entries[i]!;\n newObj[k] = callbackfn(v, k);\n }\n return newObj;\n}\n\nexport function map<T, U>(callbackfn: (value: T, key: string) => U): (data: Record<string, T>) => Record<string, U>;\nexport function map<T, U>(data: Record<string, T>, callbackfn: (value: T, key: string) => U): Record<string, U>;\nexport function map(...args: readonly unknown[]): unknown {\n return purry(mapImplementation, args);\n}\n","import type { Merge } from 'type-fest';\n\nimport { purry } from '../function';\n\nfunction mergeImplementation<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Obj, Other> {\n return { ...left, ...right } as unknown as Merge<Obj, Other>;\n}\n\nexport function merge<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Obj, Other>;\nexport function merge<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Obj, Other>;\nexport function merge(...args: unknown[]): unknown {\n return purry(mergeImplementation, args);\n}\n\nfunction mergeLeftImplementation<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Other, Obj> {\n return { ...right, ...left } as unknown as Merge<Other, Obj>;\n}\n\nexport function mergeLeft<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Other, Obj>;\nexport function mergeLeft<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Other, Obj>;\nexport function mergeLeft(...args: unknown[]): unknown {\n return purry(mergeLeftImplementation, args);\n}\n\nmerge.left = mergeLeft;\n","import { purry } from '../function/purry';\n\nfunction omitImplementation(data: Record<string, unknown>, keys: Iterable<string>): Record<string, unknown> {\n const keysSet = new Set(keys);\n\n const newObj: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(data)) {\n if (!keysSet.has(key)) {\n newObj[key] = value;\n }\n }\n\n return newObj;\n}\n\nexport function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n keys: Iterable<Key>,\n): (data: Obj) => Omit<Obj, Key>;\nexport function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n data: Obj,\n keys: Iterable<Key>,\n): Omit<Obj, Key>;\nexport function omit(...args: readonly unknown[]): unknown {\n return purry(omitImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction pickImplementation(data: Record<string, unknown>, keys: Iterable<string>): Record<string, unknown> {\n const keysSet = new Set(keys);\n\n const newObj: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(data)) {\n if (keysSet.has(key)) {\n newObj[key] = value;\n }\n }\n\n return newObj;\n}\n\nexport function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n keys: Iterable<Key>,\n): (data: Obj) => Pick<Obj, Key>;\nexport function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n data: Obj,\n keys: Iterable<Key>,\n): Pick<Obj, Key>;\nexport function pick(...args: readonly unknown[]): unknown {\n return purry(pickImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nexport function setImplementation<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj {\n return { ...obj, [key]: value };\n}\n\nexport function set<Obj extends object, Key extends keyof Obj>(key: Key, value: Obj[Key]): (obj: Obj) => Obj;\nexport function set<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj;\nexport function set(...args: readonly unknown[]): unknown {\n return purry(setImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction upsertImplementation<T>(\n data: Record<string, T>,\n key: string,\n fn: (value: T | null | undefined) => T,\n): Record<string, T> {\n if (!(key in data)) {\n const updatedValue = fn(undefined);\n return { ...data, [key]: updatedValue };\n }\n\n const value = data[key];\n\n // this checks for both `undefined` and `null`\n if (value == null) {\n const updatedValue = fn(null);\n return { ...data, [key]: updatedValue };\n }\n\n const updatedValue = fn(value);\n return { ...data, [key]: updatedValue };\n}\n\n/**\n * Upsert is meant to be used on `Record<K, V>` types that have unknown keys that may or may not exists\n * The callback function is unique in that it will return `V | null | undefined`\n * * `V` is returned if the key is present and a value exists\n * * `null` is returned if the key is present, but is set to `null` or `undefined`\n * * `undefined` is returned if the key is not present\n */\nexport function upsert<T>(\n key: string,\n fn: (value: T | null | undefined) => T,\n): (data: Record<string, T>) => Record<string, T>;\nexport function upsert<T>(\n data: Record<string, T>,\n key: string,\n fn: (value: T | null | undefined) => T,\n): Record<string, T>;\nexport function upsert(...args: readonly unknown[]): unknown {\n return purry(upsertImplementation, args);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { r as NotFoundError } from "../errors-CJsLpYo9.cjs";
|
|
2
|
+
import { Merge, Simplify } from "type-fest";
|
|
3
|
+
|
|
4
|
+
//#region src/object/_globalAliases.d.ts
|
|
5
|
+
declare const fromEntries: {
|
|
6
|
+
<T = any>(entries: Iterable<readonly [PropertyKey, T]>): {
|
|
7
|
+
[k: string]: T;
|
|
8
|
+
};
|
|
9
|
+
(entries: Iterable<readonly any[]>): any;
|
|
10
|
+
}, hasOwn: (o: object, v: PropertyKey) => boolean, is: (value1: any, value2: any) => boolean, keys: {
|
|
11
|
+
(o: object): string[];
|
|
12
|
+
(o: {}): string[];
|
|
13
|
+
}, values: {
|
|
14
|
+
<T>(o: {
|
|
15
|
+
[s: string]: T;
|
|
16
|
+
} | ArrayLike<T>): T[];
|
|
17
|
+
(o: {}): any[];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* @category Object
|
|
21
|
+
* @function
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* entries({ a: 1, b: 2 }); // [['a', 1], ['b', 2]]
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
declare const entries: {
|
|
28
|
+
<T>(o: {
|
|
29
|
+
[s: string]: T;
|
|
30
|
+
} | ArrayLike<T>): [string, T][];
|
|
31
|
+
(o: {}): [string, any][];
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/object/clone.d.ts
|
|
35
|
+
/**
|
|
36
|
+
* Alias of structuredClone without the optional second argument
|
|
37
|
+
*/
|
|
38
|
+
declare function clone<T>(data: T): T;
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src/object/evolve.d.ts
|
|
41
|
+
type Evolved<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }> = { [K in keyof Obj]: Obj extends Record<K, infer T> ? Evolver extends Record<K, (value: Obj[K]) => infer R> ? R extends T ? T : unknown : never : never };
|
|
42
|
+
declare function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(evolver: Evolver): (obj: Obj) => Simplify<Evolved<Obj, Evolver>>;
|
|
43
|
+
declare function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(obj: Obj, evolver: Evolver): Simplify<Evolved<Obj, Evolver>>;
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/object/forEach.d.ts
|
|
46
|
+
declare function forEach<T>(callbackfn: (value: T, key: string) => void): (data: Record<string, T>) => Record<string, T>;
|
|
47
|
+
declare function forEach<T>(data: Record<string, T>, callbackfn: (value: T, key: string) => void): Record<string, T>;
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/object/get.d.ts
|
|
50
|
+
/**
|
|
51
|
+
* Get a property from an object by key.
|
|
52
|
+
*
|
|
53
|
+
* @category Object
|
|
54
|
+
* @param key - The key to get the property from.
|
|
55
|
+
* @param obj - The object to get the property from.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* get('name', { name: 'John' }); // 'John'
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
declare function get<Obj extends object, Key extends keyof Obj>(key: Key): (obj: Obj) => NonNullable<Obj[Key]> | NotFoundError;
|
|
63
|
+
declare function get<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key): NonNullable<Obj[Key]> | NotFoundError;
|
|
64
|
+
declare namespace get {
|
|
65
|
+
var or: typeof getOr;
|
|
66
|
+
var assert: typeof getAssert;
|
|
67
|
+
}
|
|
68
|
+
declare function getOr<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, defaultValue: NonNullable<Obj[Key]>): Obj[Key];
|
|
69
|
+
declare function getAssert<Obj extends object, Key extends keyof Obj>(key: Key): (obj: Obj) => NonNullable<Obj[Key]>;
|
|
70
|
+
declare function getAssert<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key): NonNullable<Obj[Key]>;
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/object/groupBy.d.ts
|
|
73
|
+
declare function groupBy<T>(keySelector: (item: T, index: number) => string): (items: Iterable<T>) => Partial<Record<string, T[]>>;
|
|
74
|
+
declare function groupBy<T>(items: Iterable<T>, keySelector: (item: T, index: number) => string): Partial<Record<string, T[]>>;
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/object/indexBy.d.ts
|
|
77
|
+
declare function indexBy<T>(keySelector: (item: T, index: number) => string): (data: Iterable<T>) => Record<string, T>;
|
|
78
|
+
declare function indexBy<T>(data: Iterable<T>, keySelector: (item: T, index: number) => string): Record<string, T>;
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/object/map.d.ts
|
|
81
|
+
declare function map<T, U>(callbackfn: (value: T, key: string) => U): (data: Record<string, T>) => Record<string, U>;
|
|
82
|
+
declare function map<T, U>(data: Record<string, T>, callbackfn: (value: T, key: string) => U): Record<string, U>;
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region src/object/merge.d.ts
|
|
85
|
+
declare function merge<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Obj, Other>;
|
|
86
|
+
declare function merge<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Obj, Other>;
|
|
87
|
+
declare namespace merge {
|
|
88
|
+
var left: typeof mergeLeft;
|
|
89
|
+
}
|
|
90
|
+
declare function mergeLeft<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Other, Obj>;
|
|
91
|
+
declare function mergeLeft<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Other, Obj>;
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/object/omit.d.ts
|
|
94
|
+
declare function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(keys: Iterable<Key>): (data: Obj) => Omit<Obj, Key>;
|
|
95
|
+
declare function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(data: Obj, keys: Iterable<Key>): Omit<Obj, Key>;
|
|
96
|
+
//#endregion
|
|
97
|
+
//#region src/object/pick.d.ts
|
|
98
|
+
declare function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(keys: Iterable<Key>): (data: Obj) => Pick<Obj, Key>;
|
|
99
|
+
declare function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(data: Obj, keys: Iterable<Key>): Pick<Obj, Key>;
|
|
100
|
+
//#endregion
|
|
101
|
+
//#region src/object/set.d.ts
|
|
102
|
+
declare function setImplementation<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj;
|
|
103
|
+
declare function set<Obj extends object, Key extends keyof Obj>(key: Key, value: Obj[Key]): (obj: Obj) => Obj;
|
|
104
|
+
declare function set<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj;
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region src/object/upsert.d.ts
|
|
107
|
+
/**
|
|
108
|
+
* Upsert is meant to be used on `Record<K, V>` types that have unknown keys that may or may not exists
|
|
109
|
+
* The callback function is unique in that it will return `V | null | undefined`
|
|
110
|
+
* * `V` is returned if the key is present and a value exists
|
|
111
|
+
* * `null` is returned if the key is present, but is set to `null` or `undefined`
|
|
112
|
+
* * `undefined` is returned if the key is not present
|
|
113
|
+
*/
|
|
114
|
+
declare function upsert<T>(key: string, fn: (value: T | null | undefined) => T): (data: Record<string, T>) => Record<string, T>;
|
|
115
|
+
declare function upsert<T>(data: Record<string, T>, key: string, fn: (value: T | null | undefined) => T): Record<string, T>;
|
|
116
|
+
//#endregion
|
|
117
|
+
export { clone, entries, evolve, forEach, fromEntries, get, getAssert, groupBy, hasOwn, indexBy, is, keys, map, merge, mergeLeft, omit, pick, set, setImplementation, upsert, values };
|
|
118
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/object/_globalAliases.ts","../../src/object/clone.ts","../../src/object/evolve.ts","../../src/object/forEach.ts","../../src/object/get.ts","../../src/object/groupBy.ts","../../src/object/indexBy.ts","../../src/object/map.ts","../../src/object/merge.ts","../../src/object/omit.ts","../../src/object/pick.ts","../../src/object/set.ts","../../src/object/upsert.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { r as NotFoundError } from "../errors-CJsLpYo9.mjs";
|
|
2
|
+
import { Merge, Simplify } from "type-fest";
|
|
3
|
+
|
|
4
|
+
//#region src/object/_globalAliases.d.ts
|
|
5
|
+
declare const fromEntries: {
|
|
6
|
+
<T = any>(entries: Iterable<readonly [PropertyKey, T]>): {
|
|
7
|
+
[k: string]: T;
|
|
8
|
+
};
|
|
9
|
+
(entries: Iterable<readonly any[]>): any;
|
|
10
|
+
}, hasOwn: (o: object, v: PropertyKey) => boolean, is: (value1: any, value2: any) => boolean, keys: {
|
|
11
|
+
(o: object): string[];
|
|
12
|
+
(o: {}): string[];
|
|
13
|
+
}, values: {
|
|
14
|
+
<T>(o: {
|
|
15
|
+
[s: string]: T;
|
|
16
|
+
} | ArrayLike<T>): T[];
|
|
17
|
+
(o: {}): any[];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* @category Object
|
|
21
|
+
* @function
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* entries({ a: 1, b: 2 }); // [['a', 1], ['b', 2]]
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
declare const entries: {
|
|
28
|
+
<T>(o: {
|
|
29
|
+
[s: string]: T;
|
|
30
|
+
} | ArrayLike<T>): [string, T][];
|
|
31
|
+
(o: {}): [string, any][];
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/object/clone.d.ts
|
|
35
|
+
/**
|
|
36
|
+
* Alias of structuredClone without the optional second argument
|
|
37
|
+
*/
|
|
38
|
+
declare function clone<T>(data: T): T;
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src/object/evolve.d.ts
|
|
41
|
+
type Evolved<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }> = { [K in keyof Obj]: Obj extends Record<K, infer T> ? Evolver extends Record<K, (value: Obj[K]) => infer R> ? R extends T ? T : unknown : never : never };
|
|
42
|
+
declare function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(evolver: Evolver): (obj: Obj) => Simplify<Evolved<Obj, Evolver>>;
|
|
43
|
+
declare function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(obj: Obj, evolver: Evolver): Simplify<Evolved<Obj, Evolver>>;
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/object/forEach.d.ts
|
|
46
|
+
declare function forEach<T>(callbackfn: (value: T, key: string) => void): (data: Record<string, T>) => Record<string, T>;
|
|
47
|
+
declare function forEach<T>(data: Record<string, T>, callbackfn: (value: T, key: string) => void): Record<string, T>;
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/object/get.d.ts
|
|
50
|
+
/**
|
|
51
|
+
* Get a property from an object by key.
|
|
52
|
+
*
|
|
53
|
+
* @category Object
|
|
54
|
+
* @param key - The key to get the property from.
|
|
55
|
+
* @param obj - The object to get the property from.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* get('name', { name: 'John' }); // 'John'
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
declare function get<Obj extends object, Key extends keyof Obj>(key: Key): (obj: Obj) => NonNullable<Obj[Key]> | NotFoundError;
|
|
63
|
+
declare function get<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key): NonNullable<Obj[Key]> | NotFoundError;
|
|
64
|
+
declare namespace get {
|
|
65
|
+
var or: typeof getOr;
|
|
66
|
+
var assert: typeof getAssert;
|
|
67
|
+
}
|
|
68
|
+
declare function getOr<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, defaultValue: NonNullable<Obj[Key]>): Obj[Key];
|
|
69
|
+
declare function getAssert<Obj extends object, Key extends keyof Obj>(key: Key): (obj: Obj) => NonNullable<Obj[Key]>;
|
|
70
|
+
declare function getAssert<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key): NonNullable<Obj[Key]>;
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/object/groupBy.d.ts
|
|
73
|
+
declare function groupBy<T>(keySelector: (item: T, index: number) => string): (items: Iterable<T>) => Partial<Record<string, T[]>>;
|
|
74
|
+
declare function groupBy<T>(items: Iterable<T>, keySelector: (item: T, index: number) => string): Partial<Record<string, T[]>>;
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/object/indexBy.d.ts
|
|
77
|
+
declare function indexBy<T>(keySelector: (item: T, index: number) => string): (data: Iterable<T>) => Record<string, T>;
|
|
78
|
+
declare function indexBy<T>(data: Iterable<T>, keySelector: (item: T, index: number) => string): Record<string, T>;
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/object/map.d.ts
|
|
81
|
+
declare function map<T, U>(callbackfn: (value: T, key: string) => U): (data: Record<string, T>) => Record<string, U>;
|
|
82
|
+
declare function map<T, U>(data: Record<string, T>, callbackfn: (value: T, key: string) => U): Record<string, U>;
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region src/object/merge.d.ts
|
|
85
|
+
declare function merge<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Obj, Other>;
|
|
86
|
+
declare function merge<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Obj, Other>;
|
|
87
|
+
declare namespace merge {
|
|
88
|
+
var left: typeof mergeLeft;
|
|
89
|
+
}
|
|
90
|
+
declare function mergeLeft<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Other, Obj>;
|
|
91
|
+
declare function mergeLeft<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Other, Obj>;
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/object/omit.d.ts
|
|
94
|
+
declare function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(keys: Iterable<Key>): (data: Obj) => Omit<Obj, Key>;
|
|
95
|
+
declare function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(data: Obj, keys: Iterable<Key>): Omit<Obj, Key>;
|
|
96
|
+
//#endregion
|
|
97
|
+
//#region src/object/pick.d.ts
|
|
98
|
+
declare function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(keys: Iterable<Key>): (data: Obj) => Pick<Obj, Key>;
|
|
99
|
+
declare function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(data: Obj, keys: Iterable<Key>): Pick<Obj, Key>;
|
|
100
|
+
//#endregion
|
|
101
|
+
//#region src/object/set.d.ts
|
|
102
|
+
declare function setImplementation<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj;
|
|
103
|
+
declare function set<Obj extends object, Key extends keyof Obj>(key: Key, value: Obj[Key]): (obj: Obj) => Obj;
|
|
104
|
+
declare function set<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj;
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region src/object/upsert.d.ts
|
|
107
|
+
/**
|
|
108
|
+
* Upsert is meant to be used on `Record<K, V>` types that have unknown keys that may or may not exists
|
|
109
|
+
* The callback function is unique in that it will return `V | null | undefined`
|
|
110
|
+
* * `V` is returned if the key is present and a value exists
|
|
111
|
+
* * `null` is returned if the key is present, but is set to `null` or `undefined`
|
|
112
|
+
* * `undefined` is returned if the key is not present
|
|
113
|
+
*/
|
|
114
|
+
declare function upsert<T>(key: string, fn: (value: T | null | undefined) => T): (data: Record<string, T>) => Record<string, T>;
|
|
115
|
+
declare function upsert<T>(data: Record<string, T>, key: string, fn: (value: T | null | undefined) => T): Record<string, T>;
|
|
116
|
+
//#endregion
|
|
117
|
+
export { clone, entries, evolve, forEach, fromEntries, get, getAssert, groupBy, hasOwn, indexBy, is, keys, map, merge, mergeLeft, omit, pick, set, setImplementation, upsert, values };
|
|
118
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/object/_globalAliases.ts","../../src/object/clone.ts","../../src/object/evolve.ts","../../src/object/forEach.ts","../../src/object/get.ts","../../src/object/groupBy.ts","../../src/object/indexBy.ts","../../src/object/map.ts","../../src/object/merge.ts","../../src/object/omit.ts","../../src/object/pick.ts","../../src/object/set.ts","../../src/object/upsert.ts"],"mappings":";;;;cACe,WAAA;IAAA;;;;cAAmB,CAAA,UAAA,CAAA,EAAA,WAAA,mBAAI,MAAA,OAAA,MAAA;IAAA;;;;;;;;;;;;;;;;cAUzB,OAAA;EAAA;;;;;;;;;;iBCRG,KAAA,IAAS,IAAA,EAAM,CAAA,GAAI,CAAC;;;KCC/B,OAAA,mDAA0D,OAAA,CAAQ,GAAA,KAAQ,KAAA,EAAO,GAAA,CAAI,CAAA,iCAC5E,GAAA,GAAM,GAAA,SAAY,MAAA,CAAO,CAAA,aACjC,OAAA,SAAgB,MAAA,CAAO,CAAA,GAAI,KAAA,EAAO,GAAA,CAAI,CAAA,iBACpC,CAAA,SAAU,CAAA,GACR,CAAA;AAAA,iBAwBM,MAAA,mDAAyD,OAAA,CAAQ,GAAA,KAAQ,KAAA,EAAO,GAAA,CAAI,CAAA,iBAClG,OAAA,EAAS,OAAA,IACP,GAAA,EAAK,GAAA,KAAQ,QAAA,CAAS,OAAA,CAAQ,GAAA,EAAK,OAAA;AAAA,iBACvB,MAAA,mDAAyD,OAAA,CAAQ,GAAA,KAAQ,KAAA,EAAO,GAAA,CAAI,CAAA,iBAClG,GAAA,EAAK,GAAA,EACL,OAAA,EAAS,OAAA,GACR,QAAA,CAAS,OAAA,CAAQ,GAAA,EAAK,OAAA;;;iBC1BT,OAAA,IAAW,UAAA,GAAa,KAAA,EAAO,CAAA,EAAG,GAAA,qBAAwB,IAAA,EAAM,MAAA,SAAe,CAAA,MAAO,MAAA,SAAe,CAAA;AAAA,iBACrG,OAAA,IAAW,IAAA,EAAM,MAAA,SAAe,CAAA,GAAI,UAAA,GAAa,KAAA,EAAO,CAAA,EAAG,GAAA,oBAAuB,MAAA,SAAe,CAAA;;;;;;AHZjH;;;;;;;;;iBIqBgB,GAAA,uCAA0C,GAAA,EACxD,GAAA,EAAK,GAAA,IACH,GAAA,EAAK,GAAA,KAAQ,WAAA,CAAY,GAAA,CAAI,GAAA,KAAQ,aAAA;AAAA,iBACzB,GAAA,uCAA0C,GAAA,EACxD,GAAA,EAAK,GAAA,EACL,GAAA,EAAK,GAAA,GACJ,WAAA,CAAY,GAAA,CAAI,GAAA,KAAQ,aAAA;AAAA,kBAHX,GAAA;EAAA,eAAG,KAAA;EAAA,mBAAA,SAAA;AAAA;AAAA,iBAgBV,KAAA,uCAA4C,GAAA,EACnD,GAAA,EAAK,GAAA,EACL,GAAA,EAAK,GAAA,EACL,YAAA,EAAc,WAAA,CAAY,GAAA,CAAI,GAAA,KAC7B,GAAA,CAAI,GAAA;AAAA,iBAWS,SAAA,uCAAgD,GAAA,EAAK,GAAA,EAAK,GAAA,IAAO,GAAA,EAAK,GAAA,KAAQ,WAAA,CAAY,GAAA,CAAI,GAAA;AAAA,iBAC9F,SAAA,uCAAgD,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,GAAM,WAAA,CAAY,GAAA,CAAI,GAAA;;;iBChD1F,OAAA,IACd,WAAA,GAAc,IAAA,EAAM,CAAA,EAAG,KAAA,uBACrB,KAAA,EAAO,QAAA,CAAS,CAAA,MAAO,OAAA,CAAQ,MAAA,SAAe,CAAA;AAAA,iBAClC,OAAA,IACd,KAAA,EAAO,QAAA,CAAS,CAAA,GAChB,WAAA,GAAc,IAAA,EAAM,CAAA,EAAG,KAAA,sBACtB,OAAA,CAAQ,MAAA,SAAe,CAAA;;;iBCCV,OAAA,IAAW,WAAA,GAAc,IAAA,EAAM,CAAA,EAAG,KAAA,uBAA4B,IAAA,EAAM,QAAA,CAAS,CAAA,MAAO,MAAA,SAAe,CAAA;AAAA,iBACnG,OAAA,IAAW,IAAA,EAAM,QAAA,CAAS,CAAA,GAAI,WAAA,GAAc,IAAA,EAAM,CAAA,EAAG,KAAA,sBAA2B,MAAA,SAAe,CAAA;;;iBCJ/F,GAAA,OAAU,UAAA,GAAa,KAAA,EAAO,CAAA,EAAG,GAAA,aAAgB,CAAA,IAAK,IAAA,EAAM,MAAA,SAAe,CAAA,MAAO,MAAA,SAAe,CAAA;AAAA,iBACjG,GAAA,OAAU,IAAA,EAAM,MAAA,SAAe,CAAA,GAAI,UAAA,GAAa,KAAA,EAAO,CAAA,EAAG,GAAA,aAAgB,CAAA,GAAI,MAAA,SAAe,CAAA;;;iBCN7F,KAAA,2CAAgD,KAAA,EAAO,KAAA,IAAS,IAAA,EAAM,GAAA,KAAQ,KAAA,CAAM,GAAA,EAAK,KAAA;AAAA,iBACzF,KAAA,2CAAgD,IAAA,EAAM,GAAA,EAAK,KAAA,EAAO,KAAA,GAAQ,KAAA,CAAM,GAAA,EAAK,KAAA;AAAA,kBAArF,KAAA;EAAA,iBAAK,SAAA;AAAA;AAAA,iBASL,SAAA,2CAAoD,KAAA,EAAO,KAAA,IAAS,IAAA,EAAM,GAAA,KAAQ,KAAA,CAAM,KAAA,EAAO,GAAA;AAAA,iBAC/F,SAAA,2CAAoD,IAAA,EAAM,GAAA,EAAK,KAAA,EAAO,KAAA,GAAQ,KAAA,CAAM,KAAA,EAAO,GAAA;;;iBCJ3F,IAAA,aAAiB,MAAA,qCAA2C,GAAA,EAC1E,IAAA,EAAM,QAAA,CAAS,GAAA,KACb,IAAA,EAAM,GAAA,KAAQ,IAAA,CAAK,GAAA,EAAK,GAAA;AAAA,iBACZ,IAAA,aAAiB,MAAA,qCAA2C,GAAA,EAC1E,IAAA,EAAM,GAAA,EACN,IAAA,EAAM,QAAA,CAAS,GAAA,IACd,IAAA,CAAK,GAAA,EAAK,GAAA;;;iBCNG,IAAA,aAAiB,MAAA,qCAA2C,GAAA,EAC1E,IAAA,EAAM,QAAA,CAAS,GAAA,KACb,IAAA,EAAM,GAAA,KAAQ,IAAA,CAAK,GAAA,EAAK,GAAA;AAAA,iBACZ,IAAA,aAAiB,MAAA,qCAA2C,GAAA,EAC1E,IAAA,EAAM,GAAA,EACN,IAAA,EAAM,QAAA,CAAS,GAAA,IACd,IAAA,CAAK,GAAA,EAAK,GAAA;;;iBCnBG,iBAAA,uCAAwD,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,KAAA,EAAO,GAAA,CAAI,GAAA,IAAO,GAAA;AAAA,iBAInG,GAAA,uCAA0C,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,KAAA,EAAO,GAAA,CAAI,GAAA,KAAQ,GAAA,EAAK,GAAA,KAAQ,GAAA;AAAA,iBACzF,GAAA,uCAA0C,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,KAAA,EAAO,GAAA,CAAI,GAAA,IAAO,GAAA;;;;;;;AXNrG;;;iBY8BgB,MAAA,IACd,GAAA,UACA,EAAA,GAAK,KAAA,EAAO,CAAA,wBAAyB,CAAA,IACnC,IAAA,EAAM,MAAA,SAAe,CAAA,MAAO,MAAA,SAAe,CAAA;AAAA,iBAC/B,MAAA,IACd,IAAA,EAAM,MAAA,SAAe,CAAA,GACrB,GAAA,UACA,EAAA,GAAK,KAAA,EAAO,CAAA,wBAAyB,CAAA,GACpC,MAAA,SAAe,CAAA"}
|