@xyo-network/hash 2.91.1 → 2.91.3

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 (137) hide show
  1. package/dist/browser/BrowserPayloadHasher.d.cts +2 -2
  2. package/dist/browser/BrowserPayloadHasher.d.cts.map +1 -1
  3. package/dist/browser/BrowserPayloadHasher.d.mts +2 -2
  4. package/dist/browser/BrowserPayloadHasher.d.mts.map +1 -1
  5. package/dist/browser/BrowserPayloadHasher.d.ts +2 -2
  6. package/dist/browser/BrowserPayloadHasher.d.ts.map +1 -1
  7. package/dist/browser/NodePayloadHasher.d.cts +1 -1
  8. package/dist/browser/NodePayloadHasher.d.cts.map +1 -1
  9. package/dist/browser/NodePayloadHasher.d.mts +1 -1
  10. package/dist/browser/NodePayloadHasher.d.mts.map +1 -1
  11. package/dist/browser/NodePayloadHasher.d.ts +1 -1
  12. package/dist/browser/NodePayloadHasher.d.ts.map +1 -1
  13. package/dist/browser/PayloadHasher.d.cts +2 -2
  14. package/dist/browser/PayloadHasher.d.cts.map +1 -1
  15. package/dist/browser/PayloadHasher.d.mts +2 -2
  16. package/dist/browser/PayloadHasher.d.mts.map +1 -1
  17. package/dist/browser/PayloadHasher.d.ts +2 -2
  18. package/dist/browser/PayloadHasher.d.ts.map +1 -1
  19. package/dist/browser/createBrowserWorker.d.cts +1 -1
  20. package/dist/browser/createBrowserWorker.d.cts.map +1 -1
  21. package/dist/browser/createBrowserWorker.d.mts +1 -1
  22. package/dist/browser/createBrowserWorker.d.mts.map +1 -1
  23. package/dist/browser/createBrowserWorker.d.ts +1 -1
  24. package/dist/browser/createBrowserWorker.d.ts.map +1 -1
  25. package/dist/browser/createNodeWorker.d.cts +1 -1
  26. package/dist/browser/createNodeWorker.d.cts.map +1 -1
  27. package/dist/browser/createNodeWorker.d.mts +1 -1
  28. package/dist/browser/createNodeWorker.d.mts.map +1 -1
  29. package/dist/browser/createNodeWorker.d.ts +1 -1
  30. package/dist/browser/createNodeWorker.d.ts.map +1 -1
  31. package/dist/browser/index-browser.cjs +6 -6
  32. package/dist/browser/index-browser.cjs.map +1 -1
  33. package/dist/browser/index-browser.js +6 -6
  34. package/dist/browser/index-browser.js.map +1 -1
  35. package/dist/browser/worker/index.cjs +3 -3
  36. package/dist/browser/worker/index.cjs.map +1 -1
  37. package/dist/browser/worker/index.js +3 -3
  38. package/dist/browser/worker/index.js.map +1 -1
  39. package/dist/browser/worker/jsHash-bundle.js +457 -498
  40. package/dist/browser/worker/jsHash.cjs +1 -1
  41. package/dist/browser/worker/jsHash.cjs.map +1 -1
  42. package/dist/browser/worker/jsHash.js +1 -1
  43. package/dist/browser/worker/jsHash.js.map +1 -1
  44. package/dist/browser/worker/jsHashNode.cjs +1 -1
  45. package/dist/browser/worker/jsHashNode.cjs.map +1 -1
  46. package/dist/browser/worker/jsHashNode.js +1 -1
  47. package/dist/browser/worker/jsHashNode.js.map +1 -1
  48. package/dist/browser/worker/subtleHash-bundle.js +73 -112
  49. package/dist/browser/worker/subtleHash.cjs +1 -1
  50. package/dist/browser/worker/subtleHash.cjs.map +1 -1
  51. package/dist/browser/worker/subtleHash.js +1 -1
  52. package/dist/browser/worker/subtleHash.js.map +1 -1
  53. package/dist/browser/worker/subtleHashNode.cjs +1 -1
  54. package/dist/browser/worker/subtleHashNode.cjs.map +1 -1
  55. package/dist/browser/worker/subtleHashNode.js +1 -1
  56. package/dist/browser/worker/subtleHashNode.js.map +1 -1
  57. package/dist/browser/worker/wasmHash-bundle.js +74 -113
  58. package/dist/browser/worker/wasmHash.cjs +1 -1
  59. package/dist/browser/worker/wasmHash.cjs.map +1 -1
  60. package/dist/browser/worker/wasmHash.js +1 -1
  61. package/dist/browser/worker/wasmHash.js.map +1 -1
  62. package/dist/browser/worker/wasmHashNode.cjs +1 -1
  63. package/dist/browser/worker/wasmHashNode.cjs.map +1 -1
  64. package/dist/browser/worker/wasmHashNode.js +1 -1
  65. package/dist/browser/worker/wasmHashNode.js.map +1 -1
  66. package/dist/node/BrowserPayloadHasher.d.cts +2 -2
  67. package/dist/node/BrowserPayloadHasher.d.cts.map +1 -1
  68. package/dist/node/BrowserPayloadHasher.d.mts +2 -2
  69. package/dist/node/BrowserPayloadHasher.d.mts.map +1 -1
  70. package/dist/node/BrowserPayloadHasher.d.ts +2 -2
  71. package/dist/node/BrowserPayloadHasher.d.ts.map +1 -1
  72. package/dist/node/NodePayloadHasher.d.cts +1 -1
  73. package/dist/node/NodePayloadHasher.d.cts.map +1 -1
  74. package/dist/node/NodePayloadHasher.d.mts +1 -1
  75. package/dist/node/NodePayloadHasher.d.mts.map +1 -1
  76. package/dist/node/NodePayloadHasher.d.ts +1 -1
  77. package/dist/node/NodePayloadHasher.d.ts.map +1 -1
  78. package/dist/node/PayloadHasher.d.cts +2 -2
  79. package/dist/node/PayloadHasher.d.cts.map +1 -1
  80. package/dist/node/PayloadHasher.d.mts +2 -2
  81. package/dist/node/PayloadHasher.d.mts.map +1 -1
  82. package/dist/node/PayloadHasher.d.ts +2 -2
  83. package/dist/node/PayloadHasher.d.ts.map +1 -1
  84. package/dist/node/createBrowserWorker.d.cts +1 -1
  85. package/dist/node/createBrowserWorker.d.cts.map +1 -1
  86. package/dist/node/createBrowserWorker.d.mts +1 -1
  87. package/dist/node/createBrowserWorker.d.mts.map +1 -1
  88. package/dist/node/createBrowserWorker.d.ts +1 -1
  89. package/dist/node/createBrowserWorker.d.ts.map +1 -1
  90. package/dist/node/createNodeWorker.d.cts +1 -1
  91. package/dist/node/createNodeWorker.d.cts.map +1 -1
  92. package/dist/node/createNodeWorker.d.mts +1 -1
  93. package/dist/node/createNodeWorker.d.mts.map +1 -1
  94. package/dist/node/createNodeWorker.d.ts +1 -1
  95. package/dist/node/createNodeWorker.d.ts.map +1 -1
  96. package/dist/node/index.cjs +5 -5
  97. package/dist/node/index.cjs.map +1 -1
  98. package/dist/node/index.js +5 -5
  99. package/dist/node/index.js.map +1 -1
  100. package/dist/node/worker/index.cjs +3 -3
  101. package/dist/node/worker/index.cjs.map +1 -1
  102. package/dist/node/worker/index.js +3 -3
  103. package/dist/node/worker/index.js.map +1 -1
  104. package/dist/node/worker/jsHash.cjs +1 -1
  105. package/dist/node/worker/jsHash.cjs.map +1 -1
  106. package/dist/node/worker/jsHash.js +1 -1
  107. package/dist/node/worker/jsHash.js.map +1 -1
  108. package/dist/node/worker/jsHashNode.cjs +1 -1
  109. package/dist/node/worker/jsHashNode.cjs.map +1 -1
  110. package/dist/node/worker/jsHashNode.js +1 -1
  111. package/dist/node/worker/jsHashNode.js.map +1 -1
  112. package/dist/node/worker/subtleHash.cjs +1 -1
  113. package/dist/node/worker/subtleHash.cjs.map +1 -1
  114. package/dist/node/worker/subtleHash.js +1 -1
  115. package/dist/node/worker/subtleHash.js.map +1 -1
  116. package/dist/node/worker/subtleHashNode.cjs +1 -1
  117. package/dist/node/worker/subtleHashNode.cjs.map +1 -1
  118. package/dist/node/worker/subtleHashNode.js +1 -1
  119. package/dist/node/worker/subtleHashNode.js.map +1 -1
  120. package/dist/node/worker/wasmHash.cjs +1 -1
  121. package/dist/node/worker/wasmHash.cjs.map +1 -1
  122. package/dist/node/worker/wasmHash.js +1 -1
  123. package/dist/node/worker/wasmHash.js.map +1 -1
  124. package/dist/node/worker/wasmHashNode.cjs +1 -1
  125. package/dist/node/worker/wasmHashNode.cjs.map +1 -1
  126. package/dist/node/worker/wasmHashNode.js +1 -1
  127. package/dist/node/worker/wasmHashNode.js.map +1 -1
  128. package/package.json +11 -11
  129. package/src/PayloadHasher.ts +3 -3
  130. package/src/createBrowserWorker.ts +1 -1
  131. package/src/createNodeWorker.ts +1 -1
  132. package/src/worker/jsHash.ts +2 -2
  133. package/src/worker/jsHashNode.ts +1 -1
  134. package/src/worker/subtleHash.ts +1 -1
  135. package/src/worker/subtleHashNode.ts +1 -1
  136. package/src/worker/wasmHash.ts +2 -2
  137. package/src/worker/wasmHashNode.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  import { PayloadHasher } from './PayloadHasher';
2
2
  export declare class BrowserPayloadHasher extends PayloadHasher {
3
- static createBrowserWorker: (url?: URL | undefined) => import("threads/dist/types/master").WorkerImplementation | undefined;
4
- static createNodeWorker: (func?: (() => unknown) | undefined) => import("threads/dist/types/master").WorkerImplementation | undefined;
3
+ static createBrowserWorker: (url?: URL | undefined) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
4
+ static createNodeWorker: (func?: (() => unknown) | undefined) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
5
5
  static jsHashWorkerUrl: URL | undefined;
6
6
  static subtleHashWorkerUrl: URL | undefined;
7
7
  static wasmHashWorkerUrl: URL | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPayloadHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserPayloadHasher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAgB,mBAAmB,kGAAsB;IACzD,OAAgB,gBAAgB,+GAAmB;IACnD,OAAgB,eAAe,kBAM3B;IACJ,OAAgB,mBAAmB,kBAM/B;IACJ,OAAgB,iBAAiB,kBAM7B;CACL"}
1
+ {"version":3,"file":"BrowserPayloadHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserPayloadHasher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAgB,mBAAmB,0GAAsB;IACzD,OAAgB,gBAAgB,uHAAmB;IACnD,OAAgB,eAAe,kBAM3B;IACJ,OAAgB,mBAAmB,kBAM/B;IACJ,OAAgB,iBAAiB,kBAM7B;CACL"}
@@ -1,7 +1,7 @@
1
1
  import { PayloadHasher } from './PayloadHasher';
2
2
  export declare class BrowserPayloadHasher extends PayloadHasher {
3
- static createBrowserWorker: (url?: URL | undefined) => import("threads/dist/types/master").WorkerImplementation | undefined;
4
- static createNodeWorker: (func?: (() => unknown) | undefined) => import("threads/dist/types/master").WorkerImplementation | undefined;
3
+ static createBrowserWorker: (url?: URL | undefined) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
4
+ static createNodeWorker: (func?: (() => unknown) | undefined) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
5
5
  static jsHashWorkerUrl: URL | undefined;
6
6
  static subtleHashWorkerUrl: URL | undefined;
7
7
  static wasmHashWorkerUrl: URL | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPayloadHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserPayloadHasher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAgB,mBAAmB,kGAAsB;IACzD,OAAgB,gBAAgB,+GAAmB;IACnD,OAAgB,eAAe,kBAM3B;IACJ,OAAgB,mBAAmB,kBAM/B;IACJ,OAAgB,iBAAiB,kBAM7B;CACL"}
1
+ {"version":3,"file":"BrowserPayloadHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserPayloadHasher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAgB,mBAAmB,0GAAsB;IACzD,OAAgB,gBAAgB,uHAAmB;IACnD,OAAgB,eAAe,kBAM3B;IACJ,OAAgB,mBAAmB,kBAM/B;IACJ,OAAgB,iBAAiB,kBAM7B;CACL"}
@@ -1,7 +1,7 @@
1
1
  import { PayloadHasher } from './PayloadHasher';
2
2
  export declare class BrowserPayloadHasher extends PayloadHasher {
3
- static createBrowserWorker: (url?: URL | undefined) => import("threads/dist/types/master").WorkerImplementation | undefined;
4
- static createNodeWorker: (func?: (() => unknown) | undefined) => import("threads/dist/types/master").WorkerImplementation | undefined;
3
+ static createBrowserWorker: (url?: URL | undefined) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
4
+ static createNodeWorker: (func?: (() => unknown) | undefined) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
5
5
  static jsHashWorkerUrl: URL | undefined;
6
6
  static subtleHashWorkerUrl: URL | undefined;
7
7
  static wasmHashWorkerUrl: URL | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPayloadHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserPayloadHasher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAgB,mBAAmB,kGAAsB;IACzD,OAAgB,gBAAgB,+GAAmB;IACnD,OAAgB,eAAe,kBAM3B;IACJ,OAAgB,mBAAmB,kBAM/B;IACJ,OAAgB,iBAAiB,kBAM7B;CACL"}
1
+ {"version":3,"file":"BrowserPayloadHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserPayloadHasher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAgB,mBAAmB,0GAAsB;IACzD,OAAgB,gBAAgB,uHAAmB;IACnD,OAAgB,eAAe,kBAM3B;IACJ,OAAgB,mBAAmB,kBAM/B;IACJ,OAAgB,iBAAiB,kBAM7B;CACL"}
@@ -1,5 +1,5 @@
1
1
  import { PayloadHasher } from './PayloadHasher';
2
2
  export declare class NodePayloadHasher extends PayloadHasher {
3
- static createNodeWorker: (func?: (() => unknown) | undefined) => import("threads/dist/types/master").WorkerImplementation | undefined;
3
+ static createNodeWorker: (func?: (() => unknown) | undefined) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
4
4
  }
5
5
  //# sourceMappingURL=NodePayloadHasher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodePayloadHasher.d.ts","sourceRoot":"","sources":["../../src/NodePayloadHasher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI/C,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAgB,gBAAgB,+GAAmB;CACpD"}
1
+ {"version":3,"file":"NodePayloadHasher.d.ts","sourceRoot":"","sources":["../../src/NodePayloadHasher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI/C,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAgB,gBAAgB,uHAAmB;CACpD"}
@@ -1,5 +1,5 @@
1
1
  import { PayloadHasher } from './PayloadHasher';
2
2
  export declare class NodePayloadHasher extends PayloadHasher {
3
- static createNodeWorker: (func?: (() => unknown) | undefined) => import("threads/dist/types/master").WorkerImplementation | undefined;
3
+ static createNodeWorker: (func?: (() => unknown) | undefined) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
4
4
  }
5
5
  //# sourceMappingURL=NodePayloadHasher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodePayloadHasher.d.ts","sourceRoot":"","sources":["../../src/NodePayloadHasher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI/C,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAgB,gBAAgB,+GAAmB;CACpD"}
1
+ {"version":3,"file":"NodePayloadHasher.d.ts","sourceRoot":"","sources":["../../src/NodePayloadHasher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI/C,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAgB,gBAAgB,uHAAmB;CACpD"}
@@ -1,5 +1,5 @@
1
1
  import { PayloadHasher } from './PayloadHasher';
2
2
  export declare class NodePayloadHasher extends PayloadHasher {
3
- static createNodeWorker: (func?: (() => unknown) | undefined) => import("threads/dist/types/master").WorkerImplementation | undefined;
3
+ static createNodeWorker: (func?: (() => unknown) | undefined) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
4
4
  }
5
5
  //# sourceMappingURL=NodePayloadHasher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodePayloadHasher.d.ts","sourceRoot":"","sources":["../../src/NodePayloadHasher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI/C,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAgB,gBAAgB,+GAAmB;CACpD"}
1
+ {"version":3,"file":"NodePayloadHasher.d.ts","sourceRoot":"","sources":["../../src/NodePayloadHasher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI/C,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAgB,gBAAgB,uHAAmB;CACpD"}
@@ -1,7 +1,7 @@
1
1
  import { Hash } from '@xylabs/hex';
2
2
  import { EmptyObject, ObjectWrapper } from '@xylabs/object';
3
+ import { Worker } from '@xylabs/threads';
3
4
  import { WasmSupport } from '@xyo-network/wasm';
4
- import { Worker } from 'threads';
5
5
  export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends ObjectWrapper<T> {
6
6
  static allowHashPooling: boolean;
7
7
  static allowSubtle: boolean;
@@ -20,7 +20,7 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
20
20
  private static get jsHashPool();
21
21
  private static get subtleHashPool();
22
22
  private static get wasmHashPool();
23
- static createWorker(url?: URL, func?: () => unknown): import("threads/dist/types/master").Worker;
23
+ static createWorker(url?: URL, func?: () => unknown): import("@xylabs/threads/dist/types/master").Worker;
24
24
  static filterExcludeByHash<T extends EmptyObject>(objs: T[] | undefined, hash: Hash[] | Hash): Promise<T[]>;
25
25
  static filterIncludeByHash<T extends EmptyObject>(objs: T[] | undefined, hash: Hash[] | Hash): Promise<T[]>;
26
26
  static findByHash<T extends EmptyObject>(objs: T[] | undefined, hash: Hash): Promise<T | undefined>;
@@ -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,7 +1,7 @@
1
1
  import { Hash } from '@xylabs/hex';
2
2
  import { EmptyObject, ObjectWrapper } from '@xylabs/object';
3
+ import { Worker } from '@xylabs/threads';
3
4
  import { WasmSupport } from '@xyo-network/wasm';
4
- import { Worker } from 'threads';
5
5
  export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends ObjectWrapper<T> {
6
6
  static allowHashPooling: boolean;
7
7
  static allowSubtle: boolean;
@@ -20,7 +20,7 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
20
20
  private static get jsHashPool();
21
21
  private static get subtleHashPool();
22
22
  private static get wasmHashPool();
23
- static createWorker(url?: URL, func?: () => unknown): import("threads/dist/types/master").Worker;
23
+ static createWorker(url?: URL, func?: () => unknown): import("@xylabs/threads/dist/types/master").Worker;
24
24
  static filterExcludeByHash<T extends EmptyObject>(objs: T[] | undefined, hash: Hash[] | Hash): Promise<T[]>;
25
25
  static filterIncludeByHash<T extends EmptyObject>(objs: T[] | undefined, hash: Hash[] | Hash): Promise<T[]>;
26
26
  static findByHash<T extends EmptyObject>(objs: T[] | undefined, hash: Hash): Promise<T | undefined>;
@@ -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,7 +1,7 @@
1
1
  import { Hash } from '@xylabs/hex';
2
2
  import { EmptyObject, ObjectWrapper } from '@xylabs/object';
3
+ import { Worker } from '@xylabs/threads';
3
4
  import { WasmSupport } from '@xyo-network/wasm';
4
- import { Worker } from 'threads';
5
5
  export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends ObjectWrapper<T> {
6
6
  static allowHashPooling: boolean;
7
7
  static allowSubtle: boolean;
@@ -20,7 +20,7 @@ export declare class PayloadHasher<T extends EmptyObject = EmptyObject> extends
20
20
  private static get jsHashPool();
21
21
  private static get subtleHashPool();
22
22
  private static get wasmHashPool();
23
- static createWorker(url?: URL, func?: () => unknown): import("threads/dist/types/master").Worker;
23
+ static createWorker(url?: URL, func?: () => unknown): import("@xylabs/threads/dist/types/master").Worker;
24
24
  static filterExcludeByHash<T extends EmptyObject>(objs: T[] | undefined, hash: Hash[] | Hash): Promise<T[]>;
25
25
  static filterIncludeByHash<T extends EmptyObject>(objs: T[] | undefined, hash: Hash[] | Hash): Promise<T[]>;
26
26
  static findByHash<T extends EmptyObject>(objs: T[] | undefined, hash: Hash): Promise<T | undefined>;
@@ -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,2 +1,2 @@
1
- export declare const createBrowserWorker: (url?: URL) => import("threads/dist/types/master").WorkerImplementation | undefined;
1
+ export declare const createBrowserWorker: (url?: URL) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
2
2
  //# sourceMappingURL=createBrowserWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBrowserWorker.d.ts","sourceRoot":"","sources":["../../src/createBrowserWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,SAAU,GAAG,yEAO5C,CAAA"}
1
+ {"version":3,"file":"createBrowserWorker.d.ts","sourceRoot":"","sources":["../../src/createBrowserWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,SAAU,GAAG,iFAO5C,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const createBrowserWorker: (url?: URL) => import("threads/dist/types/master").WorkerImplementation | undefined;
1
+ export declare const createBrowserWorker: (url?: URL) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
2
2
  //# sourceMappingURL=createBrowserWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBrowserWorker.d.ts","sourceRoot":"","sources":["../../src/createBrowserWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,SAAU,GAAG,yEAO5C,CAAA"}
1
+ {"version":3,"file":"createBrowserWorker.d.ts","sourceRoot":"","sources":["../../src/createBrowserWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,SAAU,GAAG,iFAO5C,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const createBrowserWorker: (url?: URL) => import("threads/dist/types/master").WorkerImplementation | undefined;
1
+ export declare const createBrowserWorker: (url?: URL) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
2
2
  //# sourceMappingURL=createBrowserWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBrowserWorker.d.ts","sourceRoot":"","sources":["../../src/createBrowserWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,SAAU,GAAG,yEAO5C,CAAA"}
1
+ {"version":3,"file":"createBrowserWorker.d.ts","sourceRoot":"","sources":["../../src/createBrowserWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,SAAU,GAAG,iFAO5C,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const createNodeWorker: (func?: () => unknown) => import("threads/dist/types/master").WorkerImplementation | undefined;
1
+ export declare const createNodeWorker: (func?: () => unknown) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
2
2
  //# sourceMappingURL=createNodeWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,yEAYpD,CAAA"}
1
+ {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,iFAYpD,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const createNodeWorker: (func?: () => unknown) => import("threads/dist/types/master").WorkerImplementation | undefined;
1
+ export declare const createNodeWorker: (func?: () => unknown) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
2
2
  //# sourceMappingURL=createNodeWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,yEAYpD,CAAA"}
1
+ {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,iFAYpD,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const createNodeWorker: (func?: () => unknown) => import("threads/dist/types/master").WorkerImplementation | undefined;
1
+ export declare const createNodeWorker: (func?: () => unknown) => import("@xylabs/threads/dist/types/master").WorkerImplementation | undefined;
2
2
  //# sourceMappingURL=createNodeWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,yEAYpD,CAAA"}
1
+ {"version":3,"file":"createNodeWorker.d.ts","sourceRoot":"","sources":["../../src/createNodeWorker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,iFAYpD,CAAA"}
@@ -41,7 +41,7 @@ __export(index_browser_exports, {
41
41
  module.exports = __toCommonJS(index_browser_exports);
42
42
 
43
43
  // src/createBrowserWorker.ts
44
- var import_threads = require("threads");
44
+ var import_threads = require("@xylabs/threads");
45
45
  var createBrowserWorker = /* @__PURE__ */ __name((url) => {
46
46
  try {
47
47
  return new import_threads.Worker(url);
@@ -51,7 +51,7 @@ var createBrowserWorker = /* @__PURE__ */ __name((url) => {
51
51
  }, "createBrowserWorker");
52
52
 
53
53
  // src/createNodeWorker.ts
54
- var import_threads2 = require("threads");
54
+ var import_threads2 = require("@xylabs/threads");
55
55
  var createNodeWorker = /* @__PURE__ */ __name((func) => {
56
56
  try {
57
57
  const code = func?.toString().slice(6) ?? "";
@@ -73,10 +73,10 @@ var import_assert2 = require("@xylabs/assert");
73
73
  var import_hex = require("@xylabs/hex");
74
74
  var import_object3 = require("@xylabs/object");
75
75
  var import_platform = require("@xylabs/platform");
76
+ var import_threads3 = require("@xylabs/threads");
76
77
  var import_wasm = require("@xyo-network/wasm");
77
78
  var import_hash_wasm = require("hash-wasm");
78
79
  var import_sha = __toESM(require("sha.js"), 1);
79
- var import_threads3 = require("threads");
80
80
 
81
81
  // src/removeEmptyFields.ts
82
82
  var import_typeof = require("@xylabs/typeof");
@@ -140,7 +140,7 @@ var sortFields = /* @__PURE__ */ __name((obj) => {
140
140
  var jsHashFunc = /* @__PURE__ */ __name(() => {
141
141
  const shajs2 = require("sha.js");
142
142
  const { asHash: asHash2 } = require("@xylabs/hex");
143
- const { expose } = require("threads/worker");
143
+ const { expose } = require("@xylabs/threads/worker");
144
144
  expose({
145
145
  hash(data) {
146
146
  return asHash2(shajs2("sha256").update(data).digest().toString("hex"), true);
@@ -151,7 +151,7 @@ var jsHashFunc = /* @__PURE__ */ __name(() => {
151
151
  // src/worker/subtleHashNode.ts
152
152
  var subtleHashFunc = /* @__PURE__ */ __name(() => {
153
153
  const { subtle: subtle2 } = require("@xylabs/platform");
154
- const { expose } = require("threads/worker");
154
+ const { expose } = require("@xylabs/threads/worker");
155
155
  expose({
156
156
  async hash(data) {
157
157
  return await subtle2.digest("SHA-256", data);
@@ -163,7 +163,7 @@ var subtleHashFunc = /* @__PURE__ */ __name(() => {
163
163
  var wasmHashFunc = /* @__PURE__ */ __name(() => {
164
164
  const { sha256: sha2562 } = require("hash-wasm");
165
165
  const { asHash: asHash2 } = require("@xylabs/hex");
166
- const { expose } = require("threads/worker");
166
+ const { expose } = require("@xylabs/threads/worker");
167
167
  expose({
168
168
  async hash(data) {
169
169
  return asHash2(await sha2562(data), true);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index-browser.ts","../../src/createBrowserWorker.ts","../../src/createNodeWorker.ts","../../src/PayloadHasher.ts","../../src/removeEmptyFields.ts","../../src/removeFields.ts","../../src/sortFields.ts","../../src/worker/jsHashNode.ts","../../src/worker/subtleHashNode.ts","../../src/worker/wasmHashNode.ts","../../src/BrowserPayloadHasher.ts"],"sourcesContent":["export { BrowserPayloadHasher as PayloadHasher } from './BrowserPayloadHasher'\nexport * from './removeEmptyFields'\nexport * from './removeFields'\nexport * from './sortFields'\n","import { Worker } from '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 '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 { EmptyObject, ObjectWrapper } from '@xylabs/object'\nimport { subtle } from '@xylabs/platform'\nimport { WasmSupport } from '@xyo-network/wasm'\nimport { sha256 } from 'hash-wasm'\nimport shajs from 'sha.js'\nimport { ModuleThread, Pool, spawn, Worker } from 'threads'\n// eslint-disable-next-line import/no-internal-modules\nimport { WorkerModule } from 'threads/dist/types/worker'\n\nimport { removeEmptyFields } from './removeEmptyFields'\nimport { deepOmitPrefixedFields } from './removeFields'\nimport { sortFields } from './sortFields'\nimport { jsHashFunc, subtleHashFunc, wasmHashFunc } from './worker'\n\nconst wasmSupportStatic = new WasmSupport(['bigInt'])\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(deepOmitPrefixedFields(obj, '_')))\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 : deepOmitPrefixedFields(payload, '_')))\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 jsonPayload(meta = false): T {\n return PayloadHasher.jsonPayload(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 { assertEx } from '@xylabs/assert'\nimport { mapValues, merge, omitBy, pickBy } from '@xylabs/lodash'\nimport { EmptyObject, isObject } from '@xylabs/object'\n// eslint-disable-next-line no-restricted-imports\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","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('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('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('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'\nimport { createNodeWorker } from './createNodeWorker'\nimport { PayloadHasher } from './PayloadHasher'\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"],"mappings":"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","names":["createBrowserWorker","url","Worker","import_threads","createNodeWorker","func","code","toString","slice","w","Worker","fromSource","import_assert","import_object","import_threads","removeEmptyFields","obj","Array","isArray","newObject","key","value","Object","entries","typeOf","undefined","deepBy","obj","predicate","func","Array","isArray","onlyObjects","pickBy","isObject","nonObjects","value","pickedObjects","omitBy","pickedNonObjects","processedObjects","mapValues","merge","deepOmitPrefixedFields","prefix","_","key","assertEx","startsWith","deepPickUnderscoreFields","import_object","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","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","assertEx","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","deepOmitPrefixedFields","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"]}
1
+ {"version":3,"sources":["../../src/index-browser.ts","../../src/createBrowserWorker.ts","../../src/createNodeWorker.ts","../../src/PayloadHasher.ts","../../src/removeEmptyFields.ts","../../src/removeFields.ts","../../src/sortFields.ts","../../src/worker/jsHashNode.ts","../../src/worker/subtleHashNode.ts","../../src/worker/wasmHashNode.ts","../../src/BrowserPayloadHasher.ts"],"sourcesContent":["export { BrowserPayloadHasher as PayloadHasher } from './BrowserPayloadHasher'\nexport * from './removeEmptyFields'\nexport * from './removeFields'\nexport * from './sortFields'\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 { EmptyObject, ObjectWrapper } from '@xylabs/object'\nimport { subtle } from '@xylabs/platform'\nimport { ModuleThread, Pool, spawn, Worker } from '@xylabs/threads'\n// eslint-disable-next-line import/no-internal-modules\nimport { WorkerModule } from '@xylabs/threads/dist/types/worker'\nimport { WasmSupport } from '@xyo-network/wasm'\nimport { sha256 } from 'hash-wasm'\nimport shajs from 'sha.js'\n\nimport { removeEmptyFields } from './removeEmptyFields'\nimport { deepOmitPrefixedFields } from './removeFields'\nimport { sortFields } from './sortFields'\nimport { jsHashFunc, subtleHashFunc, wasmHashFunc } from './worker'\n\nconst wasmSupportStatic = new WasmSupport(['bigInt'])\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(deepOmitPrefixedFields(obj, '_')))\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 : deepOmitPrefixedFields(payload, '_')))\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 jsonPayload(meta = false): T {\n return PayloadHasher.jsonPayload(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 { assertEx } from '@xylabs/assert'\nimport { mapValues, merge, omitBy, pickBy } from '@xylabs/lodash'\nimport { EmptyObject, isObject } from '@xylabs/object'\n// eslint-disable-next-line no-restricted-imports\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","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'\nimport { createNodeWorker } from './createNodeWorker'\nimport { PayloadHasher } from './PayloadHasher'\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"],"mappings":"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","names":["createBrowserWorker","url","Worker","import_threads","createNodeWorker","func","code","toString","slice","w","Worker","fromSource","import_assert","import_object","import_threads","removeEmptyFields","obj","Array","isArray","newObject","key","value","Object","entries","typeOf","undefined","deepBy","obj","predicate","func","Array","isArray","onlyObjects","pickBy","isObject","nonObjects","value","pickedObjects","omitBy","pickedNonObjects","processedObjects","mapValues","merge","deepOmitPrefixedFields","prefix","_","key","assertEx","startsWith","deepPickUnderscoreFields","import_object","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","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","assertEx","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","deepOmitPrefixedFields","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"]}
@@ -9,7 +9,7 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
9
9
  });
10
10
 
11
11
  // src/createBrowserWorker.ts
12
- import { Worker } from "threads";
12
+ import { Worker } from "@xylabs/threads";
13
13
  var createBrowserWorker = /* @__PURE__ */ __name((url) => {
14
14
  try {
15
15
  return new Worker(url);
@@ -19,7 +19,7 @@ var createBrowserWorker = /* @__PURE__ */ __name((url) => {
19
19
  }, "createBrowserWorker");
20
20
 
21
21
  // src/createNodeWorker.ts
22
- import { Worker as Worker2 } from "threads";
22
+ import { Worker as Worker2 } from "@xylabs/threads";
23
23
  var createNodeWorker = /* @__PURE__ */ __name((func) => {
24
24
  try {
25
25
  const code = func?.toString().slice(6) ?? "";
@@ -41,10 +41,10 @@ import { assertEx as assertEx2 } from "@xylabs/assert";
41
41
  import { asHash, hexFromArrayBuffer } from "@xylabs/hex";
42
42
  import { ObjectWrapper } from "@xylabs/object";
43
43
  import { subtle } from "@xylabs/platform";
44
+ import { Pool, spawn } from "@xylabs/threads";
44
45
  import { WasmSupport } from "@xyo-network/wasm";
45
46
  import { sha256 } from "hash-wasm";
46
47
  import shajs from "sha.js";
47
- import { Pool, spawn } from "threads";
48
48
 
49
49
  // src/removeEmptyFields.ts
50
50
  import { typeOf } from "@xylabs/typeof";
@@ -108,7 +108,7 @@ var sortFields = /* @__PURE__ */ __name((obj) => {
108
108
  var jsHashFunc = /* @__PURE__ */ __name(() => {
109
109
  const shajs2 = __require("sha.js");
110
110
  const { asHash: asHash2 } = __require("@xylabs/hex");
111
- const { expose } = __require("threads/worker");
111
+ const { expose } = __require("@xylabs/threads/worker");
112
112
  expose({
113
113
  hash(data) {
114
114
  return asHash2(shajs2("sha256").update(data).digest().toString("hex"), true);
@@ -119,7 +119,7 @@ var jsHashFunc = /* @__PURE__ */ __name(() => {
119
119
  // src/worker/subtleHashNode.ts
120
120
  var subtleHashFunc = /* @__PURE__ */ __name(() => {
121
121
  const { subtle: subtle2 } = __require("@xylabs/platform");
122
- const { expose } = __require("threads/worker");
122
+ const { expose } = __require("@xylabs/threads/worker");
123
123
  expose({
124
124
  async hash(data) {
125
125
  return await subtle2.digest("SHA-256", data);
@@ -131,7 +131,7 @@ var subtleHashFunc = /* @__PURE__ */ __name(() => {
131
131
  var wasmHashFunc = /* @__PURE__ */ __name(() => {
132
132
  const { sha256: sha2562 } = __require("hash-wasm");
133
133
  const { asHash: asHash2 } = __require("@xylabs/hex");
134
- const { expose } = __require("threads/worker");
134
+ const { expose } = __require("@xylabs/threads/worker");
135
135
  expose({
136
136
  async hash(data) {
137
137
  return asHash2(await sha2562(data), true);