zilla-util 1.2.27

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 (80) hide show
  1. package/LICENSE.txt +202 -0
  2. package/lib/esm/array.d.ts +30 -0
  3. package/lib/esm/array.js +111 -0
  4. package/lib/esm/array.js.map +1 -0
  5. package/lib/esm/base64.d.ts +2 -0
  6. package/lib/esm/base64.js +51 -0
  7. package/lib/esm/base64.js.map +1 -0
  8. package/lib/esm/crypto.d.ts +16 -0
  9. package/lib/esm/crypto.js +182 -0
  10. package/lib/esm/crypto.js.map +1 -0
  11. package/lib/esm/date.d.ts +2 -0
  12. package/lib/esm/date.js +47 -0
  13. package/lib/esm/date.js.map +1 -0
  14. package/lib/esm/deep.d.ts +24 -0
  15. package/lib/esm/deep.js +318 -0
  16. package/lib/esm/deep.js.map +1 -0
  17. package/lib/esm/error.d.ts +1 -0
  18. package/lib/esm/error.js +9 -0
  19. package/lib/esm/error.js.map +1 -0
  20. package/lib/esm/hash.d.ts +4 -0
  21. package/lib/esm/hash.js +18 -0
  22. package/lib/esm/hash.js.map +1 -0
  23. package/lib/esm/index.d.ts +17 -0
  24. package/lib/esm/index.js +18 -0
  25. package/lib/esm/index.js.map +1 -0
  26. package/lib/esm/logger.d.ts +18 -0
  27. package/lib/esm/logger.js +18 -0
  28. package/lib/esm/logger.js.map +1 -0
  29. package/lib/esm/lru.d.ts +25 -0
  30. package/lib/esm/lru.js +137 -0
  31. package/lib/esm/lru.js.map +1 -0
  32. package/lib/esm/msg.d.ts +29 -0
  33. package/lib/esm/msg.js +7 -0
  34. package/lib/esm/msg.js.map +1 -0
  35. package/lib/esm/object.d.ts +8 -0
  36. package/lib/esm/object.js +31 -0
  37. package/lib/esm/object.js.map +1 -0
  38. package/lib/esm/package.d.ts +2 -0
  39. package/lib/esm/package.js +38 -0
  40. package/lib/esm/package.js.map +1 -0
  41. package/lib/esm/regex.d.ts +1 -0
  42. package/lib/esm/regex.js +22 -0
  43. package/lib/esm/regex.js.map +1 -0
  44. package/lib/esm/retry.d.ts +13 -0
  45. package/lib/esm/retry.js +57 -0
  46. package/lib/esm/retry.js.map +1 -0
  47. package/lib/esm/sha256.d.ts +50 -0
  48. package/lib/esm/sha256.js +181 -0
  49. package/lib/esm/sha256.js.map +1 -0
  50. package/lib/esm/string.d.ts +106 -0
  51. package/lib/esm/string.js +257 -0
  52. package/lib/esm/string.js.map +1 -0
  53. package/lib/esm/subst.d.ts +6 -0
  54. package/lib/esm/subst.js +37 -0
  55. package/lib/esm/subst.js.map +1 -0
  56. package/lib/esm/time.d.ts +27 -0
  57. package/lib/esm/time.js +84 -0
  58. package/lib/esm/time.js.map +1 -0
  59. package/lib/esm/url.d.ts +9 -0
  60. package/lib/esm/url.js +80 -0
  61. package/lib/esm/url.js.map +1 -0
  62. package/package.json +72 -0
  63. package/src/array.ts +134 -0
  64. package/src/base64.ts +53 -0
  65. package/src/crypto.ts +281 -0
  66. package/src/date.ts +48 -0
  67. package/src/deep.ts +348 -0
  68. package/src/error.ts +7 -0
  69. package/src/hash.ts +20 -0
  70. package/src/index.ts +17 -0
  71. package/src/logger.ts +35 -0
  72. package/src/lru.ts +187 -0
  73. package/src/msg.ts +33 -0
  74. package/src/object.ts +43 -0
  75. package/src/package.ts +39 -0
  76. package/src/retry.ts +71 -0
  77. package/src/string.ts +338 -0
  78. package/src/subst.ts +41 -0
  79. package/src/time.ts +105 -0
  80. package/src/url.ts +92 -0
@@ -0,0 +1,47 @@
1
+ import { DEFAULT_CLOCK } from "./time.js";
2
+ export const formatDate = (template, clockOrMoment) => {
3
+ const d = typeof clockOrMoment === "number"
4
+ ? new Date(clockOrMoment)
5
+ : new Date(clockOrMoment ? clockOrMoment.now() : DEFAULT_CLOCK.now());
6
+ const year = d.getUTCFullYear();
7
+ const month = d.getUTCMonth() + 1;
8
+ const day = d.getUTCDate();
9
+ const hour = d.getUTCHours();
10
+ const minute = d.getUTCMinutes();
11
+ const second = d.getUTCSeconds();
12
+ return (template.match(/(YYYY|YY|MM|DD|HH|mm|ss|M|D|H|m|s|'[^']*'|[^YMDHms']+)/g) || [])
13
+ .map((token) => {
14
+ if (token.startsWith("'"))
15
+ return token.slice(1, -1);
16
+ switch (token) {
17
+ case "YYYY":
18
+ return String(year);
19
+ case "YY":
20
+ return String(year).slice(-2);
21
+ case "MM":
22
+ return String(month).padStart(2, "0");
23
+ case "M":
24
+ return String(month);
25
+ case "DD":
26
+ return String(day).padStart(2, "0");
27
+ case "D":
28
+ return String(day);
29
+ case "HH":
30
+ return String(hour).padStart(2, "0");
31
+ case "H":
32
+ return String(hour);
33
+ case "mm":
34
+ return String(minute).padStart(2, "0");
35
+ case "m":
36
+ return String(minute);
37
+ case "ss":
38
+ return String(second).padStart(2, "0");
39
+ case "s":
40
+ return String(second);
41
+ default:
42
+ return token;
43
+ }
44
+ })
45
+ .join("");
46
+ };
47
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAc,MAAM,WAAW,CAAC;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,aAAmC,EAAU,EAAE;IACxF,MAAM,CAAC,GACH,OAAO,aAAa,KAAK,QAAQ;QAC7B,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;QACzB,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,yDAAyD,CAAC,IAAI,EAAE,CAAC;SACnF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACX,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,MAAM;gBACP,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,IAAI;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,KAAK,IAAI;gBACL,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1C,KAAK,GAAG;gBACJ,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,KAAK,IAAI;gBACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,KAAK,GAAG;gBACJ,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,KAAK,IAAI;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzC,KAAK,GAAG;gBACJ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,IAAI;gBACL,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3C,KAAK,GAAG;gBACJ,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,KAAK,IAAI;gBACL,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3C,KAAK,GAAG;gBACJ,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B;gBACI,OAAO,KAAK,CAAC;QACrB,CAAC;IACL,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ export type ObjectNav = {
2
+ append?: boolean;
3
+ remove?: number;
4
+ next?: string | number;
5
+ };
6
+ export declare const parseDeep: (fieldPath: string) => ObjectNav[];
7
+ export declare const deepGet: <T>(obj: any, fieldPath: string) => T | undefined;
8
+ export declare const deepUpdate: (obj: any, fieldPath: string, value: any) => void;
9
+ export declare const deepEquals: <T>(object1: T, object2: T) => boolean;
10
+ export declare const deepAtLeastEquals: <T>(subset: Partial<T>, superset: Partial<T>, ignore?: (keyof T)[]) => boolean;
11
+ export declare const isObject: <T>(object: T) => boolean;
12
+ export declare const stripNonAlphaNumericKeys: <T>(obj: T, exclude?: RegExp | RegExp[]) => T;
13
+ export declare const hasDuplicateProperty: (things: Record<string, unknown>[], prop: string) => boolean;
14
+ export declare const hasUniqueProperty: (things: Record<string, unknown>[], prop: string) => boolean;
15
+ export declare const filterObject: <T>(obj: Record<string, T>, keys: string[]) => Record<string, T>;
16
+ export declare const isEmpty: (obj?: unknown | null | undefined) => boolean;
17
+ export declare const isNotEmpty: (obj?: unknown | null | undefined) => boolean;
18
+ export declare const filterProperties: (obj: Record<string, unknown>, propNames: string[]) => Record<string, unknown>;
19
+ export declare const deepEqualsForFields: (o1: Record<string, unknown>, o2: Record<string, unknown>, propNames: string[]) => boolean;
20
+ export declare const FN_ALWAYS_TRUE: () => boolean;
21
+ export declare const FN_ALWAYS_FALSE: () => boolean;
22
+ export declare const immutify: <T>(obj: T) => T;
23
+ export declare const copyWithRegExp: <T>(obj: T) => T;
24
+ export declare const deepTransform: (input: unknown, predicate: (value: unknown) => boolean, transformer: (value: unknown) => unknown) => unknown;
@@ -0,0 +1,318 @@
1
+ export const parseDeep = (fieldPath) => {
2
+ const parts = fieldPath.split(".");
3
+ const operations = [];
4
+ for (let i = 0; i < parts.length; i++) {
5
+ const part = parts[i];
6
+ let squareBracketStart = part.indexOf("[");
7
+ if (squareBracketStart !== -1) {
8
+ const field = part.substring(0, squareBracketStart);
9
+ operations.push({ next: field });
10
+ while (squareBracketStart !== -1) {
11
+ const squareBracketEnd = part.indexOf("]", squareBracketStart);
12
+ if (squareBracketEnd === -1) {
13
+ throw new Error(`parseDeep: invalid fieldPath (missing closing square bracket): ${fieldPath}`);
14
+ }
15
+ const index = part.substring(squareBracketStart + 1, squareBracketEnd);
16
+ if (index.length === 0) {
17
+ operations.push({ append: true });
18
+ }
19
+ else if (index.startsWith("-")) {
20
+ operations.push({ remove: parseInt(index.substring(1)) });
21
+ }
22
+ else {
23
+ operations.push({ next: parseInt(index) });
24
+ }
25
+ squareBracketStart = part.indexOf("[", squareBracketEnd);
26
+ }
27
+ }
28
+ else {
29
+ operations.push({ next: part });
30
+ }
31
+ }
32
+ // coalesce append operations into their preceding next
33
+ const ops = [];
34
+ let opsIndex = 0;
35
+ for (let i = 0; i < operations.length; i++) {
36
+ if (operations[i].append && opsIndex > 0) {
37
+ ops[opsIndex - 1].append = true;
38
+ }
39
+ else {
40
+ ops[opsIndex] = operations[i];
41
+ opsIndex++;
42
+ }
43
+ }
44
+ return ops;
45
+ };
46
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
+ export const deepGet = (obj, fieldPath) => {
48
+ const operations = parseDeep(fieldPath);
49
+ let thing = obj;
50
+ for (let i = 0; i < operations.length; i++) {
51
+ const op = operations[i];
52
+ if (op.append) {
53
+ throw new Error(`deepGet: invalid fieldPath (cannot append): ${fieldPath}`);
54
+ }
55
+ if (op.remove) {
56
+ throw new Error(`deepGet: invalid fieldPath (cannot remove): ${fieldPath}`);
57
+ }
58
+ const next = op.next;
59
+ if (typeof next === "string" || typeof next === "number") {
60
+ if (typeof thing === "undefined" || thing == null)
61
+ return undefined;
62
+ thing = thing[next];
63
+ }
64
+ }
65
+ return thing;
66
+ };
67
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
+ export const deepUpdate = (obj, fieldPath, value) => {
69
+ const operations = parseDeep(fieldPath);
70
+ let thing = obj;
71
+ for (let i = 0; i < operations.length - 1; i++) {
72
+ const op = operations[i];
73
+ const next = op.next;
74
+ if (op.append && next) {
75
+ if (typeof thing[next] === "undefined" || thing[next] == null) {
76
+ const nextThing = {};
77
+ thing[next] = [nextThing];
78
+ thing = nextThing;
79
+ }
80
+ else if (Array.isArray(thing[next])) {
81
+ thing[next].push({});
82
+ thing = thing[next][thing[next].length - 1];
83
+ }
84
+ else {
85
+ throw new Error(`deepUpdate: invalid fieldPath (cannot append to non-array): ${fieldPath}`);
86
+ }
87
+ }
88
+ else if (typeof next === "string" || typeof next === "number") {
89
+ if (!(next in thing)) {
90
+ thing[next] = {};
91
+ }
92
+ thing = thing[next];
93
+ }
94
+ }
95
+ const lastOp = operations[operations.length - 1];
96
+ if (lastOp.append) {
97
+ if (typeof lastOp.next === "string" || typeof lastOp.next === "number") {
98
+ if (Array.isArray(thing[lastOp.next])) {
99
+ thing[lastOp.next].push(value);
100
+ }
101
+ else {
102
+ thing[lastOp.next] = [value];
103
+ }
104
+ }
105
+ else if (lastOp.next && Array.isArray(thing[lastOp.next])) {
106
+ thing[lastOp.next].push(value);
107
+ }
108
+ else if (typeof lastOp.next === "undefined" || lastOp.next == null) {
109
+ thing.push(value);
110
+ }
111
+ else {
112
+ throw new Error(`deepUpdate: invalid lastOp (${JSON.stringify(lastOp)}), cannot append`);
113
+ }
114
+ }
115
+ else if (typeof lastOp.remove === "number") {
116
+ thing.splice(lastOp.remove, 1);
117
+ }
118
+ else {
119
+ thing[lastOp.next] = value;
120
+ }
121
+ };
122
+ export const deepEquals = (object1, object2) => {
123
+ if (object1 === object2)
124
+ return true;
125
+ const keys1 = Object.keys(object1);
126
+ const keys2 = Object.keys(object2);
127
+ if (keys1.length === 0 || keys1.length !== keys2.length) {
128
+ return false;
129
+ }
130
+ return keys1.every((key) => {
131
+ const val1 = object1[key];
132
+ const val2 = object2[key];
133
+ const areObjects = isObject(val1) && isObject(val2);
134
+ if ((areObjects && !deepEquals(val1, val2)) || (!areObjects && val1 !== val2)) {
135
+ return false;
136
+ }
137
+ return true;
138
+ });
139
+ };
140
+ export const deepAtLeastEquals = (subset, superset, ignore) => {
141
+ if (subset === superset)
142
+ return true;
143
+ const keysSubset = Object.keys(subset);
144
+ return keysSubset
145
+ .filter((k) => !ignore || !ignore.includes(k))
146
+ .every((key) => {
147
+ if (!(key in superset)) {
148
+ return false;
149
+ }
150
+ const val1 = subset[key];
151
+ const val2 = superset[key];
152
+ if (val2 === undefined) {
153
+ // Ensure superset contains the property
154
+ return false;
155
+ }
156
+ const areObjects = isObject(val1) && isObject(val2);
157
+ if (areObjects) {
158
+ return deepAtLeastEquals(val1, val2);
159
+ }
160
+ return val1 === val2;
161
+ });
162
+ };
163
+ export const isObject = (object) => object != null && typeof object === "object";
164
+ export const stripNonAlphaNumericKeys = (obj, exclude) => {
165
+ const skip = [];
166
+ if (Array.isArray(exclude)) {
167
+ skip.push(...exclude);
168
+ }
169
+ else if (exclude) {
170
+ skip.push(exclude);
171
+ }
172
+ for (const key in obj) {
173
+ // Check if key contains any non-alphanumeric characters
174
+ if (/[^a-z0-9_]/i.test(key) && !skip.find((s) => s.test(key))) {
175
+ delete obj[key];
176
+ }
177
+ else if (typeof obj[key] === "object" && obj[key] !== null) {
178
+ // If the value is a nested object or array, recurse into it
179
+ stripNonAlphaNumericKeys(obj[key], exclude);
180
+ }
181
+ }
182
+ return obj;
183
+ };
184
+ export const hasDuplicateProperty = (things, prop) => {
185
+ const found = new Set();
186
+ return things.some((entry) => {
187
+ if (found.has(entry[prop])) {
188
+ return true; // Found a duplicate
189
+ }
190
+ else {
191
+ found.add(entry[prop]);
192
+ return false;
193
+ }
194
+ });
195
+ };
196
+ export const hasUniqueProperty = (things, prop) => !hasDuplicateProperty(things, prop);
197
+ export const filterObject = (obj, keys) => keys.reduce((acc, key) =>
198
+ // eslint-disable-next-line no-prototype-builtins
199
+ obj.hasOwnProperty(key) ? { ...acc, [key]: obj[key] } : acc, {});
200
+ export const isEmpty = (obj) => {
201
+ if (typeof obj === "undefined" || obj == null || obj === "" || (Array.isArray(obj) && obj.length === 0)) {
202
+ return true;
203
+ }
204
+ else if (typeof obj === "object") {
205
+ const fields = Object.keys(obj);
206
+ if (fields.length === 0)
207
+ return true;
208
+ let allEmpty = true;
209
+ for (const fieldName of Object.keys(obj)) {
210
+ if (!isEmpty(obj[fieldName])) {
211
+ allEmpty = false;
212
+ break;
213
+ }
214
+ }
215
+ if (allEmpty)
216
+ return true;
217
+ }
218
+ return false;
219
+ };
220
+ export const isNotEmpty = (obj) => !isEmpty(obj);
221
+ export const filterProperties = (obj, propNames) => {
222
+ return propNames.reduce((acc, prop) => {
223
+ if (Object.prototype.hasOwnProperty.call(obj, prop)) {
224
+ acc[prop] = obj[prop];
225
+ }
226
+ return acc;
227
+ }, {});
228
+ };
229
+ export const deepEqualsForFields = (o1, o2, propNames) => {
230
+ const t1 = filterProperties(o1, propNames);
231
+ const t2 = filterProperties(o2, propNames);
232
+ return deepEquals(t1, t2);
233
+ };
234
+ export const FN_ALWAYS_TRUE = () => true;
235
+ export const FN_ALWAYS_FALSE = () => false;
236
+ const proxyCache = new WeakMap();
237
+ const arrayMutators = new Set([
238
+ "push",
239
+ "pop",
240
+ "shift",
241
+ "unshift",
242
+ "splice",
243
+ "sort",
244
+ "reverse",
245
+ "fill",
246
+ "copyWithin",
247
+ "append",
248
+ ]);
249
+ export const immutify = (obj) => {
250
+ if (obj === null || typeof obj !== "object")
251
+ return obj;
252
+ if (proxyCache.has(obj))
253
+ return proxyCache.get(obj);
254
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
255
+ const handler = Array.isArray(obj)
256
+ ? {
257
+ get(target, prop, receiver) {
258
+ if (typeof prop === "string" && arrayMutators.has(prop))
259
+ return () => undefined;
260
+ const value = Reflect.get(target, prop, receiver);
261
+ return value && typeof value === "object" ? immutify(value) : value;
262
+ },
263
+ set: FN_ALWAYS_TRUE,
264
+ deleteProperty: FN_ALWAYS_TRUE,
265
+ defineProperty: FN_ALWAYS_TRUE,
266
+ setPrototypeOf: FN_ALWAYS_TRUE,
267
+ }
268
+ : {
269
+ get(target, prop, receiver) {
270
+ const value = Reflect.get(target, prop, receiver);
271
+ return value && typeof value === "object" ? immutify(value) : value;
272
+ },
273
+ set: FN_ALWAYS_TRUE,
274
+ deleteProperty: FN_ALWAYS_TRUE,
275
+ defineProperty: FN_ALWAYS_TRUE,
276
+ setPrototypeOf: FN_ALWAYS_TRUE,
277
+ };
278
+ const proxy = new Proxy(obj, handler);
279
+ proxyCache.set(obj, proxy);
280
+ return proxy;
281
+ };
282
+ export const copyWithRegExp = (obj) => {
283
+ if (obj instanceof RegExp) {
284
+ return new RegExp(obj.source, obj.flags);
285
+ }
286
+ if (Array.isArray(obj)) {
287
+ const arr = [];
288
+ for (const item of obj) {
289
+ arr.push(copyWithRegExp(item));
290
+ }
291
+ return arr;
292
+ }
293
+ if (obj && typeof obj === "object") {
294
+ const newObj = {};
295
+ for (const [key, val] of Object.entries(obj)) {
296
+ newObj[key] = copyWithRegExp(val);
297
+ }
298
+ return newObj;
299
+ }
300
+ return obj;
301
+ };
302
+ export const deepTransform = (input, predicate, transformer) => {
303
+ if (predicate(input))
304
+ return transformer(input);
305
+ if (Array.isArray(input)) {
306
+ return input.map((item) => deepTransform(item, predicate, transformer));
307
+ }
308
+ if (input !== null && typeof input === "object") {
309
+ const result = {};
310
+ for (const key of Reflect.ownKeys(input)) {
311
+ const value = input[key];
312
+ result[key] = deepTransform(value, predicate, transformer);
313
+ }
314
+ return result;
315
+ }
316
+ return input;
317
+ };
318
+ //# sourceMappingURL=deep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep.js","sourceRoot":"","sources":["../../src/deep.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const wrapError: (context: string, err: unknown) => Error;
@@ -0,0 +1,9 @@
1
+ export const wrapError = (context, err) => {
2
+ if (err instanceof Error) {
3
+ return new Error(context, { cause: err });
4
+ }
5
+ else {
6
+ return new Error(`${context}: ${String(err)}`);
7
+ }
8
+ };
9
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,GAAY,EAAS,EAAE;IAC9D,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACvB,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,KAAK,CAAC,GAAG,OAAO,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const sha256: (s: unknown) => string;
2
+ export declare const insertAtIndex: (str: string, insert: string, index: number) => string;
3
+ export declare const shaLevels: (val: string | number | boolean, levels: number) => string;
4
+ export declare const dirLevels: (val: string | number | boolean, levels: number) => string;
@@ -0,0 +1,18 @@
1
+ import Sha256 from "./sha256.js";
2
+ export const sha256 = (s) => Sha256.hash(`${s}`);
3
+ export const insertAtIndex = (str, insert, index) => {
4
+ return str.slice(0, index) + insert + str.slice(index);
5
+ };
6
+ export const shaLevels = (val, levels) => {
7
+ return dirLevels(sha256(`${val}`), levels);
8
+ };
9
+ export const dirLevels = (val, levels) => {
10
+ let s = `${val}`;
11
+ if (levels > 0) {
12
+ for (let i = 0; i < levels; i++) {
13
+ s = insertAtIndex(s, "/", 2 + 3 * i);
14
+ }
15
+ }
16
+ return s;
17
+ };
18
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/hash.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,MAAc,EAAE,KAAa,EAAU,EAAE;IAChF,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAA8B,EAAE,MAAc,EAAU,EAAE;IAChF,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAA8B,EAAE,MAAc,EAAU,EAAE;IAChF,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ export * from "./array.js";
2
+ export * from "./base64.js";
3
+ export * from "./crypto.js";
4
+ export * from "./date.js";
5
+ export * from "./deep.js";
6
+ export * from "./error.js";
7
+ export * from "./hash.js";
8
+ export * from "./logger.js";
9
+ export * from "./lru.js";
10
+ export * from "./msg.js";
11
+ export * from "./object.js";
12
+ export * from "./retry.js";
13
+ export * from "./package.js";
14
+ export * from "./string.js";
15
+ export * from "./subst.js";
16
+ export * from "./time.js";
17
+ export * from "./url.js";
@@ -0,0 +1,18 @@
1
+ export * from "./array.js";
2
+ export * from "./base64.js";
3
+ export * from "./crypto.js";
4
+ export * from "./date.js";
5
+ export * from "./deep.js";
6
+ export * from "./error.js";
7
+ export * from "./hash.js";
8
+ export * from "./logger.js";
9
+ export * from "./lru.js";
10
+ export * from "./msg.js";
11
+ export * from "./object.js";
12
+ export * from "./retry.js";
13
+ export * from "./package.js";
14
+ export * from "./string.js";
15
+ export * from "./subst.js";
16
+ export * from "./time.js";
17
+ export * from "./url.js";
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,18 @@
1
+ export type GenericLogger = {
2
+ isSilent: () => boolean;
3
+ isAnyEnabled: () => boolean;
4
+ isTraceEnabled: () => boolean;
5
+ isVerboseEnabled: () => boolean;
6
+ isDebugEnabled: () => boolean;
7
+ isInfoEnabled: () => boolean;
8
+ isWarningEnabled: () => boolean;
9
+ isErrorEnabled: () => boolean;
10
+ trace: (message: string, ...args: unknown[]) => void;
11
+ verbose: (message: string, ...args: unknown[]) => void;
12
+ debug: (message: string, ...args: unknown[]) => void;
13
+ log: (message: string, ...args: unknown[]) => void;
14
+ info: (message: string, ...args: unknown[]) => void;
15
+ warn: (message: string, ...args: unknown[]) => void;
16
+ error: (message: string, ...args: unknown[]) => void;
17
+ };
18
+ export declare const DEFAULT_LOGGER: GenericLogger;
@@ -0,0 +1,18 @@
1
+ export const DEFAULT_LOGGER = {
2
+ isSilent: () => false,
3
+ isAnyEnabled: () => true,
4
+ isTraceEnabled: () => true,
5
+ isVerboseEnabled: () => true,
6
+ isDebugEnabled: () => true,
7
+ isInfoEnabled: () => true,
8
+ isWarningEnabled: () => true,
9
+ isErrorEnabled: () => true,
10
+ trace: (message, ...args) => console.trace(message, ...args),
11
+ verbose: (message, ...args) => console.trace(message, ...args),
12
+ debug: (message, ...args) => console.debug(message, ...args),
13
+ log: (message, ...args) => console.log(message, ...args),
14
+ info: (message, ...args) => console.info(message, ...args),
15
+ warn: (message, ...args) => console.warn(message, ...args),
16
+ error: (message, ...args) => console.error(message, ...args),
17
+ };
18
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,cAAc,GAAkB;IACzC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;IACrB,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;IACxB,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;IAC1B,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI;IAC5B,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;IAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;IACzB,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI;IAC5B,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/E,OAAO,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IACjF,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/E,GAAG,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAC3E,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAC7E,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAC7E,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;CAClF,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { ZillaClock } from "zilla-util";
2
+ import { GenericLogger } from "./logger.js";
3
+ export interface LRUCacheConfig {
4
+ maxSize?: number;
5
+ maxAge?: number;
6
+ clock?: ZillaClock;
7
+ touchOnGet?: boolean;
8
+ logger?: GenericLogger;
9
+ }
10
+ export declare class LRUCache<K, V> {
11
+ private readonly maxSize;
12
+ private readonly maxAge?;
13
+ private cache;
14
+ private clock;
15
+ private touchOnGet?;
16
+ private logger?;
17
+ constructor({ maxSize, maxAge, clock, touchOnGet, logger }?: LRUCacheConfig);
18
+ get(key: K): V | undefined;
19
+ set(key: K, value: V): void;
20
+ private evict;
21
+ delete(key: K): void;
22
+ clear(): void;
23
+ }
24
+ export declare function withLRUCache<V>(fn: (...args: any[]) => Promise<V>, cacheOrConfig?: LRUCache<string, V> | LRUCacheConfig, keyFn?: (...args: any[]) => string): (...args: any[]) => Promise<V>;
25
+ export declare function withLRUCache<V>(fn: (...args: any[]) => V, cacheOrConfig?: LRUCache<string, V> | LRUCacheConfig, keyFn?: (...args: any[]) => string): (...args: any[]) => V;