@xyo-network/hash 2.110.9 → 2.110.11

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 (175) hide show
  1. package/dist/browser/PayloadHasher.d.cts +0 -4
  2. package/dist/browser/PayloadHasher.d.cts.map +1 -1
  3. package/dist/browser/PayloadHasher.d.mts +0 -4
  4. package/dist/browser/PayloadHasher.d.mts.map +1 -1
  5. package/dist/browser/PayloadHasher.d.ts +0 -4
  6. package/dist/browser/PayloadHasher.d.ts.map +1 -1
  7. package/dist/browser/createNodeWorker.d.cts.map +1 -1
  8. package/dist/browser/createNodeWorker.d.mts.map +1 -1
  9. package/dist/browser/createNodeWorker.d.ts.map +1 -1
  10. package/dist/browser/index-browser.cjs +72 -136
  11. package/dist/browser/index-browser.cjs.map +1 -1
  12. package/dist/browser/index-browser.js +72 -127
  13. package/dist/browser/index-browser.js.map +1 -1
  14. package/dist/browser/removeEmptyFields.d.cts.map +1 -1
  15. package/dist/browser/removeEmptyFields.d.mts.map +1 -1
  16. package/dist/browser/removeEmptyFields.d.ts.map +1 -1
  17. package/dist/browser/worker/index.cjs +4 -18
  18. package/dist/browser/worker/index.cjs.map +1 -1
  19. package/dist/browser/worker/index.d.cts +0 -1
  20. package/dist/browser/worker/index.d.cts.map +1 -1
  21. package/dist/browser/worker/index.d.mts +0 -1
  22. package/dist/browser/worker/index.d.mts.map +1 -1
  23. package/dist/browser/worker/index.d.ts +0 -1
  24. package/dist/browser/worker/index.d.ts.map +1 -1
  25. package/dist/browser/worker/index.js +4 -19
  26. package/dist/browser/worker/index.js.map +1 -1
  27. package/dist/browser/worker/subtleHash-bundle.js +92 -91
  28. package/dist/browser/worker/subtleHash.cjs.map +1 -1
  29. package/dist/browser/worker/subtleHash.js.map +1 -1
  30. package/dist/browser/worker/subtleHashNode.cjs +2 -3
  31. package/dist/browser/worker/subtleHashNode.cjs.map +1 -1
  32. package/dist/browser/worker/subtleHashNode.d.cts.map +1 -1
  33. package/dist/browser/worker/subtleHashNode.d.mts.map +1 -1
  34. package/dist/browser/worker/subtleHashNode.d.ts.map +1 -1
  35. package/dist/browser/worker/subtleHashNode.js +2 -4
  36. package/dist/browser/worker/subtleHashNode.js.map +1 -1
  37. package/dist/browser/worker/wasmHash-bundle.js +94 -93
  38. package/dist/browser/worker/wasmHash.cjs.map +1 -1
  39. package/dist/browser/worker/wasmHash.js.map +1 -1
  40. package/dist/browser/worker/wasmHashNode.cjs +2 -3
  41. package/dist/browser/worker/wasmHashNode.cjs.map +1 -1
  42. package/dist/browser/worker/wasmHashNode.js +2 -4
  43. package/dist/browser/worker/wasmHashNode.js.map +1 -1
  44. package/dist/neutral/PayloadHasher.d.cts +0 -4
  45. package/dist/neutral/PayloadHasher.d.cts.map +1 -1
  46. package/dist/neutral/PayloadHasher.d.mts +0 -4
  47. package/dist/neutral/PayloadHasher.d.mts.map +1 -1
  48. package/dist/neutral/PayloadHasher.d.ts +0 -4
  49. package/dist/neutral/PayloadHasher.d.ts.map +1 -1
  50. package/dist/neutral/createNodeWorker.d.cts.map +1 -1
  51. package/dist/neutral/createNodeWorker.d.mts.map +1 -1
  52. package/dist/neutral/createNodeWorker.d.ts.map +1 -1
  53. package/dist/neutral/index.cjs +72 -136
  54. package/dist/neutral/index.cjs.map +1 -1
  55. package/dist/neutral/index.js +72 -127
  56. package/dist/neutral/index.js.map +1 -1
  57. package/dist/neutral/removeEmptyFields.d.cts.map +1 -1
  58. package/dist/neutral/removeEmptyFields.d.mts.map +1 -1
  59. package/dist/neutral/removeEmptyFields.d.ts.map +1 -1
  60. package/dist/neutral/worker/index.d.cts +0 -1
  61. package/dist/neutral/worker/index.d.cts.map +1 -1
  62. package/dist/neutral/worker/index.d.mts +0 -1
  63. package/dist/neutral/worker/index.d.mts.map +1 -1
  64. package/dist/neutral/worker/index.d.ts +0 -1
  65. package/dist/neutral/worker/index.d.ts.map +1 -1
  66. package/dist/neutral/worker/subtleHashNode.d.cts.map +1 -1
  67. package/dist/neutral/worker/subtleHashNode.d.mts.map +1 -1
  68. package/dist/neutral/worker/subtleHashNode.d.ts.map +1 -1
  69. package/dist/node/PayloadHasher.d.cts +0 -4
  70. package/dist/node/PayloadHasher.d.cts.map +1 -1
  71. package/dist/node/PayloadHasher.d.mts +0 -4
  72. package/dist/node/PayloadHasher.d.mts.map +1 -1
  73. package/dist/node/PayloadHasher.d.ts +0 -4
  74. package/dist/node/PayloadHasher.d.ts.map +1 -1
  75. package/dist/node/createNodeWorker.d.cts.map +1 -1
  76. package/dist/node/createNodeWorker.d.mts.map +1 -1
  77. package/dist/node/createNodeWorker.d.ts.map +1 -1
  78. package/dist/node/index.cjs +97 -161
  79. package/dist/node/index.cjs.map +1 -1
  80. package/dist/node/index.js +97 -152
  81. package/dist/node/index.js.map +1 -1
  82. package/dist/node/removeEmptyFields.d.cts.map +1 -1
  83. package/dist/node/removeEmptyFields.d.mts.map +1 -1
  84. package/dist/node/removeEmptyFields.d.ts.map +1 -1
  85. package/dist/node/worker/index.cjs +4 -19
  86. package/dist/node/worker/index.cjs.map +1 -1
  87. package/dist/node/worker/index.d.cts +0 -1
  88. package/dist/node/worker/index.d.cts.map +1 -1
  89. package/dist/node/worker/index.d.mts +0 -1
  90. package/dist/node/worker/index.d.mts.map +1 -1
  91. package/dist/node/worker/index.d.ts +0 -1
  92. package/dist/node/worker/index.d.ts.map +1 -1
  93. package/dist/node/worker/index.js +4 -19
  94. package/dist/node/worker/index.js.map +1 -1
  95. package/dist/node/worker/subtleHash.cjs.map +1 -1
  96. package/dist/node/worker/subtleHash.js.map +1 -1
  97. package/dist/node/worker/subtleHashNode.cjs +2 -3
  98. package/dist/node/worker/subtleHashNode.cjs.map +1 -1
  99. package/dist/node/worker/subtleHashNode.d.cts.map +1 -1
  100. package/dist/node/worker/subtleHashNode.d.mts.map +1 -1
  101. package/dist/node/worker/subtleHashNode.d.ts.map +1 -1
  102. package/dist/node/worker/subtleHashNode.js +2 -4
  103. package/dist/node/worker/subtleHashNode.js.map +1 -1
  104. package/dist/node/worker/wasmHash.cjs.map +1 -1
  105. package/dist/node/worker/wasmHash.js.map +1 -1
  106. package/dist/node/worker/wasmHashNode.cjs +2 -3
  107. package/dist/node/worker/wasmHashNode.cjs.map +1 -1
  108. package/dist/node/worker/wasmHashNode.js +2 -4
  109. package/dist/node/worker/wasmHashNode.js.map +1 -1
  110. package/package.json +14 -17
  111. package/src/PayloadHasher.ts +2 -40
  112. package/src/createNodeWorker.ts +1 -2
  113. package/src/globals.d.ts +0 -1
  114. package/src/removeEmptyFields.ts +5 -1
  115. package/src/worker/index.ts +0 -1
  116. package/src/worker/subtleHash.ts +0 -1
  117. package/src/worker/subtleHashNode.ts +0 -1
  118. package/src/worker/wasmHash.ts +0 -1
  119. package/src/worker/wasmHashNode.ts +1 -1
  120. package/xy.config.ts +0 -1
  121. package/dist/browser/worker/jsHash-bundle.js +0 -5641
  122. package/dist/browser/worker/jsHash.cjs +0 -34
  123. package/dist/browser/worker/jsHash.cjs.map +0 -1
  124. package/dist/browser/worker/jsHash.d.cts +0 -2
  125. package/dist/browser/worker/jsHash.d.cts.map +0 -1
  126. package/dist/browser/worker/jsHash.d.mts +0 -2
  127. package/dist/browser/worker/jsHash.d.mts.map +0 -1
  128. package/dist/browser/worker/jsHash.d.ts +0 -2
  129. package/dist/browser/worker/jsHash.d.ts.map +0 -1
  130. package/dist/browser/worker/jsHash.js +0 -10
  131. package/dist/browser/worker/jsHash.js.map +0 -1
  132. package/dist/browser/worker/jsHashNode.cjs +0 -37
  133. package/dist/browser/worker/jsHashNode.cjs.map +0 -1
  134. package/dist/browser/worker/jsHashNode.d.cts +0 -2
  135. package/dist/browser/worker/jsHashNode.d.cts.map +0 -1
  136. package/dist/browser/worker/jsHashNode.d.mts +0 -2
  137. package/dist/browser/worker/jsHashNode.d.mts.map +0 -1
  138. package/dist/browser/worker/jsHashNode.d.ts +0 -2
  139. package/dist/browser/worker/jsHashNode.d.ts.map +0 -1
  140. package/dist/browser/worker/jsHashNode.js +0 -24
  141. package/dist/browser/worker/jsHashNode.js.map +0 -1
  142. package/dist/neutral/worker/jsHash.d.cts +0 -2
  143. package/dist/neutral/worker/jsHash.d.cts.map +0 -1
  144. package/dist/neutral/worker/jsHash.d.mts +0 -2
  145. package/dist/neutral/worker/jsHash.d.mts.map +0 -1
  146. package/dist/neutral/worker/jsHash.d.ts +0 -2
  147. package/dist/neutral/worker/jsHash.d.ts.map +0 -1
  148. package/dist/neutral/worker/jsHashNode.d.cts +0 -2
  149. package/dist/neutral/worker/jsHashNode.d.cts.map +0 -1
  150. package/dist/neutral/worker/jsHashNode.d.mts +0 -2
  151. package/dist/neutral/worker/jsHashNode.d.mts.map +0 -1
  152. package/dist/neutral/worker/jsHashNode.d.ts +0 -2
  153. package/dist/neutral/worker/jsHashNode.d.ts.map +0 -1
  154. package/dist/node/worker/jsHash.cjs +0 -34
  155. package/dist/node/worker/jsHash.cjs.map +0 -1
  156. package/dist/node/worker/jsHash.d.cts +0 -2
  157. package/dist/node/worker/jsHash.d.cts.map +0 -1
  158. package/dist/node/worker/jsHash.d.mts +0 -2
  159. package/dist/node/worker/jsHash.d.mts.map +0 -1
  160. package/dist/node/worker/jsHash.d.ts +0 -2
  161. package/dist/node/worker/jsHash.d.ts.map +0 -1
  162. package/dist/node/worker/jsHash.js +0 -10
  163. package/dist/node/worker/jsHash.js.map +0 -1
  164. package/dist/node/worker/jsHashNode.cjs +0 -41
  165. package/dist/node/worker/jsHashNode.cjs.map +0 -1
  166. package/dist/node/worker/jsHashNode.d.cts +0 -2
  167. package/dist/node/worker/jsHashNode.d.cts.map +0 -1
  168. package/dist/node/worker/jsHashNode.d.mts +0 -2
  169. package/dist/node/worker/jsHashNode.d.mts.map +0 -1
  170. package/dist/node/worker/jsHashNode.d.ts +0 -2
  171. package/dist/node/worker/jsHashNode.d.ts.map +0 -1
  172. package/dist/node/worker/jsHashNode.js +0 -24
  173. package/dist/node/worker/jsHashNode.js.map +0 -1
  174. package/src/worker/jsHash.ts +0 -10
  175. package/src/worker/jsHashNode.ts +0 -13
@@ -21,7 +21,6 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
21
21
  private static _jsHashPool?;
22
22
  private static _subtleHashPool?;
23
23
  private static _wasmHashPool?;
24
- private static get jsHashPool();
25
24
  private static get subtleHashPool();
26
25
  private static get wasmHashPool();
27
26
  static createWorker(url?: URL, func?: () => unknown): import("@xylabs/threads/master").Worker;
@@ -31,9 +30,7 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
31
30
  static hash<T extends EmptyObject>(obj: T): Promise<Hash>;
32
31
  static hashFields<T extends EmptyObject>(obj: T): T;
33
32
  static hashPairs<T extends EmptyObject>(objs: T[]): Promise<[T, Hash][]>;
34
- static hashSync<T extends EmptyObject>(obj: T): Hash;
35
33
  static hashes<T extends EmptyObject>(objs?: T[]): Promise<Hash[] | undefined>;
36
- static jsHash(data: string): Promise<any>;
37
34
  static json<T extends EmptyObject>(payload: T, meta?: boolean): T;
38
35
  static jsonPayload<T extends EmptyObject>(payload: T, meta?: boolean): T;
39
36
  static stringifyHashFields<T extends EmptyObject>(obj: T): string;
@@ -41,7 +38,6 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
41
38
  static wasmHash(data: string): Promise<any>;
42
39
  private static createWorkerPool;
43
40
  hash(): Promise<Hash>;
44
- hashSync(): Hash;
45
41
  json(meta?: boolean): T;
46
42
  }
47
43
  //# sourceMappingURL=PayloadHasher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayloadHasher.d.ts","sourceRoot":"","sources":["../../src/PayloadHasher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PayloadHasher.d.ts","sourceRoot":"","sources":["../../src/PayloadHasher.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,6 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
21
21
  private static _jsHashPool?;
22
22
  private static _subtleHashPool?;
23
23
  private static _wasmHashPool?;
24
- private static get jsHashPool();
25
24
  private static get subtleHashPool();
26
25
  private static get wasmHashPool();
27
26
  static createWorker(url?: URL, func?: () => unknown): import("@xylabs/threads/master").Worker;
@@ -31,9 +30,7 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
31
30
  static hash<T extends EmptyObject>(obj: T): Promise<Hash>;
32
31
  static hashFields<T extends EmptyObject>(obj: T): T;
33
32
  static hashPairs<T extends EmptyObject>(objs: T[]): Promise<[T, Hash][]>;
34
- static hashSync<T extends EmptyObject>(obj: T): Hash;
35
33
  static hashes<T extends EmptyObject>(objs?: T[]): Promise<Hash[] | undefined>;
36
- static jsHash(data: string): Promise<any>;
37
34
  static json<T extends EmptyObject>(payload: T, meta?: boolean): T;
38
35
  static jsonPayload<T extends EmptyObject>(payload: T, meta?: boolean): T;
39
36
  static stringifyHashFields<T extends EmptyObject>(obj: T): string;
@@ -41,7 +38,6 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
41
38
  static wasmHash(data: string): Promise<any>;
42
39
  private static createWorkerPool;
43
40
  hash(): Promise<Hash>;
44
- hashSync(): Hash;
45
41
  json(meta?: boolean): T;
46
42
  }
47
43
  //# sourceMappingURL=PayloadHasher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayloadHasher.d.ts","sourceRoot":"","sources":["../../src/PayloadHasher.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,IAAI,EAAsB,MAAM,aAAa,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE3D,OAAO,EAA6B,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAS/C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;AACpE,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,IAAI;KAC7C,GAAG,IAAI,IAAI,GAAG,cAAc;CAC9B,CAAA;AASD,qBAAa,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,gBAAgB,UAAO;IAC9B,MAAM,CAAC,WAAW,UAAO;IACzB,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,MAAM,GAAG,SAAS,CAAA;IAC9D,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,MAAM,GAAG,SAAS,CAAA;IAEtE,MAAM,CAAC,WAAW,OAMd;IAEJ,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,CAAA;IAC5B,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAA;IAEhC,MAAM,CAAC,iBAAiB,UAAO;IAE/B,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAA;IAE9B,MAAM,CAAC,QAAQ,CAAC,eAAe,gBAAiC;IAChE,MAAM,CAAC,QAAQ,CAAC,WAAW,cAAoB;IAI/C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAA8C;IAGzE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAA8C;IAE7E,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAA8C;IAE3E,OAAO,CAAC,MAAM,KAAK,UAAU,GAW5B;IAED,OAAO,CAAC,MAAM,KAAK,cAAc,GAYhC;IAED,OAAO,CAAC,MAAM,KAAK,YAAY,GAY9B;IAED,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,OAAO;WAKtC,mBAAmB,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,YAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAK7F,mBAAmB,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,YAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAK7F,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,YAAK,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;WASrF,IAAI,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB/D,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;WAStC,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;IAS9E,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;WASvC,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC;WAItE,MAAM,CAAC,IAAI,EAAE,MAAM;IAgBhC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,UAAQ,GAAG,CAAC;IAK/D,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,UAAQ,GAAG,CAAC;IAItE,MAAM,CAAC,mBAAmB,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC;WAI3C,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;WAKlD,QAAQ,CAAC,IAAI,EAAE,MAAM;IAMlC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAMzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,IAAI;IAShB,IAAI,CAAC,IAAI,UAAQ,GAAG,CAAC;CAGtB"}
1
+ {"version":3,"file":"PayloadHasher.d.ts","sourceRoot":"","sources":["../../src/PayloadHasher.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,6 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
21
21
  private static _jsHashPool?;
22
22
  private static _subtleHashPool?;
23
23
  private static _wasmHashPool?;
24
- private static get jsHashPool();
25
24
  private static get subtleHashPool();
26
25
  private static get wasmHashPool();
27
26
  static createWorker(url?: URL, func?: () => unknown): import("@xylabs/threads/master").Worker;
@@ -31,9 +30,7 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
31
30
  static hash<T extends EmptyObject>(obj: T): Promise<Hash>;
32
31
  static hashFields<T extends EmptyObject>(obj: T): T;
33
32
  static hashPairs<T extends EmptyObject>(objs: T[]): Promise<[T, Hash][]>;
34
- static hashSync<T extends EmptyObject>(obj: T): Hash;
35
33
  static hashes<T extends EmptyObject>(objs?: T[]): Promise<Hash[] | undefined>;
36
- static jsHash(data: string): Promise<any>;
37
34
  static json<T extends EmptyObject>(payload: T, meta?: boolean): T;
38
35
  static jsonPayload<T extends EmptyObject>(payload: T, meta?: boolean): T;
39
36
  static stringifyHashFields<T extends EmptyObject>(obj: T): string;
@@ -41,7 +38,6 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
41
38
  static wasmHash(data: string): Promise<any>;
42
39
  private static createWorkerPool;
43
40
  hash(): Promise<Hash>;
44
- hashSync(): Hash;
45
41
  json(meta?: boolean): T;
46
42
  }
47
43
  //# sourceMappingURL=PayloadHasher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayloadHasher.d.ts","sourceRoot":"","sources":["../../src/PayloadHasher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PayloadHasher.d.ts","sourceRoot":"","sources":["../../src/PayloadHasher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,sEAYpD,CAAA"}
1
+ {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,sEAWpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,sEAYpD,CAAA"}
1
+ {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,sEAWpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,sEAYpD,CAAA"}
1
+ {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,sEAWpD,CAAA"}
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
6
  var __export = (target, all) => {
10
7
  for (var name in all)
11
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -18,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
18
15
  }
19
16
  return to;
20
17
  };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
19
 
31
20
  // src/index-browser.ts
@@ -42,31 +31,28 @@ module.exports = __toCommonJS(index_browser_exports);
42
31
 
43
32
  // src/createBrowserWorker.ts
44
33
  var import_threads = require("@xylabs/threads");
45
- var createBrowserWorker = /* @__PURE__ */ __name((url) => {
34
+ var createBrowserWorker = (url) => {
46
35
  try {
47
36
  return new import_threads.Worker(url);
48
37
  } catch {
49
38
  return;
50
39
  }
51
- }, "createBrowserWorker");
40
+ };
52
41
 
53
42
  // src/createNodeWorker.ts
54
43
  var import_threads2 = require("@xylabs/threads");
55
- var createNodeWorker = /* @__PURE__ */ __name((func) => {
44
+ var createNodeWorker = (func) => {
56
45
  try {
57
46
  const code = func?.toString().slice(6) ?? "";
58
- const w = new import_threads2.Worker(
47
+ return new import_threads2.Worker(
59
48
  code,
60
49
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
- {
62
- fromSource: true
63
- }
50
+ { fromSource: true }
64
51
  );
65
- return w;
66
52
  } catch {
67
53
  return;
68
54
  }
69
- }, "createNodeWorker");
55
+ };
70
56
 
71
57
  // src/PayloadHasher.ts
72
58
  var import_assert = require("@xylabs/assert");
@@ -77,12 +63,14 @@ var import_platform = require("@xylabs/platform");
77
63
  var import_threads3 = require("@xylabs/threads");
78
64
  var import_wasm = require("@xyo-network/wasm");
79
65
  var import_hash_wasm = require("hash-wasm");
80
- var import_sha = __toESM(require("sha.js"), 1);
81
66
 
82
67
  // src/removeEmptyFields.ts
83
68
  var import_typeof = require("@xylabs/typeof");
84
- var removeEmptyFields = /* @__PURE__ */ __name((obj) => {
85
- if (obj === null || Array.isArray(obj)) return obj;
69
+ var removeEmptyFields = (obj) => {
70
+ if (obj === null) return obj;
71
+ if (Array.isArray(obj)) {
72
+ return obj.map((value) => typeof value === "object" ? removeEmptyFields(value) : value);
73
+ }
86
74
  const newObject = {};
87
75
  for (const [key, value] of Object.entries(obj)) {
88
76
  if ((0, import_typeof.typeOf)(value) === "object") {
@@ -92,36 +80,24 @@ var removeEmptyFields = /* @__PURE__ */ __name((obj) => {
92
80
  }
93
81
  }
94
82
  return newObject;
95
- }, "removeEmptyFields");
83
+ };
96
84
 
97
85
  // src/sortFields.ts
98
86
  var import_object = require("@xylabs/object");
99
- var subSort = /* @__PURE__ */ __name((value) => {
87
+ var subSort = (value) => {
100
88
  return (0, import_object.isObject)(value) ? sortFields(value) : value;
101
- }, "subSort");
102
- var sortFields = /* @__PURE__ */ __name((obj) => {
89
+ };
90
+ var sortFields = (obj) => {
103
91
  const result = {};
104
92
  const keys = Object.keys(obj);
105
93
  for (const key of keys.sort()) {
106
94
  result[key] = subSort(obj[key]);
107
95
  }
108
96
  return result;
109
- }, "sortFields");
110
-
111
- // src/worker/jsHashNode.ts
112
- var jsHashFunc = /* @__PURE__ */ __name(() => {
113
- const shajs2 = require("sha.js");
114
- const { asHash: asHash2 } = require("@xylabs/hex");
115
- const { expose } = require("@xylabs/threads/worker");
116
- expose({
117
- hash(data) {
118
- return asHash2(shajs2("sha256").update(data).digest().toString("hex"), true);
119
- }
120
- });
121
- }, "jsHashFunc");
97
+ };
122
98
 
123
99
  // src/worker/subtleHashNode.ts
124
- var subtleHashFunc = /* @__PURE__ */ __name(() => {
100
+ var subtleHashFunc = () => {
125
101
  const { subtle: subtle2 } = require("@xylabs/platform");
126
102
  const { expose } = require("@xylabs/threads/worker");
127
103
  expose({
@@ -129,10 +105,10 @@ var subtleHashFunc = /* @__PURE__ */ __name(() => {
129
105
  return await subtle2.digest("SHA-256", data);
130
106
  }
131
107
  });
132
- }, "subtleHashFunc");
108
+ };
133
109
 
134
110
  // src/worker/wasmHashNode.ts
135
- var wasmHashFunc = /* @__PURE__ */ __name(() => {
111
+ var wasmHashFunc = () => {
136
112
  const { sha256: sha2562 } = require("hash-wasm");
137
113
  const { asHash: asHash2 } = require("@xylabs/hex");
138
114
  const { expose } = require("@xylabs/threads/worker");
@@ -141,20 +117,15 @@ var wasmHashFunc = /* @__PURE__ */ __name(() => {
141
117
  return asHash2(await sha2562(data), true);
142
118
  }
143
119
  });
144
- }, "wasmHashFunc");
120
+ };
145
121
 
146
122
  // src/PayloadHasher.ts
147
- var wasmSupportStatic = new import_wasm.WasmSupport([
148
- "bigInt"
149
- ]);
150
- var omitByPredicate = /* @__PURE__ */ __name((prefix) => (_, key) => {
123
+ var wasmSupportStatic = new import_wasm.WasmSupport(["bigInt"]);
124
+ var omitByPredicate = (prefix) => (_, key) => {
151
125
  (0, import_assert.assertEx)(typeof key === "string", () => `Invalid key type [${key}, ${typeof key}]`);
152
126
  return key.startsWith(prefix);
153
- }, "omitByPredicate");
127
+ };
154
128
  var PayloadHasher = class _PayloadHasher extends import_object2.ObjectWrapper {
155
- static {
156
- __name(this, "PayloadHasher");
157
- }
158
129
  static allowHashPooling = true;
159
130
  static allowSubtle = true;
160
131
  static createBrowserWorker;
@@ -164,7 +135,6 @@ var PayloadHasher = class _PayloadHasher extends import_object2.ObjectWrapper {
164
135
  if (globalThis.xyo.hashing) {
165
136
  console.warn("Two static instances of PayloadHasher detected");
166
137
  }
167
- globalThis.xyo === globalThis.xyo;
168
138
  })();
169
139
  static jsHashWorkerUrl;
170
140
  static subtleHashWorkerUrl;
@@ -179,18 +149,6 @@ var PayloadHasher = class _PayloadHasher extends import_object2.ObjectWrapper {
179
149
  static _subtleHashPool;
180
150
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
181
151
  static _wasmHashPool;
182
- static get jsHashPool() {
183
- if (!this.allowHashPooling || this._jsHashPool === null) {
184
- return null;
185
- }
186
- try {
187
- return this._jsHashPool = this._jsHashPool ?? (this.jsHashWorkerUrl ? this.createWorkerPool(this.jsHashWorkerUrl, jsHashFunc) : null);
188
- } catch {
189
- console.warn("Creating js hash worker failed");
190
- this._jsHashPool = null;
191
- return null;
192
- }
193
- }
194
152
  static get subtleHashPool() {
195
153
  if (!this.allowHashPooling || this._subtleHashPool === null) {
196
154
  return null;
@@ -220,25 +178,21 @@ var PayloadHasher = class _PayloadHasher extends import_object2.ObjectWrapper {
220
178
  return (0, import_assert.assertEx)(this.createBrowserWorker?.(url) ?? this.createNodeWorker?.(func), () => "Unable to create worker");
221
179
  }
222
180
  static async filterExcludeByHash(objs = [], hash) {
223
- const hashes = Array.isArray(hash) ? hash : [
224
- hash
225
- ];
181
+ const hashes = Array.isArray(hash) ? hash : [hash];
226
182
  return (await this.hashPairs(objs)).filter(([_, objHash]) => !hashes.includes(objHash))?.map((pair) => pair[0]);
227
183
  }
228
184
  static async filterIncludeByHash(objs = [], hash) {
229
- const hashes = Array.isArray(hash) ? hash : [
230
- hash
231
- ];
185
+ const hashes = Array.isArray(hash) ? hash : [hash];
232
186
  return (await this.hashPairs(objs)).filter(([_, objHash]) => hashes.includes(objHash))?.map((pair) => pair[0]);
233
187
  }
234
188
  static async findByHash(objs = [], hash) {
235
189
  return (await this.hashPairs(objs)).find(([_, objHash]) => objHash === hash)?.[0];
236
190
  }
237
191
  /**
238
- * Asynchronously hashes a payload
239
- * @param obj A payload
240
- * @returns The payload hash
241
- */
192
+ * Asynchronously hashes a payload
193
+ * @param obj A payload
194
+ * @returns The payload hash
195
+ */
242
196
  static async hash(obj) {
243
197
  const stringToHash = this.stringifyHashFields(obj);
244
198
  if (_PayloadHasher.allowSubtle) {
@@ -246,9 +200,7 @@ var PayloadHasher = class _PayloadHasher extends import_object2.ObjectWrapper {
246
200
  const enc = new TextEncoder();
247
201
  const data = enc.encode(stringToHash);
248
202
  const hashArray = await this.subtleHash(data);
249
- return (0, import_hex.hexFromArrayBuffer)(hashArray, {
250
- bitLength: 256
251
- });
203
+ return (0, import_hex.hexFromArrayBuffer)(hashArray, { bitLength: 256 });
252
204
  } catch {
253
205
  _PayloadHasher.allowSubtle = false;
254
206
  }
@@ -261,51 +213,33 @@ var PayloadHasher = class _PayloadHasher extends import_object2.ObjectWrapper {
261
213
  this.wasmSupport.allowWasm = false;
262
214
  }
263
215
  }
264
- return await this.jsHash(stringToHash);
216
+ throw new Error("No wasm hashing available");
265
217
  }
266
218
  static hashFields(obj) {
267
219
  return sortFields(removeEmptyFields((0, import_lodash.omitBy)(obj, omitByPredicate("_"))));
268
220
  }
269
221
  /**
270
- * Creates an array of payload/hash tuples based on the payloads passed in
271
- * @param objs Any array of payloads
272
- * @returns An array of payload/hash tuples
273
- */
222
+ * Creates an array of payload/hash tuples based on the payloads passed in
223
+ * @param objs Any array of payloads
224
+ * @returns An array of payload/hash tuples
225
+ */
274
226
  static async hashPairs(objs) {
275
- return await Promise.all(objs.map(async (obj) => [
276
- obj,
277
- await _PayloadHasher.hash(obj)
278
- ]));
227
+ return await Promise.all(objs.map(async (obj) => [obj, await _PayloadHasher.hash(obj)]));
279
228
  }
280
229
  /**
281
- * Synchronously hashes a payload
282
- * @param obj A payload
283
- * @returns The payload hash
284
- */
285
- static hashSync(obj) {
286
- return (0, import_hex.asHash)((0, import_sha.default)("sha256").update(this.stringifyHashFields(obj)).digest().toString("hex"), true);
287
- }
288
- /**
289
- * Creates an array of payload hashes based on the payloads passed in
290
- * @param objs Any array of payloads
291
- * @returns An array of payload hashes
292
- */
230
+ * Creates an array of payload hashes based on the payloads passed in
231
+ * @param objs Any array of payloads
232
+ * @returns An array of payload hashes
233
+ */
293
234
  static async hashes(objs) {
294
235
  return objs ? await Promise.all(objs.map((obj) => this.hash(obj))) : void 0;
295
236
  }
296
- static async jsHash(data) {
297
- if (_PayloadHasher.warnIfUsingJsHash) {
298
- console.warn("Using jsHash [No subtle or wasm?]");
299
- }
300
- const pool = this.jsHashPool;
301
- return pool === null ? (0, import_hex.asHash)((0, import_sha.default)("sha256").update(data).digest().toString("hex"), true) : await pool.queue(async (thread) => await thread.hash(data));
302
- }
303
237
  /**
304
- * Returns a clone of the payload that is JSON safe
305
- * @param obj A payload
306
- * @param meta Keeps underscore (meta) fields if set to true
307
- * @returns Returns a clone of the payload that is JSON safe
308
- */
238
+ * Returns a clone of the payload that is JSON safe
239
+ * @param obj A payload
240
+ * @param meta Keeps underscore (meta) fields if set to true
241
+ * @returns Returns a clone of the payload that is JSON safe
242
+ */
309
243
  static json(payload, meta = false) {
310
244
  return sortFields(removeEmptyFields(meta ? payload : (0, import_lodash.omitBy)(payload, omitByPredicate("_"))));
311
245
  }
@@ -327,20 +261,17 @@ var PayloadHasher = class _PayloadHasher extends import_object2.ObjectWrapper {
327
261
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
328
262
  static createWorkerPool(url, func, size = 8) {
329
263
  if (url) console.debug(`createWorkerPool: ${url}`);
330
- const createFunc = /* @__PURE__ */ __name(() => (0, import_threads3.spawn)(this.createWorker(url, func)), "createFunc");
264
+ const createFunc = () => (0, import_threads3.spawn)(this.createWorker(url, func));
331
265
  return (0, import_threads3.Pool)(createFunc, size);
332
266
  }
333
267
  async hash() {
334
268
  return await _PayloadHasher.hash(this.obj);
335
269
  }
336
- hashSync() {
337
- return _PayloadHasher.hashSync(this.obj);
338
- }
339
270
  /**
340
- * Returns a clone of the payload that is JSON safe
341
- * @param meta Keeps underscore (meta) fields if set to true
342
- * @returns Returns a clone of the payload that is JSON safe
343
- */
271
+ * Returns a clone of the payload that is JSON safe
272
+ * @param meta Keeps underscore (meta) fields if set to true
273
+ * @returns Returns a clone of the payload that is JSON safe
274
+ */
344
275
  json(meta = false) {
345
276
  return _PayloadHasher.json(this.obj, meta);
346
277
  }
@@ -351,9 +282,6 @@ var import_meta = {};
351
282
  PayloadHasher.createBrowserWorker = createBrowserWorker;
352
283
  PayloadHasher.createNodeWorker = createNodeWorker;
353
284
  var BrowserPayloadHasher = class extends PayloadHasher {
354
- static {
355
- __name(this, "BrowserPayloadHasher");
356
- }
357
285
  static createBrowserWorker = createBrowserWorker;
358
286
  static createNodeWorker = createNodeWorker;
359
287
  static jsHashWorkerUrl = (() => {
@@ -383,7 +311,7 @@ var BrowserPayloadHasher = class extends PayloadHasher {
383
311
  var import_assert2 = require("@xylabs/assert");
384
312
  var import_lodash2 = require("@xylabs/lodash");
385
313
  var import_object3 = require("@xylabs/object");
386
- var deepBy = /* @__PURE__ */ __name((obj, predicate, func) => {
314
+ var deepBy = (obj, predicate, func) => {
387
315
  if (Array.isArray(obj)) {
388
316
  return obj;
389
317
  }
@@ -393,17 +321,25 @@ var deepBy = /* @__PURE__ */ __name((obj, predicate, func) => {
393
321
  const pickedNonObjects = (0, import_lodash2.omitBy)(nonObjects, predicate);
394
322
  const processedObjects = (0, import_lodash2.mapValues)(pickedObjects, (obj2) => deepBy(obj2, predicate, func));
395
323
  return (0, import_lodash2.merge)({}, pickedNonObjects, processedObjects);
396
- }, "deepBy");
397
- var deepOmitPrefixedFields = /* @__PURE__ */ __name((obj, prefix) => {
398
- return deepBy(obj, (_, key) => {
399
- (0, import_assert2.assertEx)(typeof key === "string", () => `Invalid key type [${key}, ${typeof key}]`);
400
- return key.startsWith(prefix);
401
- }, import_lodash2.omitBy);
402
- }, "deepOmitPrefixedFields");
403
- var deepPickUnderscoreFields = /* @__PURE__ */ __name((obj) => {
404
- return deepBy(obj, (_, key) => {
405
- (0, import_assert2.assertEx)(typeof key === "string", () => `Invalid key type [${key}, ${typeof key}]`);
406
- return key.startsWith("_");
407
- }, import_lodash2.pickBy);
408
- }, "deepPickUnderscoreFields");
324
+ };
325
+ var deepOmitPrefixedFields = (obj, prefix) => {
326
+ return deepBy(
327
+ obj,
328
+ (_, key) => {
329
+ (0, import_assert2.assertEx)(typeof key === "string", () => `Invalid key type [${key}, ${typeof key}]`);
330
+ return key.startsWith(prefix);
331
+ },
332
+ import_lodash2.omitBy
333
+ );
334
+ };
335
+ var deepPickUnderscoreFields = (obj) => {
336
+ return deepBy(
337
+ obj,
338
+ (_, key) => {
339
+ (0, import_assert2.assertEx)(typeof key === "string", () => `Invalid key type [${key}, ${typeof key}]`);
340
+ return key.startsWith("_");
341
+ },
342
+ import_lodash2.pickBy
343
+ );
344
+ };
409
345
  //# sourceMappingURL=index-browser.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index-browser.ts","../../src/createBrowserWorker.ts","../../src/createNodeWorker.ts","../../src/PayloadHasher.ts","../../src/removeEmptyFields.ts","../../src/sortFields.ts","../../src/worker/jsHashNode.ts","../../src/worker/subtleHashNode.ts","../../src/worker/wasmHashNode.ts","../../src/BrowserPayloadHasher.ts","../../src/removeFields.ts"],"sourcesContent":["export { BrowserPayloadHasher as PayloadHasher } from './BrowserPayloadHasher.js'\nexport * from './removeEmptyFields.js'\nexport * from './removeFields.js'\nexport * from './sortFields.js'\n","import { Worker } from '@xylabs/threads'\n\nexport const createBrowserWorker = (url?: URL) => {\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new Worker(url as any)\n } catch {\n return\n }\n}\n","import { Worker } from '@xylabs/threads'\n\nexport const createNodeWorker = (func?: () => unknown) => {\n try {\n const code = func?.toString().slice(6) ?? ''\n const w = new Worker(\n code,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n { fromSource: true } as any,\n )\n return w\n } catch {\n return\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { asHash, Hash, hexFromArrayBuffer } from '@xylabs/hex'\nimport { omitBy } from '@xylabs/lodash'\nimport { EmptyObject, ObjectWrapper } from '@xylabs/object'\nimport { subtle } from '@xylabs/platform'\nimport { ModuleThread, Pool, spawn, Worker } from '@xylabs/threads'\nimport { WasmSupport } from '@xyo-network/wasm'\nimport { sha256 } from 'hash-wasm'\nimport shajs from 'sha.js'\n\nimport { removeEmptyFields } from './removeEmptyFields.js'\nimport { sortFields } from './sortFields.js'\nimport { jsHashFunc, subtleHashFunc, wasmHashFunc } from './worker/index.js'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type WorkerFunction = ((...args: any[]) => any) | (() => any)\nexport type WorkerModule<Keys extends string> = {\n [key in Keys]: WorkerFunction\n}\n\nconst wasmSupportStatic = new WasmSupport(['bigInt'])\n\nconst omitByPredicate = (prefix: string) => (_: unknown, key: string) => {\n assertEx(typeof key === 'string', () => `Invalid key type [${key}, ${typeof key}]`)\n return key.startsWith(prefix)\n}\n\nexport class PayloadHasher<T extends EmptyObject = EmptyObject> extends ObjectWrapper<T> {\n static allowHashPooling = true\n static allowSubtle = true\n static createBrowserWorker?: (url?: URL) => Worker | undefined\n static createNodeWorker?: (func?: () => unknown) => Worker | undefined\n\n static initialized = (() => {\n globalThis.xyo = globalThis.xyo ?? {}\n if (globalThis.xyo.hashing) {\n console.warn('Two static instances of PayloadHasher detected')\n }\n globalThis.xyo === globalThis.xyo ?? { hashing: PayloadHasher }\n })()\n\n static jsHashWorkerUrl?: URL\n static subtleHashWorkerUrl?: URL\n\n static warnIfUsingJsHash = true\n\n static wasmHashWorkerUrl?: URL\n\n static readonly wasmInitialized = wasmSupportStatic.initialize()\n static readonly wasmSupport = wasmSupportStatic\n\n // These get set to null if they fail to create and then we just don't use workers - needed for storybook\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static _jsHashPool?: Pool<ModuleThread<WorkerModule<any>>> | null\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static _subtleHashPool?: Pool<ModuleThread<WorkerModule<any>>> | null\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static _wasmHashPool?: Pool<ModuleThread<WorkerModule<any>>> | null\n\n private static get jsHashPool() {\n if (!this.allowHashPooling || this._jsHashPool === null) {\n return null\n }\n try {\n return (this._jsHashPool = this._jsHashPool ?? (this.jsHashWorkerUrl ? this.createWorkerPool(this.jsHashWorkerUrl, jsHashFunc) : null))\n } catch {\n console.warn('Creating js hash worker failed')\n this._jsHashPool = null\n return null\n }\n }\n\n private static get subtleHashPool() {\n if (!this.allowHashPooling || this._subtleHashPool === null) {\n return null\n }\n try {\n return (this._subtleHashPool =\n this._subtleHashPool ?? (this.subtleHashWorkerUrl ? this.createWorkerPool(this.subtleHashWorkerUrl, subtleHashFunc) : null))\n } catch {\n console.warn('Creating subtle hash worker failed')\n this._subtleHashPool = null\n return null\n }\n }\n\n private static get wasmHashPool() {\n if (!this.allowHashPooling || this._wasmHashPool === null) {\n return null\n }\n try {\n return (this._wasmHashPool =\n this._wasmHashPool ?? (this.wasmHashWorkerUrl ? this.createWorkerPool(this.wasmHashWorkerUrl, wasmHashFunc) : null))\n } catch {\n console.warn('Creating wasm hash worker failed')\n this._wasmHashPool = null\n return null\n }\n }\n\n static createWorker(url?: URL, func?: () => unknown) {\n if (url) console.debug(`createWorker: ${url}`)\n return assertEx(this.createBrowserWorker?.(url) ?? this.createNodeWorker?.(func), () => 'Unable to create worker')\n }\n\n static async filterExcludeByHash<T extends EmptyObject>(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 filterIncludeByHash<T extends EmptyObject>(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 findByHash<T extends EmptyObject>(objs: T[] = [], hash: Hash): Promise<T | undefined> {\n return (await this.hashPairs(objs)).find(([_, objHash]) => objHash === hash)?.[0]\n }\n\n /**\n * Asynchronously hashes a payload\n * @param obj A payload\n * @returns The payload hash\n */\n static async hash<T extends EmptyObject>(obj: T): Promise<Hash> {\n const stringToHash = this.stringifyHashFields(obj)\n\n if (PayloadHasher.allowSubtle) {\n try {\n const enc = new TextEncoder()\n const data = enc.encode(stringToHash)\n const hashArray = await this.subtleHash(data)\n return hexFromArrayBuffer(hashArray, { bitLength: 256 })\n } catch {\n PayloadHasher.allowSubtle = false\n }\n }\n\n await this.wasmInitialized\n if (this.wasmSupport.canUseWasm) {\n try {\n return this.wasmHash(stringToHash)\n } catch {\n this.wasmSupport.allowWasm = false\n }\n }\n return await this.jsHash(stringToHash)\n }\n\n static hashFields<T extends EmptyObject>(obj: T): T {\n return sortFields(removeEmptyFields(omitBy(obj, omitByPredicate('_')))) as T\n }\n\n /**\n * Creates an array of payload/hash tuples based on the payloads passed in\n * @param objs Any array of payloads\n * @returns An array of payload/hash tuples\n */\n static async hashPairs<T extends EmptyObject>(objs: T[]): Promise<[T, Hash][]> {\n return await Promise.all(objs.map<Promise<[T, Hash]>>(async (obj) => [obj, await PayloadHasher.hash(obj)]))\n }\n\n /**\n * Synchronously hashes a payload\n * @param obj A payload\n * @returns The payload hash\n */\n static hashSync<T extends EmptyObject>(obj: T): Hash {\n return asHash(shajs('sha256').update(this.stringifyHashFields(obj)).digest().toString('hex'), true)\n }\n\n /**\n * Creates an array of payload hashes based on the payloads passed in\n * @param objs Any array of payloads\n * @returns An array of payload hashes\n */\n static async hashes<T extends EmptyObject>(objs?: T[]): Promise<Hash[] | undefined> {\n return objs ? await Promise.all(objs.map((obj) => this.hash(obj))) : undefined\n }\n\n static async jsHash(data: string) {\n if (PayloadHasher.warnIfUsingJsHash) {\n console.warn('Using jsHash [No subtle or wasm?]')\n }\n const pool = this.jsHashPool\n return pool === null ?\n asHash(shajs('sha256').update(data).digest().toString('hex'), true)\n : await pool.queue(async (thread) => await thread.hash(data))\n }\n\n /**\n * Returns a clone of the payload that is JSON safe\n * @param obj A payload\n * @param meta Keeps underscore (meta) fields if set to true\n * @returns Returns a clone of the payload that is JSON safe\n */\n static json<T extends EmptyObject>(payload: T, meta = false): T {\n return sortFields(removeEmptyFields(meta ? payload : omitBy(payload, omitByPredicate('_')))) as T\n }\n\n /** @deprecated us json instead */\n static jsonPayload<T extends EmptyObject>(payload: T, meta = false): T {\n return this.json(payload, meta)\n }\n\n static stringifyHashFields<T extends EmptyObject>(obj: T) {\n return JSON.stringify(this.hashFields(obj))\n }\n\n static async subtleHash(data: Uint8Array): Promise<ArrayBuffer> {\n const pool = this.subtleHashPool\n return pool === null ? await subtle.digest('SHA-256', data) : await pool.queue(async (thread) => await thread.hash(data))\n }\n\n static async wasmHash(data: string) {\n const pool = this.wasmHashPool\n return pool === null ? asHash(await sha256(data), true) : pool.queue(async (thread) => await thread.hash(data))\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static createWorkerPool<T extends WorkerModule<any>>(url?: URL, func?: () => unknown, size = 8) {\n if (url) console.debug(`createWorkerPool: ${url}`)\n const createFunc = () => spawn<T>(this.createWorker(url, func))\n return Pool(createFunc, size)\n }\n\n async hash(): Promise<Hash> {\n return await PayloadHasher.hash(this.obj)\n }\n\n hashSync(): Hash {\n return PayloadHasher.hashSync(this.obj)\n }\n\n /**\n * Returns a clone of the payload that is JSON safe\n * @param meta Keeps underscore (meta) fields if set to true\n * @returns Returns a clone of the payload that is JSON safe\n */\n json(meta = false): T {\n return PayloadHasher.json(this.obj, meta)\n }\n}\n","import { AnyObject, EmptyObject } from '@xylabs/object'\nimport { typeOf } from '@xylabs/typeof'\n\nexport const removeEmptyFields = <T extends EmptyObject>(obj: T): T => {\n if (obj === null || Array.isArray(obj)) return obj\n\n const newObject: AnyObject = {}\n for (const [key, value] of Object.entries(obj)) {\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 { AnyObject, EmptyObject, isObject } from '@xylabs/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 EmptyObject>(obj: T) => {\n const result: AnyObject = {}\n const keys = Object.keys(obj) as (keyof T)[]\n for (const key of keys.sort()) {\n result[key] = subSort(obj[key])\n }\n return result as T\n}\n","/* eslint-disable @typescript-eslint/no-var-requires */\nexport const jsHashFunc = () => {\n const shajs = require('sha.js')\n const { asHash } = require('@xylabs/hex')\n // eslint-disable-next-line import/no-internal-modules\n const { expose } = require('@xylabs/threads/worker')\n\n expose({\n hash(data: string) {\n return asHash(shajs('sha256').update(data).digest().toString('hex'), true)\n },\n })\n}\n","/* eslint-disable @typescript-eslint/no-var-requires */\nexport const subtleHashFunc = () => {\n const { subtle } = require('@xylabs/platform')\n // eslint-disable-next-line import/no-internal-modules\n const { expose } = require('@xylabs/threads/worker')\n\n expose({\n async hash(data: ArrayBuffer) {\n return await subtle.digest('SHA-256', data)\n },\n })\n}\n","/* eslint-disable @typescript-eslint/no-var-requires */\nexport const wasmHashFunc = () => {\n const { sha256 } = require('hash-wasm')\n const { asHash } = require('@xylabs/hex')\n // eslint-disable-next-line import/no-internal-modules\n const { expose } = require('@xylabs/threads/worker')\n\n expose({\n async hash(data: string) {\n return asHash(await sha256(data), true)\n },\n })\n}\n","import { createBrowserWorker } from './createBrowserWorker.js'\nimport { createNodeWorker } from './createNodeWorker.js'\nimport { PayloadHasher } from './PayloadHasher.js'\n\n// We put both in here so that things will work in jsdom/jest\n\nPayloadHasher.createBrowserWorker = createBrowserWorker\nPayloadHasher.createNodeWorker = createNodeWorker\n\nexport class BrowserPayloadHasher extends PayloadHasher {\n static override createBrowserWorker = createBrowserWorker\n static override createNodeWorker = createNodeWorker\n static override jsHashWorkerUrl = (() => {\n try {\n return new URL('worker/jsHash-bundle.js', import.meta.url)\n } catch {\n return\n }\n })()\n static override subtleHashWorkerUrl = (() => {\n try {\n return new URL('worker/subtleHash-bundle.js', import.meta.url)\n } catch {\n return\n }\n })()\n static override wasmHashWorkerUrl = (() => {\n try {\n return new URL('worker/wasmHash-bundle.js', import.meta.url)\n } catch {\n return\n }\n })()\n}\n","import { assertEx } from '@xylabs/assert'\nimport { mapValues, merge, omitBy, pickBy } from '@xylabs/lodash'\nimport { EmptyObject, isObject } from '@xylabs/object'\ntype ValueKeyIteratee<T> = (value: T, key: string) => unknown\n\nexport const deepBy = <T extends EmptyObject>(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 deepOmitPrefixedFields = <T extends EmptyObject>(obj: T, prefix: string): T => {\n return deepBy(\n obj,\n (_, key) => {\n assertEx(typeof key === 'string', () => `Invalid key type [${key}, ${typeof key}]`)\n return key.startsWith(prefix)\n },\n omitBy,\n )\n}\n\nexport const deepPickUnderscoreFields = <T extends EmptyObject>(obj: T): T => {\n return deepBy(\n obj,\n (_, key) => {\n assertEx(typeof key === 'string', () => `Invalid key type [${key}, ${typeof key}]`)\n return key.startsWith('_')\n },\n pickBy,\n )\n}\n"],"mappings":"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","names":["createBrowserWorker","url","Worker","import_threads","createNodeWorker","func","code","toString","slice","w","Worker","fromSource","import_object","import_threads","removeEmptyFields","obj","Array","isArray","newObject","key","value","Object","entries","typeOf","undefined","subSort","value","isObject","sortFields","obj","result","keys","Object","key","sort","jsHashFunc","shajs","require","asHash","expose","hash","data","update","digest","toString","subtleHashFunc","subtle","require","expose","hash","data","digest","wasmHashFunc","sha256","require","asHash","expose","hash","data","wasmSupportStatic","WasmSupport","omitByPredicate","prefix","_","key","assertEx","startsWith","PayloadHasher","ObjectWrapper","allowHashPooling","allowSubtle","createBrowserWorker","createNodeWorker","initialized","globalThis","xyo","hashing","console","warn","jsHashWorkerUrl","subtleHashWorkerUrl","warnIfUsingJsHash","wasmHashWorkerUrl","wasmInitialized","initialize","wasmSupport","_jsHashPool","_subtleHashPool","_wasmHashPool","jsHashPool","createWorkerPool","jsHashFunc","subtleHashPool","subtleHashFunc","wasmHashPool","wasmHashFunc","createWorker","url","func","debug","filterExcludeByHash","objs","hash","hashes","Array","isArray","hashPairs","filter","objHash","includes","map","pair","filterIncludeByHash","findByHash","find","obj","stringToHash","stringifyHashFields","enc","TextEncoder","data","encode","hashArray","subtleHash","hexFromArrayBuffer","bitLength","canUseWasm","wasmHash","allowWasm","jsHash","hashFields","sortFields","removeEmptyFields","omitBy","Promise","all","hashSync","asHash","shajs","update","digest","toString","undefined","pool","queue","thread","json","payload","meta","jsonPayload","JSON","stringify","subtle","sha256","size","createFunc","spawn","Pool","PayloadHasher","createBrowserWorker","createNodeWorker","BrowserPayloadHasher","jsHashWorkerUrl","URL","url","subtleHashWorkerUrl","wasmHashWorkerUrl","import_assert","import_lodash","import_object","deepBy","obj","predicate","func","Array","isArray","onlyObjects","pickBy","isObject","nonObjects","value","pickedObjects","omitBy","pickedNonObjects","processedObjects","mapValues","merge","deepOmitPrefixedFields","prefix","_","key","assertEx","startsWith","deepPickUnderscoreFields"]}
1
+ {"version":3,"sources":["../../src/index-browser.ts","../../src/createBrowserWorker.ts","../../src/createNodeWorker.ts","../../src/PayloadHasher.ts","../../src/removeEmptyFields.ts","../../src/sortFields.ts","../../src/worker/subtleHashNode.ts","../../src/worker/wasmHashNode.ts","../../src/BrowserPayloadHasher.ts","../../src/removeFields.ts"],"sourcesContent":["export { BrowserPayloadHasher as PayloadHasher } from './BrowserPayloadHasher.js'\nexport * from './removeEmptyFields.js'\nexport * from './removeFields.js'\nexport * from './sortFields.js'\n","import { Worker } from '@xylabs/threads'\n\nexport const createBrowserWorker = (url?: URL) => {\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new Worker(url as any)\n } catch {\n return\n }\n}\n","import { Worker } from '@xylabs/threads'\n\nexport const createNodeWorker = (func?: () => unknown) => {\n try {\n const code = func?.toString().slice(6) ?? ''\n return new Worker(\n code,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n { fromSource: true } as any,\n )\n } catch {\n return\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { asHash, Hash, hexFromArrayBuffer } from '@xylabs/hex'\nimport { omitBy } from '@xylabs/lodash'\nimport { EmptyObject, ObjectWrapper } from '@xylabs/object'\nimport { subtle } from '@xylabs/platform'\nimport { ModuleThread, Pool, spawn, Worker } from '@xylabs/threads'\nimport { WasmSupport } from '@xyo-network/wasm'\nimport { sha256 } from 'hash-wasm'\n\nimport { removeEmptyFields } from './removeEmptyFields.js'\nimport { sortFields } from './sortFields.js'\nimport { subtleHashFunc, wasmHashFunc } from './worker/index.js'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type WorkerFunction = ((...args: any[]) => any) | (() => any)\nexport type WorkerModule<Keys extends string> = {\n [key in Keys]: WorkerFunction\n}\n\nconst wasmSupportStatic = new WasmSupport(['bigInt'])\n\nconst omitByPredicate = (prefix: string) => (_: unknown, key: string) => {\n assertEx(typeof key === 'string', () => `Invalid key type [${key}, ${typeof key}]`)\n return key.startsWith(prefix)\n}\n\nexport class PayloadHasher<T extends EmptyObject = EmptyObject> extends ObjectWrapper<T> {\n static allowHashPooling = true\n static allowSubtle = true\n static createBrowserWorker?: (url?: URL) => Worker | undefined\n static createNodeWorker?: (func?: () => unknown) => Worker | undefined\n\n static initialized = (() => {\n globalThis.xyo = globalThis.xyo ?? {}\n if (globalThis.xyo.hashing) {\n console.warn('Two static instances of PayloadHasher detected')\n }\n })()\n\n static jsHashWorkerUrl?: URL\n static subtleHashWorkerUrl?: URL\n\n static warnIfUsingJsHash = true\n\n static wasmHashWorkerUrl?: URL\n\n static readonly wasmInitialized = wasmSupportStatic.initialize()\n static readonly wasmSupport = wasmSupportStatic\n\n // These get set to null if they fail to create and then we just don't use workers - needed for storybook\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static _jsHashPool?: Pool<ModuleThread<WorkerModule<any>>> | null\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static _subtleHashPool?: Pool<ModuleThread<WorkerModule<any>>> | null\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static _wasmHashPool?: Pool<ModuleThread<WorkerModule<any>>> | null\n\n private static get subtleHashPool() {\n if (!this.allowHashPooling || this._subtleHashPool === null) {\n return null\n }\n try {\n return (this._subtleHashPool =\n this._subtleHashPool ?? (this.subtleHashWorkerUrl ? this.createWorkerPool(this.subtleHashWorkerUrl, subtleHashFunc) : null))\n } catch {\n console.warn('Creating subtle hash worker failed')\n this._subtleHashPool = null\n return null\n }\n }\n\n private static get wasmHashPool() {\n if (!this.allowHashPooling || this._wasmHashPool === null) {\n return null\n }\n try {\n return (this._wasmHashPool =\n this._wasmHashPool ?? (this.wasmHashWorkerUrl ? this.createWorkerPool(this.wasmHashWorkerUrl, wasmHashFunc) : null))\n } catch {\n console.warn('Creating wasm hash worker failed')\n this._wasmHashPool = null\n return null\n }\n }\n\n static createWorker(url?: URL, func?: () => unknown) {\n if (url) console.debug(`createWorker: ${url}`)\n return assertEx(this.createBrowserWorker?.(url) ?? this.createNodeWorker?.(func), () => 'Unable to create worker')\n }\n\n static async filterExcludeByHash<T extends EmptyObject>(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 filterIncludeByHash<T extends EmptyObject>(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 findByHash<T extends EmptyObject>(objs: T[] = [], hash: Hash): Promise<T | undefined> {\n return (await this.hashPairs(objs)).find(([_, objHash]) => objHash === hash)?.[0]\n }\n\n /**\n * Asynchronously hashes a payload\n * @param obj A payload\n * @returns The payload hash\n */\n static async hash<T extends EmptyObject>(obj: T): Promise<Hash> {\n const stringToHash = this.stringifyHashFields(obj)\n\n if (PayloadHasher.allowSubtle) {\n try {\n const enc = new TextEncoder()\n const data = enc.encode(stringToHash)\n const hashArray = await this.subtleHash(data)\n return hexFromArrayBuffer(hashArray, { bitLength: 256 })\n } catch {\n PayloadHasher.allowSubtle = false\n }\n }\n\n await this.wasmInitialized\n if (this.wasmSupport.canUseWasm) {\n try {\n return this.wasmHash(stringToHash)\n } catch {\n this.wasmSupport.allowWasm = false\n }\n }\n throw new Error('No wasm hashing available')\n }\n\n static hashFields<T extends EmptyObject>(obj: T): T {\n return sortFields(removeEmptyFields(omitBy(obj, omitByPredicate('_')))) as T\n }\n\n /**\n * Creates an array of payload/hash tuples based on the payloads passed in\n * @param objs Any array of payloads\n * @returns An array of payload/hash tuples\n */\n static async hashPairs<T extends EmptyObject>(objs: T[]): Promise<[T, Hash][]> {\n return await Promise.all(objs.map<Promise<[T, Hash]>>(async (obj) => [obj, await PayloadHasher.hash(obj)]))\n }\n\n /**\n * Creates an array of payload hashes based on the payloads passed in\n * @param objs Any array of payloads\n * @returns An array of payload hashes\n */\n static async hashes<T extends EmptyObject>(objs?: T[]): Promise<Hash[] | undefined> {\n return objs ? await Promise.all(objs.map((obj) => this.hash(obj))) : undefined\n }\n\n /**\n * Returns a clone of the payload that is JSON safe\n * @param obj A payload\n * @param meta Keeps underscore (meta) fields if set to true\n * @returns Returns a clone of the payload that is JSON safe\n */\n static json<T extends EmptyObject>(payload: T, meta = false): T {\n return sortFields(removeEmptyFields(meta ? payload : omitBy(payload, omitByPredicate('_')))) as T\n }\n\n /** @deprecated us json instead */\n static jsonPayload<T extends EmptyObject>(payload: T, meta = false): T {\n return this.json(payload, meta)\n }\n\n static stringifyHashFields<T extends EmptyObject>(obj: T) {\n return JSON.stringify(this.hashFields(obj))\n }\n\n static async subtleHash(data: Uint8Array): Promise<ArrayBuffer> {\n const pool = this.subtleHashPool\n return pool === null ? await subtle.digest('SHA-256', data) : await pool.queue(async (thread) => await thread.hash(data))\n }\n\n static async wasmHash(data: string) {\n const pool = this.wasmHashPool\n return pool === null ? asHash(await sha256(data), true) : pool.queue(async (thread) => await thread.hash(data))\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static createWorkerPool<T extends WorkerModule<any>>(url?: URL, func?: () => unknown, size = 8) {\n if (url) console.debug(`createWorkerPool: ${url}`)\n const createFunc = () => spawn<T>(this.createWorker(url, func))\n return Pool(createFunc, size)\n }\n\n async hash(): Promise<Hash> {\n return await PayloadHasher.hash(this.obj)\n }\n\n /**\n * Returns a clone of the payload that is JSON safe\n * @param meta Keeps underscore (meta) fields if set to true\n * @returns Returns a clone of the payload that is JSON safe\n */\n json(meta = false): T {\n return PayloadHasher.json(this.obj, meta)\n }\n}\n","import { AnyObject, EmptyObject } from '@xylabs/object'\nimport { typeOf } from '@xylabs/typeof'\n\nexport const removeEmptyFields = <T extends EmptyObject>(obj: T): T => {\n if (obj === null) return obj\n\n if (Array.isArray(obj)) {\n return obj.map((value) => (typeof value === 'object' ? removeEmptyFields(value) : value)) as T\n }\n\n const newObject: AnyObject = {}\n for (const [key, value] of Object.entries(obj)) {\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 { AnyObject, EmptyObject, isObject } from '@xylabs/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 EmptyObject>(obj: T) => {\n const result: AnyObject = {}\n const keys = Object.keys(obj) as (keyof T)[]\n for (const key of keys.sort()) {\n result[key] = subSort(obj[key])\n }\n return result as T\n}\n","/* eslint-disable @typescript-eslint/no-var-requires */\nexport const subtleHashFunc = () => {\n const { subtle } = require('@xylabs/platform')\n const { expose } = require('@xylabs/threads/worker')\n\n expose({\n async hash(data: ArrayBuffer) {\n return await subtle.digest('SHA-256', data)\n },\n })\n}\n","/* eslint-disable @typescript-eslint/no-var-requires */\nexport const wasmHashFunc = () => {\n const { sha256 } = require('hash-wasm')\n const { asHash } = require('@xylabs/hex')\n\n const { expose } = require('@xylabs/threads/worker')\n\n expose({\n async hash(data: string) {\n return asHash(await sha256(data), true)\n },\n })\n}\n","import { createBrowserWorker } from './createBrowserWorker.js'\nimport { createNodeWorker } from './createNodeWorker.js'\nimport { PayloadHasher } from './PayloadHasher.js'\n\n// We put both in here so that things will work in jsdom/jest\n\nPayloadHasher.createBrowserWorker = createBrowserWorker\nPayloadHasher.createNodeWorker = createNodeWorker\n\nexport class BrowserPayloadHasher extends PayloadHasher {\n static override createBrowserWorker = createBrowserWorker\n static override createNodeWorker = createNodeWorker\n static override jsHashWorkerUrl = (() => {\n try {\n return new URL('worker/jsHash-bundle.js', import.meta.url)\n } catch {\n return\n }\n })()\n static override subtleHashWorkerUrl = (() => {\n try {\n return new URL('worker/subtleHash-bundle.js', import.meta.url)\n } catch {\n return\n }\n })()\n static override wasmHashWorkerUrl = (() => {\n try {\n return new URL('worker/wasmHash-bundle.js', import.meta.url)\n } catch {\n return\n }\n })()\n}\n","import { assertEx } from '@xylabs/assert'\nimport { mapValues, merge, omitBy, pickBy } from '@xylabs/lodash'\nimport { EmptyObject, isObject } from '@xylabs/object'\ntype ValueKeyIteratee<T> = (value: T, key: string) => unknown\n\nexport const deepBy = <T extends EmptyObject>(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 deepOmitPrefixedFields = <T extends EmptyObject>(obj: T, prefix: string): T => {\n return deepBy(\n obj,\n (_, key) => {\n assertEx(typeof key === 'string', () => `Invalid key type [${key}, ${typeof key}]`)\n return key.startsWith(prefix)\n },\n omitBy,\n )\n}\n\nexport const deepPickUnderscoreFields = <T extends EmptyObject>(obj: T): T => {\n return deepBy(\n obj,\n (_, key) => {\n assertEx(typeof key === 'string', () => `Invalid key type [${key}, ${typeof key}]`)\n return key.startsWith('_')\n },\n pickBy,\n )\n}\n"],"mappings":"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","names":["import_threads","import_object","import_threads","subtle","sha256","asHash","import_assert","import_lodash","import_object","obj"]}