@xyo-network/hash 2.75.0 → 2.75.2

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 (58) hide show
  1. package/dist/browser/PayloadHasher.d.cts +20 -0
  2. package/dist/browser/PayloadHasher.d.cts.map +1 -0
  3. package/dist/browser/PayloadHasher.js +10 -57
  4. package/dist/browser/PayloadHasher.js.map +1 -1
  5. package/dist/browser/index.d.cts +5 -0
  6. package/dist/browser/index.d.cts.map +1 -0
  7. package/dist/browser/index.js +4 -119
  8. package/dist/browser/index.js.map +1 -1
  9. package/dist/browser/model.d.cts +2 -0
  10. package/dist/browser/model.d.cts.map +1 -0
  11. package/dist/browser/removeEmptyFields.d.cts +2 -0
  12. package/dist/browser/removeEmptyFields.d.cts.map +1 -0
  13. package/dist/browser/removeEmptyFields.js +1 -2
  14. package/dist/browser/removeEmptyFields.js.map +1 -1
  15. package/dist/browser/removeFields.d.cts +7 -0
  16. package/dist/browser/removeFields.d.cts.map +1 -0
  17. package/dist/browser/removeFields.js +3 -4
  18. package/dist/browser/removeFields.js.map +1 -1
  19. package/dist/browser/sortFields.d.cts +3 -0
  20. package/dist/browser/sortFields.d.cts.map +1 -0
  21. package/dist/browser/sortFields.js +2 -3
  22. package/dist/browser/sortFields.js.map +1 -1
  23. package/dist/docs.json +3448 -0
  24. package/dist/node/PayloadHasher.d.cts +20 -0
  25. package/dist/node/PayloadHasher.d.cts.map +1 -0
  26. package/dist/node/PayloadHasher.js +66 -15
  27. package/dist/node/PayloadHasher.js.map +1 -1
  28. package/dist/node/PayloadHasher.mjs +63 -13
  29. package/dist/node/PayloadHasher.mjs.map +1 -1
  30. package/dist/node/index.d.cts +5 -0
  31. package/dist/node/index.d.cts.map +1 -0
  32. package/dist/node/index.js +145 -9
  33. package/dist/node/index.js.map +1 -1
  34. package/dist/node/index.mjs +122 -4
  35. package/dist/node/index.mjs.map +1 -1
  36. package/dist/node/model.d.cts +2 -0
  37. package/dist/node/model.d.cts.map +1 -0
  38. package/dist/node/model.js +2 -0
  39. package/dist/node/model.js.map +1 -1
  40. package/dist/node/removeEmptyFields.d.cts +2 -0
  41. package/dist/node/removeEmptyFields.d.cts.map +1 -0
  42. package/dist/node/removeEmptyFields.js +3 -1
  43. package/dist/node/removeEmptyFields.js.map +1 -1
  44. package/dist/node/removeEmptyFields.mjs +2 -1
  45. package/dist/node/removeEmptyFields.mjs.map +1 -1
  46. package/dist/node/removeFields.d.cts +7 -0
  47. package/dist/node/removeFields.d.cts.map +1 -0
  48. package/dist/node/removeFields.js +5 -3
  49. package/dist/node/removeFields.js.map +1 -1
  50. package/dist/node/removeFields.mjs +4 -3
  51. package/dist/node/removeFields.mjs.map +1 -1
  52. package/dist/node/sortFields.d.cts +3 -0
  53. package/dist/node/sortFields.d.cts.map +1 -0
  54. package/dist/node/sortFields.js +4 -2
  55. package/dist/node/sortFields.js.map +1 -1
  56. package/dist/node/sortFields.mjs +3 -2
  57. package/dist/node/sortFields.mjs.map +1 -1
  58. package/package.json +8 -8
@@ -1,5 +1,123 @@
1
- export * from "./PayloadHasher";
2
- export * from "./removeEmptyFields";
3
- export * from "./removeFields";
4
- export * from "./sortFields";
1
+ // src/PayloadHasher.ts
2
+ import { ObjectWrapper } from "@xyo-network/object";
3
+ import { WasmSupport } from "@xyo-network/wasm";
4
+ import { sha256 } from "hash-wasm";
5
+ import shajs from "sha.js";
6
+
7
+ // src/removeEmptyFields.ts
8
+ import { typeOf } from "@xyo-network/typeof";
9
+ var removeEmptyFields = (obj) => {
10
+ if (obj === null || Array.isArray(obj))
11
+ return obj;
12
+ const newObject = {};
13
+ Object.entries(obj).forEach(([key, value]) => {
14
+ if (typeOf(value) === "object") {
15
+ newObject[key] = removeEmptyFields(value);
16
+ } else if (value !== void 0) {
17
+ newObject[key] = value;
18
+ }
19
+ });
20
+ return newObject;
21
+ };
22
+
23
+ // src/removeFields.ts
24
+ import { isObject, mapValues, merge, omitBy, pickBy } from "@xylabs/lodash";
25
+ var deepBy = (obj, predicate, func) => {
26
+ if (Array.isArray(obj)) {
27
+ return obj;
28
+ }
29
+ const onlyObjects = pickBy(obj, isObject);
30
+ const nonObjects = pickBy(obj, (value) => !isObject(value));
31
+ const pickedObjects = omitBy(onlyObjects, predicate);
32
+ const pickedNonObjects = omitBy(nonObjects, predicate);
33
+ const processedObjects = mapValues(pickedObjects, (obj2) => deepBy(obj2, predicate, func));
34
+ return merge({}, pickedNonObjects, processedObjects);
35
+ };
36
+ var deepOmitUnderscoreFields = (obj) => {
37
+ return deepBy(obj, (_, key) => key.startsWith("_"), omitBy);
38
+ };
39
+ var deepPickUnderscoreFields = (obj) => {
40
+ return deepBy(obj, (_, key) => key.startsWith("_"), pickBy);
41
+ };
42
+
43
+ // src/sortFields.ts
44
+ import { isObject as isObject2 } from "@xyo-network/object";
45
+ var subSort = (value) => {
46
+ return isObject2(value) ? sortFields(value) : value;
47
+ };
48
+ var sortFields = (obj) => {
49
+ const stringyObj = obj;
50
+ const result = {};
51
+ Object.keys(obj).sort().forEach((key) => {
52
+ result[key] = subSort(stringyObj[key]);
53
+ });
54
+ return result;
55
+ };
56
+
57
+ // src/PayloadHasher.ts
58
+ var wasmSupportStatic = new WasmSupport(["bigInt"]);
59
+ var PayloadHasher = class _PayloadHasher extends ObjectWrapper {
60
+ static wasmInitialized = wasmSupportStatic.initialize();
61
+ static wasmSupport = wasmSupportStatic;
62
+ static async filterExclude(objs = [], hash) {
63
+ var _a;
64
+ const hashes = Array.isArray(hash) ? hash : [hash];
65
+ return (_a = (await this.hashPairs(objs)).filter(([_, objHash]) => !hashes.includes(objHash))) == null ? void 0 : _a.map((pair) => pair[0]);
66
+ }
67
+ static async filterInclude(objs = [], hash) {
68
+ var _a;
69
+ const hashes = Array.isArray(hash) ? hash : [hash];
70
+ return (_a = (await this.hashPairs(objs)).filter(([_, objHash]) => hashes.includes(objHash))) == null ? void 0 : _a.map((pair) => pair[0]);
71
+ }
72
+ static async find(objs = [], hash) {
73
+ var _a;
74
+ return (_a = (await this.hashPairs(objs)).find(([_, objHash]) => objHash === hash)) == null ? void 0 : _a[0];
75
+ }
76
+ static async hashAsync(obj) {
77
+ await this.wasmInitialized;
78
+ if (this.wasmSupport.canUseWasm) {
79
+ const stringToHash = this.stringifyHashFields(obj);
80
+ try {
81
+ return await sha256(stringToHash);
82
+ } catch (ex) {
83
+ this.wasmSupport.allowWasm = false;
84
+ }
85
+ }
86
+ return this.hashSync(obj);
87
+ }
88
+ static hashFields(obj) {
89
+ return sortFields(removeEmptyFields(deepOmitUnderscoreFields(obj)));
90
+ }
91
+ static async hashPairs(objs) {
92
+ return await Promise.all(objs.map(async (obj) => [obj, await _PayloadHasher.hashAsync(obj)]));
93
+ }
94
+ static hashSync(obj) {
95
+ return shajs("sha256").update(this.stringifyHashFields(obj)).digest().toString("hex");
96
+ }
97
+ static async hashes(objs) {
98
+ return await Promise.all(objs.map((obj) => this.hashAsync(obj)));
99
+ }
100
+ static stringifyHashFields(obj) {
101
+ return JSON.stringify(this.hashFields(obj));
102
+ }
103
+ static async toMap(objs) {
104
+ const result = {};
105
+ await Promise.all(objs.map(async (obj) => result[await _PayloadHasher.hashAsync(obj)] = obj));
106
+ return result;
107
+ }
108
+ async hashAsync() {
109
+ return await _PayloadHasher.hashAsync(this.obj);
110
+ }
111
+ hashSync() {
112
+ return _PayloadHasher.hashSync(this.obj);
113
+ }
114
+ };
115
+ export {
116
+ PayloadHasher,
117
+ deepBy,
118
+ deepOmitUnderscoreFields,
119
+ deepPickUnderscoreFields,
120
+ removeEmptyFields,
121
+ sortFields
122
+ };
5
123
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './PayloadHasher'\nexport * from './removeEmptyFields'\nexport * from './removeFields'\nexport * from './sortFields'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/PayloadHasher.ts","../../src/removeEmptyFields.ts","../../src/removeFields.ts","../../src/sortFields.ts"],"sourcesContent":["import { AnyObject, ObjectWrapper } from '@xyo-network/object'\nimport { WasmSupport } from '@xyo-network/wasm'\nimport { sha256 } from 'hash-wasm'\nimport shajs from 'sha.js'\n\nimport { Hash } from './model'\nimport { removeEmptyFields } from './removeEmptyFields'\nimport { deepOmitUnderscoreFields } from './removeFields'\nimport { sortFields } from './sortFields'\n\nconst wasmSupportStatic = new WasmSupport(['bigInt'])\n\nexport class PayloadHasher<T extends AnyObject = AnyObject> extends ObjectWrapper<T> {\n static readonly wasmInitialized = wasmSupportStatic.initialize()\n static readonly wasmSupport = wasmSupportStatic\n\n static async filterExclude<T extends AnyObject>(objs: T[] = [], hash: Hash[] | Hash): Promise<T[]> {\n const hashes = Array.isArray(hash) ? hash : [hash]\n return (await this.hashPairs(objs)).filter(([_, objHash]) => !hashes.includes(objHash))?.map((pair) => pair[0])\n }\n\n static async filterInclude<T extends AnyObject>(objs: T[] = [], hash: Hash[] | Hash): Promise<T[]> {\n const hashes = Array.isArray(hash) ? hash : [hash]\n return (await this.hashPairs(objs)).filter(([_, objHash]) => hashes.includes(objHash))?.map((pair) => pair[0])\n }\n\n static async find<T extends AnyObject>(objs: T[] = [], hash: Hash): Promise<T | undefined> {\n return (await this.hashPairs(objs)).find(([_, objHash]) => objHash === hash)?.[0]\n }\n\n static async hashAsync<T extends AnyObject>(obj: T): Promise<Hash> {\n await this.wasmInitialized\n if (this.wasmSupport.canUseWasm) {\n const stringToHash = this.stringifyHashFields(obj)\n try {\n return await sha256(stringToHash)\n } catch (ex) {\n this.wasmSupport.allowWasm = false\n }\n }\n return this.hashSync(obj)\n }\n\n static hashFields<T extends AnyObject>(obj: T): T {\n return sortFields(removeEmptyFields(deepOmitUnderscoreFields(obj)))\n }\n\n static async hashPairs<T extends AnyObject>(objs: T[]): Promise<[T, Hash][]> {\n return await Promise.all(objs.map<Promise<[T, string]>>(async (obj) => [obj, await PayloadHasher.hashAsync(obj)]))\n }\n\n static hashSync<T extends AnyObject>(obj: T): Hash {\n return shajs('sha256').update(this.stringifyHashFields(obj)).digest().toString('hex')\n }\n\n static async hashes<T extends AnyObject>(objs: T[]): Promise<Hash[]> {\n return await Promise.all(objs.map((obj) => this.hashAsync(obj)))\n }\n\n static stringifyHashFields<T extends AnyObject>(obj: T) {\n return JSON.stringify(this.hashFields(obj))\n }\n\n static async toMap<T extends AnyObject>(objs: T[]): Promise<Record<Hash, T>> {\n const result: Record<string, T> = {}\n await Promise.all(objs.map(async (obj) => (result[await PayloadHasher.hashAsync(obj)] = obj)))\n return result\n }\n\n async hashAsync(): Promise<Hash> {\n return await PayloadHasher.hashAsync(this.obj)\n }\n\n hashSync(): Hash {\n return PayloadHasher.hashSync(this.obj)\n }\n}\n","import { typeOf } from '@xyo-network/typeof'\n\nexport const removeEmptyFields = <T extends Record<string, unknown>>(obj: T) => {\n if (obj === null || Array.isArray(obj)) return obj\n\n const newObject: Record<string, unknown> = {}\n Object.entries(obj).forEach(([key, value]) => {\n if (typeOf(value) === 'object') {\n newObject[key] = removeEmptyFields(value as Record<string, unknown>)\n } else if (value !== undefined) {\n newObject[key] = value\n }\n })\n return newObject as T\n}\n","import { isObject, mapValues, merge, omitBy, pickBy } from '@xylabs/lodash'\nimport { AnyObject } from '@xyo-network/object'\n// eslint-disable-next-line no-restricted-imports\nimport type { ValueKeyIteratee } from 'lodash'\n\nexport const deepBy = <T extends AnyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy): T => {\n if (Array.isArray(obj)) {\n return obj\n }\n\n //pick the child objects\n const onlyObjects = pickBy<T>(obj, isObject)\n\n //pick the child non-objects\n const nonObjects = pickBy<T>(obj, (value) => !isObject(value))\n\n const pickedObjects = omitBy(onlyObjects, predicate)\n const pickedNonObjects = omitBy(nonObjects, predicate)\n\n const processedObjects = mapValues(pickedObjects, (obj: T) => deepBy(obj, predicate, func))\n\n return merge({}, pickedNonObjects, processedObjects) as T\n}\n\nexport const deepOmitUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), omitBy)\n}\n\nexport const deepPickUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), pickBy)\n}\n","import { AnyObject, isObject, StringKeyObject } from '@xyo-network/object'\n\n//if an object, sub-sort\nconst subSort = (value: unknown) => {\n return isObject(value) ? sortFields(value) : value\n}\n\nexport const sortFields = <T extends AnyObject = AnyObject>(obj: T) => {\n const stringyObj = obj as StringKeyObject\n\n const result: StringKeyObject = {}\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n result[key] = subSort(stringyObj[key])\n })\n return result as T\n}\n"],"mappings":"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","names":["obj","isObject"]}
@@ -0,0 +1,2 @@
1
+ export type Hash = string;
2
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA"}
@@ -12,6 +12,8 @@ var __copyProps = (to, from, except, desc) => {
12
12
  return to;
13
13
  };
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/model.ts
15
17
  var model_exports = {};
16
18
  module.exports = __toCommonJS(model_exports);
17
19
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/model.ts"],"sourcesContent":["export type Hash = string\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/model.ts"],"sourcesContent":["export type Hash = string\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1,2 @@
1
+ export declare const removeEmptyFields: <T extends Record<string, unknown>>(obj: T) => T;
2
+ //# sourceMappingURL=removeEmptyFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeEmptyFields.d.ts","sourceRoot":"","sources":["../../src/removeEmptyFields.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,kDAY7B,CAAA"}
@@ -16,13 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/removeEmptyFields.ts
19
21
  var removeEmptyFields_exports = {};
20
22
  __export(removeEmptyFields_exports, {
21
23
  removeEmptyFields: () => removeEmptyFields
22
24
  });
23
25
  module.exports = __toCommonJS(removeEmptyFields_exports);
24
26
  var import_typeof = require("@xyo-network/typeof");
25
- const removeEmptyFields = (obj) => {
27
+ var removeEmptyFields = (obj) => {
26
28
  if (obj === null || Array.isArray(obj))
27
29
  return obj;
28
30
  const newObject = {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/removeEmptyFields.ts"],"sourcesContent":["import { typeOf } from '@xyo-network/typeof'\n\nexport const removeEmptyFields = <T extends Record<string, unknown>>(obj: T) => {\n if (obj === null || Array.isArray(obj)) return obj\n\n const newObject: Record<string, unknown> = {}\n Object.entries(obj).forEach(([key, value]) => {\n if (typeOf(value) === 'object') {\n newObject[key] = removeEmptyFields(value as Record<string, unknown>)\n } else if (value !== undefined) {\n newObject[key] = value\n }\n })\n return newObject as T\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AAEhB,MAAM,oBAAoB,CAAoC,QAAW;AAC9E,MAAI,QAAQ,QAAQ,MAAM,QAAQ,GAAG;AAAG,WAAO;AAE/C,QAAM,YAAqC,CAAC;AAC5C,SAAO,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC5C,YAAI,sBAAO,KAAK,MAAM,UAAU;AAC9B,gBAAU,GAAG,IAAI,kBAAkB,KAAgC;AAAA,IACrE,WAAW,UAAU,QAAW;AAC9B,gBAAU,GAAG,IAAI;AAAA,IACnB;AAAA,EACF,CAAC;AACD,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/removeEmptyFields.ts"],"sourcesContent":["import { typeOf } from '@xyo-network/typeof'\n\nexport const removeEmptyFields = <T extends Record<string, unknown>>(obj: T) => {\n if (obj === null || Array.isArray(obj)) return obj\n\n const newObject: Record<string, unknown> = {}\n Object.entries(obj).forEach(([key, value]) => {\n if (typeOf(value) === 'object') {\n newObject[key] = removeEmptyFields(value as Record<string, unknown>)\n } else if (value !== undefined) {\n newObject[key] = value\n }\n })\n return newObject as T\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AAEhB,IAAM,oBAAoB,CAAoC,QAAW;AAC9E,MAAI,QAAQ,QAAQ,MAAM,QAAQ,GAAG;AAAG,WAAO;AAE/C,QAAM,YAAqC,CAAC;AAC5C,SAAO,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC5C,YAAI,sBAAO,KAAK,MAAM,UAAU;AAC9B,gBAAU,GAAG,IAAI,kBAAkB,KAAgC;AAAA,IACrE,WAAW,UAAU,QAAW;AAC9B,gBAAU,GAAG,IAAI;AAAA,IACnB;AAAA,EACF,CAAC;AACD,SAAO;AACT;","names":[]}
@@ -1,5 +1,6 @@
1
+ // src/removeEmptyFields.ts
1
2
  import { typeOf } from "@xyo-network/typeof";
2
- const removeEmptyFields = (obj) => {
3
+ var removeEmptyFields = (obj) => {
3
4
  if (obj === null || Array.isArray(obj))
4
5
  return obj;
5
6
  const newObject = {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/removeEmptyFields.ts"],"sourcesContent":["import { typeOf } from '@xyo-network/typeof'\n\nexport const removeEmptyFields = <T extends Record<string, unknown>>(obj: T) => {\n if (obj === null || Array.isArray(obj)) return obj\n\n const newObject: Record<string, unknown> = {}\n Object.entries(obj).forEach(([key, value]) => {\n if (typeOf(value) === 'object') {\n newObject[key] = removeEmptyFields(value as Record<string, unknown>)\n } else if (value !== undefined) {\n newObject[key] = value\n }\n })\n return newObject as T\n}\n"],"mappings":"AAAA,SAAS,cAAc;AAEhB,MAAM,oBAAoB,CAAoC,QAAW;AAC9E,MAAI,QAAQ,QAAQ,MAAM,QAAQ,GAAG;AAAG,WAAO;AAE/C,QAAM,YAAqC,CAAC;AAC5C,SAAO,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC5C,QAAI,OAAO,KAAK,MAAM,UAAU;AAC9B,gBAAU,GAAG,IAAI,kBAAkB,KAAgC;AAAA,IACrE,WAAW,UAAU,QAAW;AAC9B,gBAAU,GAAG,IAAI;AAAA,IACnB;AAAA,EACF,CAAC;AACD,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/removeEmptyFields.ts"],"sourcesContent":["import { typeOf } from '@xyo-network/typeof'\n\nexport const removeEmptyFields = <T extends Record<string, unknown>>(obj: T) => {\n if (obj === null || Array.isArray(obj)) return obj\n\n const newObject: Record<string, unknown> = {}\n Object.entries(obj).forEach(([key, value]) => {\n if (typeOf(value) === 'object') {\n newObject[key] = removeEmptyFields(value as Record<string, unknown>)\n } else if (value !== undefined) {\n newObject[key] = value\n }\n })\n return newObject as T\n}\n"],"mappings":";AAAA,SAAS,cAAc;AAEhB,IAAM,oBAAoB,CAAoC,QAAW;AAC9E,MAAI,QAAQ,QAAQ,MAAM,QAAQ,GAAG;AAAG,WAAO;AAE/C,QAAM,YAAqC,CAAC;AAC5C,SAAO,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC5C,QAAI,OAAO,KAAK,MAAM,UAAU;AAC9B,gBAAU,GAAG,IAAI,kBAAkB,KAAgC;AAAA,IACrE,WAAW,UAAU,QAAW;AAC9B,gBAAU,GAAG,IAAI;AAAA,IACnB;AAAA,EACF,CAAC;AACD,SAAO;AACT;","names":[]}
@@ -0,0 +1,7 @@
1
+ import { omitBy, pickBy } from '@xylabs/lodash';
2
+ import { AnyObject } from '@xyo-network/object';
3
+ import type { ValueKeyIteratee } from 'lodash';
4
+ export declare const deepBy: <T extends AnyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy) => T;
5
+ export declare const deepOmitUnderscoreFields: <T extends AnyObject>(obj: T) => T;
6
+ export declare const deepPickUnderscoreFields: <T extends AnyObject>(obj: T) => T;
7
+ //# sourceMappingURL=removeFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeFields.d.ts","sourceRoot":"","sources":["../../src/removeFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAE9C,eAAO,MAAM,MAAM,sEAAuE,aAAa,GAAG,aAAa,MAiBtH,CAAA;AAED,eAAO,MAAM,wBAAwB,oCAEpC,CAAA;AAED,eAAO,MAAM,wBAAwB,oCAEpC,CAAA"}
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/removeFields.ts
19
21
  var removeFields_exports = {};
20
22
  __export(removeFields_exports, {
21
23
  deepBy: () => deepBy,
@@ -24,7 +26,7 @@ __export(removeFields_exports, {
24
26
  });
25
27
  module.exports = __toCommonJS(removeFields_exports);
26
28
  var import_lodash = require("@xylabs/lodash");
27
- const deepBy = (obj, predicate, func) => {
29
+ var deepBy = (obj, predicate, func) => {
28
30
  if (Array.isArray(obj)) {
29
31
  return obj;
30
32
  }
@@ -35,10 +37,10 @@ const deepBy = (obj, predicate, func) => {
35
37
  const processedObjects = (0, import_lodash.mapValues)(pickedObjects, (obj2) => deepBy(obj2, predicate, func));
36
38
  return (0, import_lodash.merge)({}, pickedNonObjects, processedObjects);
37
39
  };
38
- const deepOmitUnderscoreFields = (obj) => {
40
+ var deepOmitUnderscoreFields = (obj) => {
39
41
  return deepBy(obj, (_, key) => key.startsWith("_"), import_lodash.omitBy);
40
42
  };
41
- const deepPickUnderscoreFields = (obj) => {
43
+ var deepPickUnderscoreFields = (obj) => {
42
44
  return deepBy(obj, (_, key) => key.startsWith("_"), import_lodash.pickBy);
43
45
  };
44
46
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/removeFields.ts"],"sourcesContent":["import { isObject, mapValues, merge, omitBy, pickBy } from '@xylabs/lodash'\nimport { AnyObject } from '@xyo-network/object'\n// eslint-disable-next-line no-restricted-imports\nimport type { ValueKeyIteratee } from 'lodash'\n\nexport const deepBy = <T extends AnyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy): T => {\n if (Array.isArray(obj)) {\n return obj\n }\n\n //pick the child objects\n const onlyObjects = pickBy<T>(obj, isObject)\n\n //pick the child non-objects\n const nonObjects = pickBy<T>(obj, (value) => !isObject(value))\n\n const pickedObjects = omitBy(onlyObjects, predicate)\n const pickedNonObjects = omitBy(nonObjects, predicate)\n\n const processedObjects = mapValues(pickedObjects, (obj: T) => deepBy(obj, predicate, func))\n\n return merge({}, pickedNonObjects, processedObjects) as T\n}\n\nexport const deepOmitUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), omitBy)\n}\n\nexport const deepPickUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), pickBy)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2D;AAKpD,MAAM,SAAS,CAAsB,KAAQ,WAAgC,SAA2C;AAC7H,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO;AAAA,EACT;AAGA,QAAM,kBAAc,sBAAU,KAAK,sBAAQ;AAG3C,QAAM,iBAAa,sBAAU,KAAK,CAAC,UAAU,KAAC,wBAAS,KAAK,CAAC;AAE7D,QAAM,oBAAgB,sBAAO,aAAa,SAAS;AACnD,QAAM,uBAAmB,sBAAO,YAAY,SAAS;AAErD,QAAM,uBAAmB,yBAAU,eAAe,CAACA,SAAW,OAAOA,MAAK,WAAW,IAAI,CAAC;AAE1F,aAAO,qBAAM,CAAC,GAAG,kBAAkB,gBAAgB;AACrD;AAEO,MAAM,2BAA2B,CAAsB,QAAW;AACvE,SAAO,OAAO,KAAK,CAAC,GAAG,QAAQ,IAAI,WAAW,GAAG,GAAG,oBAAM;AAC5D;AAEO,MAAM,2BAA2B,CAAsB,QAAW;AACvE,SAAO,OAAO,KAAK,CAAC,GAAG,QAAQ,IAAI,WAAW,GAAG,GAAG,oBAAM;AAC5D;","names":["obj"]}
1
+ {"version":3,"sources":["../../src/removeFields.ts"],"sourcesContent":["import { isObject, mapValues, merge, omitBy, pickBy } from '@xylabs/lodash'\nimport { AnyObject } from '@xyo-network/object'\n// eslint-disable-next-line no-restricted-imports\nimport type { ValueKeyIteratee } from 'lodash'\n\nexport const deepBy = <T extends AnyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy): T => {\n if (Array.isArray(obj)) {\n return obj\n }\n\n //pick the child objects\n const onlyObjects = pickBy<T>(obj, isObject)\n\n //pick the child non-objects\n const nonObjects = pickBy<T>(obj, (value) => !isObject(value))\n\n const pickedObjects = omitBy(onlyObjects, predicate)\n const pickedNonObjects = omitBy(nonObjects, predicate)\n\n const processedObjects = mapValues(pickedObjects, (obj: T) => deepBy(obj, predicate, func))\n\n return merge({}, pickedNonObjects, processedObjects) as T\n}\n\nexport const deepOmitUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), omitBy)\n}\n\nexport const deepPickUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), pickBy)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2D;AAKpD,IAAM,SAAS,CAAsB,KAAQ,WAAgC,SAA2C;AAC7H,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO;AAAA,EACT;AAGA,QAAM,kBAAc,sBAAU,KAAK,sBAAQ;AAG3C,QAAM,iBAAa,sBAAU,KAAK,CAAC,UAAU,KAAC,wBAAS,KAAK,CAAC;AAE7D,QAAM,oBAAgB,sBAAO,aAAa,SAAS;AACnD,QAAM,uBAAmB,sBAAO,YAAY,SAAS;AAErD,QAAM,uBAAmB,yBAAU,eAAe,CAACA,SAAW,OAAOA,MAAK,WAAW,IAAI,CAAC;AAE1F,aAAO,qBAAM,CAAC,GAAG,kBAAkB,gBAAgB;AACrD;AAEO,IAAM,2BAA2B,CAAsB,QAAW;AACvE,SAAO,OAAO,KAAK,CAAC,GAAG,QAAQ,IAAI,WAAW,GAAG,GAAG,oBAAM;AAC5D;AAEO,IAAM,2BAA2B,CAAsB,QAAW;AACvE,SAAO,OAAO,KAAK,CAAC,GAAG,QAAQ,IAAI,WAAW,GAAG,GAAG,oBAAM;AAC5D;","names":["obj"]}
@@ -1,5 +1,6 @@
1
+ // src/removeFields.ts
1
2
  import { isObject, mapValues, merge, omitBy, pickBy } from "@xylabs/lodash";
2
- const deepBy = (obj, predicate, func) => {
3
+ var deepBy = (obj, predicate, func) => {
3
4
  if (Array.isArray(obj)) {
4
5
  return obj;
5
6
  }
@@ -10,10 +11,10 @@ const deepBy = (obj, predicate, func) => {
10
11
  const processedObjects = mapValues(pickedObjects, (obj2) => deepBy(obj2, predicate, func));
11
12
  return merge({}, pickedNonObjects, processedObjects);
12
13
  };
13
- const deepOmitUnderscoreFields = (obj) => {
14
+ var deepOmitUnderscoreFields = (obj) => {
14
15
  return deepBy(obj, (_, key) => key.startsWith("_"), omitBy);
15
16
  };
16
- const deepPickUnderscoreFields = (obj) => {
17
+ var deepPickUnderscoreFields = (obj) => {
17
18
  return deepBy(obj, (_, key) => key.startsWith("_"), pickBy);
18
19
  };
19
20
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/removeFields.ts"],"sourcesContent":["import { isObject, mapValues, merge, omitBy, pickBy } from '@xylabs/lodash'\nimport { AnyObject } from '@xyo-network/object'\n// eslint-disable-next-line no-restricted-imports\nimport type { ValueKeyIteratee } from 'lodash'\n\nexport const deepBy = <T extends AnyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy): T => {\n if (Array.isArray(obj)) {\n return obj\n }\n\n //pick the child objects\n const onlyObjects = pickBy<T>(obj, isObject)\n\n //pick the child non-objects\n const nonObjects = pickBy<T>(obj, (value) => !isObject(value))\n\n const pickedObjects = omitBy(onlyObjects, predicate)\n const pickedNonObjects = omitBy(nonObjects, predicate)\n\n const processedObjects = mapValues(pickedObjects, (obj: T) => deepBy(obj, predicate, func))\n\n return merge({}, pickedNonObjects, processedObjects) as T\n}\n\nexport const deepOmitUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), omitBy)\n}\n\nexport const deepPickUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), pickBy)\n}\n"],"mappings":"AAAA,SAAS,UAAU,WAAW,OAAO,QAAQ,cAAc;AAKpD,MAAM,SAAS,CAAsB,KAAQ,WAAgC,SAA2C;AAC7H,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO;AAAA,EACT;AAGA,QAAM,cAAc,OAAU,KAAK,QAAQ;AAG3C,QAAM,aAAa,OAAU,KAAK,CAAC,UAAU,CAAC,SAAS,KAAK,CAAC;AAE7D,QAAM,gBAAgB,OAAO,aAAa,SAAS;AACnD,QAAM,mBAAmB,OAAO,YAAY,SAAS;AAErD,QAAM,mBAAmB,UAAU,eAAe,CAACA,SAAW,OAAOA,MAAK,WAAW,IAAI,CAAC;AAE1F,SAAO,MAAM,CAAC,GAAG,kBAAkB,gBAAgB;AACrD;AAEO,MAAM,2BAA2B,CAAsB,QAAW;AACvE,SAAO,OAAO,KAAK,CAAC,GAAG,QAAQ,IAAI,WAAW,GAAG,GAAG,MAAM;AAC5D;AAEO,MAAM,2BAA2B,CAAsB,QAAW;AACvE,SAAO,OAAO,KAAK,CAAC,GAAG,QAAQ,IAAI,WAAW,GAAG,GAAG,MAAM;AAC5D;","names":["obj"]}
1
+ {"version":3,"sources":["../../src/removeFields.ts"],"sourcesContent":["import { isObject, mapValues, merge, omitBy, pickBy } from '@xylabs/lodash'\nimport { AnyObject } from '@xyo-network/object'\n// eslint-disable-next-line no-restricted-imports\nimport type { ValueKeyIteratee } from 'lodash'\n\nexport const deepBy = <T extends AnyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy): T => {\n if (Array.isArray(obj)) {\n return obj\n }\n\n //pick the child objects\n const onlyObjects = pickBy<T>(obj, isObject)\n\n //pick the child non-objects\n const nonObjects = pickBy<T>(obj, (value) => !isObject(value))\n\n const pickedObjects = omitBy(onlyObjects, predicate)\n const pickedNonObjects = omitBy(nonObjects, predicate)\n\n const processedObjects = mapValues(pickedObjects, (obj: T) => deepBy(obj, predicate, func))\n\n return merge({}, pickedNonObjects, processedObjects) as T\n}\n\nexport const deepOmitUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), omitBy)\n}\n\nexport const deepPickUnderscoreFields = <T extends AnyObject>(obj: T) => {\n return deepBy(obj, (_, key) => key.startsWith('_'), pickBy)\n}\n"],"mappings":";AAAA,SAAS,UAAU,WAAW,OAAO,QAAQ,cAAc;AAKpD,IAAM,SAAS,CAAsB,KAAQ,WAAgC,SAA2C;AAC7H,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO;AAAA,EACT;AAGA,QAAM,cAAc,OAAU,KAAK,QAAQ;AAG3C,QAAM,aAAa,OAAU,KAAK,CAAC,UAAU,CAAC,SAAS,KAAK,CAAC;AAE7D,QAAM,gBAAgB,OAAO,aAAa,SAAS;AACnD,QAAM,mBAAmB,OAAO,YAAY,SAAS;AAErD,QAAM,mBAAmB,UAAU,eAAe,CAACA,SAAW,OAAOA,MAAK,WAAW,IAAI,CAAC;AAE1F,SAAO,MAAM,CAAC,GAAG,kBAAkB,gBAAgB;AACrD;AAEO,IAAM,2BAA2B,CAAsB,QAAW;AACvE,SAAO,OAAO,KAAK,CAAC,GAAG,QAAQ,IAAI,WAAW,GAAG,GAAG,MAAM;AAC5D;AAEO,IAAM,2BAA2B,CAAsB,QAAW;AACvE,SAAO,OAAO,KAAK,CAAC,GAAG,QAAQ,IAAI,WAAW,GAAG,GAAG,MAAM;AAC5D;","names":["obj"]}
@@ -0,0 +1,3 @@
1
+ import { AnyObject } from '@xyo-network/object';
2
+ export declare const sortFields: <T extends AnyObject = AnyObject>(obj: T) => T;
3
+ //# sourceMappingURL=sortFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortFields.d.ts","sourceRoot":"","sources":["../../src/sortFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6B,MAAM,qBAAqB,CAAA;AAO1E,eAAO,MAAM,UAAU,gDAUtB,CAAA"}
@@ -16,16 +16,18 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/sortFields.ts
19
21
  var sortFields_exports = {};
20
22
  __export(sortFields_exports, {
21
23
  sortFields: () => sortFields
22
24
  });
23
25
  module.exports = __toCommonJS(sortFields_exports);
24
26
  var import_object = require("@xyo-network/object");
25
- const subSort = (value) => {
27
+ var subSort = (value) => {
26
28
  return (0, import_object.isObject)(value) ? sortFields(value) : value;
27
29
  };
28
- const sortFields = (obj) => {
30
+ var sortFields = (obj) => {
29
31
  const stringyObj = obj;
30
32
  const result = {};
31
33
  Object.keys(obj).sort().forEach((key) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/sortFields.ts"],"sourcesContent":["import { AnyObject, isObject, StringKeyObject } from '@xyo-network/object'\n\n//if an object, sub-sort\nconst subSort = (value: unknown) => {\n return isObject(value) ? sortFields(value) : value\n}\n\nexport const sortFields = <T extends AnyObject = AnyObject>(obj: T) => {\n const stringyObj = obj as StringKeyObject\n\n const result: StringKeyObject = {}\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n result[key] = subSort(stringyObj[key])\n })\n return result as T\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqD;AAGrD,MAAM,UAAU,CAAC,UAAmB;AAClC,aAAO,wBAAS,KAAK,IAAI,WAAW,KAAK,IAAI;AAC/C;AAEO,MAAM,aAAa,CAAkC,QAAW;AACrE,QAAM,aAAa;AAEnB,QAAM,SAA0B,CAAC;AACjC,SAAO,KAAK,GAAG,EACZ,KAAK,EACL,QAAQ,CAAC,QAAQ;AAChB,WAAO,GAAG,IAAI,QAAQ,WAAW,GAAG,CAAC;AAAA,EACvC,CAAC;AACH,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/sortFields.ts"],"sourcesContent":["import { AnyObject, isObject, StringKeyObject } from '@xyo-network/object'\n\n//if an object, sub-sort\nconst subSort = (value: unknown) => {\n return isObject(value) ? sortFields(value) : value\n}\n\nexport const sortFields = <T extends AnyObject = AnyObject>(obj: T) => {\n const stringyObj = obj as StringKeyObject\n\n const result: StringKeyObject = {}\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n result[key] = subSort(stringyObj[key])\n })\n return result as T\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqD;AAGrD,IAAM,UAAU,CAAC,UAAmB;AAClC,aAAO,wBAAS,KAAK,IAAI,WAAW,KAAK,IAAI;AAC/C;AAEO,IAAM,aAAa,CAAkC,QAAW;AACrE,QAAM,aAAa;AAEnB,QAAM,SAA0B,CAAC;AACjC,SAAO,KAAK,GAAG,EACZ,KAAK,EACL,QAAQ,CAAC,QAAQ;AAChB,WAAO,GAAG,IAAI,QAAQ,WAAW,GAAG,CAAC;AAAA,EACvC,CAAC;AACH,SAAO;AACT;","names":[]}
@@ -1,8 +1,9 @@
1
+ // src/sortFields.ts
1
2
  import { isObject } from "@xyo-network/object";
2
- const subSort = (value) => {
3
+ var subSort = (value) => {
3
4
  return isObject(value) ? sortFields(value) : value;
4
5
  };
5
- const sortFields = (obj) => {
6
+ var sortFields = (obj) => {
6
7
  const stringyObj = obj;
7
8
  const result = {};
8
9
  Object.keys(obj).sort().forEach((key) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/sortFields.ts"],"sourcesContent":["import { AnyObject, isObject, StringKeyObject } from '@xyo-network/object'\n\n//if an object, sub-sort\nconst subSort = (value: unknown) => {\n return isObject(value) ? sortFields(value) : value\n}\n\nexport const sortFields = <T extends AnyObject = AnyObject>(obj: T) => {\n const stringyObj = obj as StringKeyObject\n\n const result: StringKeyObject = {}\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n result[key] = subSort(stringyObj[key])\n })\n return result as T\n}\n"],"mappings":"AAAA,SAAoB,gBAAiC;AAGrD,MAAM,UAAU,CAAC,UAAmB;AAClC,SAAO,SAAS,KAAK,IAAI,WAAW,KAAK,IAAI;AAC/C;AAEO,MAAM,aAAa,CAAkC,QAAW;AACrE,QAAM,aAAa;AAEnB,QAAM,SAA0B,CAAC;AACjC,SAAO,KAAK,GAAG,EACZ,KAAK,EACL,QAAQ,CAAC,QAAQ;AAChB,WAAO,GAAG,IAAI,QAAQ,WAAW,GAAG,CAAC;AAAA,EACvC,CAAC;AACH,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/sortFields.ts"],"sourcesContent":["import { AnyObject, isObject, StringKeyObject } from '@xyo-network/object'\n\n//if an object, sub-sort\nconst subSort = (value: unknown) => {\n return isObject(value) ? sortFields(value) : value\n}\n\nexport const sortFields = <T extends AnyObject = AnyObject>(obj: T) => {\n const stringyObj = obj as StringKeyObject\n\n const result: StringKeyObject = {}\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n result[key] = subSort(stringyObj[key])\n })\n return result as T\n}\n"],"mappings":";AAAA,SAAoB,gBAAiC;AAGrD,IAAM,UAAU,CAAC,UAAmB;AAClC,SAAO,SAAS,KAAK,IAAI,WAAW,KAAK,IAAI;AAC/C;AAEO,IAAM,aAAa,CAAkC,QAAW;AACrE,QAAM,aAAa;AAEnB,QAAM,SAA0B,CAAC;AACjC,SAAO,KAAK,GAAG,EACZ,KAAK,EACL,QAAQ,CAAC,QAAQ;AAChB,WAAO,GAAG,IAAI,QAAQ,WAAW,GAAG,CAAC;AAAA,EACvC,CAAC;AACH,SAAO;AACT;","names":[]}
package/package.json CHANGED
@@ -10,18 +10,18 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/lodash": "^2.11.22",
14
- "@xyo-network/object": "~2.75.0",
15
- "@xyo-network/typeof": "~2.75.0",
16
- "@xyo-network/wasm": "^2.75.0",
13
+ "@xylabs/lodash": "^2.12.10",
14
+ "@xyo-network/object": "~2.75.2",
15
+ "@xyo-network/typeof": "~2.75.2",
16
+ "@xyo-network/wasm": "^2.75.2",
17
17
  "hash-wasm": "^4.9.0",
18
18
  "sha.js": "^2.4.11"
19
19
  },
20
20
  "description": "Primary SDK for using XYO Protocol 2.0",
21
21
  "devDependencies": {
22
22
  "@types/lodash": "^4.14.199",
23
- "@xylabs/ts-scripts-yarn3": "^3.0.70",
24
- "@xylabs/tsconfig": "^3.0.70",
23
+ "@xylabs/ts-scripts-yarn3": "^3.0.77",
24
+ "@xylabs/tsconfig": "^3.0.77",
25
25
  "typescript": "^5.2.2"
26
26
  },
27
27
  "docs": "dist/docs.json",
@@ -29,7 +29,7 @@
29
29
  ".": {
30
30
  "browser": {
31
31
  "require": {
32
- "types": "./dist/browser/index.d.ts",
32
+ "types": "./dist/browser/index.d.cts",
33
33
  "default": "./dist/browser/index.cjs"
34
34
  },
35
35
  "import": {
@@ -66,5 +66,5 @@
66
66
  },
67
67
  "sideEffects": false,
68
68
  "types": "dist/node/index.d.ts",
69
- "version": "2.75.0"
69
+ "version": "2.75.2"
70
70
  }