@xyo-network/hash 3.6.0-rc.9 → 3.6.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserObjectHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserObjectHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAOhD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC3F,OAAgB,mBAAmB,mFAAsB;IACzD,OAAgB,gBAAgB,8FAAmB;IACnD,OAAgB,mBAAmB,gCAM/B;IAEJ,OAAgB,iBAAiB,gCAM7B;CACL;AAED,kDAAkD;AAClD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"BrowserObjectHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserObjectHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKhD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC3F,OAAgB,mBAAmB,mFAAsB;IACzD,OAAgB,gBAAgB,8FAAmB;IACnD,OAAgB,mBAAmB,gCAM/B;IAEJ,OAAgB,iBAAiB,gCAM7B;CACL;AAED,kDAAkD;AAClD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/createBrowserWorker.ts","../../src/createNodeWorker.ts","../../src/ObjectHasher.ts","../../src/removeEmptyFields.ts","../../src/sortFields.ts","../../src/worker/subtleHashNode.ts","../../src/worker/wasmHashNode.ts","../../src/BrowserObjectHasher.ts"],"sourcesContent":["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 type { Hash } from '@xylabs/hex'\nimport { asHash, hexFromArrayBuffer } from '@xylabs/hex'\nimport type { EmptyObject } from '@xylabs/object'\nimport { ObjectWrapper, omitBy } from '@xylabs/object'\nimport { subtle } from '@xylabs/platform'\nimport type { ModuleThread, Worker } from '@xylabs/threads'\nimport { Pool, spawn } from '@xylabs/threads'\nimport { WasmSupport } from '@xyo-network/wasm'\nimport { sha256 } from 'hash-wasm'\n\nimport { removeEmptyFields } from './removeEmptyFields.ts'\nimport { sortFields } from './sortFields.ts'\nimport { subtleHashFunc, wasmHashFunc } from './worker/index.ts'\n\nexport type WorkerFunction = ((...args: unknown[]) => unknown) | (() => unknown)\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 [${String(key)}, ${typeof key}]`)\n return String(key).startsWith(prefix)\n}\n\nexport class ObjectHasher<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 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 // 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 (ObjectHasher.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 ObjectHasher.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\n/** @deprecated use PayloadBuilder or ObjectHasher instead */\nexport class PayloadHasher<T extends object> extends ObjectHasher<T> {}\n","import type { 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 type { AnyObject, EmptyObject } from '@xylabs/object'\nimport { 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-require-imports */\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-require-imports */\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 type { EmptyObject } from '@xylabs/object'\n\nimport { createBrowserWorker } from './createBrowserWorker.ts'\nimport { createNodeWorker } from './createNodeWorker.ts'\nimport { ObjectHasher } from './ObjectHasher.ts'\n\n// We put both in here so that things will work in jsdom/jest\n\nObjectHasher.createBrowserWorker = createBrowserWorker\nObjectHasher.createNodeWorker = createNodeWorker\n\nexport class BrowserObjectHasher<T extends EmptyObject = EmptyObject> extends ObjectHasher<T> {\n static override createBrowserWorker = createBrowserWorker\n static override createNodeWorker = createNodeWorker\n static override subtleHashWorkerUrl = (() => {\n try {\n return new URL('@xyo-network/hash/worker/subtleHash-bundle.mjs', import.meta.url)\n } catch {\n return\n }\n })()\n\n static override wasmHashWorkerUrl = (() => {\n try {\n return new URL('@xyo-network/hash/worker/wasmHash-bundle.mjs', import.meta.url)\n } catch {\n return\n }\n })()\n}\n\n/** @deprecated use BrowserObjectHasher instead */\nexport class BrowserPayloadHasher<T extends EmptyObject = EmptyObject> extends BrowserObjectHasher<T> {}\n"],"mappings":"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","names":["Worker","subtle","sha256","asHash"]}
1
+ {"version":3,"sources":["../../src/createBrowserWorker.ts","../../src/createNodeWorker.ts","../../src/ObjectHasher.ts","../../src/removeEmptyFields.ts","../../src/sortFields.ts","../../src/worker/subtleHashNode.ts","../../src/worker/wasmHashNode.ts","../../src/BrowserObjectHasher.ts"],"sourcesContent":["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 type { Hash } from '@xylabs/hex'\nimport { asHash, hexFromArrayBuffer } from '@xylabs/hex'\nimport type { EmptyObject } from '@xylabs/object'\nimport { ObjectWrapper, omitBy } from '@xylabs/object'\nimport { subtle } from '@xylabs/platform'\nimport type { ModuleThread, Worker } from '@xylabs/threads'\nimport { Pool, spawn } from '@xylabs/threads'\nimport { WasmSupport } from '@xyo-network/wasm'\nimport { sha256 } from 'hash-wasm'\n\nimport { removeEmptyFields } from './removeEmptyFields.ts'\nimport { sortFields } from './sortFields.ts'\nimport { subtleHashFunc, wasmHashFunc } from './worker/index.ts'\n\nexport type WorkerFunction = ((...args: unknown[]) => unknown) | (() => unknown)\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 [${String(key)}, ${typeof key}]`)\n return String(key).startsWith(prefix)\n}\n\nexport class ObjectHasher<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 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 // 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 (ObjectHasher.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 ObjectHasher.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\n/** @deprecated use PayloadBuilder or ObjectHasher instead */\nexport class PayloadHasher<T extends object> extends ObjectHasher<T> {}\n","import type { 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 type { AnyObject, EmptyObject } from '@xylabs/object'\nimport { 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-require-imports */\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-require-imports */\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 type { EmptyObject } from '@xylabs/object'\n\nimport { createBrowserWorker } from './createBrowserWorker.ts'\nimport { createNodeWorker } from './createNodeWorker.ts'\nimport { ObjectHasher } from './ObjectHasher.ts'\n\nObjectHasher.createBrowserWorker = createBrowserWorker\nObjectHasher.createNodeWorker = createNodeWorker\n\nexport class BrowserObjectHasher<T extends EmptyObject = EmptyObject> extends ObjectHasher<T> {\n static override createBrowserWorker = createBrowserWorker\n static override createNodeWorker = createNodeWorker\n static override subtleHashWorkerUrl = (() => {\n try {\n return new URL('@xyo-network/hash/worker/subtleHash-bundle.mjs', import.meta.url)\n } catch {\n return\n }\n })()\n\n static override wasmHashWorkerUrl = (() => {\n try {\n return new URL('@xyo-network/hash/worker/wasmHash-bundle.mjs', import.meta.url)\n } catch {\n return\n }\n })()\n}\n\n/** @deprecated use BrowserObjectHasher instead */\nexport class BrowserPayloadHasher<T extends EmptyObject = EmptyObject> extends BrowserObjectHasher<T> {}\n"],"mappings":"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","names":["Worker","subtle","sha256","asHash"]}
@@ -28,9 +28,9 @@
28
28
  ));
29
29
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
30
30
 
31
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/serializers.js
31
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/serializers.js
32
32
  var require_serializers = __commonJS({
33
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/serializers.js"(exports) {
33
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/serializers.js"(exports) {
34
34
  "use strict";
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.DefaultSerializer = void 0;
@@ -75,9 +75,9 @@
75
75
  }
76
76
  });
77
77
 
78
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/common.js
78
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/common.js
79
79
  var require_common = __commonJS({
80
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/common.js"(exports) {
80
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/common.js"(exports) {
81
81
  "use strict";
82
82
  Object.defineProperty(exports, "__esModule", { value: true });
83
83
  exports.registerSerializer = registerSerializer;
@@ -97,9 +97,9 @@
97
97
  }
98
98
  });
99
99
 
100
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/get-bundle-url.browser.js
100
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/get-bundle-url.browser.js
101
101
  var require_get_bundle_url_browser = __commonJS({
102
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/get-bundle-url.browser.js"(exports) {
102
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/get-bundle-url.browser.js"(exports) {
103
103
  "use strict";
104
104
  Object.defineProperty(exports, "__esModule", { value: true });
105
105
  exports.getBundleURL = getBundleURLCached;
@@ -127,9 +127,9 @@
127
127
  }
128
128
  });
129
129
 
130
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/implementation.browser.js
130
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/implementation.browser.js
131
131
  var require_implementation_browser = __commonJS({
132
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/implementation.browser.js"(exports) {
132
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/implementation.browser.js"(exports) {
133
133
  "use strict";
134
134
  Object.defineProperty(exports, "__esModule", { value: true });
135
135
  exports.defaultPoolSize = void 0;
@@ -1775,9 +1775,9 @@
1775
1775
  }
1776
1776
  });
1777
1777
 
1778
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/ponyfills.js
1778
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/ponyfills.js
1779
1779
  var require_ponyfills = __commonJS({
1780
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/ponyfills.js"(exports) {
1780
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/ponyfills.js"(exports) {
1781
1781
  "use strict";
1782
1782
  Object.defineProperty(exports, "__esModule", { value: true });
1783
1783
  exports.allSettled = allSettled;
@@ -1800,9 +1800,9 @@
1800
1800
  }
1801
1801
  });
1802
1802
 
1803
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/pool-types.js
1803
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/pool-types.js
1804
1804
  var require_pool_types = __commonJS({
1805
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/pool-types.js"(exports) {
1805
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/pool-types.js"(exports) {
1806
1806
  "use strict";
1807
1807
  Object.defineProperty(exports, "__esModule", { value: true });
1808
1808
  exports.PoolEventType = void 0;
@@ -1820,9 +1820,9 @@
1820
1820
  }
1821
1821
  });
1822
1822
 
1823
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/symbols.js
1823
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/symbols.js
1824
1824
  var require_symbols3 = __commonJS({
1825
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/symbols.js"(exports) {
1825
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/symbols.js"(exports) {
1826
1826
  "use strict";
1827
1827
  Object.defineProperty(exports, "__esModule", { value: true });
1828
1828
  exports.$worker = exports.$transferable = exports.$terminate = exports.$events = exports.$errors = void 0;
@@ -1834,9 +1834,9 @@
1834
1834
  }
1835
1835
  });
1836
1836
 
1837
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/thread.js
1837
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/thread.js
1838
1838
  var require_thread = __commonJS({
1839
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/thread.js"(exports) {
1839
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/thread.js"(exports) {
1840
1840
  "use strict";
1841
1841
  Object.defineProperty(exports, "__esModule", { value: true });
1842
1842
  exports.Thread = void 0;
@@ -1858,9 +1858,9 @@
1858
1858
  }
1859
1859
  });
1860
1860
 
1861
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/pool.js
1861
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/pool.js
1862
1862
  var require_pool = __commonJS({
1863
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/pool.js"(exports) {
1863
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/pool.js"(exports) {
1864
1864
  "use strict";
1865
1865
  var __importDefault = exports && exports.__importDefault || function(mod) {
1866
1866
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -2122,9 +2122,9 @@
2122
2122
  }
2123
2123
  });
2124
2124
 
2125
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/promise.js
2125
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/promise.js
2126
2126
  var require_promise = __commonJS({
2127
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/promise.js"(exports) {
2127
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/promise.js"(exports) {
2128
2128
  "use strict";
2129
2129
  Object.defineProperty(exports, "__esModule", { value: true });
2130
2130
  exports.createPromiseWithResolver = createPromiseWithResolver;
@@ -2150,9 +2150,9 @@
2150
2150
  }
2151
2151
  });
2152
2152
 
2153
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/types/master.js
2153
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/types/master.js
2154
2154
  var require_master = __commonJS({
2155
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/types/master.js"(exports) {
2155
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/types/master.js"(exports) {
2156
2156
  "use strict";
2157
2157
  Object.defineProperty(exports, "__esModule", { value: true });
2158
2158
  exports.WorkerEventType = void 0;
@@ -2165,9 +2165,9 @@
2165
2165
  }
2166
2166
  });
2167
2167
 
2168
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/observable-promise.js
2168
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/observable-promise.js
2169
2169
  var require_observable_promise = __commonJS({
2170
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/observable-promise.js"(exports) {
2170
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/observable-promise.js"(exports) {
2171
2171
  "use strict";
2172
2172
  Object.defineProperty(exports, "__esModule", { value: true });
2173
2173
  exports.ObservablePromise = void 0;
@@ -2299,9 +2299,9 @@
2299
2299
  }
2300
2300
  });
2301
2301
 
2302
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/transferable.js
2302
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/transferable.js
2303
2303
  var require_transferable = __commonJS({
2304
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/transferable.js"(exports) {
2304
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/transferable.js"(exports) {
2305
2305
  "use strict";
2306
2306
  Object.defineProperty(exports, "__esModule", { value: true });
2307
2307
  exports.isTransferDescriptor = isTransferDescriptor;
@@ -2330,9 +2330,9 @@
2330
2330
  }
2331
2331
  });
2332
2332
 
2333
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/types/messages.js
2333
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/types/messages.js
2334
2334
  var require_messages = __commonJS({
2335
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/types/messages.js"(exports) {
2335
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/types/messages.js"(exports) {
2336
2336
  "use strict";
2337
2337
  Object.defineProperty(exports, "__esModule", { value: true });
2338
2338
  exports.WorkerMessageType = exports.MasterMessageType = void 0;
@@ -2352,9 +2352,9 @@
2352
2352
  }
2353
2353
  });
2354
2354
 
2355
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/invocation-proxy.js
2355
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/invocation-proxy.js
2356
2356
  var require_invocation_proxy = __commonJS({
2357
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/invocation-proxy.js"(exports) {
2357
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/invocation-proxy.js"(exports) {
2358
2358
  "use strict";
2359
2359
  var __importDefault = exports && exports.__importDefault || function(mod) {
2360
2360
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -2473,9 +2473,9 @@
2473
2473
  }
2474
2474
  });
2475
2475
 
2476
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/spawn.js
2476
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/spawn.js
2477
2477
  var require_spawn = __commonJS({
2478
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/spawn.js"(exports) {
2478
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/spawn.js"(exports) {
2479
2479
  "use strict";
2480
2480
  var __importDefault = exports && exports.__importDefault || function(mod) {
2481
2481
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -2586,9 +2586,9 @@
2586
2586
  }
2587
2587
  });
2588
2588
 
2589
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/index.js
2589
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/index.js
2590
2590
  var require_master2 = __commonJS({
2591
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/index.js"(exports) {
2591
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/index.js"(exports) {
2592
2592
  "use strict";
2593
2593
  Object.defineProperty(exports, "__esModule", { value: true });
2594
2594
  exports.isWorkerRuntime = exports.Worker = exports.BlobWorker = exports.Thread = exports.spawn = exports.Pool = void 0;
@@ -2633,9 +2633,9 @@
2633
2633
  }
2634
2634
  });
2635
2635
 
2636
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/worker/implementation.browser.js
2636
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/worker/implementation.browser.js
2637
2637
  var require_implementation_browser2 = __commonJS({
2638
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/worker/implementation.browser.js"(exports) {
2638
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/worker/implementation.browser.js"(exports) {
2639
2639
  "use strict";
2640
2640
  Object.defineProperty(exports, "__esModule", { value: true });
2641
2641
  var isWorkerRuntime = function isWorkerRuntime2() {
@@ -2663,9 +2663,9 @@
2663
2663
  }
2664
2664
  });
2665
2665
 
2666
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/worker/index.js
2666
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/worker/index.js
2667
2667
  var require_worker = __commonJS({
2668
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/worker/index.js"(exports) {
2668
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/worker/index.js"(exports) {
2669
2669
  "use strict";
2670
2670
  var __importDefault = exports && exports.__importDefault || function(mod) {
2671
2671
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -2841,9 +2841,9 @@
2841
2841
  }
2842
2842
  });
2843
2843
 
2844
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/index.js
2844
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/index.js
2845
2845
  var require_esm = __commonJS({
2846
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/index.js"(exports) {
2846
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/index.js"(exports) {
2847
2847
  "use strict";
2848
2848
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
2849
2849
  if (k2 === void 0) k2 = k;
@@ -2883,7 +2883,7 @@
2883
2883
  }
2884
2884
  });
2885
2885
 
2886
- // ../../../../../../node_modules/.store/@xylabs-platform-npm-4.4.18-a44d4563db/package/dist/browser/index.mjs
2886
+ // ../../../../../../node_modules/.store/@xylabs-platform-npm-4.4.26-9742634556/package/dist/browser/index.mjs
2887
2887
  var subtle = globalThis.crypto.subtle;
2888
2888
 
2889
2889
  // src/worker/subtleHash.ts
@@ -28,9 +28,9 @@
28
28
  ));
29
29
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
30
30
 
31
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/serializers.js
31
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/serializers.js
32
32
  var require_serializers = __commonJS({
33
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/serializers.js"(exports) {
33
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/serializers.js"(exports) {
34
34
  "use strict";
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.DefaultSerializer = void 0;
@@ -75,9 +75,9 @@
75
75
  }
76
76
  });
77
77
 
78
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/common.js
78
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/common.js
79
79
  var require_common = __commonJS({
80
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/common.js"(exports) {
80
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/common.js"(exports) {
81
81
  "use strict";
82
82
  Object.defineProperty(exports, "__esModule", { value: true });
83
83
  exports.registerSerializer = registerSerializer;
@@ -97,9 +97,9 @@
97
97
  }
98
98
  });
99
99
 
100
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/get-bundle-url.browser.js
100
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/get-bundle-url.browser.js
101
101
  var require_get_bundle_url_browser = __commonJS({
102
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/get-bundle-url.browser.js"(exports) {
102
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/get-bundle-url.browser.js"(exports) {
103
103
  "use strict";
104
104
  Object.defineProperty(exports, "__esModule", { value: true });
105
105
  exports.getBundleURL = getBundleURLCached;
@@ -127,9 +127,9 @@
127
127
  }
128
128
  });
129
129
 
130
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/implementation.browser.js
130
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/implementation.browser.js
131
131
  var require_implementation_browser = __commonJS({
132
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/implementation.browser.js"(exports) {
132
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/implementation.browser.js"(exports) {
133
133
  "use strict";
134
134
  Object.defineProperty(exports, "__esModule", { value: true });
135
135
  exports.defaultPoolSize = void 0;
@@ -1775,9 +1775,9 @@
1775
1775
  }
1776
1776
  });
1777
1777
 
1778
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/ponyfills.js
1778
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/ponyfills.js
1779
1779
  var require_ponyfills = __commonJS({
1780
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/ponyfills.js"(exports) {
1780
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/ponyfills.js"(exports) {
1781
1781
  "use strict";
1782
1782
  Object.defineProperty(exports, "__esModule", { value: true });
1783
1783
  exports.allSettled = allSettled;
@@ -1800,9 +1800,9 @@
1800
1800
  }
1801
1801
  });
1802
1802
 
1803
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/pool-types.js
1803
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/pool-types.js
1804
1804
  var require_pool_types = __commonJS({
1805
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/pool-types.js"(exports) {
1805
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/pool-types.js"(exports) {
1806
1806
  "use strict";
1807
1807
  Object.defineProperty(exports, "__esModule", { value: true });
1808
1808
  exports.PoolEventType = void 0;
@@ -1820,9 +1820,9 @@
1820
1820
  }
1821
1821
  });
1822
1822
 
1823
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/symbols.js
1823
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/symbols.js
1824
1824
  var require_symbols3 = __commonJS({
1825
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/symbols.js"(exports) {
1825
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/symbols.js"(exports) {
1826
1826
  "use strict";
1827
1827
  Object.defineProperty(exports, "__esModule", { value: true });
1828
1828
  exports.$worker = exports.$transferable = exports.$terminate = exports.$events = exports.$errors = void 0;
@@ -1834,9 +1834,9 @@
1834
1834
  }
1835
1835
  });
1836
1836
 
1837
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/thread.js
1837
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/thread.js
1838
1838
  var require_thread = __commonJS({
1839
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/thread.js"(exports) {
1839
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/thread.js"(exports) {
1840
1840
  "use strict";
1841
1841
  Object.defineProperty(exports, "__esModule", { value: true });
1842
1842
  exports.Thread = void 0;
@@ -1858,9 +1858,9 @@
1858
1858
  }
1859
1859
  });
1860
1860
 
1861
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/pool.js
1861
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/pool.js
1862
1862
  var require_pool = __commonJS({
1863
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/pool.js"(exports) {
1863
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/pool.js"(exports) {
1864
1864
  "use strict";
1865
1865
  var __importDefault = exports && exports.__importDefault || function(mod) {
1866
1866
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -2122,9 +2122,9 @@
2122
2122
  }
2123
2123
  });
2124
2124
 
2125
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/promise.js
2125
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/promise.js
2126
2126
  var require_promise = __commonJS({
2127
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/promise.js"(exports) {
2127
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/promise.js"(exports) {
2128
2128
  "use strict";
2129
2129
  Object.defineProperty(exports, "__esModule", { value: true });
2130
2130
  exports.createPromiseWithResolver = createPromiseWithResolver;
@@ -2150,9 +2150,9 @@
2150
2150
  }
2151
2151
  });
2152
2152
 
2153
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/types/master.js
2153
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/types/master.js
2154
2154
  var require_master = __commonJS({
2155
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/types/master.js"(exports) {
2155
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/types/master.js"(exports) {
2156
2156
  "use strict";
2157
2157
  Object.defineProperty(exports, "__esModule", { value: true });
2158
2158
  exports.WorkerEventType = void 0;
@@ -2165,9 +2165,9 @@
2165
2165
  }
2166
2166
  });
2167
2167
 
2168
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/observable-promise.js
2168
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/observable-promise.js
2169
2169
  var require_observable_promise = __commonJS({
2170
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/observable-promise.js"(exports) {
2170
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/observable-promise.js"(exports) {
2171
2171
  "use strict";
2172
2172
  Object.defineProperty(exports, "__esModule", { value: true });
2173
2173
  exports.ObservablePromise = void 0;
@@ -2299,9 +2299,9 @@
2299
2299
  }
2300
2300
  });
2301
2301
 
2302
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/transferable.js
2302
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/transferable.js
2303
2303
  var require_transferable = __commonJS({
2304
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/transferable.js"(exports) {
2304
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/transferable.js"(exports) {
2305
2305
  "use strict";
2306
2306
  Object.defineProperty(exports, "__esModule", { value: true });
2307
2307
  exports.isTransferDescriptor = isTransferDescriptor;
@@ -2330,9 +2330,9 @@
2330
2330
  }
2331
2331
  });
2332
2332
 
2333
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/types/messages.js
2333
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/types/messages.js
2334
2334
  var require_messages = __commonJS({
2335
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/types/messages.js"(exports) {
2335
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/types/messages.js"(exports) {
2336
2336
  "use strict";
2337
2337
  Object.defineProperty(exports, "__esModule", { value: true });
2338
2338
  exports.WorkerMessageType = exports.MasterMessageType = void 0;
@@ -2352,9 +2352,9 @@
2352
2352
  }
2353
2353
  });
2354
2354
 
2355
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/invocation-proxy.js
2355
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/invocation-proxy.js
2356
2356
  var require_invocation_proxy = __commonJS({
2357
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/invocation-proxy.js"(exports) {
2357
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/invocation-proxy.js"(exports) {
2358
2358
  "use strict";
2359
2359
  var __importDefault = exports && exports.__importDefault || function(mod) {
2360
2360
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -2473,9 +2473,9 @@
2473
2473
  }
2474
2474
  });
2475
2475
 
2476
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/spawn.js
2476
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/spawn.js
2477
2477
  var require_spawn = __commonJS({
2478
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/spawn.js"(exports) {
2478
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/spawn.js"(exports) {
2479
2479
  "use strict";
2480
2480
  var __importDefault = exports && exports.__importDefault || function(mod) {
2481
2481
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -2586,9 +2586,9 @@
2586
2586
  }
2587
2587
  });
2588
2588
 
2589
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/index.js
2589
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/index.js
2590
2590
  var require_master2 = __commonJS({
2591
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/master/index.js"(exports) {
2591
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/master/index.js"(exports) {
2592
2592
  "use strict";
2593
2593
  Object.defineProperty(exports, "__esModule", { value: true });
2594
2594
  exports.isWorkerRuntime = exports.Worker = exports.BlobWorker = exports.Thread = exports.spawn = exports.Pool = void 0;
@@ -2633,9 +2633,9 @@
2633
2633
  }
2634
2634
  });
2635
2635
 
2636
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/worker/implementation.browser.js
2636
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/worker/implementation.browser.js
2637
2637
  var require_implementation_browser2 = __commonJS({
2638
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/worker/implementation.browser.js"(exports) {
2638
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/worker/implementation.browser.js"(exports) {
2639
2639
  "use strict";
2640
2640
  Object.defineProperty(exports, "__esModule", { value: true });
2641
2641
  var isWorkerRuntime = function isWorkerRuntime2() {
@@ -2663,9 +2663,9 @@
2663
2663
  }
2664
2664
  });
2665
2665
 
2666
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/worker/index.js
2666
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/worker/index.js
2667
2667
  var require_worker = __commonJS({
2668
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/worker/index.js"(exports) {
2668
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/worker/index.js"(exports) {
2669
2669
  "use strict";
2670
2670
  var __importDefault = exports && exports.__importDefault || function(mod) {
2671
2671
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -2841,9 +2841,9 @@
2841
2841
  }
2842
2842
  });
2843
2843
 
2844
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/index.js
2844
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/index.js
2845
2845
  var require_esm = __commonJS({
2846
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.18-1bc18508c5/package/dist/esm/index.js"(exports) {
2846
+ "../../../../../../node_modules/.store/@xylabs-threads-npm-4.4.26-39410c4e8f/package/dist/esm/index.js"(exports) {
2847
2847
  "use strict";
2848
2848
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
2849
2849
  if (k2 === void 0) k2 = k;
@@ -2883,7 +2883,7 @@
2883
2883
  }
2884
2884
  });
2885
2885
 
2886
- // ../../../../../../node_modules/.store/@xylabs-hex-npm-4.4.18-76cafae46b/package/dist/neutral/index.mjs
2886
+ // ../../../../../../node_modules/.store/@xylabs-hex-npm-4.4.26-aa8f659181/package/dist/neutral/index.mjs
2887
2887
  var assertError = (value, assert, defaultMessage) => {
2888
2888
  if (assert) {
2889
2889
  const assertString = typeof assert === "string" ? assert : typeof assert === "boolean" ? defaultMessage : assert(value, defaultMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserObjectHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserObjectHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAOhD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC3F,OAAgB,mBAAmB,mFAAsB;IACzD,OAAgB,gBAAgB,8FAAmB;IACnD,OAAgB,mBAAmB,gCAM/B;IAEJ,OAAgB,iBAAiB,gCAM7B;CACL;AAED,kDAAkD;AAClD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"BrowserObjectHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserObjectHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKhD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC3F,OAAgB,mBAAmB,mFAAsB;IACzD,OAAgB,gBAAgB,8FAAmB;IACnD,OAAgB,mBAAmB,gCAM/B;IAEJ,OAAgB,iBAAiB,gCAM7B;CACL;AAED,kDAAkD;AAClD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserObjectHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserObjectHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAOhD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC3F,OAAgB,mBAAmB,mFAAsB;IACzD,OAAgB,gBAAgB,8FAAmB;IACnD,OAAgB,mBAAmB,gCAM/B;IAEJ,OAAgB,iBAAiB,gCAM7B;CACL;AAED,kDAAkD;AAClD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"BrowserObjectHasher.d.ts","sourceRoot":"","sources":["../../src/BrowserObjectHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKhD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC3F,OAAgB,mBAAmB,mFAAsB;IACzD,OAAgB,gBAAgB,8FAAmB;IACnD,OAAgB,mBAAmB,gCAM/B;IAEJ,OAAgB,iBAAiB,gCAM7B;CACL;AAED,kDAAkD;AAClD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;CAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/hash",
3
- "version": "3.6.0-rc.9",
3
+ "version": "3.6.1",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -50,27 +50,26 @@
50
50
  "wasmHashBundle": "esbuild src/worker/wasmHash.ts --bundle --outfile=dist/browser/worker/wasmHash-bundle.mjs --target=chrome120,firefox120,safari14,edge120"
51
51
  },
52
52
  "dependencies": {
53
- "@xylabs/assert": "^4.4.18",
54
- "@xylabs/hex": "^4.4.18",
55
- "@xylabs/object": "^4.4.18",
56
- "@xylabs/platform": "^4.4.18",
57
- "@xylabs/threads": "^4.4.18",
58
- "@xylabs/typeof": "^4.4.18",
59
- "@xyo-network/wasm": "^3.6.0-rc.9",
53
+ "@xylabs/assert": "^4.4.26",
54
+ "@xylabs/hex": "^4.4.26",
55
+ "@xylabs/object": "^4.4.26",
56
+ "@xylabs/platform": "^4.4.26",
57
+ "@xylabs/threads": "^4.4.26",
58
+ "@xylabs/typeof": "^4.4.26",
59
+ "@xyo-network/wasm": "^3.6.1",
60
60
  "hash-wasm": "^4.12.0"
61
61
  },
62
62
  "devDependencies": {
63
- "@xylabs/delay": "^4.4.18",
64
- "@xylabs/ts-scripts-yarn3": "^4.2.4",
65
- "@xylabs/tsconfig": "^4.2.4",
66
- "@xylabs/vitest-extended": "^4.4.18",
67
- "esbuild": "^0.24.0",
63
+ "@xylabs/delay": "^4.4.26",
64
+ "@xylabs/ts-scripts-yarn3": "^4.2.6",
65
+ "@xylabs/tsconfig": "^4.2.6",
66
+ "@xylabs/vitest-extended": "^4.4.26",
67
+ "esbuild": "^0.24.2",
68
68
  "publint": "^0.2.12",
69
69
  "typescript": "^5.7.2",
70
70
  "vitest": "^2.1.8"
71
71
  },
72
72
  "publishConfig": {
73
73
  "access": "public"
74
- },
75
- "stableVersion": "3.5.2"
74
+ }
76
75
  }
@@ -4,8 +4,6 @@ import { createBrowserWorker } from './createBrowserWorker.ts'
4
4
  import { createNodeWorker } from './createNodeWorker.ts'
5
5
  import { ObjectHasher } from './ObjectHasher.ts'
6
6
 
7
- // We put both in here so that things will work in jsdom/jest
8
-
9
7
  ObjectHasher.createBrowserWorker = createBrowserWorker
10
8
  ObjectHasher.createNodeWorker = createNodeWorker
11
9