effect 4.0.0-beta.30 → 4.0.0-beta.32
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/dist/Array.d.ts +87 -86
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +47 -40
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +46 -45
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +35 -38
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +39 -32
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +32 -29
- package/dist/BigInt.js.map +1 -1
- package/dist/Channel.d.ts +2 -2
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +58 -57
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +20 -21
- package/dist/Chunk.js.map +1 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +4 -1
- package/dist/Config.js.map +1 -1
- package/dist/Cron.d.ts +3 -6
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +11 -18
- package/dist/Cron.js.map +1 -1
- package/dist/DateTime.d.ts +49 -92
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +9 -9
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +7 -5
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +7 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +55 -25
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +100 -70
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +3 -4
- package/dist/Effect.js.map +1 -1
- package/dist/Fiber.d.ts +2 -1
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +9 -8
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +8 -7
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +20 -19
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +6 -6
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +17 -16
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +10 -7
- package/dist/FileSystem.js.map +1 -1
- package/dist/Graph.d.ts +64 -64
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +53 -53
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +11 -5
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +3 -1
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +11 -11
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +12 -12
- package/dist/Iterable.js.map +1 -1
- package/dist/Latch.d.ts +69 -3
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +58 -0
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +181 -2
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +35 -2
- package/dist/Layer.js.map +1 -1
- package/dist/Number.d.ts +74 -18
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +34 -15
- package/dist/Number.js.map +1 -1
- package/dist/Option.d.ts +2 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +183 -0
- package/dist/PartitionedSemaphore.d.ts.map +1 -0
- package/dist/PartitionedSemaphore.js +231 -0
- package/dist/PartitionedSemaphore.js.map +1 -0
- package/dist/PubSub.d.ts +5 -4
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +6 -5
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts +3 -3
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +2 -2
- package/dist/Queue.js.map +1 -1
- package/dist/Record.d.ts +40 -40
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +16 -15
- package/dist/Record.js.map +1 -1
- package/dist/Scheduler.d.ts +25 -123
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +20 -123
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2346 -114
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +1359 -68
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +2 -2
- package/dist/SchemaAST.js +2 -2
- package/dist/SchemaGetter.js +6 -4
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +2 -2
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +32 -27
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Semaphore.d.ts +149 -53
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +137 -117
- package/dist/Semaphore.js.map +1 -1
- package/dist/ServiceMap.d.ts +26 -0
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +36 -21
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Stream.js +1 -1
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +114 -47
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +29 -47
- package/dist/String.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +1 -2
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +81 -115
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Terminal.d.ts +2 -1
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +5 -4
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +2 -1
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +26 -14
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +8 -4
- package/dist/Trie.js.map +1 -1
- package/dist/TxHashMap.d.ts +77 -59
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +25 -19
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxSemaphore.d.ts +162 -2
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +16 -2
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/index.d.ts +88 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +88 -32
- package/dist/index.js.map +1 -1
- package/dist/internal/dateTime.js +66 -59
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +21 -90
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +2 -1
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/option.js +6 -0
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/trie.js +3 -3
- package/dist/internal/trie.js.map +1 -1
- package/dist/unstable/ai/AiError.js +1 -1
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -0
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -4
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +2 -2
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +30 -16
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +10 -87
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +4 -0
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +14 -0
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +13 -0
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +2 -4
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +1 -3
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +3 -2
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +4 -3
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +3 -2
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +3 -3
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +16 -0
- package/dist/unstable/cli/Completions.d.ts.map +1 -0
- package/dist/unstable/cli/Completions.js +23 -0
- package/dist/unstable/cli/Completions.js.map +1 -0
- package/dist/unstable/cli/Flag.d.ts +2 -2
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +1 -1
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +4 -4
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +14 -12
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +4 -4
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +7 -7
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +1 -1
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +71 -67
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.d.ts +4 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +4 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +9 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +8 -3
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +3 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +25 -23
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +3 -2
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +7 -7
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +4 -3
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +3 -2
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +12 -12
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +2 -1
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +4 -3
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +9 -8
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +2 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +7 -6
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +19 -13
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +5 -4
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +4 -4
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +19 -18
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +9 -10
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +2 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +1 -4
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +8 -8
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +5 -4
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +3 -4
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +5 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +3 -2
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +2 -1
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +2 -1
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +4 -3
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -6
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +2 -1
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -2
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +16 -15
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +3 -2
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +2 -1
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +7 -7
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +2 -2
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +2 -1
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +2 -1
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +3 -2
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +14 -10
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +4 -3
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
- package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js +27 -15
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +5 -4
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +5 -6
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +4 -2
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +15 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +81 -3
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +2 -2
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +7 -3
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/persistence/Persistable.js +1 -1
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +1 -5
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +4 -2
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -3
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +4 -4
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +1 -3
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +3 -2
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +4 -1
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +3 -2
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +2 -1
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +1 -1
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +6 -6
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +2 -1
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +5 -4
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +19 -14
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +1 -1
- package/src/Array.ts +112 -105
- package/src/BigDecimal.ts +63 -66
- package/src/BigInt.ts +49 -41
- package/src/Channel.ts +3 -3
- package/src/Chunk.ts +68 -63
- package/src/Config.ts +4 -1
- package/src/Cron.ts +13 -18
- package/src/DateTime.ts +51 -92
- package/src/Deferred.ts +8 -6
- package/src/Duration.ts +112 -56
- package/src/Effect.ts +3 -4
- package/src/Fiber.ts +2 -1
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +22 -22
- package/src/FileSystem.ts +25 -22
- package/src/Graph.ts +105 -105
- package/src/HashMap.ts +11 -5
- package/src/Iterable.ts +13 -13
- package/src/Latch.ts +85 -3
- package/src/Layer.ts +244 -19
- package/src/Number.ts +85 -26
- package/src/Option.ts +2 -0
- package/src/PartitionedSemaphore.ts +414 -0
- package/src/PubSub.ts +7 -6
- package/src/Queue.ts +5 -5
- package/src/Record.ts +52 -47
- package/src/Scheduler.ts +37 -126
- package/src/Schema.ts +2366 -116
- package/src/SchemaAST.ts +2 -2
- package/src/SchemaGetter.ts +4 -4
- package/src/SchemaRepresentation.ts +2 -2
- package/src/SchemaTransformation.ts +27 -27
- package/src/Semaphore.ts +271 -183
- package/src/ServiceMap.ts +83 -31
- package/src/Stream.ts +1 -1
- package/src/String.ts +122 -69
- package/src/SubscriptionRef.ts +96 -117
- package/src/Terminal.ts +2 -1
- package/src/Tracer.ts +6 -5
- package/src/Trie.ts +26 -14
- package/src/TxHashMap.ts +78 -60
- package/src/TxSemaphore.ts +186 -11
- package/src/index.ts +89 -33
- package/src/internal/dateTime.ts +74 -65
- package/src/internal/effect.ts +30 -122
- package/src/internal/hashMap.ts +4 -3
- package/src/internal/option.ts +7 -0
- package/src/internal/trie.ts +6 -6
- package/src/unstable/ai/AiError.ts +1 -1
- package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -0
- package/src/unstable/ai/Chat.ts +17 -15
- package/src/unstable/ai/LanguageModel.ts +148 -97
- package/src/unstable/ai/OpenAiStructuredOutput.ts +4 -0
- package/src/unstable/ai/Tool.ts +20 -0
- package/src/unstable/cli/Argument.ts +2 -4
- package/src/unstable/cli/CliOutput.ts +7 -5
- package/src/unstable/cli/Command.ts +5 -5
- package/src/unstable/cli/Completions.ts +36 -0
- package/src/unstable/cli/Flag.ts +2 -2
- package/src/unstable/cli/GlobalFlag.ts +4 -5
- package/src/unstable/cli/HelpDoc.ts +14 -12
- package/src/unstable/cli/Param.ts +15 -11
- package/src/unstable/cli/Primitive.ts +1 -1
- package/src/unstable/cli/Prompt.ts +81 -83
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +3 -2
- package/src/unstable/cli/internal/parser.ts +7 -4
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +35 -30
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- package/src/unstable/cluster/Entity.ts +13 -12
- package/src/unstable/cluster/Message.ts +6 -5
- package/src/unstable/cluster/MessageStorage.ts +26 -25
- package/src/unstable/cluster/Reply.ts +7 -4
- package/src/unstable/cluster/RunnerServer.ts +10 -13
- package/src/unstable/cluster/Runners.ts +8 -7
- package/src/unstable/cluster/Sharding.ts +24 -17
- package/src/unstable/cluster/ShardingConfig.ts +6 -6
- package/src/unstable/cluster/SqlMessageStorage.ts +21 -18
- package/src/unstable/cluster/internal/entityManager.ts +27 -21
- package/src/unstable/devtools/DevToolsSchema.ts +3 -2
- package/src/unstable/encoding/Ndjson.ts +17 -17
- package/src/unstable/http/Cookies.ts +7 -8
- package/src/unstable/http/Etag.ts +5 -3
- package/src/unstable/http/Headers.ts +6 -5
- package/src/unstable/http/HttpClient.ts +2 -1
- package/src/unstable/http/HttpClientRequest.ts +11 -9
- package/src/unstable/http/HttpClientResponse.ts +5 -4
- package/src/unstable/http/HttpIncomingMessage.ts +3 -2
- package/src/unstable/http/HttpMiddleware.ts +16 -15
- package/src/unstable/http/HttpPlatform.ts +3 -2
- package/src/unstable/http/HttpRouter.ts +9 -9
- package/src/unstable/http/HttpServer.ts +3 -9
- package/src/unstable/http/HttpServerError.ts +3 -2
- package/src/unstable/http/HttpServerRequest.ts +29 -25
- package/src/unstable/http/HttpServerResponse.ts +7 -6
- package/src/unstable/http/HttpTraceContext.ts +31 -17
- package/src/unstable/http/UrlParams.ts +11 -14
- package/src/unstable/httpapi/HttpApiBuilder.ts +13 -7
- package/src/unstable/httpapi/HttpApiError.ts +67 -12
- package/src/unstable/observability/OtlpExporter.ts +5 -2
- package/src/unstable/observability/OtlpTracer.ts +8 -4
- package/src/unstable/persistence/Persistable.ts +1 -1
- package/src/unstable/reactivity/Atom.ts +1 -4
- package/src/unstable/reactivity/AtomRegistry.ts +5 -3
- package/src/unstable/rpc/Rpc.ts +4 -3
- package/src/unstable/rpc/RpcClient.ts +10 -9
- package/src/unstable/rpc/RpcGroup.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +6 -5
- package/src/unstable/rpc/RpcSerialization.ts +4 -1
- package/src/unstable/rpc/RpcServer.ts +3 -3
- package/src/unstable/socket/Socket.ts +2 -1
- package/src/unstable/sql/SqlClient.ts +5 -3
- package/src/unstable/workflow/DurableDeferred.ts +6 -6
- package/src/unstable/workflow/Workflow.ts +1 -1
- package/src/unstable/workflow/WorkflowEngine.ts +29 -20
- package/dist/NullOr.d.ts +0 -149
- package/dist/NullOr.d.ts.map +0 -1
- package/dist/NullOr.js +0 -152
- package/dist/NullOr.js.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.js +0 -23
- package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
- package/src/NullOr.ts +0 -204
- package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/dist/Graph.js
CHANGED
|
@@ -135,7 +135,7 @@ export const directed = mutate => {
|
|
|
135
135
|
graph.reverseAdjacency = new Map();
|
|
136
136
|
graph.nextNodeIndex = 0;
|
|
137
137
|
graph.nextEdgeIndex = 0;
|
|
138
|
-
graph.acyclic = true;
|
|
138
|
+
graph.acyclic = Option.some(true);
|
|
139
139
|
graph.mutable = false;
|
|
140
140
|
if (mutate) {
|
|
141
141
|
const mutable = beginMutation(graph);
|
|
@@ -173,7 +173,7 @@ export const undirected = mutate => {
|
|
|
173
173
|
graph.reverseAdjacency = new Map();
|
|
174
174
|
graph.nextNodeIndex = 0;
|
|
175
175
|
graph.nextEdgeIndex = 0;
|
|
176
|
-
graph.acyclic = true;
|
|
176
|
+
graph.acyclic = Option.some(true);
|
|
177
177
|
graph.mutable = false;
|
|
178
178
|
if (mutate) {
|
|
179
179
|
const mutable = beginMutation(graph);
|
|
@@ -390,10 +390,10 @@ export const nodeCount = graph => graph.nodes.size;
|
|
|
390
390
|
* })
|
|
391
391
|
*
|
|
392
392
|
* const result = Graph.findNode(graph, (data) => data.startsWith("Node B"))
|
|
393
|
-
* console.log(result) // 1
|
|
393
|
+
* console.log(result) // Option.some(1)
|
|
394
394
|
*
|
|
395
395
|
* const notFound = Graph.findNode(graph, (data) => data === "Node D")
|
|
396
|
-
* console.log(notFound) //
|
|
396
|
+
* console.log(notFound) // Option.none()
|
|
397
397
|
* ```
|
|
398
398
|
*
|
|
399
399
|
* @since 4.0.0
|
|
@@ -402,9 +402,10 @@ export const nodeCount = graph => graph.nodes.size;
|
|
|
402
402
|
export const findNode = /*#__PURE__*/dual(2, (graph, predicate) => {
|
|
403
403
|
for (const [index, data] of graph.nodes) {
|
|
404
404
|
if (predicate(data)) {
|
|
405
|
-
return index;
|
|
405
|
+
return Option.some(index);
|
|
406
406
|
}
|
|
407
407
|
}
|
|
408
|
+
return Option.none();
|
|
408
409
|
});
|
|
409
410
|
/**
|
|
410
411
|
* Finds all nodes that match the given predicate.
|
|
@@ -454,10 +455,10 @@ export const findNodes = /*#__PURE__*/dual(2, (graph, predicate) => {
|
|
|
454
455
|
* })
|
|
455
456
|
*
|
|
456
457
|
* const result = Graph.findEdge(graph, (data) => data > 15)
|
|
457
|
-
* console.log(result) // 1
|
|
458
|
+
* console.log(result) // Option.some(1)
|
|
458
459
|
*
|
|
459
460
|
* const notFound = Graph.findEdge(graph, (data) => data > 100)
|
|
460
|
-
* console.log(notFound) //
|
|
461
|
+
* console.log(notFound) // Option.none()
|
|
461
462
|
* ```
|
|
462
463
|
*
|
|
463
464
|
* @since 4.0.0
|
|
@@ -466,9 +467,10 @@ export const findNodes = /*#__PURE__*/dual(2, (graph, predicate) => {
|
|
|
466
467
|
export const findEdge = /*#__PURE__*/dual(2, (graph, predicate) => {
|
|
467
468
|
for (const [edgeIndex, edgeData] of graph.edges) {
|
|
468
469
|
if (predicate(edgeData.data, edgeData.source, edgeData.target)) {
|
|
469
|
-
return edgeIndex;
|
|
470
|
+
return Option.some(edgeIndex);
|
|
470
471
|
}
|
|
471
472
|
}
|
|
473
|
+
return Option.none();
|
|
472
474
|
});
|
|
473
475
|
/**
|
|
474
476
|
* Finds all edges that match the given predicate.
|
|
@@ -673,7 +675,7 @@ export const reverse = mutable => {
|
|
|
673
675
|
mutable.reverseAdjacency.set(edgeData.target, targetEdges);
|
|
674
676
|
}
|
|
675
677
|
// Invalidate cycle flag since edge directions changed
|
|
676
|
-
mutable.acyclic =
|
|
678
|
+
mutable.acyclic = Option.none();
|
|
677
679
|
};
|
|
678
680
|
/**
|
|
679
681
|
* Filters and optionally transforms nodes in a mutable graph using a predicate function.
|
|
@@ -856,18 +858,16 @@ export const filterEdges = (mutable, predicate) => {
|
|
|
856
858
|
// =============================================================================
|
|
857
859
|
/** @internal */
|
|
858
860
|
const invalidateCycleFlagOnRemoval = mutable => {
|
|
859
|
-
// Only invalidate if the graph had cycles (removing edges/nodes cannot introduce cycles in acyclic graphs)
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
mutable.acyclic = undefined;
|
|
861
|
+
// Only invalidate if the graph had cycles (removing edges/nodes cannot introduce cycles in acyclic graphs).
|
|
862
|
+
if (mutable.acyclic._tag === "Some" && mutable.acyclic.value === false) {
|
|
863
|
+
mutable.acyclic = Option.none();
|
|
863
864
|
}
|
|
864
865
|
};
|
|
865
866
|
/** @internal */
|
|
866
867
|
const invalidateCycleFlagOnAddition = mutable => {
|
|
867
|
-
// Only invalidate if the graph was acyclic (adding edges cannot remove cycles from cyclic graphs)
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
mutable.acyclic = undefined;
|
|
868
|
+
// Only invalidate if the graph was acyclic (adding edges cannot remove cycles from cyclic graphs).
|
|
869
|
+
if (mutable.acyclic._tag === "Some" && mutable.acyclic.value === true) {
|
|
870
|
+
mutable.acyclic = Option.none();
|
|
871
871
|
}
|
|
872
872
|
};
|
|
873
873
|
// =============================================================================
|
|
@@ -1081,17 +1081,17 @@ const removeEdgeInternal = (mutable, edgeIndex) => {
|
|
|
1081
1081
|
* const edgeIndex = 0
|
|
1082
1082
|
* const edgeData = Graph.getEdge(graph, edgeIndex)
|
|
1083
1083
|
*
|
|
1084
|
-
* if (edgeData
|
|
1085
|
-
* console.log(edgeData.data) // 42
|
|
1086
|
-
* console.log(edgeData.source) // NodeIndex(0)
|
|
1087
|
-
* console.log(edgeData.target) // NodeIndex(1)
|
|
1084
|
+
* if (edgeData._tag === "Some") {
|
|
1085
|
+
* console.log(edgeData.value.data) // 42
|
|
1086
|
+
* console.log(edgeData.value.source) // NodeIndex(0)
|
|
1087
|
+
* console.log(edgeData.value.target) // NodeIndex(1)
|
|
1088
1088
|
* }
|
|
1089
1089
|
* ```
|
|
1090
1090
|
*
|
|
1091
1091
|
* @since 4.0.0
|
|
1092
1092
|
* @category getters
|
|
1093
1093
|
*/
|
|
1094
|
-
export const getEdge = /*#__PURE__*/dual(2, (graph, edgeIndex) => graph.edges.get(edgeIndex));
|
|
1094
|
+
export const getEdge = /*#__PURE__*/dual(2, (graph, edgeIndex) => Option.fromUndefinedOr(graph.edges.get(edgeIndex)));
|
|
1095
1095
|
/**
|
|
1096
1096
|
* Checks if an edge exists between two nodes in the graph.
|
|
1097
1097
|
*
|
|
@@ -1591,8 +1591,8 @@ export const toMermaid = /*#__PURE__*/dual(args => isGraph(args[0]), (graph, opt
|
|
|
1591
1591
|
*/
|
|
1592
1592
|
export const isAcyclic = graph => {
|
|
1593
1593
|
// Use existing cycle flag if available
|
|
1594
|
-
if (graph.acyclic
|
|
1595
|
-
return graph.acyclic;
|
|
1594
|
+
if (Option.isSome(graph.acyclic)) {
|
|
1595
|
+
return graph.acyclic.value;
|
|
1596
1596
|
}
|
|
1597
1597
|
// Stack-safe DFS cycle detection using iterative approach
|
|
1598
1598
|
const visited = new Set();
|
|
@@ -1610,7 +1610,7 @@ export const isAcyclic = graph => {
|
|
|
1610
1610
|
if (isFirstVisit) {
|
|
1611
1611
|
if (recursionStack.has(node)) {
|
|
1612
1612
|
// Back edge found - cycle detected
|
|
1613
|
-
graph.acyclic = false;
|
|
1613
|
+
graph.acyclic = Option.some(false);
|
|
1614
1614
|
return false;
|
|
1615
1615
|
}
|
|
1616
1616
|
if (visited.has(node)) {
|
|
@@ -1630,7 +1630,7 @@ export const isAcyclic = graph => {
|
|
|
1630
1630
|
stack[stack.length - 1] = [node, neighbors, neighborIndex + 1, false];
|
|
1631
1631
|
if (recursionStack.has(neighbor)) {
|
|
1632
1632
|
// Back edge found - cycle detected
|
|
1633
|
-
graph.acyclic = false;
|
|
1633
|
+
graph.acyclic = Option.some(false);
|
|
1634
1634
|
return false;
|
|
1635
1635
|
}
|
|
1636
1636
|
if (!visited.has(neighbor)) {
|
|
@@ -1644,7 +1644,7 @@ export const isAcyclic = graph => {
|
|
|
1644
1644
|
}
|
|
1645
1645
|
}
|
|
1646
1646
|
// Cache the result
|
|
1647
|
-
graph.acyclic = true;
|
|
1647
|
+
graph.acyclic = Option.some(true);
|
|
1648
1648
|
return true;
|
|
1649
1649
|
};
|
|
1650
1650
|
/**
|
|
@@ -1914,9 +1914,9 @@ export const stronglyConnectedComponents = graph => {
|
|
|
1914
1914
|
* cost: (edgeData) => edgeData
|
|
1915
1915
|
* })
|
|
1916
1916
|
*
|
|
1917
|
-
* if (result
|
|
1918
|
-
* console.log(result.path) // [0, 1, 2] - shortest path A->B->C
|
|
1919
|
-
* console.log(result.distance) // 7 - total distance
|
|
1917
|
+
* if (result._tag === "Some") {
|
|
1918
|
+
* console.log(result.value.path) // [0, 1, 2] - shortest path A->B->C
|
|
1919
|
+
* console.log(result.value.distance) // 7 - total distance
|
|
1920
1920
|
* }
|
|
1921
1921
|
* ```
|
|
1922
1922
|
*
|
|
@@ -1933,11 +1933,11 @@ export const dijkstra = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
1933
1933
|
}
|
|
1934
1934
|
// Early return if source equals target
|
|
1935
1935
|
if (config.source === config.target) {
|
|
1936
|
-
return {
|
|
1936
|
+
return Option.some({
|
|
1937
1937
|
path: [config.source],
|
|
1938
1938
|
distance: 0,
|
|
1939
1939
|
costs: []
|
|
1940
|
-
};
|
|
1940
|
+
});
|
|
1941
1941
|
}
|
|
1942
1942
|
// Distance tracking and priority queue simulation
|
|
1943
1943
|
const distances = new Map();
|
|
@@ -2013,7 +2013,7 @@ export const dijkstra = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
2013
2013
|
// Check if target is reachable
|
|
2014
2014
|
const distance = distances.get(config.target);
|
|
2015
2015
|
if (distance === Infinity) {
|
|
2016
|
-
return
|
|
2016
|
+
return Option.none(); // No path exists
|
|
2017
2017
|
}
|
|
2018
2018
|
// Reconstruct path
|
|
2019
2019
|
const path = [];
|
|
@@ -2029,11 +2029,11 @@ export const dijkstra = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
2029
2029
|
currentNode = null;
|
|
2030
2030
|
}
|
|
2031
2031
|
}
|
|
2032
|
-
return {
|
|
2032
|
+
return Option.some({
|
|
2033
2033
|
path,
|
|
2034
2034
|
distance,
|
|
2035
2035
|
costs
|
|
2036
|
-
};
|
|
2036
|
+
});
|
|
2037
2037
|
});
|
|
2038
2038
|
/**
|
|
2039
2039
|
* Find shortest paths between all pairs of nodes using Floyd-Warshall algorithm.
|
|
@@ -2189,9 +2189,9 @@ export const floydWarshall = /*#__PURE__*/dual(2, (graph, cost) => {
|
|
|
2189
2189
|
* heuristic
|
|
2190
2190
|
* })
|
|
2191
2191
|
*
|
|
2192
|
-
* if (result
|
|
2193
|
-
* console.log(result.path) // [0, 1, 2] - shortest path
|
|
2194
|
-
* console.log(result.distance) // 2 - total distance
|
|
2192
|
+
* if (result._tag === "Some") {
|
|
2193
|
+
* console.log(result.value.path) // [0, 1, 2] - shortest path
|
|
2194
|
+
* console.log(result.value.distance) // 2 - total distance
|
|
2195
2195
|
* }
|
|
2196
2196
|
* ```
|
|
2197
2197
|
*
|
|
@@ -2208,11 +2208,11 @@ export const astar = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
2208
2208
|
}
|
|
2209
2209
|
// Early return if source equals target
|
|
2210
2210
|
if (config.source === config.target) {
|
|
2211
|
-
return {
|
|
2211
|
+
return Option.some({
|
|
2212
2212
|
path: [config.source],
|
|
2213
2213
|
distance: 0,
|
|
2214
2214
|
costs: []
|
|
2215
|
-
};
|
|
2215
|
+
});
|
|
2216
2216
|
}
|
|
2217
2217
|
// Get target node data for heuristic calculations
|
|
2218
2218
|
const targetNodeData = getNode(graph, config.target);
|
|
@@ -2311,7 +2311,7 @@ export const astar = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
2311
2311
|
// Check if target is reachable
|
|
2312
2312
|
const distance = gScore.get(config.target);
|
|
2313
2313
|
if (distance === Infinity) {
|
|
2314
|
-
return
|
|
2314
|
+
return Option.none(); // No path exists
|
|
2315
2315
|
}
|
|
2316
2316
|
// Reconstruct path
|
|
2317
2317
|
const path = [];
|
|
@@ -2327,11 +2327,11 @@ export const astar = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
2327
2327
|
currentNode = null;
|
|
2328
2328
|
}
|
|
2329
2329
|
}
|
|
2330
|
-
return {
|
|
2330
|
+
return Option.some({
|
|
2331
2331
|
path,
|
|
2332
2332
|
distance,
|
|
2333
2333
|
costs
|
|
2334
|
-
};
|
|
2334
|
+
});
|
|
2335
2335
|
});
|
|
2336
2336
|
/**
|
|
2337
2337
|
* Find the shortest path between two nodes using Bellman-Ford algorithm.
|
|
@@ -2359,9 +2359,9 @@ export const astar = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
2359
2359
|
* cost: (edgeData) => edgeData
|
|
2360
2360
|
* })
|
|
2361
2361
|
*
|
|
2362
|
-
* if (result
|
|
2363
|
-
* console.log(result.path) // [0, 1, 2] - shortest path A->B->C
|
|
2364
|
-
* console.log(result.distance) // 2 - total distance
|
|
2362
|
+
* if (result._tag === "Some") {
|
|
2363
|
+
* console.log(result.value.path) // [0, 1, 2] - shortest path A->B->C
|
|
2364
|
+
* console.log(result.value.distance) // 2 - total distance
|
|
2365
2365
|
* }
|
|
2366
2366
|
* ```
|
|
2367
2367
|
*
|
|
@@ -2378,11 +2378,11 @@ export const bellmanFord = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
2378
2378
|
}
|
|
2379
2379
|
// Early return if source equals target
|
|
2380
2380
|
if (config.source === config.target) {
|
|
2381
|
-
return {
|
|
2381
|
+
return Option.some({
|
|
2382
2382
|
path: [config.source],
|
|
2383
2383
|
distance: 0,
|
|
2384
2384
|
costs: []
|
|
2385
|
-
};
|
|
2385
|
+
});
|
|
2386
2386
|
}
|
|
2387
2387
|
// Initialize distances and predecessors
|
|
2388
2388
|
const distances = new Map();
|
|
@@ -2448,16 +2448,16 @@ export const bellmanFord = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
2448
2448
|
}
|
|
2449
2449
|
}
|
|
2450
2450
|
}
|
|
2451
|
-
// If target is affected by negative cycle,
|
|
2451
|
+
// If target is affected by a negative cycle, no shortest path exists.
|
|
2452
2452
|
if (affectedNodes.has(config.target)) {
|
|
2453
|
-
return
|
|
2453
|
+
return Option.none();
|
|
2454
2454
|
}
|
|
2455
2455
|
}
|
|
2456
2456
|
}
|
|
2457
2457
|
// Check if target is reachable
|
|
2458
2458
|
const distance = distances.get(config.target);
|
|
2459
2459
|
if (distance === Infinity) {
|
|
2460
|
-
return
|
|
2460
|
+
return Option.none(); // No path exists
|
|
2461
2461
|
}
|
|
2462
2462
|
// Reconstruct path
|
|
2463
2463
|
const path = [];
|
|
@@ -2473,11 +2473,11 @@ export const bellmanFord = /*#__PURE__*/dual(2, (graph, config) => {
|
|
|
2473
2473
|
currentNode = null;
|
|
2474
2474
|
}
|
|
2475
2475
|
}
|
|
2476
|
-
return {
|
|
2476
|
+
return Option.some({
|
|
2477
2477
|
path,
|
|
2478
2478
|
distance,
|
|
2479
2479
|
costs
|
|
2480
|
-
};
|
|
2480
|
+
});
|
|
2481
2481
|
});
|
|
2482
2482
|
/**
|
|
2483
2483
|
* Concrete class for iterables that produce [NodeIndex, NodeData] tuples.
|
package/dist/Graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graph.js","names":["Data","Equal","dual","Hash","NodeInspectSymbol","Option","pipeArguments","TypeId","Edge","Class","ProtoGraph","Symbol","iterator","nodes","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","has","otherNodeData","get","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","pipe","arguments","GraphError","TaggedError","missingNode","node","message","u","directed","mutate","graph","Object","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","acyclic","mutable","beginMutation","endMutation","undirected","set","f","addNode","data","getNode","some","none","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","undefined","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","invalidateCycleFlagOnAddition","addEdge","sourceAdjacency","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","indexOf","splice","getEdge","hasEdge","adjacencyList","neighbors","getUndirectedNeighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","args","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","escapeMermaidLabel","formatMermaidNode","nodeId","shape","toMermaid","diagramType","nodeShape","finalDiagramType","formattedNode","sourceId","targetId","isAcyclic","visited","Set","recursionStack","startNode","keys","stack","length","neighborIndex","isFirstVisit","pop","add","nodeNeighbors","Array","from","neighbor","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","otherNode","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","i","scc","predecessor","dijkstra","config","path","distance","costs","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","cost","newDistance","neighborDistance","unshift","prev","floydWarshall","allNodes","next","edgeMatrix","j","weight","currentWeight","k","distIK","distKJ","distIJ","paths","weights","nextNode","astar","targetNodeData","isNone","gScore","fScore","sourceNodeData","h","heuristic","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","bellmanFord","hasUpdate","sourceDistance","targetDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","start","nextMapped","nodeDataOption","done","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Graph.js","names":["Data","Equal","dual","Hash","NodeInspectSymbol","Option","pipeArguments","TypeId","Edge","Class","ProtoGraph","Symbol","iterator","nodes","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","has","otherNodeData","get","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","pipe","arguments","GraphError","TaggedError","missingNode","node","message","u","directed","mutate","graph","Object","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","acyclic","some","mutable","beginMutation","endMutation","undirected","set","f","addNode","data","getNode","none","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","_tag","invalidateCycleFlagOnAddition","addEdge","sourceAdjacency","undefined","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","indexOf","splice","getEdge","fromUndefinedOr","hasEdge","adjacencyList","neighbors","getUndirectedNeighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","args","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","escapeMermaidLabel","formatMermaidNode","nodeId","shape","toMermaid","diagramType","nodeShape","finalDiagramType","formattedNode","sourceId","targetId","isAcyclic","visited","Set","recursionStack","startNode","keys","stack","length","neighborIndex","isFirstVisit","pop","add","nodeNeighbors","Array","from","neighbor","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","otherNode","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","i","scc","predecessor","dijkstra","config","path","distance","costs","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","cost","newDistance","neighborDistance","unshift","prev","floydWarshall","allNodes","next","edgeMatrix","j","weight","currentWeight","k","distIK","distKJ","distIJ","paths","weights","nextNode","astar","targetNodeData","isNone","gScore","fScore","sourceNodeData","h","heuristic","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","bellmanFord","hasUpdate","sourceDistance","targetDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","start","nextMapped","nodeDataOption","done","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|