effect 4.0.1 → 4.0.2
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/ai-docs/package.json +2 -2
- package/ai-docs/tsconfig.json +2 -1
- package/dist/Array.d.ts +339 -0
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +143 -3
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +88 -0
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +44 -0
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +68 -0
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +36 -0
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +34 -0
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +18 -0
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.d.ts +9 -0
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +6 -0
- package/dist/Brand.js.map +1 -1
- package/dist/ByteSize.d.ts +86 -0
- package/dist/ByteSize.d.ts.map +1 -1
- package/dist/ByteSize.js +51 -0
- package/dist/ByteSize.js.map +1 -1
- package/dist/Cache.d.ts +38 -1
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +27 -7
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +82 -0
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +60 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +327 -4
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +168 -8
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +11 -0
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js +6 -0
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +192 -0
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +78 -0
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +7 -0
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +5 -0
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +10 -0
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +8 -0
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +52 -12
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +55 -5
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +28 -0
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +19 -0
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +22 -0
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +20 -0
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +50 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +21 -0
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +16 -0
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +26 -1
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +5 -0
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -0
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +13 -0
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +5 -0
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +171 -0
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +89 -0
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +51 -0
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +22 -0
- package/dist/Deferred.js.map +1 -1
- package/dist/Differ.d.ts +2 -0
- package/dist/Differ.d.ts.map +1 -1
- package/dist/Differ.js +1 -0
- package/dist/Duration.d.ts +90 -0
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +53 -0
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +527 -0
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +240 -5
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +4 -0
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +3 -0
- package/dist/Effectable.js.map +1 -1
- package/dist/Equal.d.ts +8 -0
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +9 -1
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +21 -0
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +16 -0
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +36 -0
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +11 -0
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +49 -8
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +40 -0
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +27 -0
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +20 -0
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +11 -0
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +21 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +21 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +35 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +19 -0
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +20 -0
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +14 -0
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +15 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +8 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +55 -0
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +28 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +3 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +39 -1
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +30 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +20 -0
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +247 -12
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +149 -28
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +5 -0
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +14 -0
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +12 -0
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +91 -0
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +39 -0
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +17 -0
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +49 -0
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +19 -0
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +7 -0
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +6 -0
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +127 -0
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +51 -0
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +4 -0
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +3 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +5 -0
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +5 -0
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +16 -0
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +11 -0
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +14 -0
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +10 -0
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +100 -0
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +45 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +7 -0
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +4 -0
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +5 -0
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +3 -0
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +20 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +9 -0
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +25 -0
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +30 -4
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +5 -0
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +9 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +51 -0
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +39 -0
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +59 -0
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +31 -0
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +32 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +16 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +16 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +10 -0
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +20 -0
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +31 -0
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +17 -0
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +9 -0
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +6 -0
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +4 -0
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +2 -0
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +61 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +31 -0
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +41 -0
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +20 -0
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +134 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +61 -0
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +29 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +24 -0
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +7 -0
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +3 -0
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +24 -0
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +47 -21
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +6 -0
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +4 -0
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +7 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +5 -0
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +8 -0
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +7 -0
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +19 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +8 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +84 -0
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +48 -0
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +5 -0
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +4 -0
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +67 -5
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +60 -8
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +20 -0
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +10 -0
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +60 -0
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +58 -8
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +13 -0
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +9 -0
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +23 -0
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +8 -0
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +6 -0
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +3 -0
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +100 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +43 -0
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -0
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +4 -0
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +8 -0
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +6 -0
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +4 -0
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +3 -0
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +20 -0
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +16 -0
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +21 -0
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +19 -0
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +3 -0
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +4 -0
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +32 -0
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +12 -0
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +42 -0
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +27 -6
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +6 -0
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +6 -0
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +91 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +41 -0
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +9 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +7 -0
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +57 -0
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +32 -0
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +7 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +5 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +496 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +280 -1
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +107 -0
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +81 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +69 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +63 -4
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +33 -0
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +18 -0
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +25 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +26 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +147 -0
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +99 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +53 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +46 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +19 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +12 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +34 -0
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +26 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +9 -0
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +6 -0
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +26 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +10 -0
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +125 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +75 -1
- package/dist/Sink.js.map +1 -1
- package/dist/StandardSchema.d.ts +1 -0
- package/dist/StandardSchema.d.ts.map +1 -1
- package/dist/StandardSchema.js +1 -0
- package/dist/Stdio.d.ts +7 -0
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +5 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +558 -0
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +261 -13
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +87 -0
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +61 -0
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +46 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +19 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +65 -0
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +25 -0
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +2 -0
- package/dist/Symbol.d.ts.map +1 -1
- package/dist/Symbol.js +2 -0
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +63 -0
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +24 -0
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.d.ts +3 -0
- package/dist/Take.d.ts.map +1 -1
- package/dist/Take.js +1 -0
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +8 -0
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +4 -0
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +23 -0
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +12 -0
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +68 -0
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +28 -0
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +38 -0
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +18 -0
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +52 -0
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +23 -0
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +15 -0
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +8 -0
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +83 -0
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +52 -7
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +51 -0
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +29 -4
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +30 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +22 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +25 -0
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +19 -0
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +51 -0
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +30 -0
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +24 -0
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +32 -18
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +14 -0
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +7 -0
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +25 -0
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +29 -13
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +25 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +12 -0
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +36 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js +1 -0
- package/dist/UndefinedOr.d.ts +15 -0
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +9 -0
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +15 -0
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +2 -0
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +4 -0
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +1 -0
- package/dist/Utils.js.map +1 -1
- package/dist/Version.d.ts +26 -0
- package/dist/Version.d.ts.map +1 -0
- package/dist/Version.js +36 -0
- package/dist/Version.js.map +1 -0
- package/dist/ai/Chat.js +1 -1
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +22 -0
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +22 -4
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +14 -13
- package/dist/ai/LanguageModel.js.map +1 -1
- package/dist/ai/McpServer.d.ts +32 -11
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +213 -169
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Telemetry.d.ts +49 -41
- package/dist/ai/Telemetry.d.ts.map +1 -1
- package/dist/ai/Telemetry.js +6 -8
- package/dist/ai/Telemetry.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +79 -46
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/cluster/K8sHttpClient.js +5 -2
- package/dist/cluster/K8sHttpClient.js.map +1 -1
- package/dist/encoding/Base64.d.ts +4 -0
- package/dist/encoding/Base64.d.ts.map +1 -1
- package/dist/encoding/Base64.js +4 -0
- package/dist/encoding/Base64.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts +4 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +4 -0
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/EncodingError.d.ts +4 -0
- package/dist/encoding/EncodingError.d.ts.map +1 -1
- package/dist/encoding/EncodingError.js +4 -0
- package/dist/encoding/EncodingError.js.map +1 -1
- package/dist/encoding/Hex.d.ts +5 -0
- package/dist/encoding/Hex.d.ts.map +1 -1
- package/dist/encoding/Hex.js +5 -0
- package/dist/encoding/Hex.js.map +1 -1
- package/dist/encoding/Toml.js +2 -2
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +6 -4
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/index.d.ts +4 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +4 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +8 -4
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/http/Headers.d.ts +3 -1
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +4 -2
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +9 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +40 -21
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientResponse.js +3 -1
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +3 -0
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +5 -2
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +17 -0
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +56 -39
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpServer.d.ts +1 -1
- package/dist/http/HttpServer.d.ts.map +1 -1
- package/dist/http/internal/tracing.d.ts +2 -0
- package/dist/http/internal/tracing.d.ts.map +1 -0
- package/dist/http/internal/tracing.js +37 -0
- package/dist/http/internal/tracing.js.map +1 -0
- package/dist/http-api/HttpApiBuilder.js +2 -1
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +12 -3
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +4 -3
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +7 -4
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiSecurity.d.ts +8 -8
- package/dist/http-api/HttpApiSecurity.js +8 -8
- package/dist/index.d.ts +155 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/array.js +3 -3
- package/dist/internal/arbitrary/array.js.map +1 -1
- package/dist/internal/arbitrary/model.js +26 -11
- package/dist/internal/arbitrary/model.js.map +1 -1
- package/dist/internal/arbitrary/runner.js +8 -8
- package/dist/internal/arbitrary/runner.js.map +1 -1
- package/dist/internal/arbitrary/schema.js +4 -5
- package/dist/internal/arbitrary/schema.js.map +1 -1
- package/dist/internal/effect.js +41 -39
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/schedule.js +7 -5
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/standardSchema.js +2 -2
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/version.d.ts +2 -0
- package/dist/internal/version.d.ts.map +1 -0
- package/dist/internal/version.js +3 -0
- package/dist/internal/version.js.map +1 -0
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -6
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/observability/OtlpLogger.js +23 -27
- package/dist/observability/OtlpLogger.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts +5 -3
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +21 -94
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpResource.d.ts +4 -3
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +20 -23
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpTracer.d.ts +1 -0
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +32 -36
- package/dist/observability/OtlpTracer.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +32 -1
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/Atom.d.ts +5 -5
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +9 -5
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +2 -2
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +8 -0
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +21 -3
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +38 -20
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +18 -21
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/internal/tracing.d.ts +2 -0
- package/dist/rpc/internal/tracing.d.ts.map +1 -0
- package/dist/rpc/internal/tracing.js +18 -0
- package/dist/rpc/internal/tracing.js.map +1 -0
- package/dist/schema/SchemaCompiler/runtime.js +9 -1
- package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
- package/dist/sql/SqlClient.js +4 -4
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +21 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +55 -7
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -0
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +7 -0
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +7 -0
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +6 -0
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -1
- package/package.json +3 -3
- package/src/Array.ts +351 -3
- package/src/BigDecimal.ts +88 -0
- package/src/BigInt.ts +68 -0
- package/src/Boolean.ts +34 -0
- package/src/Brand.ts +10 -0
- package/src/ByteSize.ts +87 -0
- package/src/Cache.ts +50 -8
- package/src/Cause.ts +82 -0
- package/src/Channel.ts +368 -18
- package/src/ChannelSchema.ts +13 -0
- package/src/Chunk.ts +193 -0
- package/src/Clock.ts +7 -0
- package/src/Combiner.ts +10 -0
- package/src/Config.ts +82 -8
- package/src/ConfigProvider.ts +28 -0
- package/src/Console.ts +26 -0
- package/src/Context.ts +50 -0
- package/src/Cron.ts +32 -1
- package/src/Crypto.ts +5 -0
- package/src/Data.ts +13 -0
- package/src/DateTime.ts +171 -0
- package/src/Deferred.ts +51 -0
- package/src/Differ.ts +2 -0
- package/src/Duration.ts +90 -0
- package/src/Effect.ts +539 -5
- package/src/Effectable.ts +4 -0
- package/src/Equal.ts +12 -1
- package/src/Equivalence.ts +22 -0
- package/src/ErrorReporter.ts +36 -0
- package/src/ExecutionPlan.ts +58 -14
- package/src/Exit.ts +40 -0
- package/src/Fiber.ts +20 -0
- package/src/FiberHandle.ts +29 -4
- package/src/FiberMap.ts +38 -0
- package/src/FiberSet.ts +21 -0
- package/src/FileSystem.ts +16 -0
- package/src/Filter.ts +55 -0
- package/src/Formatter.ts +42 -1
- package/src/Function.ts +30 -0
- package/src/Graph.ts +317 -36
- package/src/HKT.ts +5 -0
- package/src/Hash.ts +15 -0
- package/src/HashMap.ts +91 -0
- package/src/HashRing.ts +18 -0
- package/src/HashSet.ts +53 -0
- package/src/Inspectable.ts +8 -0
- package/src/Iterable.ts +127 -0
- package/src/JsonPatch.ts +5 -0
- package/src/JsonPointer.ts +5 -0
- package/src/JsonSchema.ts +17 -0
- package/src/Latch.ts +14 -0
- package/src/Layer.ts +101 -1
- package/src/LayerMap.ts +7 -0
- package/src/LayerRef.ts +5 -0
- package/src/LogLevel.ts +20 -0
- package/src/Logger.ts +41 -5
- package/src/ManagedRuntime.ts +12 -1
- package/src/Match.ts +52 -0
- package/src/Metric.ts +69 -0
- package/src/MutableHashMap.ts +44 -0
- package/src/MutableHashSet.ts +17 -0
- package/src/MutableList.ts +21 -0
- package/src/MutableRef.ts +32 -0
- package/src/Newtype.ts +9 -0
- package/src/NonEmptyIterable.ts +4 -0
- package/src/Number.ts +61 -0
- package/src/Optic.ts +57 -0
- package/src/Option.ts +134 -0
- package/src/Order.ts +30 -0
- package/src/Ordering.ts +7 -0
- package/src/PartitionedSemaphore.ts +61 -22
- package/src/Path.ts +6 -0
- package/src/Pipeable.ts +7 -0
- package/src/PlatformError.ts +8 -0
- package/src/Pool.ts +20 -1
- package/src/Predicate.ts +85 -0
- package/src/PrimaryKey.ts +5 -0
- package/src/PubSub.ts +90 -9
- package/src/Pull.ts +20 -0
- package/src/Queue.ts +80 -10
- package/src/Random.ts +13 -0
- package/src/RcMap.ts +23 -0
- package/src/RcRef.ts +6 -0
- package/src/Record.ts +100 -0
- package/src/Redactable.ts +6 -0
- package/src/Redacted.ts +8 -0
- package/src/Reducer.ts +4 -0
- package/src/Ref.ts +42 -0
- package/src/References.ts +21 -0
- package/src/RegExp.ts +4 -0
- package/src/Request.ts +32 -0
- package/src/RequestResolver.ts +59 -10
- package/src/Resource.ts +7 -0
- package/src/Result.ts +93 -0
- package/src/Runtime.ts +10 -0
- package/src/Schedule.ts +61 -0
- package/src/Scheduler.ts +7 -0
- package/src/Schema.ts +499 -4
- package/src/SchemaAST.ts +115 -1
- package/src/SchemaGetter.ts +80 -4
- package/src/SchemaIssue.ts +34 -0
- package/src/SchemaParser.ts +26 -0
- package/src/SchemaRepresentation.ts +148 -0
- package/src/SchemaTransformation.ts +53 -0
- package/src/Scope.ts +19 -0
- package/src/ScopedCache.ts +55 -3
- package/src/ScopedRef.ts +9 -0
- package/src/Semaphore.ts +26 -0
- package/src/Sink.ts +126 -2
- package/src/StandardSchema.ts +1 -0
- package/src/Stdio.ts +7 -0
- package/src/Stream.ts +622 -15
- package/src/String.ts +87 -0
- package/src/Struct.ts +46 -0
- package/src/SubscriptionRef.ts +65 -0
- package/src/Symbol.ts +2 -0
- package/src/SynchronizedRef.ts +63 -0
- package/src/Take.ts +3 -0
- package/src/Terminal.ts +8 -0
- package/src/Tracer.ts +23 -0
- package/src/Trie.ts +68 -0
- package/src/Tuple.ts +38 -0
- package/src/TxChunk.ts +52 -0
- package/src/TxDeferred.ts +15 -0
- package/src/TxHashMap.ts +97 -6
- package/src/TxHashSet.ts +83 -3
- package/src/TxPriorityQueue.ts +34 -2
- package/src/TxPubSub.ts +26 -0
- package/src/TxQueue.ts +51 -0
- package/src/TxReentrantLock.ts +53 -36
- package/src/TxRef.ts +14 -0
- package/src/TxSemaphore.ts +47 -31
- package/src/TxSubscriptionRef.ts +25 -0
- package/src/Types.ts +36 -0
- package/src/UndefinedOr.ts +15 -0
- package/src/Unify.ts +15 -0
- package/src/Utils.ts +4 -0
- package/src/Version.ts +38 -0
- package/src/ai/Chat.ts +1 -1
- package/src/ai/DecisionModel.ts +42 -1
- package/src/ai/LanguageModel.ts +16 -19
- package/src/ai/McpServer.ts +107 -36
- package/src/ai/Telemetry.ts +62 -58
- package/src/ai/internal/mcpRuntime.ts +84 -43
- package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
- package/src/cluster/K8sHttpClient.ts +12 -2
- package/src/encoding/Base64.ts +4 -0
- package/src/encoding/Base64Url.ts +4 -0
- package/src/encoding/EncodingError.ts +5 -0
- package/src/encoding/Hex.ts +5 -0
- package/src/encoding/Toml.ts +2 -2
- package/src/encoding/Yaml.ts +8 -4
- package/src/encoding/index.ts +4 -0
- package/src/eventlog/SqlEventJournal.ts +18 -4
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
- package/src/http/Headers.ts +8 -2
- package/src/http/HttpClient.ts +44 -27
- package/src/http/HttpClientResponse.ts +3 -1
- package/src/http/HttpEffect.ts +11 -2
- package/src/http/HttpMiddleware.ts +60 -45
- package/src/http/HttpServer.ts +1 -1
- package/src/http/internal/tracing.ts +52 -0
- package/src/http-api/HttpApiBuilder.ts +5 -1
- package/src/http-api/HttpApiClient.ts +13 -4
- package/src/http-api/HttpApiError.ts +8 -4
- package/src/http-api/HttpApiSecurity.ts +8 -8
- package/src/index.ts +156 -0
- package/src/internal/arbitrary/array.ts +3 -3
- package/src/internal/arbitrary/model.ts +37 -14
- package/src/internal/arbitrary/runner.ts +7 -7
- package/src/internal/arbitrary/schema.ts +4 -3
- package/src/internal/effect.ts +47 -45
- package/src/internal/schedule.ts +23 -17
- package/src/internal/schema/standardSchema.ts +2 -2
- package/src/internal/version.ts +2 -0
- package/src/observability/OtlpExporter.ts +9 -6
- package/src/observability/OtlpLogger.ts +20 -21
- package/src/observability/OtlpMetrics.ts +34 -93
- package/src/observability/OtlpResource.ts +18 -27
- package/src/observability/OtlpTracer.ts +34 -40
- package/src/observability/internal/otlpProtobuf.ts +60 -0
- package/src/reactivity/AsyncResult.ts +1 -1
- package/src/reactivity/Atom.ts +10 -6
- package/src/reactivity/AtomHttpApi.ts +2 -4
- package/src/reactivity/AtomRegistry.ts +7 -0
- package/src/rpc/RpcClient.ts +48 -24
- package/src/rpc/RpcServer.ts +26 -24
- package/src/rpc/internal/tracing.ts +22 -0
- package/src/schema/SchemaCompiler/runtime.ts +4 -1
- package/src/sql/SqlClient.ts +4 -4
- package/src/sql/Statement.ts +59 -7
- package/src/testing/TestClock.ts +9 -0
- package/src/testing/TestConsole.ts +8 -0
- package/src/testing/index.ts +3 -0
package/src/Graph.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* both nodes and edges. The module includes traversal, analysis, path-finding,
|
|
7
7
|
* transformation, and diagram export utilities.
|
|
8
8
|
*
|
|
9
|
+
* @stability unstable
|
|
9
10
|
* @since 4.0.0
|
|
10
11
|
*/
|
|
11
12
|
|
|
@@ -42,6 +43,7 @@ const TypeId = internal.TypeId
|
|
|
42
43
|
*
|
|
43
44
|
* @see {@link EdgeIndex} for edge identifiers instead of node identifiers
|
|
44
45
|
*
|
|
46
|
+
* @stability unstable
|
|
45
47
|
* @category models
|
|
46
48
|
* @since 3.18.0
|
|
47
49
|
*/
|
|
@@ -62,6 +64,7 @@ export type NodeIndex = number
|
|
|
62
64
|
*
|
|
63
65
|
* @see {@link NodeIndex} for node identifiers instead of edge identifiers
|
|
64
66
|
*
|
|
67
|
+
* @stability unstable
|
|
65
68
|
* @category models
|
|
66
69
|
* @since 3.18.0
|
|
67
70
|
*/
|
|
@@ -75,6 +78,7 @@ export type EdgeIndex = number
|
|
|
75
78
|
* Use as the graph edge value that carries source node, target node, and stored
|
|
76
79
|
* edge data together.
|
|
77
80
|
*
|
|
81
|
+
* @stability unstable
|
|
78
82
|
* @category models
|
|
79
83
|
* @since 3.18.0
|
|
80
84
|
*/
|
|
@@ -92,6 +96,7 @@ export interface Edge<out E> {
|
|
|
92
96
|
* Use when writing graph-polymorphic types or helpers that need to preserve
|
|
93
97
|
* whether a graph is directed or undirected.
|
|
94
98
|
*
|
|
99
|
+
* @stability unstable
|
|
95
100
|
* @category models
|
|
96
101
|
* @since 3.18.0
|
|
97
102
|
*/
|
|
@@ -100,6 +105,7 @@ export type Kind = "directed" | "undirected"
|
|
|
100
105
|
/**
|
|
101
106
|
* A node and its stable index in a graph snapshot.
|
|
102
107
|
*
|
|
108
|
+
* @stability unstable
|
|
103
109
|
* @category models
|
|
104
110
|
* @since 4.0.0
|
|
105
111
|
*/
|
|
@@ -111,6 +117,7 @@ export interface IndexedNode<out N> {
|
|
|
111
117
|
/**
|
|
112
118
|
* An edge and its stable index in a graph snapshot.
|
|
113
119
|
*
|
|
120
|
+
* @stability unstable
|
|
114
121
|
* @category models
|
|
115
122
|
* @since 4.0.0
|
|
116
123
|
*/
|
|
@@ -137,6 +144,7 @@ export interface IndexedEdge<out E> extends Edge<E> {
|
|
|
137
144
|
* reconstruction, new identifiers continue after the greatest active index.
|
|
138
145
|
*
|
|
139
146
|
* @see {@link fromSnapshot} for reconstructing a graph
|
|
147
|
+
* @stability unstable
|
|
140
148
|
* @category models
|
|
141
149
|
* @since 4.0.0
|
|
142
150
|
*/
|
|
@@ -161,6 +169,7 @@ export interface Snapshot<out N, out E, out T extends Kind> {
|
|
|
161
169
|
*
|
|
162
170
|
* @see {@link MutableGraph} for the mutable counterpart used inside mutation scopes
|
|
163
171
|
*
|
|
172
|
+
* @stability unstable
|
|
164
173
|
* @category models
|
|
165
174
|
* @since 3.18.0
|
|
166
175
|
*/
|
|
@@ -175,6 +184,7 @@ export interface Graph<out N, out E, T extends Kind = "directed">
|
|
|
175
184
|
/**
|
|
176
185
|
* Companion namespace containing type-level metadata for immutable graphs.
|
|
177
186
|
*
|
|
187
|
+
* @stability unstable
|
|
178
188
|
* @category models
|
|
179
189
|
* @since 4.0.0
|
|
180
190
|
*/
|
|
@@ -208,6 +218,7 @@ export declare namespace Graph {
|
|
|
208
218
|
* @see {@link Graph} for the immutable graph interface
|
|
209
219
|
* @see {@link mutate} for scoped mutation of an immutable graph
|
|
210
220
|
*
|
|
221
|
+
* @stability unstable
|
|
211
222
|
* @category models
|
|
212
223
|
* @since 3.18.0
|
|
213
224
|
*/
|
|
@@ -222,6 +233,7 @@ export interface MutableGraph<in out N, in out E, T extends Kind = "directed">
|
|
|
222
233
|
/**
|
|
223
234
|
* Companion namespace containing type-level metadata for scoped mutable graphs.
|
|
224
235
|
*
|
|
236
|
+
* @stability unstable
|
|
225
237
|
* @category models
|
|
226
238
|
* @since 4.0.0
|
|
227
239
|
*/
|
|
@@ -261,6 +273,7 @@ const copyEdge = <E>(edge: Edge<E>): Edge<E> => ({
|
|
|
261
273
|
* @see {@link directed} for constructing directed graphs
|
|
262
274
|
* @see {@link UndirectedGraph} for graphs whose edges connect both endpoints
|
|
263
275
|
*
|
|
276
|
+
* @stability unstable
|
|
264
277
|
* @category models
|
|
265
278
|
* @since 3.18.0
|
|
266
279
|
*/
|
|
@@ -281,6 +294,7 @@ export type DirectedGraph<N, E> = Graph<N, E, "directed">
|
|
|
281
294
|
* @see {@link undirected} for constructing undirected graphs
|
|
282
295
|
* @see {@link DirectedGraph} for graphs whose edges have source-to-target direction
|
|
283
296
|
*
|
|
297
|
+
* @stability unstable
|
|
284
298
|
* @category models
|
|
285
299
|
* @since 3.18.0
|
|
286
300
|
*/
|
|
@@ -297,6 +311,7 @@ export type UndirectedGraph<N, E> = Graph<N, E, "undirected">
|
|
|
297
311
|
* @see {@link MutableGraph} for the generic mutable graph type
|
|
298
312
|
* @see {@link MutableUndirectedGraph} for mutable graphs without edge direction
|
|
299
313
|
*
|
|
314
|
+
* @stability unstable
|
|
300
315
|
* @category models
|
|
301
316
|
* @since 3.18.0
|
|
302
317
|
*/
|
|
@@ -313,6 +328,7 @@ export type MutableDirectedGraph<N, E> = MutableGraph<N, E, "directed">
|
|
|
313
328
|
* @see {@link MutableDirectedGraph} for mutable graphs with directed edges
|
|
314
329
|
* @see {@link MutableGraph} for the generic mutable graph type
|
|
315
330
|
*
|
|
331
|
+
* @stability unstable
|
|
316
332
|
* @category models
|
|
317
333
|
* @since 3.18.0
|
|
318
334
|
*/
|
|
@@ -334,6 +350,7 @@ export type MutableUndirectedGraph<N, E> = MutableGraph<N, E, "undirected">
|
|
|
334
350
|
* Use when handling failures thrown by graph operations that reject invalid
|
|
335
351
|
* graph structure or unsupported algorithm inputs.
|
|
336
352
|
*
|
|
353
|
+
* @stability unstable
|
|
337
354
|
* @category errors
|
|
338
355
|
* @since 3.18.0
|
|
339
356
|
*/
|
|
@@ -398,6 +415,7 @@ const withMutationGuard = <N, E, T extends Kind, A>(
|
|
|
398
415
|
* distinguish immutable graphs from mutable graphs or directed graphs from
|
|
399
416
|
* undirected graphs.
|
|
400
417
|
*
|
|
418
|
+
* @stability unstable
|
|
401
419
|
* @category guards
|
|
402
420
|
* @since 4.0.0
|
|
403
421
|
*/
|
|
@@ -436,6 +454,7 @@ export const isGraph: <N = unknown, E = unknown, T extends Kind = Kind, U = neve
|
|
|
436
454
|
* ```
|
|
437
455
|
*
|
|
438
456
|
* @see {@link toSnapshot} for capturing a graph snapshot
|
|
457
|
+
* @stability unstable
|
|
439
458
|
* @category constructors
|
|
440
459
|
* @since 4.0.0
|
|
441
460
|
*/
|
|
@@ -526,6 +545,7 @@ export const fromSnapshot = <N, E, T extends Kind>(snapshot: Snapshot<N, E, T>):
|
|
|
526
545
|
* ```
|
|
527
546
|
*
|
|
528
547
|
* @see {@link fromSnapshot} for reconstructing an immutable graph
|
|
548
|
+
* @stability unstable
|
|
529
549
|
* @category converting
|
|
530
550
|
* @since 4.0.0
|
|
531
551
|
*/
|
|
@@ -568,6 +588,7 @@ export const toSnapshot = <N, E, T extends Kind = "directed">(
|
|
|
568
588
|
*
|
|
569
589
|
* @see {@link directed} for constructing a directed graph directly
|
|
570
590
|
* @see {@link undirected} for constructing an undirected graph directly
|
|
591
|
+
* @stability unstable
|
|
571
592
|
* @category constructors
|
|
572
593
|
* @since 4.0.0
|
|
573
594
|
*/
|
|
@@ -614,6 +635,7 @@ export const make =
|
|
|
614
635
|
* Array.of(Graph.nodeCount(graph), Graph.edgeCount(graph)) // => [3, 2]
|
|
615
636
|
* ```
|
|
616
637
|
*
|
|
638
|
+
* @stability unstable
|
|
617
639
|
* @category constructors
|
|
618
640
|
* @since 3.18.0
|
|
619
641
|
*/
|
|
@@ -650,6 +672,7 @@ export const directed: <N, E>(
|
|
|
650
672
|
* Array.of(Graph.nodeCount(graph), Graph.edgeCount(graph)) // => [3, 2]
|
|
651
673
|
* ```
|
|
652
674
|
*
|
|
675
|
+
* @stability unstable
|
|
653
676
|
* @category constructors
|
|
654
677
|
* @since 3.18.0
|
|
655
678
|
*/
|
|
@@ -688,6 +711,7 @@ export const undirected: <N, E>(
|
|
|
688
711
|
*
|
|
689
712
|
* @see {@link endMutation} for finalizing the mutable graph
|
|
690
713
|
* @see {@link mutate} for automatically scoped mutation
|
|
714
|
+
* @stability unstable
|
|
691
715
|
* @category mutations
|
|
692
716
|
* @since 3.18.0
|
|
693
717
|
*/
|
|
@@ -724,6 +748,7 @@ export const beginMutation = <N, E, T extends Kind = "directed">(
|
|
|
724
748
|
*
|
|
725
749
|
* @see {@link beginMutation} for opening a manual mutation scope
|
|
726
750
|
* @see {@link mutate} for automatically scoped mutation
|
|
751
|
+
* @stability unstable
|
|
727
752
|
* @category mutations
|
|
728
753
|
* @since 3.18.0
|
|
729
754
|
*/
|
|
@@ -795,6 +820,7 @@ const mutateScoped = <N, E, T extends Kind>(
|
|
|
795
820
|
*
|
|
796
821
|
* @see {@link beginMutation} for opening a manual mutation scope
|
|
797
822
|
* @see {@link endMutation} for finalizing a manual mutation scope
|
|
823
|
+
* @stability unstable
|
|
798
824
|
* @category mutations
|
|
799
825
|
* @since 3.18.0
|
|
800
826
|
*/
|
|
@@ -836,6 +862,7 @@ export const mutate: {
|
|
|
836
862
|
*
|
|
837
863
|
* @see {@link beginMutation} for opening a manual mutation scope
|
|
838
864
|
* @see {@link endMutation} for finalizing a manual mutation scope
|
|
865
|
+
* @stability unstable
|
|
839
866
|
* @category mutations
|
|
840
867
|
* @since 3.18.0
|
|
841
868
|
*/
|
|
@@ -877,6 +904,7 @@ export const mutate: {
|
|
|
877
904
|
*
|
|
878
905
|
* @see {@link beginMutation} for opening a manual mutation scope
|
|
879
906
|
* @see {@link endMutation} for finalizing a manual mutation scope
|
|
907
|
+
* @stability unstable
|
|
880
908
|
* @category mutations
|
|
881
909
|
* @since 3.18.0
|
|
882
910
|
*/
|
|
@@ -962,6 +990,7 @@ class EdgeIdentity<NI, EI> implements Equal.Equal {
|
|
|
962
990
|
* with the same endpoint identities and projected edge identity are treated as
|
|
963
991
|
* the same member by graph set operations.
|
|
964
992
|
*
|
|
993
|
+
* @stability unstable
|
|
965
994
|
* @category configuration
|
|
966
995
|
* @since 4.0.0
|
|
967
996
|
*/
|
|
@@ -1094,6 +1123,7 @@ const assertSameKind = <N, E>(self: Graph<N, E, Kind>, that: Graph<N, E, Kind>):
|
|
|
1094
1123
|
* ```
|
|
1095
1124
|
*
|
|
1096
1125
|
* @see {@link sum} for combining graphs without merging equal nodes
|
|
1126
|
+
* @stability unstable
|
|
1097
1127
|
* @category set operations
|
|
1098
1128
|
* @since 4.0.0
|
|
1099
1129
|
*/
|
|
@@ -1148,6 +1178,7 @@ export const compose: {
|
|
|
1148
1178
|
* ```
|
|
1149
1179
|
*
|
|
1150
1180
|
* @see {@link sum} for combining graphs without merging equal nodes
|
|
1181
|
+
* @stability unstable
|
|
1151
1182
|
* @category set operations
|
|
1152
1183
|
* @since 4.0.0
|
|
1153
1184
|
*/
|
|
@@ -1202,6 +1233,7 @@ export const compose: {
|
|
|
1202
1233
|
* ```
|
|
1203
1234
|
*
|
|
1204
1235
|
* @see {@link sum} for combining graphs without merging equal nodes
|
|
1236
|
+
* @stability unstable
|
|
1205
1237
|
* @category set operations
|
|
1206
1238
|
* @since 4.0.0
|
|
1207
1239
|
*/
|
|
@@ -1272,6 +1304,7 @@ export const compose: {
|
|
|
1272
1304
|
* ```
|
|
1273
1305
|
*
|
|
1274
1306
|
* @see {@link sum} for combining graphs without merging equal nodes
|
|
1307
|
+
* @stability unstable
|
|
1275
1308
|
* @category set operations
|
|
1276
1309
|
* @since 4.0.0
|
|
1277
1310
|
*/
|
|
@@ -1325,6 +1358,7 @@ export const compose: {
|
|
|
1325
1358
|
* ```
|
|
1326
1359
|
*
|
|
1327
1360
|
* @see {@link sum} for combining graphs without merging equal nodes
|
|
1361
|
+
* @stability unstable
|
|
1328
1362
|
* @category set operations
|
|
1329
1363
|
* @since 4.0.0
|
|
1330
1364
|
*/
|
|
@@ -1392,6 +1426,7 @@ export const compose: {
|
|
|
1392
1426
|
* ```
|
|
1393
1427
|
*
|
|
1394
1428
|
* @see {@link sum} for combining graphs without merging equal nodes
|
|
1429
|
+
* @stability unstable
|
|
1395
1430
|
* @category set operations
|
|
1396
1431
|
* @since 4.0.0
|
|
1397
1432
|
*/
|
|
@@ -1445,6 +1480,7 @@ export const compose: {
|
|
|
1445
1480
|
* ```
|
|
1446
1481
|
*
|
|
1447
1482
|
* @see {@link sum} for combining graphs without merging equal nodes
|
|
1483
|
+
* @stability unstable
|
|
1448
1484
|
* @category set operations
|
|
1449
1485
|
* @since 4.0.0
|
|
1450
1486
|
*/
|
|
@@ -1506,6 +1542,7 @@ export const compose: {
|
|
|
1506
1542
|
* ```
|
|
1507
1543
|
*
|
|
1508
1544
|
* @see {@link compose} for identity-based graph union
|
|
1545
|
+
* @stability unstable
|
|
1509
1546
|
* @category set operations
|
|
1510
1547
|
* @since 4.0.0
|
|
1511
1548
|
*/
|
|
@@ -1558,6 +1595,7 @@ export const intersection: {
|
|
|
1558
1595
|
* ```
|
|
1559
1596
|
*
|
|
1560
1597
|
* @see {@link compose} for identity-based graph union
|
|
1598
|
+
* @stability unstable
|
|
1561
1599
|
* @category set operations
|
|
1562
1600
|
* @since 4.0.0
|
|
1563
1601
|
*/
|
|
@@ -1610,6 +1648,7 @@ export const intersection: {
|
|
|
1610
1648
|
* ```
|
|
1611
1649
|
*
|
|
1612
1650
|
* @see {@link compose} for identity-based graph union
|
|
1651
|
+
* @stability unstable
|
|
1613
1652
|
* @category set operations
|
|
1614
1653
|
* @since 4.0.0
|
|
1615
1654
|
*/
|
|
@@ -1677,6 +1716,7 @@ export const intersection: {
|
|
|
1677
1716
|
* ```
|
|
1678
1717
|
*
|
|
1679
1718
|
* @see {@link compose} for identity-based graph union
|
|
1719
|
+
* @stability unstable
|
|
1680
1720
|
* @category set operations
|
|
1681
1721
|
* @since 4.0.0
|
|
1682
1722
|
*/
|
|
@@ -1728,6 +1768,7 @@ export const intersection: {
|
|
|
1728
1768
|
* ```
|
|
1729
1769
|
*
|
|
1730
1770
|
* @see {@link compose} for identity-based graph union
|
|
1771
|
+
* @stability unstable
|
|
1731
1772
|
* @category set operations
|
|
1732
1773
|
* @since 4.0.0
|
|
1733
1774
|
*/
|
|
@@ -1781,6 +1822,7 @@ export const intersection: {
|
|
|
1781
1822
|
* ```
|
|
1782
1823
|
*
|
|
1783
1824
|
* @see {@link compose} for identity-based graph union
|
|
1825
|
+
* @stability unstable
|
|
1784
1826
|
* @category set operations
|
|
1785
1827
|
* @since 4.0.0
|
|
1786
1828
|
*/
|
|
@@ -1832,6 +1874,7 @@ export const intersection: {
|
|
|
1832
1874
|
* ```
|
|
1833
1875
|
*
|
|
1834
1876
|
* @see {@link compose} for identity-based graph union
|
|
1877
|
+
* @stability unstable
|
|
1835
1878
|
* @category set operations
|
|
1836
1879
|
* @since 4.0.0
|
|
1837
1880
|
*/
|
|
@@ -1900,6 +1943,7 @@ export const intersection: {
|
|
|
1900
1943
|
* ```
|
|
1901
1944
|
*
|
|
1902
1945
|
* @see {@link compose} for identity-based graph union
|
|
1946
|
+
* @stability unstable
|
|
1903
1947
|
* @category set operations
|
|
1904
1948
|
* @since 4.0.0
|
|
1905
1949
|
*/
|
|
@@ -1951,6 +1995,7 @@ export const intersection: {
|
|
|
1951
1995
|
* ```
|
|
1952
1996
|
*
|
|
1953
1997
|
* @see {@link compose} for identity-based graph union
|
|
1998
|
+
* @stability unstable
|
|
1954
1999
|
* @category set operations
|
|
1955
2000
|
* @since 4.0.0
|
|
1956
2001
|
*/
|
|
@@ -2015,6 +2060,7 @@ export const intersection: {
|
|
|
2015
2060
|
* ```
|
|
2016
2061
|
*
|
|
2017
2062
|
* @see {@link symmetricDifference} for retaining edges unique to either graph
|
|
2063
|
+
* @stability unstable
|
|
2018
2064
|
* @category set operations
|
|
2019
2065
|
* @since 4.0.0
|
|
2020
2066
|
*/
|
|
@@ -2069,6 +2115,7 @@ export const difference: {
|
|
|
2069
2115
|
* ```
|
|
2070
2116
|
*
|
|
2071
2117
|
* @see {@link symmetricDifference} for retaining edges unique to either graph
|
|
2118
|
+
* @stability unstable
|
|
2072
2119
|
* @category set operations
|
|
2073
2120
|
* @since 4.0.0
|
|
2074
2121
|
*/
|
|
@@ -2123,6 +2170,7 @@ export const difference: {
|
|
|
2123
2170
|
* ```
|
|
2124
2171
|
*
|
|
2125
2172
|
* @see {@link symmetricDifference} for retaining edges unique to either graph
|
|
2173
|
+
* @stability unstable
|
|
2126
2174
|
* @category set operations
|
|
2127
2175
|
* @since 4.0.0
|
|
2128
2176
|
*/
|
|
@@ -2194,6 +2242,7 @@ export const difference: {
|
|
|
2194
2242
|
* ```
|
|
2195
2243
|
*
|
|
2196
2244
|
* @see {@link symmetricDifference} for retaining edges unique to either graph
|
|
2245
|
+
* @stability unstable
|
|
2197
2246
|
* @category set operations
|
|
2198
2247
|
* @since 4.0.0
|
|
2199
2248
|
*/
|
|
@@ -2247,6 +2296,7 @@ export const difference: {
|
|
|
2247
2296
|
* ```
|
|
2248
2297
|
*
|
|
2249
2298
|
* @see {@link symmetricDifference} for retaining edges unique to either graph
|
|
2299
|
+
* @stability unstable
|
|
2250
2300
|
* @category set operations
|
|
2251
2301
|
* @since 4.0.0
|
|
2252
2302
|
*/
|
|
@@ -2317,6 +2367,7 @@ export const difference: {
|
|
|
2317
2367
|
* ```
|
|
2318
2368
|
*
|
|
2319
2369
|
* @see {@link difference} for removing only the edges found in another graph
|
|
2370
|
+
* @stability unstable
|
|
2320
2371
|
* @category set operations
|
|
2321
2372
|
* @since 4.0.0
|
|
2322
2373
|
*/
|
|
@@ -2374,6 +2425,7 @@ export const symmetricDifference: {
|
|
|
2374
2425
|
* ```
|
|
2375
2426
|
*
|
|
2376
2427
|
* @see {@link difference} for removing only the edges found in another graph
|
|
2428
|
+
* @stability unstable
|
|
2377
2429
|
* @category set operations
|
|
2378
2430
|
* @since 4.0.0
|
|
2379
2431
|
*/
|
|
@@ -2431,6 +2483,7 @@ export const symmetricDifference: {
|
|
|
2431
2483
|
* ```
|
|
2432
2484
|
*
|
|
2433
2485
|
* @see {@link difference} for removing only the edges found in another graph
|
|
2486
|
+
* @stability unstable
|
|
2434
2487
|
* @category set operations
|
|
2435
2488
|
* @since 4.0.0
|
|
2436
2489
|
*/
|
|
@@ -2502,6 +2555,7 @@ export const symmetricDifference: {
|
|
|
2502
2555
|
* ```
|
|
2503
2556
|
*
|
|
2504
2557
|
* @see {@link difference} for removing only the edges found in another graph
|
|
2558
|
+
* @stability unstable
|
|
2505
2559
|
* @category set operations
|
|
2506
2560
|
* @since 4.0.0
|
|
2507
2561
|
*/
|
|
@@ -2558,6 +2612,7 @@ export const symmetricDifference: {
|
|
|
2558
2612
|
* ```
|
|
2559
2613
|
*
|
|
2560
2614
|
* @see {@link difference} for removing only the edges found in another graph
|
|
2615
|
+
* @stability unstable
|
|
2561
2616
|
* @category set operations
|
|
2562
2617
|
* @since 4.0.0
|
|
2563
2618
|
*/
|
|
@@ -2626,6 +2681,7 @@ export const symmetricDifference: {
|
|
|
2626
2681
|
* ```
|
|
2627
2682
|
*
|
|
2628
2683
|
* @see {@link difference} for removing only the edges found in another graph
|
|
2684
|
+
* @stability unstable
|
|
2629
2685
|
* @category set operations
|
|
2630
2686
|
* @since 4.0.0
|
|
2631
2687
|
*/
|
|
@@ -2682,6 +2738,7 @@ export const symmetricDifference: {
|
|
|
2682
2738
|
* ```
|
|
2683
2739
|
*
|
|
2684
2740
|
* @see {@link difference} for removing only the edges found in another graph
|
|
2741
|
+
* @stability unstable
|
|
2685
2742
|
* @category set operations
|
|
2686
2743
|
* @since 4.0.0
|
|
2687
2744
|
*/
|
|
@@ -2741,6 +2798,7 @@ export const symmetricDifference: {
|
|
|
2741
2798
|
* ```
|
|
2742
2799
|
*
|
|
2743
2800
|
* @see {@link hasEdge} for testing one relationship
|
|
2801
|
+
* @stability unstable
|
|
2744
2802
|
* @category set operations
|
|
2745
2803
|
* @since 4.0.0
|
|
2746
2804
|
*/
|
|
@@ -2784,6 +2842,7 @@ export const complement: {
|
|
|
2784
2842
|
* ```
|
|
2785
2843
|
*
|
|
2786
2844
|
* @see {@link hasEdge} for testing one relationship
|
|
2845
|
+
* @stability unstable
|
|
2787
2846
|
* @category set operations
|
|
2788
2847
|
* @since 4.0.0
|
|
2789
2848
|
*/
|
|
@@ -2827,6 +2886,7 @@ export const complement: {
|
|
|
2827
2886
|
* ```
|
|
2828
2887
|
*
|
|
2829
2888
|
* @see {@link hasEdge} for testing one relationship
|
|
2889
|
+
* @stability unstable
|
|
2830
2890
|
* @category set operations
|
|
2831
2891
|
* @since 4.0.0
|
|
2832
2892
|
*/
|
|
@@ -2878,6 +2938,7 @@ export const complement: {
|
|
|
2878
2938
|
* ```
|
|
2879
2939
|
*
|
|
2880
2940
|
* @see {@link hasEdge} for testing one relationship
|
|
2941
|
+
* @stability unstable
|
|
2881
2942
|
* @category set operations
|
|
2882
2943
|
* @since 4.0.0
|
|
2883
2944
|
*/
|
|
@@ -2920,6 +2981,7 @@ export const complement: {
|
|
|
2920
2981
|
* ```
|
|
2921
2982
|
*
|
|
2922
2983
|
* @see {@link hasEdge} for testing one relationship
|
|
2984
|
+
* @stability unstable
|
|
2923
2985
|
* @category set operations
|
|
2924
2986
|
* @since 4.0.0
|
|
2925
2987
|
*/
|
|
@@ -2957,6 +3019,7 @@ export const complement: {
|
|
|
2957
3019
|
* `direction` controls how directed edges are traversed and defaults to
|
|
2958
3020
|
* `"outgoing"`.
|
|
2959
3021
|
*
|
|
3022
|
+
* @stability unstable
|
|
2960
3023
|
* @category configuration
|
|
2961
3024
|
* @since 4.0.0
|
|
2962
3025
|
*/
|
|
@@ -3006,6 +3069,7 @@ export interface NeighborhoodConfig {
|
|
|
3006
3069
|
* ```
|
|
3007
3070
|
*
|
|
3008
3071
|
* @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
|
|
3072
|
+
* @stability unstable
|
|
3009
3073
|
* @category set operations
|
|
3010
3074
|
* @since 4.0.0
|
|
3011
3075
|
*/
|
|
@@ -3051,6 +3115,7 @@ export const neighborhood: {
|
|
|
3051
3115
|
* ```
|
|
3052
3116
|
*
|
|
3053
3117
|
* @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
|
|
3118
|
+
* @stability unstable
|
|
3054
3119
|
* @category set operations
|
|
3055
3120
|
* @since 4.0.0
|
|
3056
3121
|
*/
|
|
@@ -3096,6 +3161,7 @@ export const neighborhood: {
|
|
|
3096
3161
|
* ```
|
|
3097
3162
|
*
|
|
3098
3163
|
* @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
|
|
3164
|
+
* @stability unstable
|
|
3099
3165
|
* @category set operations
|
|
3100
3166
|
* @since 4.0.0
|
|
3101
3167
|
*/
|
|
@@ -3155,6 +3221,7 @@ export const neighborhood: {
|
|
|
3155
3221
|
* ```
|
|
3156
3222
|
*
|
|
3157
3223
|
* @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
|
|
3224
|
+
* @stability unstable
|
|
3158
3225
|
* @category set operations
|
|
3159
3226
|
* @since 4.0.0
|
|
3160
3227
|
*/
|
|
@@ -3199,6 +3266,7 @@ export const neighborhood: {
|
|
|
3199
3266
|
* ```
|
|
3200
3267
|
*
|
|
3201
3268
|
* @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
|
|
3269
|
+
* @stability unstable
|
|
3202
3270
|
* @category set operations
|
|
3203
3271
|
* @since 4.0.0
|
|
3204
3272
|
*/
|
|
@@ -3241,6 +3309,7 @@ export const neighborhood: {
|
|
|
3241
3309
|
*
|
|
3242
3310
|
* @see {@link neighborhood} for selecting nodes by traversal distance
|
|
3243
3311
|
*
|
|
3312
|
+
* @stability unstable
|
|
3244
3313
|
* @category set operations
|
|
3245
3314
|
* @since 4.0.0
|
|
3246
3315
|
*/
|
|
@@ -3265,6 +3334,7 @@ export const inducedSubgraph: {
|
|
|
3265
3334
|
*
|
|
3266
3335
|
* @see {@link neighborhood} for selecting nodes by traversal distance
|
|
3267
3336
|
*
|
|
3337
|
+
* @stability unstable
|
|
3268
3338
|
* @category set operations
|
|
3269
3339
|
* @since 4.0.0
|
|
3270
3340
|
*/
|
|
@@ -3289,6 +3359,7 @@ export const inducedSubgraph: {
|
|
|
3289
3359
|
*
|
|
3290
3360
|
* @see {@link neighborhood} for selecting nodes by traversal distance
|
|
3291
3361
|
*
|
|
3362
|
+
* @stability unstable
|
|
3292
3363
|
* @category set operations
|
|
3293
3364
|
* @since 4.0.0
|
|
3294
3365
|
*/
|
|
@@ -3343,6 +3414,7 @@ export const inducedSubgraph: {
|
|
|
3343
3414
|
*
|
|
3344
3415
|
* @see {@link compose} for merging overlapping logical nodes by identity
|
|
3345
3416
|
*
|
|
3417
|
+
* @stability unstable
|
|
3346
3418
|
* @category set operations
|
|
3347
3419
|
* @since 4.0.0
|
|
3348
3420
|
*/
|
|
@@ -3369,6 +3441,7 @@ export const sum: {
|
|
|
3369
3441
|
*
|
|
3370
3442
|
* @see {@link compose} for merging overlapping logical nodes by identity
|
|
3371
3443
|
*
|
|
3444
|
+
* @stability unstable
|
|
3372
3445
|
* @category set operations
|
|
3373
3446
|
* @since 4.0.0
|
|
3374
3447
|
*/
|
|
@@ -3395,6 +3468,7 @@ export const sum: {
|
|
|
3395
3468
|
*
|
|
3396
3469
|
* @see {@link compose} for merging overlapping logical nodes by identity
|
|
3397
3470
|
*
|
|
3471
|
+
* @stability unstable
|
|
3398
3472
|
* @category set operations
|
|
3399
3473
|
* @since 4.0.0
|
|
3400
3474
|
*/
|
|
@@ -3423,6 +3497,7 @@ export const sum: {
|
|
|
3423
3497
|
*
|
|
3424
3498
|
* @see {@link compose} for merging overlapping logical nodes by identity
|
|
3425
3499
|
*
|
|
3500
|
+
* @stability unstable
|
|
3426
3501
|
* @category set operations
|
|
3427
3502
|
* @since 4.0.0
|
|
3428
3503
|
*/
|
|
@@ -3448,6 +3523,7 @@ export const sum: {
|
|
|
3448
3523
|
*
|
|
3449
3524
|
* @see {@link compose} for merging overlapping logical nodes by identity
|
|
3450
3525
|
*
|
|
3526
|
+
* @stability unstable
|
|
3451
3527
|
* @category set operations
|
|
3452
3528
|
* @since 4.0.0
|
|
3453
3529
|
*/
|
|
@@ -3510,6 +3586,7 @@ export const sum: {
|
|
|
3510
3586
|
* @see {@link mutate} for obtaining a mutable graph from an immutable graph
|
|
3511
3587
|
* @see {@link addEdge} for connecting existing nodes
|
|
3512
3588
|
*
|
|
3589
|
+
* @stability unstable
|
|
3513
3590
|
* @category mutations
|
|
3514
3591
|
* @since 3.18.0
|
|
3515
3592
|
*/
|
|
@@ -3551,6 +3628,7 @@ export const addNode = <N, E, T extends Kind = "directed">(
|
|
|
3551
3628
|
* Graph.getNode(graph, 0) // => Option.some("Node A")
|
|
3552
3629
|
* ```
|
|
3553
3630
|
*
|
|
3631
|
+
* @stability unstable
|
|
3554
3632
|
* @category getters
|
|
3555
3633
|
* @since 3.18.0
|
|
3556
3634
|
*/
|
|
@@ -3570,6 +3648,7 @@ export const getNode: {
|
|
|
3570
3648
|
* Graph.getNode(graph, 0) // => Option.some("Node A")
|
|
3571
3649
|
* ```
|
|
3572
3650
|
*
|
|
3651
|
+
* @stability unstable
|
|
3573
3652
|
* @category getters
|
|
3574
3653
|
* @since 3.18.0
|
|
3575
3654
|
*/
|
|
@@ -3591,6 +3670,7 @@ export const getNode: {
|
|
|
3591
3670
|
* Graph.getNode(graph, 0) // => Option.some("Node A")
|
|
3592
3671
|
* ```
|
|
3593
3672
|
*
|
|
3673
|
+
* @stability unstable
|
|
3594
3674
|
* @category getters
|
|
3595
3675
|
* @since 3.18.0
|
|
3596
3676
|
*/
|
|
@@ -3619,6 +3699,7 @@ export const getNode: {
|
|
|
3619
3699
|
* Graph.hasNode(graph, 999) // => false
|
|
3620
3700
|
* ```
|
|
3621
3701
|
*
|
|
3702
|
+
* @stability unstable
|
|
3622
3703
|
* @category predicates
|
|
3623
3704
|
* @since 3.18.0
|
|
3624
3705
|
*/
|
|
@@ -3639,6 +3720,7 @@ export const hasNode: {
|
|
|
3639
3720
|
* Graph.hasNode(graph, 999) // => false
|
|
3640
3721
|
* ```
|
|
3641
3722
|
*
|
|
3723
|
+
* @stability unstable
|
|
3642
3724
|
* @category predicates
|
|
3643
3725
|
* @since 3.18.0
|
|
3644
3726
|
*/
|
|
@@ -3659,6 +3741,7 @@ export const hasNode: {
|
|
|
3659
3741
|
* Graph.hasNode(graph, 999) // => false
|
|
3660
3742
|
* ```
|
|
3661
3743
|
*
|
|
3744
|
+
* @stability unstable
|
|
3662
3745
|
* @category predicates
|
|
3663
3746
|
* @since 3.18.0
|
|
3664
3747
|
*/
|
|
@@ -3688,6 +3771,7 @@ export const hasNode: {
|
|
|
3688
3771
|
* Graph.nodeCount(graphWithNodes) // => 3
|
|
3689
3772
|
* ```
|
|
3690
3773
|
*
|
|
3774
|
+
* @stability unstable
|
|
3691
3775
|
* @category getters
|
|
3692
3776
|
* @since 3.18.0
|
|
3693
3777
|
*/
|
|
@@ -3713,6 +3797,7 @@ export const nodeCount = <N, E, T extends Kind = "directed">(
|
|
|
3713
3797
|
* Graph.findNode(graph, (data) => data === "Node D") // => Option.none()
|
|
3714
3798
|
* ```
|
|
3715
3799
|
*
|
|
3800
|
+
* @stability unstable
|
|
3716
3801
|
* @category getters
|
|
3717
3802
|
* @since 3.18.0
|
|
3718
3803
|
*/
|
|
@@ -3735,6 +3820,7 @@ export const findNode: {
|
|
|
3735
3820
|
* Graph.findNode(graph, (data) => data === "Node D") // => Option.none()
|
|
3736
3821
|
* ```
|
|
3737
3822
|
*
|
|
3823
|
+
* @stability unstable
|
|
3738
3824
|
* @category getters
|
|
3739
3825
|
* @since 3.18.0
|
|
3740
3826
|
*/
|
|
@@ -3757,6 +3843,7 @@ export const findNode: {
|
|
|
3757
3843
|
* Graph.findNode(graph, (data) => data === "Node D") // => Option.none()
|
|
3758
3844
|
* ```
|
|
3759
3845
|
*
|
|
3846
|
+
* @stability unstable
|
|
3760
3847
|
* @category getters
|
|
3761
3848
|
* @since 3.18.0
|
|
3762
3849
|
*/
|
|
@@ -3797,6 +3884,7 @@ export const findNode: {
|
|
|
3797
3884
|
* Graph.findNodes(graph, (data) => data === "Not Found") // => []
|
|
3798
3885
|
* ```
|
|
3799
3886
|
*
|
|
3887
|
+
* @stability unstable
|
|
3800
3888
|
* @category getters
|
|
3801
3889
|
* @since 3.18.0
|
|
3802
3890
|
*/
|
|
@@ -3819,6 +3907,7 @@ export const findNodes: {
|
|
|
3819
3907
|
* Graph.findNodes(graph, (data) => data === "Not Found") // => []
|
|
3820
3908
|
* ```
|
|
3821
3909
|
*
|
|
3910
|
+
* @stability unstable
|
|
3822
3911
|
* @category getters
|
|
3823
3912
|
* @since 3.18.0
|
|
3824
3913
|
*/
|
|
@@ -3841,6 +3930,7 @@ export const findNodes: {
|
|
|
3841
3930
|
* Graph.findNodes(graph, (data) => data === "Not Found") // => []
|
|
3842
3931
|
* ```
|
|
3843
3932
|
*
|
|
3933
|
+
* @stability unstable
|
|
3844
3934
|
* @category getters
|
|
3845
3935
|
* @since 3.18.0
|
|
3846
3936
|
*/
|
|
@@ -3884,6 +3974,7 @@ export const findNodes: {
|
|
|
3884
3974
|
* Graph.findEdge(graph, (data) => data > 100) // => Option.none()
|
|
3885
3975
|
* ```
|
|
3886
3976
|
*
|
|
3977
|
+
* @stability unstable
|
|
3887
3978
|
* @category getters
|
|
3888
3979
|
* @since 3.18.0
|
|
3889
3980
|
*/
|
|
@@ -3908,6 +3999,7 @@ export const findEdge: {
|
|
|
3908
3999
|
* Graph.findEdge(graph, (data) => data > 100) // => Option.none()
|
|
3909
4000
|
* ```
|
|
3910
4001
|
*
|
|
4002
|
+
* @stability unstable
|
|
3911
4003
|
* @category getters
|
|
3912
4004
|
* @since 3.18.0
|
|
3913
4005
|
*/
|
|
@@ -3932,6 +4024,7 @@ export const findEdge: {
|
|
|
3932
4024
|
* Graph.findEdge(graph, (data) => data > 100) // => Option.none()
|
|
3933
4025
|
* ```
|
|
3934
4026
|
*
|
|
4027
|
+
* @stability unstable
|
|
3935
4028
|
* @category getters
|
|
3936
4029
|
* @since 3.18.0
|
|
3937
4030
|
*/
|
|
@@ -3975,6 +4068,7 @@ export const findEdge: {
|
|
|
3975
4068
|
* Graph.findEdges(graph, (data) => data > 100) // => []
|
|
3976
4069
|
* ```
|
|
3977
4070
|
*
|
|
4071
|
+
* @stability unstable
|
|
3978
4072
|
* @category getters
|
|
3979
4073
|
* @since 3.18.0
|
|
3980
4074
|
*/
|
|
@@ -4000,6 +4094,7 @@ export const findEdges: {
|
|
|
4000
4094
|
* Graph.findEdges(graph, (data) => data > 100) // => []
|
|
4001
4095
|
* ```
|
|
4002
4096
|
*
|
|
4097
|
+
* @stability unstable
|
|
4003
4098
|
* @category getters
|
|
4004
4099
|
* @since 3.18.0
|
|
4005
4100
|
*/
|
|
@@ -4025,6 +4120,7 @@ export const findEdges: {
|
|
|
4025
4120
|
* Graph.findEdges(graph, (data) => data > 100) // => []
|
|
4026
4121
|
* ```
|
|
4027
4122
|
*
|
|
4123
|
+
* @stability unstable
|
|
4028
4124
|
* @category getters
|
|
4029
4125
|
* @since 3.18.0
|
|
4030
4126
|
*/
|
|
@@ -4075,6 +4171,7 @@ export const findEdges: {
|
|
|
4075
4171
|
* Graph.getNode(graph, 0) // => Option.some("NODE A")
|
|
4076
4172
|
* ```
|
|
4077
4173
|
*
|
|
4174
|
+
* @stability unstable
|
|
4078
4175
|
* @category transforming
|
|
4079
4176
|
* @since 3.18.0
|
|
4080
4177
|
*/
|
|
@@ -4123,6 +4220,7 @@ export const updateNode = <N, E, T extends Kind = "directed">(
|
|
|
4123
4220
|
* Option.map(Graph.getEdge(result, 0), (edge) => edge.data) // => Option.some(20)
|
|
4124
4221
|
* ```
|
|
4125
4222
|
*
|
|
4223
|
+
* @stability unstable
|
|
4126
4224
|
* @category transforming
|
|
4127
4225
|
* @since 3.18.0
|
|
4128
4226
|
*/
|
|
@@ -4182,6 +4280,7 @@ export const updateEdge = <N, E, T extends Kind = "directed">(
|
|
|
4182
4280
|
*
|
|
4183
4281
|
* @see {@link updateNode} for updating one node
|
|
4184
4282
|
* @see {@link filterMapNodes} for mapping while removing nodes
|
|
4283
|
+
* @stability unstable
|
|
4185
4284
|
* @category mapping
|
|
4186
4285
|
* @since 3.18.0
|
|
4187
4286
|
*/
|
|
@@ -4235,6 +4334,7 @@ export const mapNodes = <N, E, T extends Kind = "directed">(
|
|
|
4235
4334
|
*
|
|
4236
4335
|
* @see {@link updateEdge} for updating one edge
|
|
4237
4336
|
* @see {@link filterMapEdges} for mapping while removing edges
|
|
4337
|
+
* @stability unstable
|
|
4238
4338
|
* @category mapping
|
|
4239
4339
|
* @since 3.18.0
|
|
4240
4340
|
*/
|
|
@@ -4289,6 +4389,7 @@ export const mapEdges = <N, E, T extends Kind = "directed">(
|
|
|
4289
4389
|
* Option.map(Graph.getEdge(graph, 0), (edge) => edge.source) // => Option.some(1)
|
|
4290
4390
|
* ```
|
|
4291
4391
|
*
|
|
4392
|
+
* @stability unstable
|
|
4292
4393
|
* @category transforming
|
|
4293
4394
|
* @since 3.18.0
|
|
4294
4395
|
*/
|
|
@@ -4349,6 +4450,7 @@ export const reverse = <N, E, T extends Kind = "directed">(
|
|
|
4349
4450
|
* Graph.nodeCount(graph) // => 2
|
|
4350
4451
|
* ```
|
|
4351
4452
|
*
|
|
4453
|
+
* @stability unstable
|
|
4352
4454
|
* @category filtering
|
|
4353
4455
|
* @since 3.18.0
|
|
4354
4456
|
*/
|
|
@@ -4408,6 +4510,7 @@ export const filterMapNodes = <N, E, T extends Kind = "directed">(
|
|
|
4408
4510
|
* Graph.edgeCount(graph) // => 2
|
|
4409
4511
|
* ```
|
|
4410
4512
|
*
|
|
4513
|
+
* @stability unstable
|
|
4411
4514
|
* @category filtering
|
|
4412
4515
|
* @since 3.18.0
|
|
4413
4516
|
*/
|
|
@@ -4468,6 +4571,7 @@ export const filterMapEdges = <N, E, T extends Kind = "directed">(
|
|
|
4468
4571
|
* Graph.nodeCount(graph) // => 2
|
|
4469
4572
|
* ```
|
|
4470
4573
|
*
|
|
4574
|
+
* @stability unstable
|
|
4471
4575
|
* @category filtering
|
|
4472
4576
|
* @since 3.18.0
|
|
4473
4577
|
*/
|
|
@@ -4522,6 +4626,7 @@ export const filterNodes = <N, E, T extends Kind = "directed">(
|
|
|
4522
4626
|
* Graph.edgeCount(graph) // => 2
|
|
4523
4627
|
* ```
|
|
4524
4628
|
*
|
|
4629
|
+
* @stability unstable
|
|
4525
4630
|
* @category filtering
|
|
4526
4631
|
* @since 3.18.0
|
|
4527
4632
|
*/
|
|
@@ -4607,6 +4712,7 @@ const invalidateCycleFlagOnAddition = <N, E, T extends Kind = "directed">(
|
|
|
4607
4712
|
* @see {@link mutate} for obtaining a mutable graph from an immutable graph
|
|
4608
4713
|
* @see {@link addNode} for creating node indexes before connecting them
|
|
4609
4714
|
*
|
|
4715
|
+
* @stability unstable
|
|
4610
4716
|
* @category mutations
|
|
4611
4717
|
* @since 3.18.0
|
|
4612
4718
|
*/
|
|
@@ -4692,6 +4798,7 @@ export const addEdge = <N, E, T extends Kind = "directed">(
|
|
|
4692
4798
|
* Array.of(Graph.nodeCount(result), Graph.edgeCount(result)) // => [1, 0]
|
|
4693
4799
|
* ```
|
|
4694
4800
|
*
|
|
4801
|
+
* @stability unstable
|
|
4695
4802
|
* @category mutations
|
|
4696
4803
|
* @since 3.18.0
|
|
4697
4804
|
*/
|
|
@@ -4724,6 +4831,7 @@ export const removeNode = <N, E, T extends Kind = "directed">(
|
|
|
4724
4831
|
*
|
|
4725
4832
|
* @see {@link removeNode} for removing one node
|
|
4726
4833
|
*
|
|
4834
|
+
* @stability unstable
|
|
4727
4835
|
* @category mutations
|
|
4728
4836
|
* @since 4.0.0
|
|
4729
4837
|
*/
|
|
@@ -4817,6 +4925,7 @@ const removeNodeInternal = <N, E, T extends Kind = "directed">(
|
|
|
4817
4925
|
* Array.of(Graph.nodeCount(result), Graph.edgeCount(result)) // => [2, 0]
|
|
4818
4926
|
* ```
|
|
4819
4927
|
*
|
|
4928
|
+
* @stability unstable
|
|
4820
4929
|
* @category mutations
|
|
4821
4930
|
* @since 3.18.0
|
|
4822
4931
|
*/
|
|
@@ -4850,6 +4959,7 @@ export const removeEdge = <N, E, T extends Kind = "directed">(
|
|
|
4850
4959
|
*
|
|
4851
4960
|
* @see {@link removeEdge} for removing one edge
|
|
4852
4961
|
*
|
|
4962
|
+
* @stability unstable
|
|
4853
4963
|
* @category mutations
|
|
4854
4964
|
* @since 4.0.0
|
|
4855
4965
|
*/
|
|
@@ -4952,6 +5062,7 @@ const removeEdgeInternal = <N, E, T extends Kind = "directed">(
|
|
|
4952
5062
|
* Graph.getEdge(graph, 0) // => Option.some({ source: 0, target: 1, data: 42 })
|
|
4953
5063
|
* ```
|
|
4954
5064
|
*
|
|
5065
|
+
* @stability unstable
|
|
4955
5066
|
* @category getters
|
|
4956
5067
|
* @since 3.18.0
|
|
4957
5068
|
*/
|
|
@@ -4977,6 +5088,7 @@ export const getEdge: {
|
|
|
4977
5088
|
* Graph.getEdge(graph, 0) // => Option.some({ source: 0, target: 1, data: 42 })
|
|
4978
5089
|
* ```
|
|
4979
5090
|
*
|
|
5091
|
+
* @stability unstable
|
|
4980
5092
|
* @category getters
|
|
4981
5093
|
* @since 3.18.0
|
|
4982
5094
|
*/
|
|
@@ -5004,6 +5116,7 @@ export const getEdge: {
|
|
|
5004
5116
|
* Graph.getEdge(graph, 0) // => Option.some({ source: 0, target: 1, data: 42 })
|
|
5005
5117
|
* ```
|
|
5006
5118
|
*
|
|
5119
|
+
* @stability unstable
|
|
5007
5120
|
* @category getters
|
|
5008
5121
|
* @since 3.18.0
|
|
5009
5122
|
*/
|
|
@@ -5045,6 +5158,7 @@ export const getEdge: {
|
|
|
5045
5158
|
* ```
|
|
5046
5159
|
*
|
|
5047
5160
|
* @see {@link edgesBetween} for all matching edge identifiers
|
|
5161
|
+
* @stability unstable
|
|
5048
5162
|
* @category predicates
|
|
5049
5163
|
* @since 3.18.0
|
|
5050
5164
|
*/
|
|
@@ -5078,6 +5192,7 @@ export const hasEdge: {
|
|
|
5078
5192
|
* ```
|
|
5079
5193
|
*
|
|
5080
5194
|
* @see {@link edgesBetween} for all matching edge identifiers
|
|
5195
|
+
* @stability unstable
|
|
5081
5196
|
* @category predicates
|
|
5082
5197
|
* @since 3.18.0
|
|
5083
5198
|
*/
|
|
@@ -5111,6 +5226,7 @@ export const hasEdge: {
|
|
|
5111
5226
|
* ```
|
|
5112
5227
|
*
|
|
5113
5228
|
* @see {@link edgesBetween} for all matching edge identifiers
|
|
5229
|
+
* @stability unstable
|
|
5114
5230
|
* @category predicates
|
|
5115
5231
|
* @since 3.18.0
|
|
5116
5232
|
*/
|
|
@@ -5167,6 +5283,7 @@ export const hasEdge: {
|
|
|
5167
5283
|
* Graph.edgeCount(graphWithEdges) // => 3
|
|
5168
5284
|
* ```
|
|
5169
5285
|
*
|
|
5286
|
+
* @stability unstable
|
|
5170
5287
|
* @category getters
|
|
5171
5288
|
* @since 3.18.0
|
|
5172
5289
|
*/
|
|
@@ -5182,6 +5299,7 @@ export const edgeCount = <N, E, T extends Kind = "directed">(
|
|
|
5182
5299
|
* Each edge is returned once in graph edge order, including self-loops.
|
|
5183
5300
|
* Throws a `GraphError` when the node does not exist.
|
|
5184
5301
|
*
|
|
5302
|
+
* @stability unstable
|
|
5185
5303
|
* @category getters
|
|
5186
5304
|
* @since 4.0.0
|
|
5187
5305
|
*/
|
|
@@ -5194,6 +5312,7 @@ export const incidentEdges: {
|
|
|
5194
5312
|
* Each edge is returned once in graph edge order, including self-loops.
|
|
5195
5313
|
* Throws a `GraphError` when the node does not exist.
|
|
5196
5314
|
*
|
|
5315
|
+
* @stability unstable
|
|
5197
5316
|
* @category getters
|
|
5198
5317
|
* @since 4.0.0
|
|
5199
5318
|
*/
|
|
@@ -5206,6 +5325,7 @@ export const incidentEdges: {
|
|
|
5206
5325
|
* Each edge is returned once in graph edge order, including self-loops.
|
|
5207
5326
|
* Throws a `GraphError` when the node does not exist.
|
|
5208
5327
|
*
|
|
5328
|
+
* @stability unstable
|
|
5209
5329
|
* @category getters
|
|
5210
5330
|
* @since 4.0.0
|
|
5211
5331
|
*/
|
|
@@ -5263,6 +5383,7 @@ export const incidentEdges: {
|
|
|
5263
5383
|
* Parallel edges and self-loops are returned separately in adjacency order.
|
|
5264
5384
|
* Throws a `GraphError` for an undirected graph or missing node.
|
|
5265
5385
|
*
|
|
5386
|
+
* @stability unstable
|
|
5266
5387
|
* @category getters
|
|
5267
5388
|
* @since 4.0.0
|
|
5268
5389
|
*/
|
|
@@ -5275,6 +5396,7 @@ export const outgoingEdges: {
|
|
|
5275
5396
|
* Parallel edges and self-loops are returned separately in adjacency order.
|
|
5276
5397
|
* Throws a `GraphError` for an undirected graph or missing node.
|
|
5277
5398
|
*
|
|
5399
|
+
* @stability unstable
|
|
5278
5400
|
* @category getters
|
|
5279
5401
|
* @since 4.0.0
|
|
5280
5402
|
*/
|
|
@@ -5289,6 +5411,7 @@ export const outgoingEdges: {
|
|
|
5289
5411
|
* Parallel edges and self-loops are returned separately in adjacency order.
|
|
5290
5412
|
* Throws a `GraphError` for an undirected graph or missing node.
|
|
5291
5413
|
*
|
|
5414
|
+
* @stability unstable
|
|
5292
5415
|
* @category getters
|
|
5293
5416
|
* @since 4.0.0
|
|
5294
5417
|
*/
|
|
@@ -5318,6 +5441,7 @@ export const outgoingEdges: {
|
|
|
5318
5441
|
* Parallel edges and self-loops are returned separately in reverse-adjacency
|
|
5319
5442
|
* order. Throws a `GraphError` for an undirected graph or missing node.
|
|
5320
5443
|
*
|
|
5444
|
+
* @stability unstable
|
|
5321
5445
|
* @category getters
|
|
5322
5446
|
* @since 4.0.0
|
|
5323
5447
|
*/
|
|
@@ -5330,6 +5454,7 @@ export const incomingEdges: {
|
|
|
5330
5454
|
* Parallel edges and self-loops are returned separately in reverse-adjacency
|
|
5331
5455
|
* order. Throws a `GraphError` for an undirected graph or missing node.
|
|
5332
5456
|
*
|
|
5457
|
+
* @stability unstable
|
|
5333
5458
|
* @category getters
|
|
5334
5459
|
* @since 4.0.0
|
|
5335
5460
|
*/
|
|
@@ -5344,6 +5469,7 @@ export const incomingEdges: {
|
|
|
5344
5469
|
* Parallel edges and self-loops are returned separately in reverse-adjacency
|
|
5345
5470
|
* order. Throws a `GraphError` for an undirected graph or missing node.
|
|
5346
5471
|
*
|
|
5472
|
+
* @stability unstable
|
|
5347
5473
|
* @category getters
|
|
5348
5474
|
* @since 4.0.0
|
|
5349
5475
|
*/
|
|
@@ -5374,6 +5500,7 @@ export const incomingEdges: {
|
|
|
5374
5500
|
* graphs include either stored orientation. Parallel edges are retained.
|
|
5375
5501
|
* Throws a `GraphError` when either node does not exist.
|
|
5376
5502
|
*
|
|
5503
|
+
* @stability unstable
|
|
5377
5504
|
* @category getters
|
|
5378
5505
|
* @since 4.0.0
|
|
5379
5506
|
*/
|
|
@@ -5387,6 +5514,7 @@ export const edgesBetween: {
|
|
|
5387
5514
|
* graphs include either stored orientation. Parallel edges are retained.
|
|
5388
5515
|
* Throws a `GraphError` when either node does not exist.
|
|
5389
5516
|
*
|
|
5517
|
+
* @stability unstable
|
|
5390
5518
|
* @category getters
|
|
5391
5519
|
* @since 4.0.0
|
|
5392
5520
|
*/
|
|
@@ -5402,6 +5530,7 @@ export const edgesBetween: {
|
|
|
5402
5530
|
* graphs include either stored orientation. Parallel edges are retained.
|
|
5403
5531
|
* Throws a `GraphError` when either node does not exist.
|
|
5404
5532
|
*
|
|
5533
|
+
* @stability unstable
|
|
5405
5534
|
* @category getters
|
|
5406
5535
|
* @since 4.0.0
|
|
5407
5536
|
*/
|
|
@@ -5446,6 +5575,7 @@ export const edgesBetween: {
|
|
|
5446
5575
|
* Parallel edges count separately and a self-loop contributes two. Throws a
|
|
5447
5576
|
* `GraphError` for a directed graph or missing node.
|
|
5448
5577
|
*
|
|
5578
|
+
* @stability unstable
|
|
5449
5579
|
* @category getters
|
|
5450
5580
|
* @since 4.0.0
|
|
5451
5581
|
*/
|
|
@@ -5458,6 +5588,7 @@ export const degree: {
|
|
|
5458
5588
|
* Parallel edges count separately and a self-loop contributes two. Throws a
|
|
5459
5589
|
* `GraphError` for a directed graph or missing node.
|
|
5460
5590
|
*
|
|
5591
|
+
* @stability unstable
|
|
5461
5592
|
* @category getters
|
|
5462
5593
|
* @since 4.0.0
|
|
5463
5594
|
*/
|
|
@@ -5472,6 +5603,7 @@ export const degree: {
|
|
|
5472
5603
|
* Parallel edges count separately and a self-loop contributes two. Throws a
|
|
5473
5604
|
* `GraphError` for a directed graph or missing node.
|
|
5474
5605
|
*
|
|
5606
|
+
* @stability unstable
|
|
5475
5607
|
* @category getters
|
|
5476
5608
|
* @since 4.0.0
|
|
5477
5609
|
*/
|
|
@@ -5501,6 +5633,7 @@ export const degree: {
|
|
|
5501
5633
|
* Parallel edges count separately and a self-loop contributes one. Throws a
|
|
5502
5634
|
* `GraphError` for an undirected graph or missing node.
|
|
5503
5635
|
*
|
|
5636
|
+
* @stability unstable
|
|
5504
5637
|
* @category getters
|
|
5505
5638
|
* @since 4.0.0
|
|
5506
5639
|
*/
|
|
@@ -5513,6 +5646,7 @@ export const outDegree: {
|
|
|
5513
5646
|
* Parallel edges count separately and a self-loop contributes one. Throws a
|
|
5514
5647
|
* `GraphError` for an undirected graph or missing node.
|
|
5515
5648
|
*
|
|
5649
|
+
* @stability unstable
|
|
5516
5650
|
* @category getters
|
|
5517
5651
|
* @since 4.0.0
|
|
5518
5652
|
*/
|
|
@@ -5527,6 +5661,7 @@ export const outDegree: {
|
|
|
5527
5661
|
* Parallel edges count separately and a self-loop contributes one. Throws a
|
|
5528
5662
|
* `GraphError` for an undirected graph or missing node.
|
|
5529
5663
|
*
|
|
5664
|
+
* @stability unstable
|
|
5530
5665
|
* @category getters
|
|
5531
5666
|
* @since 4.0.0
|
|
5532
5667
|
*/
|
|
@@ -5556,6 +5691,7 @@ export const outDegree: {
|
|
|
5556
5691
|
* Parallel edges count separately and a self-loop contributes one. Throws a
|
|
5557
5692
|
* `GraphError` for an undirected graph or missing node.
|
|
5558
5693
|
*
|
|
5694
|
+
* @stability unstable
|
|
5559
5695
|
* @category getters
|
|
5560
5696
|
* @since 4.0.0
|
|
5561
5697
|
*/
|
|
@@ -5568,6 +5704,7 @@ export const inDegree: {
|
|
|
5568
5704
|
* Parallel edges count separately and a self-loop contributes one. Throws a
|
|
5569
5705
|
* `GraphError` for an undirected graph or missing node.
|
|
5570
5706
|
*
|
|
5707
|
+
* @stability unstable
|
|
5571
5708
|
* @category getters
|
|
5572
5709
|
* @since 4.0.0
|
|
5573
5710
|
*/
|
|
@@ -5582,6 +5719,7 @@ export const inDegree: {
|
|
|
5582
5719
|
* Parallel edges count separately and a self-loop contributes one. Throws a
|
|
5583
5720
|
* `GraphError` for an undirected graph or missing node.
|
|
5584
5721
|
*
|
|
5722
|
+
* @stability unstable
|
|
5585
5723
|
* @category getters
|
|
5586
5724
|
* @since 4.0.0
|
|
5587
5725
|
*/
|
|
@@ -5707,6 +5845,7 @@ const ScanDegreeLimit = 32
|
|
|
5707
5845
|
* Graph.neighbors(graph, 1) // => []
|
|
5708
5846
|
* ```
|
|
5709
5847
|
*
|
|
5848
|
+
* @stability unstable
|
|
5710
5849
|
* @category getters
|
|
5711
5850
|
* @since 3.18.0
|
|
5712
5851
|
*/
|
|
@@ -5743,6 +5882,7 @@ export const neighbors: {
|
|
|
5743
5882
|
* Graph.neighbors(graph, 1) // => []
|
|
5744
5883
|
* ```
|
|
5745
5884
|
*
|
|
5885
|
+
* @stability unstable
|
|
5746
5886
|
* @category getters
|
|
5747
5887
|
* @since 3.18.0
|
|
5748
5888
|
*/
|
|
@@ -5779,6 +5919,7 @@ export const neighbors: {
|
|
|
5779
5919
|
* Graph.neighbors(graph, 1) // => []
|
|
5780
5920
|
* ```
|
|
5781
5921
|
*
|
|
5922
|
+
* @stability unstable
|
|
5782
5923
|
* @category getters
|
|
5783
5924
|
* @since 3.18.0
|
|
5784
5925
|
*/
|
|
@@ -5814,6 +5955,7 @@ export const neighbors: {
|
|
|
5814
5955
|
* @see {@link predecessors} for incoming neighbors in a directed graph
|
|
5815
5956
|
* @see {@link neighbors} for generic neighbor lookup across graph kinds
|
|
5816
5957
|
*
|
|
5958
|
+
* @stability unstable
|
|
5817
5959
|
* @category getters
|
|
5818
5960
|
* @since 4.0.0
|
|
5819
5961
|
*/
|
|
@@ -5837,6 +5979,7 @@ export const successors: {
|
|
|
5837
5979
|
* @see {@link predecessors} for incoming neighbors in a directed graph
|
|
5838
5980
|
* @see {@link neighbors} for generic neighbor lookup across graph kinds
|
|
5839
5981
|
*
|
|
5982
|
+
* @stability unstable
|
|
5840
5983
|
* @category getters
|
|
5841
5984
|
* @since 4.0.0
|
|
5842
5985
|
*/
|
|
@@ -5860,6 +6003,7 @@ export const successors: {
|
|
|
5860
6003
|
* @see {@link predecessors} for incoming neighbors in a directed graph
|
|
5861
6004
|
* @see {@link neighbors} for generic neighbor lookup across graph kinds
|
|
5862
6005
|
*
|
|
6006
|
+
* @stability unstable
|
|
5863
6007
|
* @category getters
|
|
5864
6008
|
* @since 4.0.0
|
|
5865
6009
|
*/
|
|
@@ -5896,6 +6040,7 @@ export const successors: {
|
|
|
5896
6040
|
* @see {@link successors} for outgoing neighbors in a directed graph
|
|
5897
6041
|
* @see {@link neighbors} for generic neighbor lookup across graph kinds
|
|
5898
6042
|
*
|
|
6043
|
+
* @stability unstable
|
|
5899
6044
|
* @category getters
|
|
5900
6045
|
* @since 4.0.0
|
|
5901
6046
|
*/
|
|
@@ -5919,6 +6064,7 @@ export const predecessors: {
|
|
|
5919
6064
|
* @see {@link successors} for outgoing neighbors in a directed graph
|
|
5920
6065
|
* @see {@link neighbors} for generic neighbor lookup across graph kinds
|
|
5921
6066
|
*
|
|
6067
|
+
* @stability unstable
|
|
5922
6068
|
* @category getters
|
|
5923
6069
|
* @since 4.0.0
|
|
5924
6070
|
*/
|
|
@@ -5942,6 +6088,7 @@ export const predecessors: {
|
|
|
5942
6088
|
* @see {@link successors} for outgoing neighbors in a directed graph
|
|
5943
6089
|
* @see {@link neighbors} for generic neighbor lookup across graph kinds
|
|
5944
6090
|
*
|
|
6091
|
+
* @stability unstable
|
|
5945
6092
|
* @category getters
|
|
5946
6093
|
* @since 4.0.0
|
|
5947
6094
|
*/
|
|
@@ -5998,6 +6145,7 @@ export const predecessors: {
|
|
|
5998
6145
|
* @deprecated Use {@link successors} for outgoing neighbors or {@link predecessors} for incoming neighbors.
|
|
5999
6146
|
* @see {@link successors} for outgoing neighbors in a directed graph
|
|
6000
6147
|
* @see {@link predecessors} for incoming neighbors in a directed graph
|
|
6148
|
+
* @stability unstable
|
|
6001
6149
|
* @category getters
|
|
6002
6150
|
* @since 3.18.0
|
|
6003
6151
|
*/
|
|
@@ -6041,6 +6189,7 @@ export const neighborsDirected: {
|
|
|
6041
6189
|
* @deprecated Use {@link successors} for outgoing neighbors or {@link predecessors} for incoming neighbors.
|
|
6042
6190
|
* @see {@link successors} for outgoing neighbors in a directed graph
|
|
6043
6191
|
* @see {@link predecessors} for incoming neighbors in a directed graph
|
|
6192
|
+
* @stability unstable
|
|
6044
6193
|
* @category getters
|
|
6045
6194
|
* @since 3.18.0
|
|
6046
6195
|
*/
|
|
@@ -6084,6 +6233,7 @@ export const neighborsDirected: {
|
|
|
6084
6233
|
* @deprecated Use {@link successors} for outgoing neighbors or {@link predecessors} for incoming neighbors.
|
|
6085
6234
|
* @see {@link successors} for outgoing neighbors in a directed graph
|
|
6086
6235
|
* @see {@link predecessors} for incoming neighbors in a directed graph
|
|
6236
|
+
* @stability unstable
|
|
6087
6237
|
* @category getters
|
|
6088
6238
|
* @since 3.18.0
|
|
6089
6239
|
*/
|
|
@@ -6140,6 +6290,7 @@ export const neighborsDirected: {
|
|
|
6140
6290
|
* ```
|
|
6141
6291
|
*
|
|
6142
6292
|
* @see {@link toGraphViz} for generating DOT output
|
|
6293
|
+
* @stability unstable
|
|
6143
6294
|
* @category configuration
|
|
6144
6295
|
* @since 3.18.0
|
|
6145
6296
|
*/
|
|
@@ -6192,6 +6343,7 @@ const escapeGraphVizString = (value: string): string =>
|
|
|
6192
6343
|
* ```
|
|
6193
6344
|
*
|
|
6194
6345
|
* @see {@link toMermaid} for Mermaid diagram output
|
|
6346
|
+
* @stability unstable
|
|
6195
6347
|
* @category converting
|
|
6196
6348
|
* @since 3.18.0
|
|
6197
6349
|
*/
|
|
@@ -6222,6 +6374,7 @@ export const toGraphViz: {
|
|
|
6222
6374
|
* ```
|
|
6223
6375
|
*
|
|
6224
6376
|
* @see {@link toMermaid} for Mermaid diagram output
|
|
6377
|
+
* @stability unstable
|
|
6225
6378
|
* @category converting
|
|
6226
6379
|
* @since 3.18.0
|
|
6227
6380
|
*/
|
|
@@ -6252,6 +6405,7 @@ export const toGraphViz: {
|
|
|
6252
6405
|
* ```
|
|
6253
6406
|
*
|
|
6254
6407
|
* @see {@link toMermaid} for Mermaid diagram output
|
|
6408
|
+
* @stability unstable
|
|
6255
6409
|
* @category converting
|
|
6256
6410
|
* @since 3.18.0
|
|
6257
6411
|
*/
|
|
@@ -6335,6 +6489,7 @@ export const toGraphViz: {
|
|
|
6335
6489
|
* options.nodeShape?.("decision") // => "diamond"
|
|
6336
6490
|
* ```
|
|
6337
6491
|
*
|
|
6492
|
+
* @stability unstable
|
|
6338
6493
|
* @category models
|
|
6339
6494
|
* @since 3.18.0
|
|
6340
6495
|
*/
|
|
@@ -6381,6 +6536,7 @@ export type MermaidNodeShape =
|
|
|
6381
6536
|
* Array.of(horizontalOptions.direction, verticalOptions.direction, bottomUpOptions.direction) // => ["LR", "TB", "BT"]
|
|
6382
6537
|
* ```
|
|
6383
6538
|
*
|
|
6539
|
+
* @stability unstable
|
|
6384
6540
|
* @category models
|
|
6385
6541
|
* @since 3.18.0
|
|
6386
6542
|
*/
|
|
@@ -6423,6 +6579,7 @@ export type MermaidDirection =
|
|
|
6423
6579
|
* Array.of(flowchartOptions.diagramType, graphOptions.diagramType, autoOptions.diagramType) // => ["flowchart", "graph", undefined]
|
|
6424
6580
|
* ```
|
|
6425
6581
|
*
|
|
6582
|
+
* @stability unstable
|
|
6426
6583
|
* @category models
|
|
6427
6584
|
* @since 3.18.0
|
|
6428
6585
|
*/
|
|
@@ -6466,6 +6623,7 @@ export type MermaidDiagramType =
|
|
|
6466
6623
|
* ```
|
|
6467
6624
|
*
|
|
6468
6625
|
* @see {@link toMermaid} for generating Mermaid output
|
|
6626
|
+
* @stability unstable
|
|
6469
6627
|
* @category configuration
|
|
6470
6628
|
* @since 3.18.0
|
|
6471
6629
|
*/
|
|
@@ -6584,6 +6742,7 @@ const formatMermaidNode = (
|
|
|
6584
6742
|
* ```
|
|
6585
6743
|
*
|
|
6586
6744
|
* @see {@link toGraphViz} for GraphViz DOT output
|
|
6745
|
+
* @stability unstable
|
|
6587
6746
|
* @category converting
|
|
6588
6747
|
* @since 3.18.0
|
|
6589
6748
|
*/
|
|
@@ -6617,6 +6776,7 @@ export const toMermaid: {
|
|
|
6617
6776
|
* ```
|
|
6618
6777
|
*
|
|
6619
6778
|
* @see {@link toGraphViz} for GraphViz DOT output
|
|
6779
|
+
* @stability unstable
|
|
6620
6780
|
* @category converting
|
|
6621
6781
|
* @since 3.18.0
|
|
6622
6782
|
*/
|
|
@@ -6650,6 +6810,7 @@ export const toMermaid: {
|
|
|
6650
6810
|
* ```
|
|
6651
6811
|
*
|
|
6652
6812
|
* @see {@link toGraphViz} for GraphViz DOT output
|
|
6813
|
+
* @stability unstable
|
|
6653
6814
|
* @category converting
|
|
6654
6815
|
* @since 3.18.0
|
|
6655
6816
|
*/
|
|
@@ -6719,6 +6880,7 @@ export const toMermaid: {
|
|
|
6719
6880
|
* `"outgoing"` selects edges whose source is the node, while `"incoming"`
|
|
6720
6881
|
* selects edges whose target is the node.
|
|
6721
6882
|
*
|
|
6883
|
+
* @stability unstable
|
|
6722
6884
|
* @category models
|
|
6723
6885
|
* @since 3.18.0
|
|
6724
6886
|
*/
|
|
@@ -6751,6 +6913,7 @@ export type Direction = "outgoing" | "incoming"
|
|
|
6751
6913
|
* Array.from(Graph.indices(Graph.bfs(graph, { start: [1], direction: "undirected" }))) // => [1, 0, 2]
|
|
6752
6914
|
* ```
|
|
6753
6915
|
*
|
|
6916
|
+
* @stability unstable
|
|
6754
6917
|
* @category models
|
|
6755
6918
|
* @since 4.0.0
|
|
6756
6919
|
*/
|
|
@@ -6768,6 +6931,7 @@ export type TraversalDirection = Direction | "undirected"
|
|
|
6768
6931
|
* `path` repeats its first node at the end, so `edges.length` is always
|
|
6769
6932
|
* `path.length - 1`.
|
|
6770
6933
|
*
|
|
6934
|
+
* @stability unstable
|
|
6771
6935
|
* @category models
|
|
6772
6936
|
* @since 4.0.0
|
|
6773
6937
|
*/
|
|
@@ -6790,6 +6954,7 @@ export interface CycleResult {
|
|
|
6790
6954
|
* one-edge cycle, and two parallel undirected edges form a two-edge cycle.
|
|
6791
6955
|
*
|
|
6792
6956
|
* @see {@link isAcyclic} when only a boolean cycle check is needed
|
|
6957
|
+
* @stability unstable
|
|
6793
6958
|
* @category algorithms
|
|
6794
6959
|
* @since 4.0.0
|
|
6795
6960
|
*/
|
|
@@ -6893,6 +7058,7 @@ export const findCycle = <N, E, T extends Kind = "directed">(
|
|
|
6893
7058
|
*
|
|
6894
7059
|
* @see {@link findCycle} for retrieving one cycle witness
|
|
6895
7060
|
* @see {@link topo} for ordering a directed acyclic graph
|
|
7061
|
+
* @stability unstable
|
|
6896
7062
|
* @category algorithms
|
|
6897
7063
|
* @since 3.18.0
|
|
6898
7064
|
*/
|
|
@@ -7026,6 +7192,7 @@ export const isAcyclic = <N, E, T extends Kind = "directed">(
|
|
|
7026
7192
|
* ```
|
|
7027
7193
|
*
|
|
7028
7194
|
* @see {@link maximumBipartiteMatching} for matching nodes after validation
|
|
7195
|
+
* @stability unstable
|
|
7029
7196
|
* @category algorithms
|
|
7030
7197
|
* @since 3.18.0
|
|
7031
7198
|
*/
|
|
@@ -7077,6 +7244,7 @@ export const isBipartite = <N, E>(
|
|
|
7077
7244
|
* `left` and `right` refer to the bipartition derived by
|
|
7078
7245
|
* `maximumBipartiteMatching`, not to the stored edge orientation.
|
|
7079
7246
|
*
|
|
7247
|
+
* @stability unstable
|
|
7080
7248
|
* @category models
|
|
7081
7249
|
* @since 4.0.0
|
|
7082
7250
|
*/
|
|
@@ -7161,6 +7329,7 @@ const bipartiteColors = <N, E>(
|
|
|
7161
7329
|
* ```
|
|
7162
7330
|
*
|
|
7163
7331
|
* @see {@link isBipartite} for validating the graph without computing a matching
|
|
7332
|
+
* @stability unstable
|
|
7164
7333
|
* @category algorithms
|
|
7165
7334
|
* @since 4.0.0
|
|
7166
7335
|
*/
|
|
@@ -7337,6 +7506,7 @@ const getTraversableNeighbor = <N, E, T extends Kind>(
|
|
|
7337
7506
|
*
|
|
7338
7507
|
* `direction` defaults to `"outgoing"` and is ignored for undirected graphs.
|
|
7339
7508
|
*
|
|
7509
|
+
* @stability unstable
|
|
7340
7510
|
* @category configuration
|
|
7341
7511
|
* @since 4.0.0
|
|
7342
7512
|
*/
|
|
@@ -7412,6 +7582,7 @@ const getUnweightedDistances = <N, E, T extends Kind>(
|
|
|
7412
7582
|
* @see {@link bfs} for lazy traversal in increasing hop distance
|
|
7413
7583
|
* @see {@link dijkstra} for weighted shortest paths
|
|
7414
7584
|
*
|
|
7585
|
+
* @stability unstable
|
|
7415
7586
|
* @category algorithms
|
|
7416
7587
|
* @since 4.0.0
|
|
7417
7588
|
*/
|
|
@@ -7437,6 +7608,7 @@ export const unweightedDistances: {
|
|
|
7437
7608
|
* @see {@link bfs} for lazy traversal in increasing hop distance
|
|
7438
7609
|
* @see {@link dijkstra} for weighted shortest paths
|
|
7439
7610
|
*
|
|
7611
|
+
* @stability unstable
|
|
7440
7612
|
* @category algorithms
|
|
7441
7613
|
* @since 4.0.0
|
|
7442
7614
|
*/
|
|
@@ -7464,6 +7636,7 @@ export const unweightedDistances: {
|
|
|
7464
7636
|
* @see {@link bfs} for lazy traversal in increasing hop distance
|
|
7465
7637
|
* @see {@link dijkstra} for weighted shortest paths
|
|
7466
7638
|
*
|
|
7639
|
+
* @stability unstable
|
|
7467
7640
|
* @category algorithms
|
|
7468
7641
|
* @since 4.0.0
|
|
7469
7642
|
*/
|
|
@@ -7498,6 +7671,7 @@ export const unweightedDistances: {
|
|
|
7498
7671
|
* @see {@link unweightedDistances} for hop distances to all reachable nodes
|
|
7499
7672
|
* @see {@link dijkstra} for a minimum-cost path
|
|
7500
7673
|
*
|
|
7674
|
+
* @stability unstable
|
|
7501
7675
|
* @category predicates
|
|
7502
7676
|
* @since 4.0.0
|
|
7503
7677
|
*/
|
|
@@ -7522,6 +7696,7 @@ export const hasPath: {
|
|
|
7522
7696
|
* @see {@link unweightedDistances} for hop distances to all reachable nodes
|
|
7523
7697
|
* @see {@link dijkstra} for a minimum-cost path
|
|
7524
7698
|
*
|
|
7699
|
+
* @stability unstable
|
|
7525
7700
|
* @category predicates
|
|
7526
7701
|
* @since 4.0.0
|
|
7527
7702
|
*/
|
|
@@ -7548,6 +7723,7 @@ export const hasPath: {
|
|
|
7548
7723
|
* @see {@link unweightedDistances} for hop distances to all reachable nodes
|
|
7549
7724
|
* @see {@link dijkstra} for a minimum-cost path
|
|
7550
7725
|
*
|
|
7726
|
+
* @stability unstable
|
|
7551
7727
|
* @category predicates
|
|
7552
7728
|
* @since 4.0.0
|
|
7553
7729
|
*/
|
|
@@ -7654,6 +7830,7 @@ export const hasPath: {
|
|
|
7654
7830
|
* @see {@link isConnected} when only a boolean connectivity check is needed
|
|
7655
7831
|
* @see {@link weaklyConnectedComponents} for directed graphs with orientation ignored
|
|
7656
7832
|
* @see {@link stronglyConnectedComponents} for mutual directed reachability
|
|
7833
|
+
* @stability unstable
|
|
7657
7834
|
* @category algorithms
|
|
7658
7835
|
* @since 3.18.0
|
|
7659
7836
|
*/
|
|
@@ -7877,6 +8054,7 @@ const analyzeLowLinks = <N, E>(
|
|
|
7877
8054
|
*
|
|
7878
8055
|
* @see {@link articulationPoints} for single-node failure points
|
|
7879
8056
|
* @see {@link biconnectedComponents} for maximal regions without an articulation split
|
|
8057
|
+
* @stability unstable
|
|
7880
8058
|
* @category algorithms
|
|
7881
8059
|
* @since 4.0.0
|
|
7882
8060
|
*/
|
|
@@ -7917,6 +8095,7 @@ export const bridges = <N, E>(
|
|
|
7917
8095
|
*
|
|
7918
8096
|
* @see {@link bridges} for single-edge failure points
|
|
7919
8097
|
* @see {@link biconnectedComponents} for the regions joined at articulation points
|
|
8098
|
+
* @stability unstable
|
|
7920
8099
|
* @category algorithms
|
|
7921
8100
|
* @since 4.0.0
|
|
7922
8101
|
*/
|
|
@@ -7964,6 +8143,7 @@ export const articulationPoints = <N, E>(
|
|
|
7964
8143
|
*
|
|
7965
8144
|
* @see {@link articulationPoints} for the nodes shared between components
|
|
7966
8145
|
* @see {@link bridges} for edges whose removal disconnects the graph
|
|
8146
|
+
* @stability unstable
|
|
7967
8147
|
* @category algorithms
|
|
7968
8148
|
* @since 4.0.0
|
|
7969
8149
|
*/
|
|
@@ -7988,6 +8168,7 @@ export const biconnectedComponents = <N, E>(
|
|
|
7988
8168
|
*
|
|
7989
8169
|
* The source and target must be distinct existing nodes in a directed graph.
|
|
7990
8170
|
*
|
|
8171
|
+
* @stability unstable
|
|
7991
8172
|
* @category configuration
|
|
7992
8173
|
* @since 4.0.0
|
|
7993
8174
|
*/
|
|
@@ -8005,6 +8186,7 @@ export interface MaximumFlowConfig<E> {
|
|
|
8005
8186
|
* `flows` contains every original edge, including zero-flow edges. `cut`
|
|
8006
8187
|
* contains the crossing edge identifiers of the corresponding minimum cut.
|
|
8007
8188
|
*
|
|
8189
|
+
* @stability unstable
|
|
8008
8190
|
* @category models
|
|
8009
8191
|
* @since 4.0.0
|
|
8010
8192
|
*/
|
|
@@ -8022,6 +8204,7 @@ export interface MaximumFlowResult {
|
|
|
8022
8204
|
* `source` contains nodes residual-reachable from the configured source and
|
|
8023
8205
|
* `target` contains the remaining nodes.
|
|
8024
8206
|
*
|
|
8207
|
+
* @stability unstable
|
|
8025
8208
|
* @category models
|
|
8026
8209
|
* @since 4.0.0
|
|
8027
8210
|
*/
|
|
@@ -8217,6 +8400,7 @@ const solveMaximumFlow = <N, E>(
|
|
|
8217
8400
|
* ```
|
|
8218
8401
|
*
|
|
8219
8402
|
* @see {@link minimumCut} for the residual-reachability partition
|
|
8403
|
+
* @stability unstable
|
|
8220
8404
|
* @category algorithms
|
|
8221
8405
|
* @since 4.0.0
|
|
8222
8406
|
*/
|
|
@@ -8257,6 +8441,7 @@ export const maximumFlow: {
|
|
|
8257
8441
|
* ```
|
|
8258
8442
|
*
|
|
8259
8443
|
* @see {@link minimumCut} for the residual-reachability partition
|
|
8444
|
+
* @stability unstable
|
|
8260
8445
|
* @category algorithms
|
|
8261
8446
|
* @since 4.0.0
|
|
8262
8447
|
*/
|
|
@@ -8299,6 +8484,7 @@ export const maximumFlow: {
|
|
|
8299
8484
|
* ```
|
|
8300
8485
|
*
|
|
8301
8486
|
* @see {@link minimumCut} for the residual-reachability partition
|
|
8487
|
+
* @stability unstable
|
|
8302
8488
|
* @category algorithms
|
|
8303
8489
|
* @since 4.0.0
|
|
8304
8490
|
*/
|
|
@@ -8350,6 +8536,7 @@ export const maximumFlow: {
|
|
|
8350
8536
|
* ```
|
|
8351
8537
|
*
|
|
8352
8538
|
* @see {@link maximumFlow} for per-edge flow values
|
|
8539
|
+
* @stability unstable
|
|
8353
8540
|
* @category algorithms
|
|
8354
8541
|
* @since 4.0.0
|
|
8355
8542
|
*/
|
|
@@ -8390,6 +8577,7 @@ export const minimumCut: {
|
|
|
8390
8577
|
* ```
|
|
8391
8578
|
*
|
|
8392
8579
|
* @see {@link maximumFlow} for per-edge flow values
|
|
8580
|
+
* @stability unstable
|
|
8393
8581
|
* @category algorithms
|
|
8394
8582
|
* @since 4.0.0
|
|
8395
8583
|
*/
|
|
@@ -8432,6 +8620,7 @@ export const minimumCut: {
|
|
|
8432
8620
|
* ```
|
|
8433
8621
|
*
|
|
8434
8622
|
* @see {@link maximumFlow} for per-edge flow values
|
|
8623
|
+
* @stability unstable
|
|
8435
8624
|
* @category algorithms
|
|
8436
8625
|
* @since 4.0.0
|
|
8437
8626
|
*/
|
|
@@ -8472,6 +8661,7 @@ export const minimumCut: {
|
|
|
8472
8661
|
* @see {@link isWeaklyConnected} when only a boolean check is needed
|
|
8473
8662
|
* @see {@link stronglyConnectedComponents} for mutual directed reachability
|
|
8474
8663
|
*
|
|
8664
|
+
* @stability unstable
|
|
8475
8665
|
* @category algorithms
|
|
8476
8666
|
* @since 4.0.0
|
|
8477
8667
|
*/
|
|
@@ -8557,6 +8747,7 @@ export const weaklyConnectedComponents = <N, E>(
|
|
|
8557
8747
|
*
|
|
8558
8748
|
* @see {@link isStronglyConnected} when only a boolean check is needed
|
|
8559
8749
|
* @see {@link weaklyConnectedComponents} when edge orientation should be ignored
|
|
8750
|
+
* @stability unstable
|
|
8560
8751
|
* @category algorithms
|
|
8561
8752
|
* @since 3.18.0
|
|
8562
8753
|
*/
|
|
@@ -8690,6 +8881,7 @@ const csrReachesAll = (
|
|
|
8690
8881
|
*
|
|
8691
8882
|
* @see {@link connectedComponents} for the component partition
|
|
8692
8883
|
*
|
|
8884
|
+
* @stability unstable
|
|
8693
8885
|
* @category predicates
|
|
8694
8886
|
* @since 4.0.0
|
|
8695
8887
|
*/
|
|
@@ -8718,6 +8910,7 @@ export const isConnected = <N, E>(
|
|
|
8718
8910
|
*
|
|
8719
8911
|
* @see {@link isStronglyConnected} when edge orientation must be respected
|
|
8720
8912
|
*
|
|
8913
|
+
* @stability unstable
|
|
8721
8914
|
* @category predicates
|
|
8722
8915
|
* @since 4.0.0
|
|
8723
8916
|
*/
|
|
@@ -8747,6 +8940,7 @@ export const isWeaklyConnected = <N, E>(
|
|
|
8747
8940
|
*
|
|
8748
8941
|
* @see {@link isWeaklyConnected} when edge orientation should be ignored
|
|
8749
8942
|
*
|
|
8943
|
+
* @stability unstable
|
|
8750
8944
|
* @category predicates
|
|
8751
8945
|
* @since 4.0.0
|
|
8752
8946
|
*/
|
|
@@ -8773,6 +8967,7 @@ export const isStronglyConnected = <N, E>(
|
|
|
8773
8967
|
* The empty graph is not a tree. Parallel edges and self-loops prevent a graph
|
|
8774
8968
|
* from being a tree. Throws a `GraphError` when used with a directed graph.
|
|
8775
8969
|
*
|
|
8970
|
+
* @stability unstable
|
|
8776
8971
|
* @category predicates
|
|
8777
8972
|
* @since 4.0.0
|
|
8778
8973
|
*/
|
|
@@ -8807,6 +9002,7 @@ export const isTree = <N, E>(
|
|
|
8807
9002
|
* Throws a `GraphError` for a directed graph or when a weight is `NaN` or
|
|
8808
9003
|
* `-Infinity`. Edges weighted `Infinity` are omitted.
|
|
8809
9004
|
*
|
|
9005
|
+
* @stability unstable
|
|
8810
9006
|
* @category algorithms
|
|
8811
9007
|
* @since 4.0.0
|
|
8812
9008
|
*/
|
|
@@ -8832,6 +9028,7 @@ export const minimumSpanningForest: {
|
|
|
8832
9028
|
* Throws a `GraphError` for a directed graph or when a weight is `NaN` or
|
|
8833
9029
|
* `-Infinity`. Edges weighted `Infinity` are omitted.
|
|
8834
9030
|
*
|
|
9031
|
+
* @stability unstable
|
|
8835
9032
|
* @category algorithms
|
|
8836
9033
|
* @since 4.0.0
|
|
8837
9034
|
*/
|
|
@@ -8859,6 +9056,7 @@ export const minimumSpanningForest: {
|
|
|
8859
9056
|
* Throws a `GraphError` for a directed graph or when a weight is `NaN` or
|
|
8860
9057
|
* `-Infinity`. Edges weighted `Infinity` are omitted.
|
|
8861
9058
|
*
|
|
9059
|
+
* @stability unstable
|
|
8862
9060
|
* @category algorithms
|
|
8863
9061
|
* @since 4.0.0
|
|
8864
9062
|
*/
|
|
@@ -8959,6 +9157,7 @@ export const minimumSpanningForest: {
|
|
|
8959
9157
|
* coalesced by retaining the first edge for each required pair. Throws a
|
|
8960
9158
|
* `GraphError` for an undirected graph or cyclic input.
|
|
8961
9159
|
*
|
|
9160
|
+
* @stability unstable
|
|
8962
9161
|
* @category algorithms
|
|
8963
9162
|
* @since 4.0.0
|
|
8964
9163
|
*/
|
|
@@ -9050,6 +9249,7 @@ export const transitiveReduction = <N, E>(
|
|
|
9050
9249
|
* `costs` contains original edge data, not the numeric output of the cost
|
|
9051
9250
|
* function unless the edge data is numeric.
|
|
9052
9251
|
*
|
|
9252
|
+
* @stability unstable
|
|
9053
9253
|
* @category models
|
|
9054
9254
|
* @since 3.18.0
|
|
9055
9255
|
*/
|
|
@@ -9206,6 +9406,7 @@ const denseMinHeapPop = (heap: DenseMinHeap): boolean => {
|
|
|
9206
9406
|
* `dijkstra` throws a `GraphError` when either endpoint does not exist or when
|
|
9207
9407
|
* the cost function returns a negative weight or `NaN`.
|
|
9208
9408
|
*
|
|
9409
|
+
* @stability unstable
|
|
9209
9410
|
* @category configuration
|
|
9210
9411
|
* @since 3.18.0
|
|
9211
9412
|
*/
|
|
@@ -9261,6 +9462,7 @@ export interface DijkstraConfig<E> {
|
|
|
9261
9462
|
* @see {@link astar} when a useful heuristic can guide the search
|
|
9262
9463
|
* @see {@link bellmanFord} when edge costs may be negative
|
|
9263
9464
|
* @see {@link floydWarshall} when shortest paths are needed for all pairs
|
|
9465
|
+
* @stability unstable
|
|
9264
9466
|
* @category algorithms
|
|
9265
9467
|
* @since 3.18.0
|
|
9266
9468
|
*/
|
|
@@ -9311,6 +9513,7 @@ export const dijkstra: {
|
|
|
9311
9513
|
* @see {@link astar} when a useful heuristic can guide the search
|
|
9312
9514
|
* @see {@link bellmanFord} when edge costs may be negative
|
|
9313
9515
|
* @see {@link floydWarshall} when shortest paths are needed for all pairs
|
|
9516
|
+
* @stability unstable
|
|
9314
9517
|
* @category algorithms
|
|
9315
9518
|
* @since 3.18.0
|
|
9316
9519
|
*/
|
|
@@ -9361,6 +9564,7 @@ export const dijkstra: {
|
|
|
9361
9564
|
* @see {@link astar} when a useful heuristic can guide the search
|
|
9362
9565
|
* @see {@link bellmanFord} when edge costs may be negative
|
|
9363
9566
|
* @see {@link floydWarshall} when shortest paths are needed for all pairs
|
|
9567
|
+
* @stability unstable
|
|
9364
9568
|
* @category algorithms
|
|
9365
9569
|
* @since 3.18.0
|
|
9366
9570
|
*/
|
|
@@ -9487,6 +9691,7 @@ export const dijkstra: {
|
|
|
9487
9691
|
* source and target node indices. Unreachable pairs have distance `Infinity`,
|
|
9488
9692
|
* path `null`, and empty edge and cost arrays.
|
|
9489
9693
|
*
|
|
9694
|
+
* @stability unstable
|
|
9490
9695
|
* @category models
|
|
9491
9696
|
* @since 3.18.0
|
|
9492
9697
|
*/
|
|
@@ -9503,14 +9708,16 @@ export interface AllPairsResult<E> {
|
|
|
9503
9708
|
*
|
|
9504
9709
|
* **When to use**
|
|
9505
9710
|
*
|
|
9506
|
-
* Use when many or all node pairs will be queried and cubic computation
|
|
9507
|
-
*
|
|
9711
|
+
* Use when many or all node pairs will be queried and cubic distance computation
|
|
9712
|
+
* plus storage for reconstructed paths is acceptable.
|
|
9508
9713
|
*
|
|
9509
9714
|
* **Details**
|
|
9510
9715
|
*
|
|
9511
9716
|
* Computes distances, reconstructed node paths, and edge-data paths for every
|
|
9512
|
-
* source and target pair
|
|
9513
|
-
* `Infinity` behaves like an impassable edge.
|
|
9717
|
+
* source and target pair. Distance computation takes O(V^3) time. Negative edge
|
|
9718
|
+
* weights are allowed, and `Infinity` behaves like an impassable edge. Immutable
|
|
9719
|
+
* path witnesses can require O(V^3) working storage; reconstructed paths have
|
|
9720
|
+
* repeated nodes removed.
|
|
9514
9721
|
*
|
|
9515
9722
|
* **Gotchas**
|
|
9516
9723
|
*
|
|
@@ -9539,6 +9746,7 @@ export interface AllPairsResult<E> {
|
|
|
9539
9746
|
*
|
|
9540
9747
|
* @see {@link dijkstra} for one query with non-negative edge costs
|
|
9541
9748
|
* @see {@link bellmanFord} for one query that may include negative edge costs
|
|
9749
|
+
* @stability unstable
|
|
9542
9750
|
* @category algorithms
|
|
9543
9751
|
* @since 3.18.0
|
|
9544
9752
|
*/
|
|
@@ -9549,14 +9757,16 @@ export const floydWarshall: {
|
|
|
9549
9757
|
*
|
|
9550
9758
|
* **When to use**
|
|
9551
9759
|
*
|
|
9552
|
-
* Use when many or all node pairs will be queried and cubic computation
|
|
9553
|
-
*
|
|
9760
|
+
* Use when many or all node pairs will be queried and cubic distance computation
|
|
9761
|
+
* plus storage for reconstructed paths is acceptable.
|
|
9554
9762
|
*
|
|
9555
9763
|
* **Details**
|
|
9556
9764
|
*
|
|
9557
9765
|
* Computes distances, reconstructed node paths, and edge-data paths for every
|
|
9558
|
-
* source and target pair
|
|
9559
|
-
* `Infinity` behaves like an impassable edge.
|
|
9766
|
+
* source and target pair. Distance computation takes O(V^3) time. Negative edge
|
|
9767
|
+
* weights are allowed, and `Infinity` behaves like an impassable edge. Immutable
|
|
9768
|
+
* path witnesses can require O(V^3) working storage; reconstructed paths have
|
|
9769
|
+
* repeated nodes removed.
|
|
9560
9770
|
*
|
|
9561
9771
|
* **Gotchas**
|
|
9562
9772
|
*
|
|
@@ -9585,6 +9795,7 @@ export const floydWarshall: {
|
|
|
9585
9795
|
*
|
|
9586
9796
|
* @see {@link dijkstra} for one query with non-negative edge costs
|
|
9587
9797
|
* @see {@link bellmanFord} for one query that may include negative edge costs
|
|
9798
|
+
* @stability unstable
|
|
9588
9799
|
* @category algorithms
|
|
9589
9800
|
* @since 3.18.0
|
|
9590
9801
|
*/
|
|
@@ -9595,14 +9806,16 @@ export const floydWarshall: {
|
|
|
9595
9806
|
*
|
|
9596
9807
|
* **When to use**
|
|
9597
9808
|
*
|
|
9598
|
-
* Use when many or all node pairs will be queried and cubic computation
|
|
9599
|
-
*
|
|
9809
|
+
* Use when many or all node pairs will be queried and cubic distance computation
|
|
9810
|
+
* plus storage for reconstructed paths is acceptable.
|
|
9600
9811
|
*
|
|
9601
9812
|
* **Details**
|
|
9602
9813
|
*
|
|
9603
9814
|
* Computes distances, reconstructed node paths, and edge-data paths for every
|
|
9604
|
-
* source and target pair
|
|
9605
|
-
* `Infinity` behaves like an impassable edge.
|
|
9815
|
+
* source and target pair. Distance computation takes O(V^3) time. Negative edge
|
|
9816
|
+
* weights are allowed, and `Infinity` behaves like an impassable edge. Immutable
|
|
9817
|
+
* path witnesses can require O(V^3) working storage; reconstructed paths have
|
|
9818
|
+
* repeated nodes removed.
|
|
9606
9819
|
*
|
|
9607
9820
|
* **Gotchas**
|
|
9608
9821
|
*
|
|
@@ -9631,6 +9844,7 @@ export const floydWarshall: {
|
|
|
9631
9844
|
*
|
|
9632
9845
|
* @see {@link dijkstra} for one query with non-negative edge costs
|
|
9633
9846
|
* @see {@link bellmanFord} for one query that may include negative edge costs
|
|
9847
|
+
* @stability unstable
|
|
9634
9848
|
* @category algorithms
|
|
9635
9849
|
* @since 3.18.0
|
|
9636
9850
|
*/
|
|
@@ -9647,13 +9861,15 @@ export const floydWarshall: {
|
|
|
9647
9861
|
const edgeIds = csr.getEdgeIds(cache)
|
|
9648
9862
|
const edgeCache = csr.getEdgeEndpoints(cache)
|
|
9649
9863
|
const size = cache.nodeIds.length
|
|
9650
|
-
//
|
|
9864
|
+
// Immutable witnesses retain the actual walks used by relaxation. Following
|
|
9865
|
+
// independently updated next-hop rows can create cycles through rounding.
|
|
9866
|
+
type Witness =
|
|
9867
|
+
| { readonly target: number; readonly edge: number }
|
|
9868
|
+
| { readonly target: number; readonly left: Witness; readonly right: Witness }
|
|
9869
|
+
const witnesses: Array<Witness | undefined> = new Array(size * size)
|
|
9870
|
+
// The flat distance matrix avoids nested map lookups in the O(N^3) loop.
|
|
9651
9871
|
const distancesMatrix = new Float64Array(size * size)
|
|
9652
|
-
const nextMatrix = new Int32Array(size * size)
|
|
9653
|
-
const edgeMatrix = new Int32Array(size * size)
|
|
9654
9872
|
distancesMatrix.fill(Infinity)
|
|
9655
|
-
nextMatrix.fill(-1)
|
|
9656
|
-
edgeMatrix.fill(-1)
|
|
9657
9873
|
for (let i = 0; i < size; i++) {
|
|
9658
9874
|
distancesMatrix[i * size + i] = 0
|
|
9659
9875
|
}
|
|
@@ -9669,15 +9885,13 @@ export const floydWarshall: {
|
|
|
9669
9885
|
const position = source * size + target
|
|
9670
9886
|
if (weight < distancesMatrix[position]) {
|
|
9671
9887
|
distancesMatrix[position] = weight
|
|
9672
|
-
|
|
9673
|
-
edgeMatrix[position] = edge
|
|
9888
|
+
witnesses[position] = { target, edge }
|
|
9674
9889
|
}
|
|
9675
9890
|
if (graph.type === "undirected") {
|
|
9676
9891
|
const reverse = target * size + source
|
|
9677
9892
|
if (weight < distancesMatrix[reverse]) {
|
|
9678
9893
|
distancesMatrix[reverse] = weight
|
|
9679
|
-
|
|
9680
|
-
edgeMatrix[reverse] = edge
|
|
9894
|
+
witnesses[reverse] = { target: source, edge }
|
|
9681
9895
|
}
|
|
9682
9896
|
}
|
|
9683
9897
|
}
|
|
@@ -9691,7 +9905,7 @@ export const floydWarshall: {
|
|
|
9691
9905
|
if (distanceIK === Infinity) {
|
|
9692
9906
|
continue
|
|
9693
9907
|
}
|
|
9694
|
-
const
|
|
9908
|
+
const left = witnesses[iRow + k]
|
|
9695
9909
|
for (let j = 0; j < size; j++) {
|
|
9696
9910
|
const distanceKJ = distancesMatrix[kRow + j]
|
|
9697
9911
|
if (distanceKJ === Infinity) {
|
|
@@ -9701,9 +9915,14 @@ export const floydWarshall: {
|
|
|
9701
9915
|
if (!Number.isFinite(candidate)) {
|
|
9702
9916
|
throw new GraphError({ message: "Floyd-Warshall distance calculation exceeded the finite number range" })
|
|
9703
9917
|
}
|
|
9704
|
-
if (candidate < distancesMatrix[iRow + j]
|
|
9918
|
+
if (candidate < distancesMatrix[iRow + j]) {
|
|
9705
9919
|
distancesMatrix[iRow + j] = candidate
|
|
9706
|
-
|
|
9920
|
+
const right = witnesses[kRow + j]
|
|
9921
|
+
witnesses[iRow + j] = left === undefined
|
|
9922
|
+
? right
|
|
9923
|
+
: right === undefined
|
|
9924
|
+
? left
|
|
9925
|
+
: { target: j, left, right }
|
|
9707
9926
|
}
|
|
9708
9927
|
}
|
|
9709
9928
|
}
|
|
@@ -9719,6 +9938,9 @@ export const floydWarshall: {
|
|
|
9719
9938
|
const paths = new Map<NodeIndex, Map<NodeIndex, Array<NodeIndex> | null>>()
|
|
9720
9939
|
const edgePaths = new Map<NodeIndex, Map<NodeIndex, Array<EdgeIndex>>>()
|
|
9721
9940
|
const costs = new Map<NodeIndex, Map<NodeIndex, Array<E>>>()
|
|
9941
|
+
// Reuse scratch storage; erased suffixes and completed paths clear only touched entries.
|
|
9942
|
+
const positions = new Int32Array(size)
|
|
9943
|
+
positions.fill(-1)
|
|
9722
9944
|
for (let i = 0; i < size; i++) {
|
|
9723
9945
|
const source = cache.nodeIds[i]
|
|
9724
9946
|
const distanceRow = new Map<NodeIndex, number>()
|
|
@@ -9746,19 +9968,35 @@ export const floydWarshall: {
|
|
|
9746
9968
|
const path = [source]
|
|
9747
9969
|
const pathEdges: Array<EdgeIndex> = []
|
|
9748
9970
|
const pathCosts: Array<E> = []
|
|
9749
|
-
|
|
9750
|
-
|
|
9751
|
-
|
|
9752
|
-
|
|
9753
|
-
|
|
9754
|
-
|
|
9755
|
-
|
|
9756
|
-
|
|
9757
|
-
|
|
9758
|
-
|
|
9971
|
+
positions[i] = 0
|
|
9972
|
+
const nodes = [i]
|
|
9973
|
+
const stack = [witnesses[i * size + j]!]
|
|
9974
|
+
// Witnesses only reference older witnesses, so this traversal cannot
|
|
9975
|
+
// follow a cyclic pointer chain. Erase closed walks rather than return
|
|
9976
|
+
// a truncated route or reject a valid zero-cost cycle.
|
|
9977
|
+
while (stack.length > 0) {
|
|
9978
|
+
const witness = stack.pop()!
|
|
9979
|
+
const position = positions[witness.target]
|
|
9980
|
+
if (position !== -1) {
|
|
9981
|
+
for (let p = position + 1; p < nodes.length; p++) {
|
|
9982
|
+
positions[nodes[p]] = -1
|
|
9983
|
+
}
|
|
9984
|
+
nodes.length = position + 1
|
|
9985
|
+
path.length = position + 1
|
|
9986
|
+
pathEdges.length = position
|
|
9987
|
+
pathCosts.length = position
|
|
9988
|
+
} else if ("edge" in witness) {
|
|
9989
|
+
positions[witness.target] = nodes.length
|
|
9990
|
+
nodes.push(witness.target)
|
|
9991
|
+
path.push(cache.nodeIds[witness.target])
|
|
9992
|
+
pathEdges.push(edgeIds[witness.edge])
|
|
9993
|
+
pathCosts.push(edges[witness.edge].data)
|
|
9994
|
+
} else {
|
|
9995
|
+
stack.push(witness.right, witness.left)
|
|
9759
9996
|
}
|
|
9760
|
-
|
|
9761
|
-
|
|
9997
|
+
}
|
|
9998
|
+
for (const node of nodes) {
|
|
9999
|
+
positions[node] = -1
|
|
9762
10000
|
}
|
|
9763
10001
|
pathRow.set(target, path)
|
|
9764
10002
|
edgePathRow.set(target, pathEdges)
|
|
@@ -9789,6 +10027,7 @@ export const floydWarshall: {
|
|
|
9789
10027
|
* Heuristic values must be finite and the heuristic must be consistent for A*
|
|
9790
10028
|
* to guarantee a shortest path.
|
|
9791
10029
|
*
|
|
10030
|
+
* @stability unstable
|
|
9792
10031
|
* @category configuration
|
|
9793
10032
|
* @since 3.18.0
|
|
9794
10033
|
*/
|
|
@@ -9851,6 +10090,7 @@ export interface AstarConfig<E, N> {
|
|
|
9851
10090
|
*
|
|
9852
10091
|
* @see {@link dijkstra} when no useful heuristic is available
|
|
9853
10092
|
* @see {@link bellmanFord} when edge costs may be negative
|
|
10093
|
+
* @stability unstable
|
|
9854
10094
|
* @category algorithms
|
|
9855
10095
|
* @since 3.18.0
|
|
9856
10096
|
*/
|
|
@@ -9907,6 +10147,7 @@ export const astar: {
|
|
|
9907
10147
|
*
|
|
9908
10148
|
* @see {@link dijkstra} when no useful heuristic is available
|
|
9909
10149
|
* @see {@link bellmanFord} when edge costs may be negative
|
|
10150
|
+
* @stability unstable
|
|
9910
10151
|
* @category algorithms
|
|
9911
10152
|
* @since 3.18.0
|
|
9912
10153
|
*/
|
|
@@ -9963,6 +10204,7 @@ export const astar: {
|
|
|
9963
10204
|
*
|
|
9964
10205
|
* @see {@link dijkstra} when no useful heuristic is available
|
|
9965
10206
|
* @see {@link bellmanFord} when edge costs may be negative
|
|
10207
|
+
* @stability unstable
|
|
9966
10208
|
* @category algorithms
|
|
9967
10209
|
* @since 3.18.0
|
|
9968
10210
|
*/
|
|
@@ -10106,6 +10348,7 @@ export const astar: {
|
|
|
10106
10348
|
* Specifies the source and target node indices, plus a cost function that maps
|
|
10107
10349
|
* each edge's data to a numeric weight.
|
|
10108
10350
|
*
|
|
10351
|
+
* @stability unstable
|
|
10109
10352
|
* @category configuration
|
|
10110
10353
|
* @since 3.18.0
|
|
10111
10354
|
*/
|
|
@@ -10160,6 +10403,7 @@ export interface BellmanFordConfig<E> {
|
|
|
10160
10403
|
* ```
|
|
10161
10404
|
*
|
|
10162
10405
|
* @see {@link dijkstra} for non-negative edge costs
|
|
10406
|
+
* @stability unstable
|
|
10163
10407
|
* @category algorithms
|
|
10164
10408
|
* @since 3.18.0
|
|
10165
10409
|
*/
|
|
@@ -10209,6 +10453,7 @@ export const bellmanFord: {
|
|
|
10209
10453
|
* ```
|
|
10210
10454
|
*
|
|
10211
10455
|
* @see {@link dijkstra} for non-negative edge costs
|
|
10456
|
+
* @stability unstable
|
|
10212
10457
|
* @category algorithms
|
|
10213
10458
|
* @since 3.18.0
|
|
10214
10459
|
*/
|
|
@@ -10258,6 +10503,7 @@ export const bellmanFord: {
|
|
|
10258
10503
|
* ```
|
|
10259
10504
|
*
|
|
10260
10505
|
* @see {@link dijkstra} for non-negative edge costs
|
|
10506
|
+
* @stability unstable
|
|
10261
10507
|
* @category algorithms
|
|
10262
10508
|
* @since 3.18.0
|
|
10263
10509
|
*/
|
|
@@ -10422,6 +10668,7 @@ export const bellmanFord: {
|
|
|
10422
10668
|
*
|
|
10423
10669
|
* Each fresh iterator repeats the path enumeration.
|
|
10424
10670
|
*
|
|
10671
|
+
* @stability unstable
|
|
10425
10672
|
* @category models
|
|
10426
10673
|
* @since 4.0.0
|
|
10427
10674
|
*/
|
|
@@ -10442,6 +10689,7 @@ export interface PathWalker<E> extends Iterable<PathResult<E>> {}
|
|
|
10442
10689
|
*
|
|
10443
10690
|
* `limit` must be a non-negative integer or `Infinity`.
|
|
10444
10691
|
*
|
|
10692
|
+
* @stability unstable
|
|
10445
10693
|
* @category configuration
|
|
10446
10694
|
* @since 4.0.0
|
|
10447
10695
|
*/
|
|
@@ -10467,6 +10715,7 @@ export interface SimplePathsConfig {
|
|
|
10467
10715
|
*
|
|
10468
10716
|
* Invalid costs and limits throw a `GraphError` when evaluated.
|
|
10469
10717
|
*
|
|
10718
|
+
* @stability unstable
|
|
10470
10719
|
* @category configuration
|
|
10471
10720
|
* @since 4.0.0
|
|
10472
10721
|
*/
|
|
@@ -10507,6 +10756,7 @@ const pathWalker = <E>(iterator: () => Iterator<PathResult<E>>): PathWalker<E> =
|
|
|
10507
10756
|
*
|
|
10508
10757
|
* @see {@link allShortestPaths} for enumerating only minimum-cost routes
|
|
10509
10758
|
*
|
|
10759
|
+
* @stability unstable
|
|
10510
10760
|
* @category algorithms
|
|
10511
10761
|
* @since 4.0.0
|
|
10512
10762
|
*/
|
|
@@ -10532,6 +10782,7 @@ export const simplePaths: {
|
|
|
10532
10782
|
*
|
|
10533
10783
|
* @see {@link allShortestPaths} for enumerating only minimum-cost routes
|
|
10534
10784
|
*
|
|
10785
|
+
* @stability unstable
|
|
10535
10786
|
* @category algorithms
|
|
10536
10787
|
* @since 4.0.0
|
|
10537
10788
|
*/
|
|
@@ -10559,6 +10810,7 @@ export const simplePaths: {
|
|
|
10559
10810
|
*
|
|
10560
10811
|
* @see {@link allShortestPaths} for enumerating only minimum-cost routes
|
|
10561
10812
|
*
|
|
10813
|
+
* @stability unstable
|
|
10562
10814
|
* @category algorithms
|
|
10563
10815
|
* @since 4.0.0
|
|
10564
10816
|
*/
|
|
@@ -10666,6 +10918,7 @@ export const simplePaths: {
|
|
|
10666
10918
|
* @see {@link dijkstra} when one shortest path is sufficient
|
|
10667
10919
|
* @see {@link simplePaths} for routes regardless of cost
|
|
10668
10920
|
*
|
|
10921
|
+
* @stability unstable
|
|
10669
10922
|
* @category algorithms
|
|
10670
10923
|
* @since 4.0.0
|
|
10671
10924
|
*/
|
|
@@ -10691,6 +10944,7 @@ export const allShortestPaths: {
|
|
|
10691
10944
|
* @see {@link dijkstra} when one shortest path is sufficient
|
|
10692
10945
|
* @see {@link simplePaths} for routes regardless of cost
|
|
10693
10946
|
*
|
|
10947
|
+
* @stability unstable
|
|
10694
10948
|
* @category algorithms
|
|
10695
10949
|
* @since 4.0.0
|
|
10696
10950
|
*/
|
|
@@ -10718,6 +10972,7 @@ export const allShortestPaths: {
|
|
|
10718
10972
|
* @see {@link dijkstra} when one shortest path is sufficient
|
|
10719
10973
|
* @see {@link simplePaths} for routes regardless of cost
|
|
10720
10974
|
*
|
|
10975
|
+
* @stability unstable
|
|
10721
10976
|
* @category algorithms
|
|
10722
10977
|
* @since 4.0.0
|
|
10723
10978
|
*/
|
|
@@ -10887,6 +11142,7 @@ export const allShortestPaths: {
|
|
|
10887
11142
|
* Array.from(Graph.entries(allNodes)) // => [[0, "A"], [1, "B"]]
|
|
10888
11143
|
* ```
|
|
10889
11144
|
*
|
|
11145
|
+
* @stability unstable
|
|
10890
11146
|
* @category models
|
|
10891
11147
|
* @since 3.18.0
|
|
10892
11148
|
*/
|
|
@@ -10984,6 +11240,7 @@ const traversalStartPositions = (cache: csr.Csr, start: ReadonlyArray<NodeIndex>
|
|
|
10984
11240
|
* @see {@link Walker} for the generic lazy iterator wrapper
|
|
10985
11241
|
* @see {@link EdgeWalker} for edge iterators
|
|
10986
11242
|
*
|
|
11243
|
+
* @stability unstable
|
|
10987
11244
|
* @category models
|
|
10988
11245
|
* @since 3.18.0
|
|
10989
11246
|
*/
|
|
@@ -11003,6 +11260,7 @@ export type NodeWalker<N> = Walker<NodeIndex, N>
|
|
|
11003
11260
|
* @see {@link NodeWalker} for node iterators
|
|
11004
11261
|
* @see {@link edges} for creating edge walkers
|
|
11005
11262
|
*
|
|
11263
|
+
* @stability unstable
|
|
11006
11264
|
* @category models
|
|
11007
11265
|
* @since 3.18.0
|
|
11008
11266
|
*/
|
|
@@ -11026,6 +11284,7 @@ export type EdgeWalker<E> = Walker<EdgeIndex, Edge<E>>
|
|
|
11026
11284
|
* Array.from(Graph.indices(dfs)) // => [0, 1]
|
|
11027
11285
|
* ```
|
|
11028
11286
|
*
|
|
11287
|
+
* @stability unstable
|
|
11029
11288
|
* @category iterators
|
|
11030
11289
|
* @since 3.18.0
|
|
11031
11290
|
*/
|
|
@@ -11049,6 +11308,7 @@ export const indices = <T, N>(walker: Walker<T, N>): Iterable<T> => walker.visit
|
|
|
11049
11308
|
* Array.from(Graph.values(dfs)) // => ["A", "B"]
|
|
11050
11309
|
* ```
|
|
11051
11310
|
*
|
|
11311
|
+
* @stability unstable
|
|
11052
11312
|
* @category iterators
|
|
11053
11313
|
* @since 3.18.0
|
|
11054
11314
|
*/
|
|
@@ -11072,6 +11332,7 @@ export const values = <T, N>(walker: Walker<T, N>): Iterable<N> => walker.visit(
|
|
|
11072
11332
|
* Array.from(Graph.entries(dfs)) // => [[0, "A"], [1, "B"]]
|
|
11073
11333
|
* ```
|
|
11074
11334
|
*
|
|
11335
|
+
* @stability unstable
|
|
11075
11336
|
* @category iterators
|
|
11076
11337
|
* @since 3.18.0
|
|
11077
11338
|
*/
|
|
@@ -11102,6 +11363,7 @@ export const entries = <T, N>(walker: Walker<T, N>): Iterable<[T, N]> =>
|
|
|
11102
11363
|
* revalidates those starts against the graph snapshot it captures. Later
|
|
11103
11364
|
* mutations are not observed by an active iterator.
|
|
11104
11365
|
*
|
|
11366
|
+
* @stability unstable
|
|
11105
11367
|
* @category configuration
|
|
11106
11368
|
* @since 3.18.0
|
|
11107
11369
|
*/
|
|
@@ -11153,6 +11415,7 @@ export interface SearchConfig {
|
|
|
11153
11415
|
*
|
|
11154
11416
|
* @see {@link bfs} for traversal in increasing hop distance
|
|
11155
11417
|
* @see {@link dfsPostOrder} for emitting descendants before ancestors
|
|
11418
|
+
* @stability unstable
|
|
11156
11419
|
* @category iterators
|
|
11157
11420
|
* @since 3.18.0
|
|
11158
11421
|
*/
|
|
@@ -11199,6 +11462,7 @@ export const dfs: {
|
|
|
11199
11462
|
*
|
|
11200
11463
|
* @see {@link bfs} for traversal in increasing hop distance
|
|
11201
11464
|
* @see {@link dfsPostOrder} for emitting descendants before ancestors
|
|
11465
|
+
* @stability unstable
|
|
11202
11466
|
* @category iterators
|
|
11203
11467
|
* @since 3.18.0
|
|
11204
11468
|
*/
|
|
@@ -11245,6 +11509,7 @@ export const dfs: {
|
|
|
11245
11509
|
*
|
|
11246
11510
|
* @see {@link bfs} for traversal in increasing hop distance
|
|
11247
11511
|
* @see {@link dfsPostOrder} for emitting descendants before ancestors
|
|
11512
|
+
* @stability unstable
|
|
11248
11513
|
* @category iterators
|
|
11249
11514
|
* @since 3.18.0
|
|
11250
11515
|
*/
|
|
@@ -11415,6 +11680,7 @@ export const dfs: {
|
|
|
11415
11680
|
*
|
|
11416
11681
|
* @see {@link dfs} for branch-first traversal
|
|
11417
11682
|
* @see {@link unweightedDistances} for collecting hop counts
|
|
11683
|
+
* @stability unstable
|
|
11418
11684
|
* @category iterators
|
|
11419
11685
|
* @since 3.18.0
|
|
11420
11686
|
*/
|
|
@@ -11462,6 +11728,7 @@ export const bfs: {
|
|
|
11462
11728
|
*
|
|
11463
11729
|
* @see {@link dfs} for branch-first traversal
|
|
11464
11730
|
* @see {@link unweightedDistances} for collecting hop counts
|
|
11731
|
+
* @stability unstable
|
|
11465
11732
|
* @category iterators
|
|
11466
11733
|
* @since 3.18.0
|
|
11467
11734
|
*/
|
|
@@ -11509,6 +11776,7 @@ export const bfs: {
|
|
|
11509
11776
|
*
|
|
11510
11777
|
* @see {@link dfs} for branch-first traversal
|
|
11511
11778
|
* @see {@link unweightedDistances} for collecting hop counts
|
|
11779
|
+
* @stability unstable
|
|
11512
11780
|
* @category iterators
|
|
11513
11781
|
* @since 3.18.0
|
|
11514
11782
|
*/
|
|
@@ -11630,6 +11898,7 @@ export const bfs: {
|
|
|
11630
11898
|
*
|
|
11631
11899
|
* Throws a `GraphError` when any initial node has incoming edges.
|
|
11632
11900
|
*
|
|
11901
|
+
* @stability unstable
|
|
11633
11902
|
* @category configuration
|
|
11634
11903
|
* @since 3.18.0
|
|
11635
11904
|
*/
|
|
@@ -11674,6 +11943,7 @@ export interface TopoConfig {
|
|
|
11674
11943
|
* ```
|
|
11675
11944
|
*
|
|
11676
11945
|
* @see {@link isAcyclic} for checking the required graph property
|
|
11946
|
+
* @stability unstable
|
|
11677
11947
|
* @category iterators
|
|
11678
11948
|
* @since 3.18.0
|
|
11679
11949
|
*/
|
|
@@ -11715,6 +11985,7 @@ export const topo: {
|
|
|
11715
11985
|
* ```
|
|
11716
11986
|
*
|
|
11717
11987
|
* @see {@link isAcyclic} for checking the required graph property
|
|
11988
|
+
* @stability unstable
|
|
11718
11989
|
* @category iterators
|
|
11719
11990
|
* @since 3.18.0
|
|
11720
11991
|
*/
|
|
@@ -11756,6 +12027,7 @@ export const topo: {
|
|
|
11756
12027
|
* ```
|
|
11757
12028
|
*
|
|
11758
12029
|
* @see {@link isAcyclic} for checking the required graph property
|
|
12030
|
+
* @stability unstable
|
|
11759
12031
|
* @category iterators
|
|
11760
12032
|
* @since 3.18.0
|
|
11761
12033
|
*/
|
|
@@ -11892,6 +12164,7 @@ export const topo: {
|
|
|
11892
12164
|
* ```
|
|
11893
12165
|
*
|
|
11894
12166
|
* @see {@link dfs} for emitting nodes when first visited
|
|
12167
|
+
* @stability unstable
|
|
11895
12168
|
* @category iterators
|
|
11896
12169
|
* @since 3.18.0
|
|
11897
12170
|
*/
|
|
@@ -11939,6 +12212,7 @@ export const dfsPostOrder: {
|
|
|
11939
12212
|
* ```
|
|
11940
12213
|
*
|
|
11941
12214
|
* @see {@link dfs} for emitting nodes when first visited
|
|
12215
|
+
* @stability unstable
|
|
11942
12216
|
* @category iterators
|
|
11943
12217
|
* @since 3.18.0
|
|
11944
12218
|
*/
|
|
@@ -11986,6 +12260,7 @@ export const dfsPostOrder: {
|
|
|
11986
12260
|
* ```
|
|
11987
12261
|
*
|
|
11988
12262
|
* @see {@link dfs} for emitting nodes when first visited
|
|
12263
|
+
* @stability unstable
|
|
11989
12264
|
* @category iterators
|
|
11990
12265
|
* @since 3.18.0
|
|
11991
12266
|
*/
|
|
@@ -12121,6 +12396,7 @@ export const dfsPostOrder: {
|
|
|
12121
12396
|
* Array.from(Graph.indices(Graph.nodes(graph))) // => [0, 1, 2]
|
|
12122
12397
|
* ```
|
|
12123
12398
|
*
|
|
12399
|
+
* @stability unstable
|
|
12124
12400
|
* @category iterators
|
|
12125
12401
|
* @since 3.18.0
|
|
12126
12402
|
*/
|
|
@@ -12174,6 +12450,7 @@ export const nodes = <N, E, T extends Kind = "directed">(
|
|
|
12174
12450
|
* Array.from(Graph.indices(Graph.edges(graph))) // => [0, 1]
|
|
12175
12451
|
* ```
|
|
12176
12452
|
*
|
|
12453
|
+
* @stability unstable
|
|
12177
12454
|
* @category iterators
|
|
12178
12455
|
* @since 3.18.0
|
|
12179
12456
|
*/
|
|
@@ -12213,6 +12490,7 @@ export const edges = <N, E, T extends Kind = "directed">(
|
|
|
12213
12490
|
* nodes with no incoming edges. If omitted, `direction` defaults to
|
|
12214
12491
|
* `"outgoing"`.
|
|
12215
12492
|
*
|
|
12493
|
+
* @stability unstable
|
|
12216
12494
|
* @category configuration
|
|
12217
12495
|
* @since 3.18.0
|
|
12218
12496
|
*/
|
|
@@ -12260,6 +12538,7 @@ export interface ExternalsConfig {
|
|
|
12260
12538
|
* Array.from(Graph.indices(Graph.externals(graph, { direction: "incoming" }))) // => [0, 3]
|
|
12261
12539
|
* ```
|
|
12262
12540
|
*
|
|
12541
|
+
* @stability unstable
|
|
12263
12542
|
* @category iterators
|
|
12264
12543
|
* @since 3.18.0
|
|
12265
12544
|
*/
|
|
@@ -12304,6 +12583,7 @@ export const externals: {
|
|
|
12304
12583
|
* Array.from(Graph.indices(Graph.externals(graph, { direction: "incoming" }))) // => [0, 3]
|
|
12305
12584
|
* ```
|
|
12306
12585
|
*
|
|
12586
|
+
* @stability unstable
|
|
12307
12587
|
* @category iterators
|
|
12308
12588
|
* @since 3.18.0
|
|
12309
12589
|
*/
|
|
@@ -12348,6 +12628,7 @@ export const externals: {
|
|
|
12348
12628
|
* Array.from(Graph.indices(Graph.externals(graph, { direction: "incoming" }))) // => [0, 3]
|
|
12349
12629
|
* ```
|
|
12350
12630
|
*
|
|
12631
|
+
* @stability unstable
|
|
12351
12632
|
* @category iterators
|
|
12352
12633
|
* @since 3.18.0
|
|
12353
12634
|
*/
|