@langchain/langgraph 0.4.8 → 1.0.0-alpha.0
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.
- package/CHANGELOG.md +7 -2
- package/README.md +1 -2
- package/dist/_virtual/rolldown_runtime.cjs +25 -0
- package/dist/channels/any_value.d.cts +26 -0
- package/dist/channels/any_value.d.cts.map +1 -0
- package/dist/channels/any_value.d.ts +16 -9
- package/dist/channels/any_value.d.ts.map +1 -0
- package/dist/channels/base.cjs +97 -133
- package/dist/channels/base.cjs.map +1 -0
- package/dist/channels/base.d.cts +73 -0
- package/dist/channels/base.d.cts.map +1 -0
- package/dist/channels/base.d.ts +73 -74
- package/dist/channels/base.d.ts.map +1 -0
- package/dist/channels/base.js +94 -127
- package/dist/channels/base.js.map +1 -1
- package/dist/channels/binop.cjs +47 -77
- package/dist/channels/binop.cjs.map +1 -0
- package/dist/channels/binop.d.cts +22 -0
- package/dist/channels/binop.d.cts.map +1 -0
- package/dist/channels/binop.d.ts +17 -12
- package/dist/channels/binop.d.ts.map +1 -0
- package/dist/channels/binop.js +45 -71
- package/dist/channels/binop.js.map +1 -1
- package/dist/channels/dynamic_barrier_value.d.cts +43 -0
- package/dist/channels/dynamic_barrier_value.d.cts.map +1 -0
- package/dist/channels/dynamic_barrier_value.d.ts +20 -34
- package/dist/channels/dynamic_barrier_value.d.ts.map +1 -0
- package/dist/channels/ephemeral_value.cjs +46 -70
- package/dist/channels/ephemeral_value.cjs.map +1 -0
- package/dist/channels/ephemeral_value.d.cts +23 -0
- package/dist/channels/ephemeral_value.d.cts.map +1 -0
- package/dist/channels/ephemeral_value.d.ts +18 -11
- package/dist/channels/ephemeral_value.d.ts.map +1 -0
- package/dist/channels/ephemeral_value.js +45 -65
- package/dist/channels/ephemeral_value.js.map +1 -1
- package/dist/channels/index.cjs +2 -10
- package/dist/channels/index.js +4 -3
- package/dist/channels/last_value.cjs +91 -140
- package/dist/channels/last_value.cjs.map +1 -0
- package/dist/channels/last_value.d.cts +30 -0
- package/dist/channels/last_value.d.cts.map +1 -0
- package/dist/channels/last_value.d.ts +15 -23
- package/dist/channels/last_value.d.ts.map +1 -0
- package/dist/channels/last_value.js +88 -133
- package/dist/channels/last_value.js.map +1 -1
- package/dist/channels/named_barrier_value.cjs +114 -170
- package/dist/channels/named_barrier_value.cjs.map +1 -0
- package/dist/channels/named_barrier_value.d.cts +33 -0
- package/dist/channels/named_barrier_value.d.cts.map +1 -0
- package/dist/channels/named_barrier_value.d.ts +19 -29
- package/dist/channels/named_barrier_value.d.ts.map +1 -0
- package/dist/channels/named_barrier_value.js +112 -163
- package/dist/channels/named_barrier_value.js.map +1 -1
- package/dist/channels/topic.cjs +63 -96
- package/dist/channels/topic.cjs.map +1 -0
- package/dist/channels/topic.d.cts +26 -0
- package/dist/channels/topic.d.cts.map +1 -0
- package/dist/channels/topic.d.ts +21 -18
- package/dist/channels/topic.d.ts.map +1 -0
- package/dist/channels/topic.js +61 -90
- package/dist/channels/topic.js.map +1 -1
- package/dist/constants.cjs +373 -452
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.cts +284 -0
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.ts +112 -148
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +333 -444
- package/dist/constants.js.map +1 -1
- package/dist/errors.cjs +150 -179
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +80 -0
- package/dist/errors.d.cts.map +1 -0
- package/dist/errors.d.ts +55 -46
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +139 -165
- package/dist/errors.js.map +1 -1
- package/dist/func/index.cjs +289 -290
- package/dist/func/index.cjs.map +1 -0
- package/dist/func/index.d.cts +289 -0
- package/dist/func/index.d.cts.map +1 -0
- package/dist/func/index.d.ts +81 -71
- package/dist/func/index.d.ts.map +1 -0
- package/dist/func/index.js +285 -284
- package/dist/func/index.js.map +1 -1
- package/dist/func/types.d.cts +64 -0
- package/dist/func/types.d.cts.map +1 -0
- package/dist/func/types.d.ts +24 -19
- package/dist/func/types.d.ts.map +1 -0
- package/dist/graph/annotation.cjs +96 -120
- package/dist/graph/annotation.cjs.map +1 -0
- package/dist/graph/annotation.d.cts +116 -0
- package/dist/graph/annotation.d.cts.map +1 -0
- package/dist/graph/annotation.d.ts +33 -34
- package/dist/graph/annotation.d.ts.map +1 -0
- package/dist/graph/annotation.js +91 -112
- package/dist/graph/annotation.js.map +1 -1
- package/dist/graph/graph.cjs +419 -723
- package/dist/graph/graph.cjs.map +1 -0
- package/dist/graph/graph.d.cts +131 -0
- package/dist/graph/graph.d.cts.map +1 -0
- package/dist/graph/graph.d.ts +122 -91
- package/dist/graph/graph.d.ts.map +1 -0
- package/dist/graph/graph.js +412 -713
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/index.cjs +4 -17
- package/dist/graph/index.js +6 -5
- package/dist/graph/message.cjs +59 -104
- package/dist/graph/message.cjs.map +1 -0
- package/dist/graph/message.d.cts +19 -0
- package/dist/graph/message.d.cts.map +1 -0
- package/dist/graph/message.d.ts +11 -10
- package/dist/graph/message.d.ts.map +1 -0
- package/dist/graph/message.js +56 -98
- package/dist/graph/message.js.map +1 -1
- package/dist/graph/messages_annotation.cjs +106 -106
- package/dist/graph/messages_annotation.cjs.map +1 -0
- package/dist/graph/messages_annotation.d.cts +111 -0
- package/dist/graph/messages_annotation.d.cts.map +1 -0
- package/dist/graph/messages_annotation.d.ts +18 -9
- package/dist/graph/messages_annotation.d.ts.map +1 -0
- package/dist/graph/messages_annotation.js +100 -100
- package/dist/graph/messages_annotation.js.map +1 -1
- package/dist/graph/state.cjs +476 -777
- package/dist/graph/state.cjs.map +1 -0
- package/dist/graph/state.d.cts +216 -0
- package/dist/graph/state.d.cts.map +1 -0
- package/dist/graph/state.d.ts +129 -134
- package/dist/graph/state.d.ts.map +1 -0
- package/dist/graph/state.js +470 -768
- package/dist/graph/state.js.map +1 -1
- package/dist/graph/zod/index.cjs +10 -21
- package/dist/graph/zod/index.d.cts +3 -0
- package/dist/graph/zod/index.d.ts +3 -3
- package/dist/graph/zod/index.js +4 -4
- package/dist/graph/zod/meta.cjs +142 -177
- package/dist/graph/zod/meta.cjs.map +1 -0
- package/dist/graph/zod/meta.d.cts +116 -0
- package/dist/graph/zod/meta.d.cts.map +1 -0
- package/dist/graph/zod/meta.d.ts +99 -97
- package/dist/graph/zod/meta.d.ts.map +1 -0
- package/dist/graph/zod/meta.js +136 -170
- package/dist/graph/zod/meta.js.map +1 -1
- package/dist/graph/zod/plugin.cjs +36 -39
- package/dist/graph/zod/plugin.cjs.map +1 -0
- package/dist/graph/zod/plugin.js +34 -35
- package/dist/graph/zod/plugin.js.map +1 -1
- package/dist/graph/zod/schema.cjs +82 -110
- package/dist/graph/zod/schema.cjs.map +1 -0
- package/dist/graph/zod/schema.d.cts +38 -0
- package/dist/graph/zod/schema.d.cts.map +1 -0
- package/dist/graph/zod/schema.d.ts +12 -6
- package/dist/graph/zod/schema.d.ts.map +1 -0
- package/dist/graph/zod/schema.js +77 -103
- package/dist/graph/zod/schema.js.map +1 -1
- package/dist/graph/zod/zod-registry.cjs +41 -47
- package/dist/graph/zod/zod-registry.cjs.map +1 -0
- package/dist/graph/zod/zod-registry.d.cts +51 -0
- package/dist/graph/zod/zod-registry.d.cts.map +1 -0
- package/dist/graph/zod/zod-registry.d.ts +34 -26
- package/dist/graph/zod/zod-registry.d.ts.map +1 -0
- package/dist/graph/zod/zod-registry.js +37 -41
- package/dist/graph/zod/zod-registry.js.map +1 -1
- package/dist/hash.cjs +205 -267
- package/dist/hash.cjs.map +1 -0
- package/dist/hash.js +205 -265
- package/dist/hash.js.map +1 -1
- package/dist/index.cjs +110 -33
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +25 -0
- package/dist/index.d.ts +25 -5
- package/dist/index.js +18 -7
- package/dist/index.js.map +1 -1
- package/dist/interrupt.cjs +79 -85
- package/dist/interrupt.cjs.map +1 -0
- package/dist/interrupt.d.cts +49 -0
- package/dist/interrupt.d.cts.map +1 -0
- package/dist/interrupt.d.ts +6 -1
- package/dist/interrupt.d.ts.map +1 -0
- package/dist/interrupt.js +76 -80
- package/dist/interrupt.js.map +1 -1
- package/dist/prebuilt/agentName.cjs +139 -172
- package/dist/prebuilt/agentName.cjs.map +1 -0
- package/dist/prebuilt/agentName.d.cts +42 -0
- package/dist/prebuilt/agentName.d.cts.map +1 -0
- package/dist/prebuilt/agentName.d.ts +13 -21
- package/dist/prebuilt/agentName.d.ts.map +1 -0
- package/dist/prebuilt/agentName.js +139 -168
- package/dist/prebuilt/agentName.js.map +1 -1
- package/dist/prebuilt/agent_executor.cjs +42 -80
- package/dist/prebuilt/agent_executor.cjs.map +1 -0
- package/dist/prebuilt/agent_executor.d.cts +57 -0
- package/dist/prebuilt/agent_executor.d.cts.map +1 -0
- package/dist/prebuilt/agent_executor.d.ts +46 -37
- package/dist/prebuilt/agent_executor.d.ts.map +1 -0
- package/dist/prebuilt/agent_executor.js +40 -75
- package/dist/prebuilt/agent_executor.js.map +1 -1
- package/dist/prebuilt/chat_agent_executor.cjs +66 -128
- package/dist/prebuilt/chat_agent_executor.cjs.map +1 -0
- package/dist/prebuilt/chat_agent_executor.d.cts +23 -0
- package/dist/prebuilt/chat_agent_executor.d.cts.map +1 -0
- package/dist/prebuilt/chat_agent_executor.d.ts +18 -10
- package/dist/prebuilt/chat_agent_executor.d.ts.map +1 -0
- package/dist/prebuilt/chat_agent_executor.js +63 -123
- package/dist/prebuilt/chat_agent_executor.js.map +1 -1
- package/dist/prebuilt/index.cjs +15 -18
- package/dist/prebuilt/index.d.cts +8 -0
- package/dist/prebuilt/index.d.ts +8 -8
- package/dist/prebuilt/index.js +8 -7
- package/dist/prebuilt/interrupt.d.cts +73 -0
- package/dist/prebuilt/interrupt.d.cts.map +1 -0
- package/dist/prebuilt/interrupt.d.ts +32 -15
- package/dist/prebuilt/interrupt.d.ts.map +1 -0
- package/dist/prebuilt/react_agent_executor.cjs +317 -473
- package/dist/prebuilt/react_agent_executor.cjs.map +1 -0
- package/dist/prebuilt/react_agent_executor.d.cts +229 -0
- package/dist/prebuilt/react_agent_executor.d.cts.map +1 -0
- package/dist/prebuilt/react_agent_executor.d.ts +171 -143
- package/dist/prebuilt/react_agent_executor.d.ts.map +1 -0
- package/dist/prebuilt/react_agent_executor.js +315 -465
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/prebuilt/tool_executor.cjs +45 -67
- package/dist/prebuilt/tool_executor.cjs.map +1 -0
- package/dist/prebuilt/tool_executor.d.cts +42 -0
- package/dist/prebuilt/tool_executor.d.cts.map +1 -0
- package/dist/prebuilt/tool_executor.d.ts +30 -24
- package/dist/prebuilt/tool_executor.d.ts.map +1 -0
- package/dist/prebuilt/tool_executor.js +44 -63
- package/dist/prebuilt/tool_executor.js.map +1 -1
- package/dist/prebuilt/tool_node.cjs +213 -275
- package/dist/prebuilt/tool_node.cjs.map +1 -0
- package/dist/prebuilt/tool_node.d.cts +151 -0
- package/dist/prebuilt/tool_node.d.cts.map +1 -0
- package/dist/prebuilt/tool_node.d.ts +30 -17
- package/dist/prebuilt/tool_node.d.ts.map +1 -0
- package/dist/prebuilt/tool_node.js +209 -268
- package/dist/prebuilt/tool_node.js.map +1 -1
- package/dist/pregel/algo.cjs +521 -692
- package/dist/pregel/algo.cjs.map +1 -0
- package/dist/pregel/algo.d.cts +13 -0
- package/dist/pregel/algo.d.cts.map +1 -0
- package/dist/pregel/algo.d.ts +8 -38
- package/dist/pregel/algo.d.ts.map +1 -0
- package/dist/pregel/algo.js +516 -683
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/call.cjs +46 -42
- package/dist/pregel/call.cjs.map +1 -0
- package/dist/pregel/call.js +43 -37
- package/dist/pregel/call.js.map +1 -1
- package/dist/pregel/debug.cjs +153 -223
- package/dist/pregel/debug.cjs.map +1 -0
- package/dist/pregel/debug.js +152 -215
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/index.cjs +1134 -1604
- package/dist/pregel/index.cjs.map +1 -0
- package/dist/pregel/index.d.cts +534 -0
- package/dist/pregel/index.d.cts.map +1 -0
- package/dist/pregel/index.d.ts +458 -422
- package/dist/pregel/index.d.ts.map +1 -0
- package/dist/pregel/index.js +1125 -1592
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/io.cjs +127 -234
- package/dist/pregel/io.cjs.map +1 -0
- package/dist/pregel/io.js +122 -225
- package/dist/pregel/io.js.map +1 -1
- package/dist/pregel/loop.cjs +539 -954
- package/dist/pregel/loop.cjs.map +1 -0
- package/dist/pregel/loop.js +536 -948
- package/dist/pregel/loop.js.map +1 -1
- package/dist/pregel/messages.cjs +104 -196
- package/dist/pregel/messages.cjs.map +1 -0
- package/dist/pregel/messages.js +102 -191
- package/dist/pregel/messages.js.map +1 -1
- package/dist/pregel/read.cjs +150 -280
- package/dist/pregel/read.cjs.map +1 -0
- package/dist/pregel/read.d.cts +51 -0
- package/dist/pregel/read.d.cts.map +1 -0
- package/dist/pregel/read.d.ts +48 -46
- package/dist/pregel/read.d.ts.map +1 -0
- package/dist/pregel/read.js +147 -274
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/remote.cjs +339 -458
- package/dist/pregel/remote.cjs.map +1 -0
- package/dist/pregel/remote.d.cts +121 -0
- package/dist/pregel/remote.d.cts.map +1 -0
- package/dist/pregel/remote.d.ts +79 -69
- package/dist/pregel/remote.d.ts.map +1 -0
- package/dist/pregel/remote.js +337 -453
- package/dist/pregel/remote.js.map +1 -1
- package/dist/pregel/retry.cjs +87 -138
- package/dist/pregel/retry.cjs.map +1 -0
- package/dist/pregel/retry.js +83 -130
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runnable_types.d.cts +25 -0
- package/dist/pregel/runnable_types.d.cts.map +1 -0
- package/dist/pregel/runnable_types.d.ts +22 -16
- package/dist/pregel/runnable_types.d.ts.map +1 -0
- package/dist/pregel/runner.cjs +222 -315
- package/dist/pregel/runner.cjs.map +1 -0
- package/dist/pregel/runner.js +219 -308
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/stream.cjs +89 -130
- package/dist/pregel/stream.cjs.map +1 -0
- package/dist/pregel/stream.js +87 -125
- package/dist/pregel/stream.js.map +1 -1
- package/dist/pregel/types.cjs +25 -62
- package/dist/pregel/types.cjs.map +1 -0
- package/dist/pregel/types.d.cts +437 -0
- package/dist/pregel/types.d.cts.map +1 -0
- package/dist/pregel/types.d.ts +377 -431
- package/dist/pregel/types.d.ts.map +1 -0
- package/dist/pregel/types.js +23 -57
- package/dist/pregel/types.js.map +1 -1
- package/dist/pregel/utils/config.cjs +100 -147
- package/dist/pregel/utils/config.cjs.map +1 -0
- package/dist/pregel/utils/config.d.cts +36 -0
- package/dist/pregel/utils/config.d.cts.map +1 -0
- package/dist/pregel/utils/config.d.ts +12 -9
- package/dist/pregel/utils/config.d.ts.map +1 -0
- package/dist/pregel/utils/config.js +98 -143
- package/dist/pregel/utils/config.js.map +1 -1
- package/dist/pregel/utils/index.cjs +87 -125
- package/dist/pregel/utils/index.cjs.map +1 -0
- package/dist/pregel/utils/index.d.cts +51 -0
- package/dist/pregel/utils/index.d.cts.map +1 -0
- package/dist/pregel/utils/index.d.ts +45 -61
- package/dist/pregel/utils/index.d.ts.map +1 -0
- package/dist/pregel/utils/index.js +86 -120
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/pregel/utils/subgraph.cjs +15 -26
- package/dist/pregel/utils/subgraph.cjs.map +1 -0
- package/dist/pregel/utils/subgraph.js +12 -21
- package/dist/pregel/utils/subgraph.js.map +1 -1
- package/dist/pregel/validate.cjs +42 -92
- package/dist/pregel/validate.cjs.map +1 -0
- package/dist/pregel/validate.js +39 -84
- package/dist/pregel/validate.js.map +1 -1
- package/dist/pregel/write.cjs +87 -137
- package/dist/pregel/write.cjs.map +1 -0
- package/dist/pregel/write.d.cts +35 -0
- package/dist/pregel/write.d.cts.map +1 -0
- package/dist/pregel/write.d.ts +27 -23
- package/dist/pregel/write.d.ts.map +1 -0
- package/dist/pregel/write.js +83 -131
- package/dist/pregel/write.js.map +1 -1
- package/dist/remote.cjs +3 -6
- package/dist/remote.d.cts +2 -0
- package/dist/remote.d.ts +2 -1
- package/dist/remote.js +3 -2
- package/dist/setup/async_local_storage.cjs +10 -7
- package/dist/setup/async_local_storage.cjs.map +1 -0
- package/dist/setup/async_local_storage.js +7 -2
- package/dist/setup/async_local_storage.js.map +1 -1
- package/dist/ui/index.cjs +4 -0
- package/dist/ui/index.d.cts +5 -0
- package/dist/ui/index.d.ts +5 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/stream.cjs +145 -0
- package/dist/ui/stream.cjs.map +1 -0
- package/dist/ui/stream.d.cts +25 -0
- package/dist/ui/stream.d.cts.map +1 -0
- package/dist/ui/stream.d.ts +25 -0
- package/dist/ui/stream.d.ts.map +1 -0
- package/dist/ui/stream.js +143 -0
- package/dist/ui/stream.js.map +1 -0
- package/dist/ui/types.infer.d.cts +53 -0
- package/dist/ui/types.infer.d.cts.map +1 -0
- package/dist/ui/types.infer.d.ts +53 -0
- package/dist/ui/types.infer.d.ts.map +1 -0
- package/dist/ui/types.message.d.cts +95 -0
- package/dist/ui/types.message.d.cts.map +1 -0
- package/dist/ui/types.message.d.ts +95 -0
- package/dist/ui/types.message.d.ts.map +1 -0
- package/dist/ui/types.schema.d.cts +228 -0
- package/dist/ui/types.schema.d.cts.map +1 -0
- package/dist/ui/types.schema.d.ts +228 -0
- package/dist/ui/types.schema.d.ts.map +1 -0
- package/dist/utils.cjs +77 -147
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +32 -0
- package/dist/utils.d.cts.map +1 -0
- package/dist/utils.d.ts +29 -25
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +73 -140
- package/dist/utils.js.map +1 -1
- package/dist/web.cjs +97 -55
- package/dist/web.d.cts +23 -0
- package/dist/web.d.ts +23 -14
- package/dist/web.js +15 -8
- package/package.json +83 -86
- package/dist/channels/any_value.cjs +0 -65
- package/dist/channels/any_value.js +0 -61
- package/dist/channels/any_value.js.map +0 -1
- package/dist/channels/dynamic_barrier_value.cjs +0 -212
- package/dist/channels/dynamic_barrier_value.js +0 -207
- package/dist/channels/dynamic_barrier_value.js.map +0 -1
- package/dist/channels/index.d.ts +0 -7
- package/dist/channels/index.js.map +0 -1
- package/dist/func/types.cjs +0 -15
- package/dist/func/types.js +0 -12
- package/dist/func/types.js.map +0 -1
- package/dist/graph/index.d.ts +0 -4
- package/dist/graph/index.js.map +0 -1
- package/dist/graph/message.test.cjs +0 -196
- package/dist/graph/message.test.d.ts +0 -1
- package/dist/graph/message.test.js +0 -194
- package/dist/graph/message.test.js.map +0 -1
- package/dist/graph/zod/index.js.map +0 -1
- package/dist/graph/zod/plugin.d.ts +0 -28
- package/dist/hash.d.ts +0 -2
- package/dist/prebuilt/index.js.map +0 -1
- package/dist/prebuilt/interrupt.cjs +0 -3
- package/dist/prebuilt/interrupt.js +0 -2
- package/dist/prebuilt/interrupt.js.map +0 -1
- package/dist/pregel/call.d.ts +0 -16
- package/dist/pregel/debug.d.ts +0 -41
- package/dist/pregel/debug.test.cjs +0 -258
- package/dist/pregel/debug.test.d.ts +0 -1
- package/dist/pregel/debug.test.js +0 -256
- package/dist/pregel/debug.test.js.map +0 -1
- package/dist/pregel/io.d.ts +0 -30
- package/dist/pregel/io.mapCommand.test.cjs +0 -150
- package/dist/pregel/io.mapCommand.test.d.ts +0 -1
- package/dist/pregel/io.mapCommand.test.js +0 -148
- package/dist/pregel/io.mapCommand.test.js.map +0 -1
- package/dist/pregel/loop.d.ts +0 -147
- package/dist/pregel/messages.d.ts +0 -30
- package/dist/pregel/messages.test.cjs +0 -369
- package/dist/pregel/messages.test.d.ts +0 -1
- package/dist/pregel/messages.test.js +0 -367
- package/dist/pregel/messages.test.js.map +0 -1
- package/dist/pregel/read.test.cjs +0 -194
- package/dist/pregel/read.test.d.ts +0 -1
- package/dist/pregel/read.test.js +0 -192
- package/dist/pregel/read.test.js.map +0 -1
- package/dist/pregel/retry.d.ts +0 -17
- package/dist/pregel/runnable_types.cjs +0 -3
- package/dist/pregel/runnable_types.js +0 -2
- package/dist/pregel/runnable_types.js.map +0 -1
- package/dist/pregel/runner.d.ts +0 -79
- package/dist/pregel/runner.test.cjs +0 -66
- package/dist/pregel/runner.test.d.ts +0 -1
- package/dist/pregel/runner.test.js +0 -64
- package/dist/pregel/runner.test.js.map +0 -1
- package/dist/pregel/stream.d.ts +0 -40
- package/dist/pregel/utils/config.test.cjs +0 -214
- package/dist/pregel/utils/config.test.d.ts +0 -1
- package/dist/pregel/utils/config.test.js +0 -212
- package/dist/pregel/utils/config.test.js.map +0 -1
- package/dist/pregel/utils/subgraph.d.ts +0 -4
- package/dist/pregel/utils/subgraph.test.cjs +0 -83
- package/dist/pregel/utils/subgraph.test.d.ts +0 -1
- package/dist/pregel/utils/subgraph.test.js +0 -81
- package/dist/pregel/utils/subgraph.test.js.map +0 -1
- package/dist/pregel/validate.d.ts +0 -16
- package/dist/pregel/validate.test.cjs +0 -220
- package/dist/pregel/validate.test.d.ts +0 -1
- package/dist/pregel/validate.test.js +0 -218
- package/dist/pregel/validate.test.js.map +0 -1
- package/dist/pregel/write.test.cjs +0 -181
- package/dist/pregel/write.test.d.ts +0 -1
- package/dist/pregel/write.test.js +0 -179
- package/dist/pregel/write.test.js.map +0 -1
- package/dist/remote.js.map +0 -1
- package/dist/setup/async_local_storage.d.ts +0 -1
- package/dist/web.js.map +0 -1
- package/index.cjs +0 -1
- package/index.d.cts +0 -1
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/prebuilt.cjs +0 -1
- package/prebuilt.d.cts +0 -1
- package/prebuilt.d.ts +0 -1
- package/prebuilt.js +0 -1
- package/pregel.cjs +0 -1
- package/pregel.d.cts +0 -1
- package/pregel.d.ts +0 -1
- package/pregel.js +0 -1
- package/remote.cjs +0 -1
- package/remote.d.cts +0 -1
- package/remote.d.ts +0 -1
- package/remote.js +0 -1
- package/web.cjs +0 -1
- package/web.d.cts +0 -1
- package/web.d.ts +0 -1
- package/web.js +0 -1
- package/zod/schema.cjs +0 -1
- package/zod/schema.d.cts +0 -1
- package/zod/schema.d.ts +0 -1
- package/zod/schema.js +0 -1
- package/zod.cjs +0 -1
- package/zod.d.cts +0 -1
- package/zod.d.ts +0 -1
- package/zod.js +0 -1
package/dist/hash.cjs
CHANGED
|
@@ -1,62 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* Converted from https://github.com/i404788/xxh3-ts
|
|
3
1
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
Copyright (c) 2019, i404788
|
|
7
|
-
All rights reserved.
|
|
8
|
-
|
|
9
|
-
Redistribution and use in source and binary forms, with or without
|
|
10
|
-
modification, are permitted provided that the following conditions are met:
|
|
11
|
-
|
|
12
|
-
1. Redistributions of source code must retain the above copyright notice, this
|
|
13
|
-
list of conditions and the following disclaimer.
|
|
14
|
-
|
|
15
|
-
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
16
|
-
this list of conditions and the following disclaimer in the documentation
|
|
17
|
-
and/or other materials provided with the distribution.
|
|
18
|
-
|
|
19
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
29
|
-
*/
|
|
30
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
exports.XXH3 = XXH3;
|
|
32
|
-
exports.isXXH3 = isXXH3;
|
|
33
|
-
const n = (n) => BigInt(n);
|
|
2
|
+
//#region src/hash.ts
|
|
3
|
+
const n = (n$1) => BigInt(n$1);
|
|
34
4
|
const view = (data, offset = 0) => new DataView(data.buffer, data.byteOffset + offset, data.byteLength - offset);
|
|
35
|
-
const PRIME32_1 = n("0x9E3779B1");
|
|
36
|
-
const PRIME32_2 = n("0x85EBCA77");
|
|
37
|
-
const PRIME32_3 = n("0xC2B2AE3D");
|
|
38
|
-
const PRIME64_1 = n("0x9E3779B185EBCA87");
|
|
39
|
-
const PRIME64_2 = n("0xC2B2AE3D27D4EB4F");
|
|
40
|
-
const PRIME64_3 = n("0x165667B19E3779F9");
|
|
41
|
-
const PRIME64_4 = n("0x85EBCA77C2B2AE63");
|
|
42
|
-
const PRIME64_5 = n("0x27D4EB2F165667C5");
|
|
43
|
-
const PRIME_MX1 = n("0x165667919E3779F9");
|
|
44
|
-
const PRIME_MX2 = n("0x9FB21C651E98DF25");
|
|
5
|
+
const PRIME32_1 = n("0x9E3779B1");
|
|
6
|
+
const PRIME32_2 = n("0x85EBCA77");
|
|
7
|
+
const PRIME32_3 = n("0xC2B2AE3D");
|
|
8
|
+
const PRIME64_1 = n("0x9E3779B185EBCA87");
|
|
9
|
+
const PRIME64_2 = n("0xC2B2AE3D27D4EB4F");
|
|
10
|
+
const PRIME64_3 = n("0x165667B19E3779F9");
|
|
11
|
+
const PRIME64_4 = n("0x85EBCA77C2B2AE63");
|
|
12
|
+
const PRIME64_5 = n("0x27D4EB2F165667C5");
|
|
13
|
+
const PRIME_MX1 = n("0x165667919E3779F9");
|
|
14
|
+
const PRIME_MX2 = n("0x9FB21C651E98DF25");
|
|
45
15
|
const hexToUint8Array = (hex) => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
return view(bytes);
|
|
16
|
+
const strLen = hex.length;
|
|
17
|
+
if (strLen % 2 !== 0) throw new Error("String should have an even number of characters");
|
|
18
|
+
const maxLength = strLen / 2;
|
|
19
|
+
const bytes = new Uint8Array(maxLength);
|
|
20
|
+
let read = 0;
|
|
21
|
+
let write = 0;
|
|
22
|
+
while (write < maxLength) {
|
|
23
|
+
const slice = hex.slice(read, read += 2);
|
|
24
|
+
bytes[write] = Number.parseInt(slice, 16);
|
|
25
|
+
write += 1;
|
|
26
|
+
}
|
|
27
|
+
return view(bytes);
|
|
60
28
|
};
|
|
61
29
|
const kkey = hexToUint8Array("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e");
|
|
62
30
|
const mask128 = (n(1) << n(128)) - n(1);
|
|
@@ -67,267 +35,237 @@ const ACC_NB = STRIPE_LEN / 8;
|
|
|
67
35
|
const _U64 = 8;
|
|
68
36
|
const _U32 = 4;
|
|
69
37
|
function assert(a) {
|
|
70
|
-
|
|
71
|
-
throw new Error("Assert failed");
|
|
38
|
+
if (!a) throw new Error("Assert failed");
|
|
72
39
|
}
|
|
73
40
|
function bswap64(a) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
41
|
+
const scratchbuf = /* @__PURE__ */ new DataView(/* @__PURE__ */ new ArrayBuffer(8));
|
|
42
|
+
scratchbuf.setBigUint64(0, a, true);
|
|
43
|
+
return scratchbuf.getBigUint64(0, false);
|
|
77
44
|
}
|
|
78
45
|
function bswap32(input) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
46
|
+
let a = input;
|
|
47
|
+
a = (a & n(65535)) << n(16) | (a & n(4294901760)) >> n(16);
|
|
48
|
+
a = (a & n(16711935)) << n(8) | (a & n(4278255360)) >> n(8);
|
|
49
|
+
return a;
|
|
83
50
|
}
|
|
84
51
|
function XXH_mult32to64(a, b) {
|
|
85
|
-
|
|
52
|
+
return (a & mask32) * (b & mask32) & mask64;
|
|
86
53
|
}
|
|
87
54
|
function rotl32(a, b) {
|
|
88
|
-
|
|
55
|
+
return (a << b | a >> n(32) - b) & mask32;
|
|
89
56
|
}
|
|
90
57
|
function XXH3_accumulate_512(acc, dataView, keyView) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
58
|
+
for (let i = 0; i < ACC_NB; i += 1) {
|
|
59
|
+
const data_val = dataView.getBigUint64(i * 8, true);
|
|
60
|
+
const data_key = data_val ^ keyView.getBigUint64(i * 8, true);
|
|
61
|
+
acc[i ^ 1] += data_val;
|
|
62
|
+
acc[i] += XXH_mult32to64(data_key, data_key >> n(32));
|
|
63
|
+
}
|
|
64
|
+
return acc;
|
|
98
65
|
}
|
|
99
66
|
function XXH3_accumulate(acc, dataView, keyView, nbStripes) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
return acc;
|
|
67
|
+
for (let n$1 = 0; n$1 < nbStripes; n$1 += 1) XXH3_accumulate_512(acc, view(dataView, n$1 * STRIPE_LEN), view(keyView, n$1 * 8));
|
|
68
|
+
return acc;
|
|
104
69
|
}
|
|
105
70
|
function XXH3_scrambleAcc(acc, key) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
71
|
+
for (let i = 0; i < ACC_NB; i += 1) {
|
|
72
|
+
const key64 = key.getBigUint64(i * 8, true);
|
|
73
|
+
let acc64 = acc[i];
|
|
74
|
+
acc64 = xorshift64(acc64, n(47));
|
|
75
|
+
acc64 ^= key64;
|
|
76
|
+
acc64 *= PRIME32_1;
|
|
77
|
+
acc[i] = acc64 & mask64;
|
|
78
|
+
}
|
|
79
|
+
return acc;
|
|
115
80
|
}
|
|
116
81
|
function XXH3_mix2Accs(acc, key) {
|
|
117
|
-
|
|
82
|
+
return XXH3_mul128_fold64(acc[0] ^ key.getBigUint64(0, true), acc[1] ^ key.getBigUint64(_U64, true));
|
|
118
83
|
}
|
|
119
84
|
function XXH3_mergeAccs(acc, key, start) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
85
|
+
let result64 = start;
|
|
86
|
+
result64 += XXH3_mix2Accs(acc.slice(0), view(key, 0 * _U32));
|
|
87
|
+
result64 += XXH3_mix2Accs(acc.slice(2), view(key, 4 * _U32));
|
|
88
|
+
result64 += XXH3_mix2Accs(acc.slice(4), view(key, 8 * _U32));
|
|
89
|
+
result64 += XXH3_mix2Accs(acc.slice(6), view(key, 12 * _U32));
|
|
90
|
+
return XXH3_avalanche(result64 & mask64);
|
|
126
91
|
}
|
|
127
92
|
function XXH3_hashLong(input, data, secret, f_acc, f_scramble) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
return acc;
|
|
93
|
+
let acc = input;
|
|
94
|
+
const nbStripesPerBlock = Math.floor((secret.byteLength - STRIPE_LEN) / 8);
|
|
95
|
+
const block_len = STRIPE_LEN * nbStripesPerBlock;
|
|
96
|
+
const nb_blocks = Math.floor((data.byteLength - 1) / block_len);
|
|
97
|
+
for (let n$1 = 0; n$1 < nb_blocks; n$1 += 1) {
|
|
98
|
+
acc = XXH3_accumulate(acc, view(data, n$1 * block_len), secret, nbStripesPerBlock);
|
|
99
|
+
acc = f_scramble(acc, view(secret, secret.byteLength - STRIPE_LEN));
|
|
100
|
+
}
|
|
101
|
+
{
|
|
102
|
+
const nbStripes = Math.floor((data.byteLength - 1 - block_len * nb_blocks) / STRIPE_LEN);
|
|
103
|
+
acc = XXH3_accumulate(acc, view(data, nb_blocks * block_len), secret, nbStripes);
|
|
104
|
+
acc = f_acc(acc, view(data, data.byteLength - STRIPE_LEN), view(secret, secret.byteLength - STRIPE_LEN - 7));
|
|
105
|
+
}
|
|
106
|
+
return acc;
|
|
144
107
|
}
|
|
145
108
|
function XXH3_hashLong_128b(data, secret) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}
|
|
109
|
+
let acc = new BigUint64Array([
|
|
110
|
+
PRIME32_3,
|
|
111
|
+
PRIME64_1,
|
|
112
|
+
PRIME64_2,
|
|
113
|
+
PRIME64_3,
|
|
114
|
+
PRIME64_4,
|
|
115
|
+
PRIME32_2,
|
|
116
|
+
PRIME64_5,
|
|
117
|
+
PRIME32_1
|
|
118
|
+
]);
|
|
119
|
+
assert(data.byteLength > 128);
|
|
120
|
+
acc = XXH3_hashLong(acc, data, secret, XXH3_accumulate_512, XXH3_scrambleAcc);
|
|
121
|
+
assert(acc.length * 8 === 64);
|
|
122
|
+
{
|
|
123
|
+
const low64 = XXH3_mergeAccs(acc, view(secret, 11), n(data.byteLength) * PRIME64_1 & mask64);
|
|
124
|
+
const high64 = XXH3_mergeAccs(acc, view(secret, secret.byteLength - STRIPE_LEN - 11), ~(n(data.byteLength) * PRIME64_2) & mask64);
|
|
125
|
+
return high64 << n(64) | low64;
|
|
126
|
+
}
|
|
165
127
|
}
|
|
166
128
|
function XXH3_mul128_fold64(a, b) {
|
|
167
|
-
|
|
168
|
-
|
|
129
|
+
const lll = a * b & mask128;
|
|
130
|
+
return lll & mask64 ^ lll >> n(64);
|
|
169
131
|
}
|
|
170
132
|
function XXH3_mix16B(dataView, keyView, seed) {
|
|
171
|
-
|
|
172
|
-
mask64, (dataView.getBigUint64(8, true) ^ (keyView.getBigUint64(8, true) - seed)) &
|
|
173
|
-
mask64);
|
|
133
|
+
return XXH3_mul128_fold64((dataView.getBigUint64(0, true) ^ keyView.getBigUint64(0, true) + seed) & mask64, (dataView.getBigUint64(8, true) ^ keyView.getBigUint64(8, true) - seed) & mask64);
|
|
174
134
|
}
|
|
175
135
|
function XXH3_mix32B(acc, data1, data2, key, seed) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
136
|
+
let accl = acc & mask64;
|
|
137
|
+
let acch = acc >> n(64) & mask64;
|
|
138
|
+
accl += XXH3_mix16B(data1, key, seed);
|
|
139
|
+
accl ^= data2.getBigUint64(0, true) + data2.getBigUint64(8, true);
|
|
140
|
+
accl &= mask64;
|
|
141
|
+
acch += XXH3_mix16B(data2, view(key, 16), seed);
|
|
142
|
+
acch ^= data1.getBigUint64(0, true) + data1.getBigUint64(8, true);
|
|
143
|
+
acch &= mask64;
|
|
144
|
+
return acch << n(64) | accl;
|
|
185
145
|
}
|
|
186
146
|
function XXH3_avalanche(input) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
147
|
+
let h64 = input;
|
|
148
|
+
h64 ^= h64 >> n(37);
|
|
149
|
+
h64 *= PRIME_MX1;
|
|
150
|
+
h64 &= mask64;
|
|
151
|
+
h64 ^= h64 >> n(32);
|
|
152
|
+
return h64;
|
|
193
153
|
}
|
|
194
154
|
function XXH3_avalanche64(input) {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
155
|
+
let h64 = input;
|
|
156
|
+
h64 ^= h64 >> n(33);
|
|
157
|
+
h64 *= PRIME64_2;
|
|
158
|
+
h64 &= mask64;
|
|
159
|
+
h64 ^= h64 >> n(29);
|
|
160
|
+
h64 *= PRIME64_3;
|
|
161
|
+
h64 &= mask64;
|
|
162
|
+
h64 ^= h64 >> n(32);
|
|
163
|
+
return h64;
|
|
204
164
|
}
|
|
205
165
|
function XXH3_len_1to3_128b(data, key32, seed) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const bhigh = (n(key32.getUint32(8, true)) ^ n(key32.getUint32(12, true))) - seed;
|
|
215
|
-
const high = (rotl32(bswap32(combined), n(13)) ^ bhigh) & mask64;
|
|
216
|
-
return ((XXH3_avalanche64(high) & mask64) << n(64)) | XXH3_avalanche64(low);
|
|
166
|
+
const len = data.byteLength;
|
|
167
|
+
assert(len > 0 && len <= 3);
|
|
168
|
+
const combined = n(data.getUint8(len - 1)) | n(len << 8) | n(data.getUint8(0) << 16) | n(data.getUint8(len >> 1) << 24);
|
|
169
|
+
const blow = (n(key32.getUint32(0, true)) ^ n(key32.getUint32(4, true))) + seed;
|
|
170
|
+
const low = (combined ^ blow) & mask64;
|
|
171
|
+
const bhigh = (n(key32.getUint32(8, true)) ^ n(key32.getUint32(12, true))) - seed;
|
|
172
|
+
const high = (rotl32(bswap32(combined), n(13)) ^ bhigh) & mask64;
|
|
173
|
+
return (XXH3_avalanche64(high) & mask64) << n(64) | XXH3_avalanche64(low);
|
|
217
174
|
}
|
|
218
175
|
function xorshift64(b, shift) {
|
|
219
|
-
|
|
176
|
+
return b ^ b >> shift;
|
|
220
177
|
}
|
|
221
178
|
function XXH3_len_4to8_128b(data, key32, seed) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
(XXH3_avalanche(m128 >> n(64)) << n(64)));
|
|
237
|
-
}
|
|
179
|
+
const len = data.byteLength;
|
|
180
|
+
assert(len >= 4 && len <= 8);
|
|
181
|
+
{
|
|
182
|
+
const l1 = data.getUint32(0, true);
|
|
183
|
+
const l2 = data.getUint32(len - 4, true);
|
|
184
|
+
const l64 = n(l1) | n(l2) << n(32);
|
|
185
|
+
const bitflip = (key32.getBigUint64(16, true) ^ key32.getBigUint64(24, true)) + seed & mask64;
|
|
186
|
+
const keyed = l64 ^ bitflip;
|
|
187
|
+
let m128 = keyed * (PRIME64_1 + (n(len) << n(2))) & mask128;
|
|
188
|
+
m128 += (m128 & mask64) << n(65);
|
|
189
|
+
m128 &= mask128;
|
|
190
|
+
m128 ^= m128 >> n(67);
|
|
191
|
+
return xorshift64(xorshift64(m128 & mask64, n(35)) * PRIME_MX2 & mask64, n(28)) | XXH3_avalanche(m128 >> n(64)) << n(64);
|
|
192
|
+
}
|
|
238
193
|
}
|
|
239
194
|
function XXH3_len_9to16_128b(data, key64, seed) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
return (XXH3_avalanche(h128 & mask64) | (XXH3_avalanche(h128 >> n(64)) << n(64)));
|
|
260
|
-
}
|
|
195
|
+
const len = data.byteLength;
|
|
196
|
+
assert(len >= 9 && len <= 16);
|
|
197
|
+
{
|
|
198
|
+
const bitflipl = (key64.getBigUint64(32, true) ^ key64.getBigUint64(40, true)) + seed & mask64;
|
|
199
|
+
const bitfliph = (key64.getBigUint64(48, true) ^ key64.getBigUint64(56, true)) - seed & mask64;
|
|
200
|
+
const ll1 = data.getBigUint64(0, true);
|
|
201
|
+
let ll2 = data.getBigUint64(len - 8, true);
|
|
202
|
+
let m128 = (ll1 ^ ll2 ^ bitflipl) * PRIME64_1;
|
|
203
|
+
const m128_l = (m128 & mask64) + (n(len - 1) << n(54));
|
|
204
|
+
m128 = m128 & (mask128 ^ mask64) | m128_l;
|
|
205
|
+
ll2 ^= bitfliph;
|
|
206
|
+
m128 += ll2 + (ll2 & mask32) * (PRIME32_2 - n(1)) << n(64);
|
|
207
|
+
m128 &= mask128;
|
|
208
|
+
m128 ^= bswap64(m128 >> n(64));
|
|
209
|
+
let h128 = (m128 & mask64) * PRIME64_2;
|
|
210
|
+
h128 += (m128 >> n(64)) * PRIME64_2 << n(64);
|
|
211
|
+
h128 &= mask128;
|
|
212
|
+
return XXH3_avalanche(h128 & mask64) | XXH3_avalanche(h128 >> n(64)) << n(64);
|
|
213
|
+
}
|
|
261
214
|
}
|
|
262
215
|
function XXH3_len_0to16_128b(data, seed) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
if (len > 0)
|
|
270
|
-
return XXH3_len_1to3_128b(data, kkey, seed);
|
|
271
|
-
return (XXH3_avalanche64(seed ^ kkey.getBigUint64(64, true) ^ kkey.getBigUint64(72, true)) |
|
|
272
|
-
(XXH3_avalanche64(seed ^ kkey.getBigUint64(80, true) ^ kkey.getBigUint64(88, true)) <<
|
|
273
|
-
n(64)));
|
|
216
|
+
const len = data.byteLength;
|
|
217
|
+
assert(len <= 16);
|
|
218
|
+
if (len > 8) return XXH3_len_9to16_128b(data, kkey, seed);
|
|
219
|
+
if (len >= 4) return XXH3_len_4to8_128b(data, kkey, seed);
|
|
220
|
+
if (len > 0) return XXH3_len_1to3_128b(data, kkey, seed);
|
|
221
|
+
return XXH3_avalanche64(seed ^ kkey.getBigUint64(64, true) ^ kkey.getBigUint64(72, true)) | XXH3_avalanche64(seed ^ kkey.getBigUint64(80, true) ^ kkey.getBigUint64(88, true)) << n(64);
|
|
274
222
|
}
|
|
275
223
|
function inv64(x) {
|
|
276
|
-
|
|
277
|
-
return (~x + n(1)) & mask64;
|
|
224
|
+
return ~x + n(1) & mask64;
|
|
278
225
|
}
|
|
279
226
|
function XXH3_len_17to128_128b(data, secret, seed) {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
h128h = inv64(XXH3_avalanche(h128h));
|
|
294
|
-
return h128l | (h128h << n(64));
|
|
227
|
+
let acc = n(data.byteLength) * PRIME64_1 & mask64;
|
|
228
|
+
let i = n(data.byteLength - 1) / n(32);
|
|
229
|
+
while (i >= 0) {
|
|
230
|
+
const ni = Number(i);
|
|
231
|
+
acc = XXH3_mix32B(acc, view(data, 16 * ni), view(data, data.byteLength - 16 * (ni + 1)), view(secret, 32 * ni), seed);
|
|
232
|
+
i -= n(1);
|
|
233
|
+
}
|
|
234
|
+
let h128l = acc + (acc >> n(64)) & mask64;
|
|
235
|
+
h128l = XXH3_avalanche(h128l);
|
|
236
|
+
let h128h = (acc & mask64) * PRIME64_1 + (acc >> n(64)) * PRIME64_4 + (n(data.byteLength) - seed & mask64) * PRIME64_2;
|
|
237
|
+
h128h &= mask64;
|
|
238
|
+
h128h = inv64(XXH3_avalanche(h128h));
|
|
239
|
+
return h128l | h128h << n(64);
|
|
295
240
|
}
|
|
296
241
|
function XXH3_len_129to240_128b(data, secret, seed) {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
let h128h = (acc & mask64) * PRIME64_1 +
|
|
309
|
-
(acc >> n(64)) * PRIME64_4 +
|
|
310
|
-
((n(data.byteLength) - seed) & mask64) * PRIME64_2;
|
|
311
|
-
h128h &= mask64;
|
|
312
|
-
h128h = inv64(XXH3_avalanche(h128h));
|
|
313
|
-
return h128l | (h128h << n(64));
|
|
242
|
+
let acc = n(data.byteLength) * PRIME64_1 & mask64;
|
|
243
|
+
for (let i = 32; i < 160; i += 32) acc = XXH3_mix32B(acc, view(data, i - 32), view(data, i - 16), view(secret, i - 32), seed);
|
|
244
|
+
acc = XXH3_avalanche(acc & mask64) | XXH3_avalanche(acc >> n(64)) << n(64);
|
|
245
|
+
for (let i = 160; i <= data.byteLength; i += 32) acc = XXH3_mix32B(acc, view(data, i - 32), view(data, i - 16), view(secret, 3 + i - 160), seed);
|
|
246
|
+
acc = XXH3_mix32B(acc, view(data, data.byteLength - 16), view(data, data.byteLength - 32), view(secret, 103), inv64(seed));
|
|
247
|
+
let h128l = acc + (acc >> n(64)) & mask64;
|
|
248
|
+
h128l = XXH3_avalanche(h128l);
|
|
249
|
+
let h128h = (acc & mask64) * PRIME64_1 + (acc >> n(64)) * PRIME64_4 + (n(data.byteLength) - seed & mask64) * PRIME64_2;
|
|
250
|
+
h128h &= mask64;
|
|
251
|
+
h128h = inv64(XXH3_avalanche(h128h));
|
|
252
|
+
return h128l | h128h << n(64);
|
|
314
253
|
}
|
|
315
|
-
// 16 byte min input
|
|
316
254
|
function XXH3(input, seed = n(0)) {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
if (len <= 240)
|
|
326
|
-
return hexDigest(XXH3_len_129to240_128b(data, kkey, seed));
|
|
327
|
-
return hexDigest(XXH3_hashLong_128b(data, kkey));
|
|
255
|
+
const encoder = new TextEncoder();
|
|
256
|
+
const data = view(typeof input === "string" ? encoder.encode(input) : input);
|
|
257
|
+
const len = data.byteLength;
|
|
258
|
+
const hexDigest = (data$1) => data$1.toString(16).padStart(32, "0");
|
|
259
|
+
if (len <= 16) return hexDigest(XXH3_len_0to16_128b(data, seed));
|
|
260
|
+
if (len <= 128) return hexDigest(XXH3_len_17to128_128b(data, kkey, seed));
|
|
261
|
+
if (len <= 240) return hexDigest(XXH3_len_129to240_128b(data, kkey, seed));
|
|
262
|
+
return hexDigest(XXH3_hashLong_128b(data, kkey));
|
|
328
263
|
}
|
|
329
264
|
function isXXH3(value) {
|
|
330
|
-
|
|
331
|
-
return /^[0-9a-f]{32}$/.test(value);
|
|
265
|
+
return /^[0-9a-f]{32}$/.test(value);
|
|
332
266
|
}
|
|
333
|
-
|
|
267
|
+
|
|
268
|
+
//#endregion
|
|
269
|
+
exports.XXH3 = XXH3;
|
|
270
|
+
exports.isXXH3 = isXXH3;
|
|
271
|
+
//# sourceMappingURL=hash.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.cjs","names":["n","data"],"sources":["../src/hash.ts"],"sourcesContent":["/* Converted from https://github.com/i404788/xxh3-ts\n\nBSD 2-Clause License\n\nCopyright (c) 2019, i404788\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\nconst n = (n: number | string) => BigInt(n);\nconst view = (data: Uint8Array | DataView, offset: number = 0) =>\n new DataView(data.buffer, data.byteOffset + offset, data.byteLength - offset);\n\nconst PRIME32_1 = n(\"0x9E3779B1\"); // 0b10011110001101110111100110110001\nconst PRIME32_2 = n(\"0x85EBCA77\"); // 0b10000101111010111100101001110111\nconst PRIME32_3 = n(\"0xC2B2AE3D\"); // 0b11000010101100101010111000111101\nconst PRIME64_1 = n(\"0x9E3779B185EBCA87\"); // 0b1001111000110111011110011011000110000101111010111100101010000111\nconst PRIME64_2 = n(\"0xC2B2AE3D27D4EB4F\"); // 0b1100001010110010101011100011110100100111110101001110101101001111\nconst PRIME64_3 = n(\"0x165667B19E3779F9\"); // 0b0001011001010110011001111011000110011110001101110111100111111001\nconst PRIME64_4 = n(\"0x85EBCA77C2B2AE63\"); // 0b1000010111101011110010100111011111000010101100101010111001100011\nconst PRIME64_5 = n(\"0x27D4EB2F165667C5\"); // 0b0010011111010100111010110010111100010110010101100110011111000101\nconst PRIME_MX1 = n(\"0x165667919E3779F9\"); // 0b0001011001010110011001111001000110011110001101110111100111111001\nconst PRIME_MX2 = n(\"0x9FB21C651E98DF25\"); // 0b1001111110110010000111000110010100011110100110001101111100100101\n\nconst hexToUint8Array = (hex: string) => {\n const strLen = hex.length;\n if (strLen % 2 !== 0) {\n throw new Error(\"String should have an even number of characters\");\n }\n\n const maxLength = strLen / 2;\n const bytes = new Uint8Array(maxLength);\n\n let read = 0;\n let write = 0;\n while (write < maxLength) {\n const slice = hex.slice(read, (read += 2));\n bytes[write] = Number.parseInt(slice, 16);\n write += 1;\n }\n\n return view(bytes);\n};\n\nconst kkey = hexToUint8Array(\n \"b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e\"\n);\n\nconst mask128 = (n(1) << n(128)) - n(1);\nconst mask64 = (n(1) << n(64)) - n(1);\nconst mask32 = (n(1) << n(32)) - n(1);\nconst STRIPE_LEN = 64;\nconst ACC_NB = STRIPE_LEN / 8;\nconst _U64 = 8;\nconst _U32 = 4;\n\nfunction assert(a: boolean) {\n if (!a) throw new Error(\"Assert failed\");\n}\n\nfunction bswap64(a: bigint) {\n const scratchbuf = new DataView(new ArrayBuffer(8));\n scratchbuf.setBigUint64(0, a, true);\n return scratchbuf.getBigUint64(0, false);\n}\n\nfunction bswap32(input: bigint) {\n let a = input;\n a = ((a & n(0x0000ffff)) << n(16)) | ((a & n(0xffff0000)) >> n(16));\n a = ((a & n(0x00ff00ff)) << n(8)) | ((a & n(0xff00ff00)) >> n(8));\n return a; // 32-bit\n}\n\nfunction XXH_mult32to64(a: bigint, b: bigint) {\n return ((a & mask32) * (b & mask32)) & mask64;\n}\n\nfunction rotl32(a: bigint, b: bigint) {\n return ((a << b) | (a >> (n(32) - b))) & mask32;\n}\n\nfunction XXH3_accumulate_512(\n acc: BigUint64Array,\n dataView: DataView,\n keyView: DataView\n) {\n for (let i = 0; i < ACC_NB; i += 1) {\n const data_val = dataView.getBigUint64(i * 8, true);\n const data_key = data_val ^ keyView.getBigUint64(i * 8, true);\n acc[i ^ 1] += data_val;\n acc[i] += XXH_mult32to64(data_key, data_key >> n(32));\n }\n return acc;\n}\n\nfunction XXH3_accumulate(\n acc: BigUint64Array,\n dataView: DataView,\n keyView: DataView,\n nbStripes: number\n) {\n for (let n = 0; n < nbStripes; n += 1) {\n XXH3_accumulate_512(\n acc,\n view(dataView, n * STRIPE_LEN),\n view(keyView, n * 8)\n );\n }\n return acc;\n}\n\nfunction XXH3_scrambleAcc(acc: BigUint64Array, key: DataView) {\n for (let i = 0; i < ACC_NB; i += 1) {\n const key64 = key.getBigUint64(i * 8, true);\n let acc64 = acc[i];\n acc64 = xorshift64(acc64, n(47));\n acc64 ^= key64;\n acc64 *= PRIME32_1;\n acc[i] = acc64 & mask64;\n }\n return acc;\n}\n\nfunction XXH3_mix2Accs(acc: BigUint64Array, key: DataView) {\n return XXH3_mul128_fold64(\n acc[0] ^ key.getBigUint64(0, true),\n acc[1] ^ key.getBigUint64(_U64, true)\n );\n}\n\nfunction XXH3_mergeAccs(acc: BigUint64Array, key: DataView, start: bigint) {\n let result64 = start;\n\n result64 += XXH3_mix2Accs(acc.slice(0), view(key, 0 * _U32));\n result64 += XXH3_mix2Accs(acc.slice(2), view(key, 4 * _U32));\n result64 += XXH3_mix2Accs(acc.slice(4), view(key, 8 * _U32));\n result64 += XXH3_mix2Accs(acc.slice(6), view(key, 12 * _U32));\n\n return XXH3_avalanche(result64 & mask64);\n}\n\nfunction XXH3_hashLong(\n input: BigUint64Array,\n data: DataView,\n secret: DataView,\n f_acc: (acc: BigUint64Array, data: DataView, key: DataView) => BigUint64Array,\n f_scramble: (acc: BigUint64Array, key: DataView) => BigUint64Array\n) {\n let acc = input;\n const nbStripesPerBlock = Math.floor((secret.byteLength - STRIPE_LEN) / 8);\n const block_len = STRIPE_LEN * nbStripesPerBlock;\n const nb_blocks = Math.floor((data.byteLength - 1) / block_len);\n\n for (let n = 0; n < nb_blocks; n += 1) {\n acc = XXH3_accumulate(\n acc,\n view(data, n * block_len),\n secret,\n nbStripesPerBlock\n );\n acc = f_scramble(acc, view(secret, secret.byteLength - STRIPE_LEN));\n }\n\n {\n // Partial block\n const nbStripes = Math.floor(\n (data.byteLength - 1 - block_len * nb_blocks) / STRIPE_LEN\n );\n acc = XXH3_accumulate(\n acc,\n view(data, nb_blocks * block_len),\n secret,\n nbStripes\n );\n\n // Last Stripe\n acc = f_acc(\n acc,\n view(data, data.byteLength - STRIPE_LEN),\n view(secret, secret.byteLength - STRIPE_LEN - 7)\n );\n }\n return acc;\n}\n\nfunction XXH3_hashLong_128b(data: DataView, secret: DataView) {\n let acc = new BigUint64Array([\n PRIME32_3,\n PRIME64_1,\n PRIME64_2,\n PRIME64_3,\n PRIME64_4,\n PRIME32_2,\n PRIME64_5,\n PRIME32_1,\n ]);\n assert(data.byteLength > 128);\n\n acc = XXH3_hashLong(\n acc,\n data,\n secret,\n XXH3_accumulate_512,\n XXH3_scrambleAcc\n ) as BigUint64Array<ArrayBuffer>;\n\n /* converge into final hash */\n assert(acc.length * 8 === 64);\n {\n const low64 = XXH3_mergeAccs(\n acc,\n view(secret, 11),\n (n(data.byteLength) * PRIME64_1) & mask64\n );\n const high64 = XXH3_mergeAccs(\n acc,\n view(secret, secret.byteLength - STRIPE_LEN - 11),\n ~(n(data.byteLength) * PRIME64_2) & mask64\n );\n return (high64 << n(64)) | low64;\n }\n}\n\nfunction XXH3_mul128_fold64(a: bigint, b: bigint) {\n const lll = (a * b) & mask128;\n return (lll & mask64) ^ (lll >> n(64));\n}\n\nfunction XXH3_mix16B(dataView: DataView, keyView: DataView, seed: bigint) {\n return XXH3_mul128_fold64(\n (dataView.getBigUint64(0, true) ^ (keyView.getBigUint64(0, true) + seed)) &\n mask64,\n (dataView.getBigUint64(8, true) ^ (keyView.getBigUint64(8, true) - seed)) &\n mask64\n );\n}\n\nfunction XXH3_mix32B(\n acc: bigint,\n data1: DataView,\n data2: DataView,\n key: DataView,\n seed: bigint\n) {\n let accl = acc & mask64;\n let acch = (acc >> n(64)) & mask64;\n\n accl += XXH3_mix16B(data1, key, seed);\n accl ^= data2.getBigUint64(0, true) + data2.getBigUint64(8, true);\n accl &= mask64;\n acch += XXH3_mix16B(data2, view(key, 16), seed);\n acch ^= data1.getBigUint64(0, true) + data1.getBigUint64(8, true);\n acch &= mask64;\n\n return (acch << n(64)) | accl;\n}\n\nfunction XXH3_avalanche(input: bigint) {\n let h64 = input;\n h64 ^= h64 >> n(37);\n h64 *= PRIME_MX1;\n h64 &= mask64;\n h64 ^= h64 >> n(32);\n return h64;\n}\n\nfunction XXH3_avalanche64(input: bigint) {\n let h64 = input;\n h64 ^= h64 >> n(33);\n h64 *= PRIME64_2;\n h64 &= mask64; // 64-bit\n h64 ^= h64 >> n(29);\n h64 *= PRIME64_3;\n h64 &= mask64;\n h64 ^= h64 >> n(32);\n return h64;\n}\n\nfunction XXH3_len_1to3_128b(data: DataView, key32: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len > 0 && len <= 3);\n\n const combined =\n n(data.getUint8(len - 1)) |\n n(len << 8) |\n n(data.getUint8(0) << 16) |\n n(data.getUint8(len >> 1) << 24);\n\n const blow =\n (n(key32.getUint32(0, true)) ^ n(key32.getUint32(4, true))) + seed;\n const low = (combined ^ blow) & mask64;\n const bhigh =\n (n(key32.getUint32(8, true)) ^ n(key32.getUint32(12, true))) - seed;\n const high = (rotl32(bswap32(combined), n(13)) ^ bhigh) & mask64;\n\n return ((XXH3_avalanche64(high) & mask64) << n(64)) | XXH3_avalanche64(low);\n}\n\nfunction xorshift64(b: bigint, shift: bigint) {\n return b ^ (b >> shift);\n}\n\nfunction XXH3_len_4to8_128b(data: DataView, key32: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len >= 4 && len <= 8);\n\n {\n const l1 = data.getUint32(0, true);\n const l2 = data.getUint32(len - 4, true);\n const l64 = n(l1) | (n(l2) << n(32));\n const bitflip =\n ((key32.getBigUint64(16, true) ^ key32.getBigUint64(24, true)) + seed) &\n mask64;\n const keyed = l64 ^ bitflip;\n let m128 = (keyed * (PRIME64_1 + (n(len) << n(2)))) & mask128;\n m128 += (m128 & mask64) << n(65);\n m128 &= mask128;\n m128 ^= m128 >> n(67);\n\n return (\n xorshift64(\n (xorshift64(m128 & mask64, n(35)) * PRIME_MX2) & mask64,\n n(28)\n ) |\n (XXH3_avalanche(m128 >> n(64)) << n(64))\n );\n }\n}\n\nfunction XXH3_len_9to16_128b(data: DataView, key64: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len >= 9 && len <= 16);\n\n {\n const bitflipl =\n ((key64.getBigUint64(32, true) ^ key64.getBigUint64(40, true)) + seed) &\n mask64;\n const bitfliph =\n ((key64.getBigUint64(48, true) ^ key64.getBigUint64(56, true)) - seed) &\n mask64;\n const ll1 = data.getBigUint64(0, true);\n let ll2 = data.getBigUint64(len - 8, true);\n\n let m128 = (ll1 ^ ll2 ^ bitflipl) * PRIME64_1;\n\n const m128_l = (m128 & mask64) + (n(len - 1) << n(54));\n m128 = (m128 & (mask128 ^ mask64)) | m128_l; // eqv. to adding only to lower 64b\n ll2 ^= bitfliph;\n\n m128 += (ll2 + (ll2 & mask32) * (PRIME32_2 - n(1))) << n(64);\n m128 &= mask128;\n m128 ^= bswap64(m128 >> n(64));\n let h128 = (m128 & mask64) * PRIME64_2;\n h128 += ((m128 >> n(64)) * PRIME64_2) << n(64);\n h128 &= mask128;\n\n return (\n XXH3_avalanche(h128 & mask64) | (XXH3_avalanche(h128 >> n(64)) << n(64))\n );\n }\n}\n\nfunction XXH3_len_0to16_128b(data: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len <= 16);\n\n if (len > 8) return XXH3_len_9to16_128b(data, kkey, seed);\n if (len >= 4) return XXH3_len_4to8_128b(data, kkey, seed);\n if (len > 0) return XXH3_len_1to3_128b(data, kkey, seed);\n\n return (\n XXH3_avalanche64(\n seed ^ kkey.getBigUint64(64, true) ^ kkey.getBigUint64(72, true)\n ) |\n (XXH3_avalanche64(\n seed ^ kkey.getBigUint64(80, true) ^ kkey.getBigUint64(88, true)\n ) <<\n n(64))\n );\n}\n\nfunction inv64(x: bigint) {\n // NOTE: `AND` fixes signedness (but because of 2's complement we need to re-add 1)\n return (~x + n(1)) & mask64;\n}\n\nfunction XXH3_len_17to128_128b(data: DataView, secret: DataView, seed: bigint) {\n let acc = (n(data.byteLength) * PRIME64_1) & mask64;\n let i = n(data.byteLength - 1) / n(32);\n while (i >= 0) {\n const ni = Number(i);\n acc = XXH3_mix32B(\n acc,\n view(data, 16 * ni),\n view(data, data.byteLength - 16 * (ni + 1)),\n view(secret, 32 * ni),\n seed\n );\n i -= n(1);\n }\n\n let h128l = (acc + (acc >> n(64))) & mask64;\n h128l = XXH3_avalanche(h128l);\n let h128h =\n (acc & mask64) * PRIME64_1 +\n (acc >> n(64)) * PRIME64_4 +\n ((n(data.byteLength) - seed) & mask64) * PRIME64_2;\n h128h &= mask64;\n\n h128h = inv64(XXH3_avalanche(h128h));\n return h128l | (h128h << n(64));\n}\n\nfunction XXH3_len_129to240_128b(\n data: DataView,\n secret: DataView,\n seed: bigint\n) {\n let acc = (n(data.byteLength) * PRIME64_1) & mask64;\n for (let i = 32; i < 160; i += 32) {\n acc = XXH3_mix32B(\n acc,\n view(data, i - 32),\n view(data, i - 16),\n view(secret, i - 32),\n seed\n );\n }\n acc = XXH3_avalanche(acc & mask64) | (XXH3_avalanche(acc >> n(64)) << n(64));\n for (let i = 160; i <= data.byteLength; i += 32) {\n acc = XXH3_mix32B(\n acc,\n view(data, i - 32),\n view(data, i - 16),\n view(secret, 3 + i - 160),\n seed\n );\n }\n acc = XXH3_mix32B(\n acc,\n view(data, data.byteLength - 16),\n view(data, data.byteLength - 32),\n view(secret, 136 - 17 - 16),\n inv64(seed)\n );\n\n let h128l = (acc + (acc >> n(64))) & mask64;\n h128l = XXH3_avalanche(h128l);\n let h128h =\n (acc & mask64) * PRIME64_1 +\n (acc >> n(64)) * PRIME64_4 +\n ((n(data.byteLength) - seed) & mask64) * PRIME64_2;\n h128h &= mask64;\n\n h128h = inv64(XXH3_avalanche(h128h));\n return h128l | (h128h << n(64));\n}\n\n// 16 byte min input\nexport function XXH3(input: Uint8Array | string, seed: bigint = n(0)) {\n const encoder = new TextEncoder();\n const data = view(typeof input === \"string\" ? encoder.encode(input) : input);\n const len = data.byteLength;\n\n const hexDigest = (data: bigint) => data.toString(16).padStart(32, \"0\");\n if (len <= 16) return hexDigest(XXH3_len_0to16_128b(data, seed));\n if (len <= 128) return hexDigest(XXH3_len_17to128_128b(data, kkey, seed));\n if (len <= 240) return hexDigest(XXH3_len_129to240_128b(data, kkey, seed));\n return hexDigest(XXH3_hashLong_128b(data, kkey));\n}\n\nexport function isXXH3(value: string): boolean {\n // Check if the given string matches the format of XXH3 (128 bit hex digest).\n return /^[0-9a-f]{32}$/.test(value);\n}\n"],"mappings":";;AA6BA,MAAM,KAAK,QAAuB,OAAOA;AACzC,MAAM,QAAQ,MAA6B,SAAiB,MAC1D,IAAI,SAAS,KAAK,QAAQ,KAAK,aAAa,QAAQ,KAAK,aAAa;AAExE,MAAM,YAAY,EAAE;AACpB,MAAM,YAAY,EAAE;AACpB,MAAM,YAAY,EAAE;AACpB,MAAM,YAAY,EAAE;AACpB,MAAM,YAAY,EAAE;AACpB,MAAM,YAAY,EAAE;AACpB,MAAM,YAAY,EAAE;AACpB,MAAM,YAAY,EAAE;AACpB,MAAM,YAAY,EAAE;AACpB,MAAM,YAAY,EAAE;AAEpB,MAAM,mBAAmB,QAAgB;CACvC,MAAM,SAAS,IAAI;AACnB,KAAI,SAAS,MAAM,EACjB,OAAM,IAAI,MAAM;CAGlB,MAAM,YAAY,SAAS;CAC3B,MAAM,QAAQ,IAAI,WAAW;CAE7B,IAAI,OAAO;CACX,IAAI,QAAQ;AACZ,QAAO,QAAQ,WAAW;EACxB,MAAM,QAAQ,IAAI,MAAM,MAAO,QAAQ;AACvC,QAAM,SAAS,OAAO,SAAS,OAAO;AACtC,WAAS;;AAGX,QAAO,KAAK;;AAGd,MAAM,OAAO,gBACX;AAGF,MAAM,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;AACrC,MAAM,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;AACnC,MAAM,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;AACnC,MAAM,aAAa;AACnB,MAAM,SAAS,aAAa;AAC5B,MAAM,OAAO;AACb,MAAM,OAAO;AAEb,SAAS,OAAO,GAAY;AAC1B,KAAI,CAAC,EAAG,OAAM,IAAI,MAAM;;AAG1B,SAAS,QAAQ,GAAW;CAC1B,MAAM,6BAAa,IAAI,yBAAS,IAAI,YAAY;AAChD,YAAW,aAAa,GAAG,GAAG;AAC9B,QAAO,WAAW,aAAa,GAAG;;AAGpC,SAAS,QAAQ,OAAe;CAC9B,IAAI,IAAI;AACR,MAAM,IAAI,EAAE,WAAgB,EAAE,OAAS,IAAI,EAAE,gBAAgB,EAAE;AAC/D,MAAM,IAAI,EAAE,cAAgB,EAAE,MAAQ,IAAI,EAAE,gBAAgB,EAAE;AAC9D,QAAO;;AAGT,SAAS,eAAe,GAAW,GAAW;AAC5C,SAAS,IAAI,WAAW,IAAI,UAAW;;AAGzC,SAAS,OAAO,GAAW,GAAW;AACpC,SAAS,KAAK,IAAM,KAAM,EAAE,MAAM,KAAO;;AAG3C,SAAS,oBACP,KACA,UACA,SACA;AACA,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;EAClC,MAAM,WAAW,SAAS,aAAa,IAAI,GAAG;EAC9C,MAAM,WAAW,WAAW,QAAQ,aAAa,IAAI,GAAG;AACxD,MAAI,IAAI,MAAM;AACd,MAAI,MAAM,eAAe,UAAU,YAAY,EAAE;;AAEnD,QAAO;;AAGT,SAAS,gBACP,KACA,UACA,SACA,WACA;AACA,MAAK,IAAIA,MAAI,GAAGA,MAAI,WAAW,OAAK,EAClC,qBACE,KACA,KAAK,UAAUA,MAAI,aACnB,KAAK,SAASA,MAAI;AAGtB,QAAO;;AAGT,SAAS,iBAAiB,KAAqB,KAAe;AAC5D,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;EAClC,MAAM,QAAQ,IAAI,aAAa,IAAI,GAAG;EACtC,IAAI,QAAQ,IAAI;AAChB,UAAQ,WAAW,OAAO,EAAE;AAC5B,WAAS;AACT,WAAS;AACT,MAAI,KAAK,QAAQ;;AAEnB,QAAO;;AAGT,SAAS,cAAc,KAAqB,KAAe;AACzD,QAAO,mBACL,IAAI,KAAK,IAAI,aAAa,GAAG,OAC7B,IAAI,KAAK,IAAI,aAAa,MAAM;;AAIpC,SAAS,eAAe,KAAqB,KAAe,OAAe;CACzE,IAAI,WAAW;AAEf,aAAY,cAAc,IAAI,MAAM,IAAI,KAAK,KAAK,IAAI;AACtD,aAAY,cAAc,IAAI,MAAM,IAAI,KAAK,KAAK,IAAI;AACtD,aAAY,cAAc,IAAI,MAAM,IAAI,KAAK,KAAK,IAAI;AACtD,aAAY,cAAc,IAAI,MAAM,IAAI,KAAK,KAAK,KAAK;AAEvD,QAAO,eAAe,WAAW;;AAGnC,SAAS,cACP,OACA,MACA,QACA,OACA,YACA;CACA,IAAI,MAAM;CACV,MAAM,oBAAoB,KAAK,OAAO,OAAO,aAAa,cAAc;CACxE,MAAM,YAAY,aAAa;CAC/B,MAAM,YAAY,KAAK,OAAO,KAAK,aAAa,KAAK;AAErD,MAAK,IAAIA,MAAI,GAAGA,MAAI,WAAW,OAAK,GAAG;AACrC,QAAM,gBACJ,KACA,KAAK,MAAMA,MAAI,YACf,QACA;AAEF,QAAM,WAAW,KAAK,KAAK,QAAQ,OAAO,aAAa;;CAGzD;EAEE,MAAM,YAAY,KAAK,OACpB,KAAK,aAAa,IAAI,YAAY,aAAa;AAElD,QAAM,gBACJ,KACA,KAAK,MAAM,YAAY,YACvB,QACA;AAIF,QAAM,MACJ,KACA,KAAK,MAAM,KAAK,aAAa,aAC7B,KAAK,QAAQ,OAAO,aAAa,aAAa;;AAGlD,QAAO;;AAGT,SAAS,mBAAmB,MAAgB,QAAkB;CAC5D,IAAI,MAAM,IAAI,eAAe;EAC3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF,QAAO,KAAK,aAAa;AAEzB,OAAM,cACJ,KACA,MACA,QACA,qBACA;AAIF,QAAO,IAAI,SAAS,MAAM;CAC1B;EACE,MAAM,QAAQ,eACZ,KACA,KAAK,QAAQ,KACZ,EAAE,KAAK,cAAc,YAAa;EAErC,MAAM,SAAS,eACb,KACA,KAAK,QAAQ,OAAO,aAAa,aAAa,KAC9C,EAAE,EAAE,KAAK,cAAc,aAAa;AAEtC,SAAQ,UAAU,EAAE,MAAO;;;AAI/B,SAAS,mBAAmB,GAAW,GAAW;CAChD,MAAM,MAAO,IAAI,IAAK;AACtB,QAAQ,MAAM,SAAW,OAAO,EAAE;;AAGpC,SAAS,YAAY,UAAoB,SAAmB,MAAc;AACxE,QAAO,oBACJ,SAAS,aAAa,GAAG,QAAS,QAAQ,aAAa,GAAG,QAAQ,QACjE,SACD,SAAS,aAAa,GAAG,QAAS,QAAQ,aAAa,GAAG,QAAQ,QACjE;;AAIN,SAAS,YACP,KACA,OACA,OACA,KACA,MACA;CACA,IAAI,OAAO,MAAM;CACjB,IAAI,OAAQ,OAAO,EAAE,MAAO;AAE5B,SAAQ,YAAY,OAAO,KAAK;AAChC,SAAQ,MAAM,aAAa,GAAG,QAAQ,MAAM,aAAa,GAAG;AAC5D,SAAQ;AACR,SAAQ,YAAY,OAAO,KAAK,KAAK,KAAK;AAC1C,SAAQ,MAAM,aAAa,GAAG,QAAQ,MAAM,aAAa,GAAG;AAC5D,SAAQ;AAER,QAAQ,QAAQ,EAAE,MAAO;;AAG3B,SAAS,eAAe,OAAe;CACrC,IAAI,MAAM;AACV,QAAO,OAAO,EAAE;AAChB,QAAO;AACP,QAAO;AACP,QAAO,OAAO,EAAE;AAChB,QAAO;;AAGT,SAAS,iBAAiB,OAAe;CACvC,IAAI,MAAM;AACV,QAAO,OAAO,EAAE;AAChB,QAAO;AACP,QAAO;AACP,QAAO,OAAO,EAAE;AAChB,QAAO;AACP,QAAO;AACP,QAAO,OAAO,EAAE;AAChB,QAAO;;AAGT,SAAS,mBAAmB,MAAgB,OAAiB,MAAc;CACzE,MAAM,MAAM,KAAK;AACjB,QAAO,MAAM,KAAK,OAAO;CAEzB,MAAM,WACJ,EAAE,KAAK,SAAS,MAAM,MACtB,EAAE,OAAO,KACT,EAAE,KAAK,SAAS,MAAM,MACtB,EAAE,KAAK,SAAS,OAAO,MAAM;CAE/B,MAAM,QACH,EAAE,MAAM,UAAU,GAAG,SAAS,EAAE,MAAM,UAAU,GAAG,UAAU;CAChE,MAAM,OAAO,WAAW,QAAQ;CAChC,MAAM,SACH,EAAE,MAAM,UAAU,GAAG,SAAS,EAAE,MAAM,UAAU,IAAI,UAAU;CACjE,MAAM,QAAQ,OAAO,QAAQ,WAAW,EAAE,OAAO,SAAS;AAE1D,SAAS,iBAAiB,QAAQ,WAAW,EAAE,MAAO,iBAAiB;;AAGzE,SAAS,WAAW,GAAW,OAAe;AAC5C,QAAO,IAAK,KAAK;;AAGnB,SAAS,mBAAmB,MAAgB,OAAiB,MAAc;CACzE,MAAM,MAAM,KAAK;AACjB,QAAO,OAAO,KAAK,OAAO;CAE1B;EACE,MAAM,KAAK,KAAK,UAAU,GAAG;EAC7B,MAAM,KAAK,KAAK,UAAU,MAAM,GAAG;EACnC,MAAM,MAAM,EAAE,MAAO,EAAE,OAAO,EAAE;EAChC,MAAM,WACF,MAAM,aAAa,IAAI,QAAQ,MAAM,aAAa,IAAI,SAAS,OACjE;EACF,MAAM,QAAQ,MAAM;EACpB,IAAI,OAAQ,SAAS,aAAa,EAAE,QAAQ,EAAE,OAAQ;AACtD,WAAS,OAAO,WAAW,EAAE;AAC7B,UAAQ;AACR,UAAQ,QAAQ,EAAE;AAElB,SACE,WACG,WAAW,OAAO,QAAQ,EAAE,OAAO,YAAa,QACjD,EAAE,OAEH,eAAe,QAAQ,EAAE,QAAQ,EAAE;;;AAK1C,SAAS,oBAAoB,MAAgB,OAAiB,MAAc;CAC1E,MAAM,MAAM,KAAK;AACjB,QAAO,OAAO,KAAK,OAAO;CAE1B;EACE,MAAM,YACF,MAAM,aAAa,IAAI,QAAQ,MAAM,aAAa,IAAI,SAAS,OACjE;EACF,MAAM,YACF,MAAM,aAAa,IAAI,QAAQ,MAAM,aAAa,IAAI,SAAS,OACjE;EACF,MAAM,MAAM,KAAK,aAAa,GAAG;EACjC,IAAI,MAAM,KAAK,aAAa,MAAM,GAAG;EAErC,IAAI,QAAQ,MAAM,MAAM,YAAY;EAEpC,MAAM,UAAU,OAAO,WAAW,EAAE,MAAM,MAAM,EAAE;AAClD,SAAQ,QAAQ,UAAU,UAAW;AACrC,SAAO;AAEP,UAAS,OAAO,MAAM,WAAW,YAAY,EAAE,OAAQ,EAAE;AACzD,UAAQ;AACR,UAAQ,QAAQ,QAAQ,EAAE;EAC1B,IAAI,QAAQ,OAAO,UAAU;AAC7B,WAAU,QAAQ,EAAE,OAAO,aAAc,EAAE;AAC3C,UAAQ;AAER,SACE,eAAe,OAAO,UAAW,eAAe,QAAQ,EAAE,QAAQ,EAAE;;;AAK1E,SAAS,oBAAoB,MAAgB,MAAc;CACzD,MAAM,MAAM,KAAK;AACjB,QAAO,OAAO;AAEd,KAAI,MAAM,EAAG,QAAO,oBAAoB,MAAM,MAAM;AACpD,KAAI,OAAO,EAAG,QAAO,mBAAmB,MAAM,MAAM;AACpD,KAAI,MAAM,EAAG,QAAO,mBAAmB,MAAM,MAAM;AAEnD,QACE,iBACE,OAAO,KAAK,aAAa,IAAI,QAAQ,KAAK,aAAa,IAAI,SAE5D,iBACC,OAAO,KAAK,aAAa,IAAI,QAAQ,KAAK,aAAa,IAAI,UAE3D,EAAE;;AAIR,SAAS,MAAM,GAAW;AAExB,QAAQ,CAAC,IAAI,EAAE,KAAM;;AAGvB,SAAS,sBAAsB,MAAgB,QAAkB,MAAc;CAC7E,IAAI,MAAO,EAAE,KAAK,cAAc,YAAa;CAC7C,IAAI,IAAI,EAAE,KAAK,aAAa,KAAK,EAAE;AACnC,QAAO,KAAK,GAAG;EACb,MAAM,KAAK,OAAO;AAClB,QAAM,YACJ,KACA,KAAK,MAAM,KAAK,KAChB,KAAK,MAAM,KAAK,aAAa,MAAM,KAAK,KACxC,KAAK,QAAQ,KAAK,KAClB;AAEF,OAAK,EAAE;;CAGT,IAAI,QAAS,OAAO,OAAO,EAAE,OAAQ;AACrC,SAAQ,eAAe;CACvB,IAAI,SACD,MAAM,UAAU,aAChB,OAAO,EAAE,OAAO,aACf,EAAE,KAAK,cAAc,OAAQ,UAAU;AAC3C,UAAS;AAET,SAAQ,MAAM,eAAe;AAC7B,QAAO,QAAS,SAAS,EAAE;;AAG7B,SAAS,uBACP,MACA,QACA,MACA;CACA,IAAI,MAAO,EAAE,KAAK,cAAc,YAAa;AAC7C,MAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,GAC7B,OAAM,YACJ,KACA,KAAK,MAAM,IAAI,KACf,KAAK,MAAM,IAAI,KACf,KAAK,QAAQ,IAAI,KACjB;AAGJ,OAAM,eAAe,MAAM,UAAW,eAAe,OAAO,EAAE,QAAQ,EAAE;AACxE,MAAK,IAAI,IAAI,KAAK,KAAK,KAAK,YAAY,KAAK,GAC3C,OAAM,YACJ,KACA,KAAK,MAAM,IAAI,KACf,KAAK,MAAM,IAAI,KACf,KAAK,QAAQ,IAAI,IAAI,MACrB;AAGJ,OAAM,YACJ,KACA,KAAK,MAAM,KAAK,aAAa,KAC7B,KAAK,MAAM,KAAK,aAAa,KAC7B,KAAK,QAAQ,MACb,MAAM;CAGR,IAAI,QAAS,OAAO,OAAO,EAAE,OAAQ;AACrC,SAAQ,eAAe;CACvB,IAAI,SACD,MAAM,UAAU,aAChB,OAAO,EAAE,OAAO,aACf,EAAE,KAAK,cAAc,OAAQ,UAAU;AAC3C,UAAS;AAET,SAAQ,MAAM,eAAe;AAC7B,QAAO,QAAS,SAAS,EAAE;;AAI7B,SAAgB,KAAK,OAA4B,OAAe,EAAE,IAAI;CACpE,MAAM,UAAU,IAAI;CACpB,MAAM,OAAO,KAAK,OAAO,UAAU,WAAW,QAAQ,OAAO,SAAS;CACtE,MAAM,MAAM,KAAK;CAEjB,MAAM,aAAa,WAAiBC,OAAK,SAAS,IAAI,SAAS,IAAI;AACnE,KAAI,OAAO,GAAI,QAAO,UAAU,oBAAoB,MAAM;AAC1D,KAAI,OAAO,IAAK,QAAO,UAAU,sBAAsB,MAAM,MAAM;AACnE,KAAI,OAAO,IAAK,QAAO,UAAU,uBAAuB,MAAM,MAAM;AACpE,QAAO,UAAU,mBAAmB,MAAM;;AAG5C,SAAgB,OAAO,OAAwB;AAE7C,QAAO,iBAAiB,KAAK"}
|