effect 3.10.18 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Array.js +206 -0
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/BigDecimal.js +181 -24
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js +54 -0
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Boolean.js +24 -0
- package/dist/cjs/Boolean.js.map +1 -1
- package/dist/cjs/Brand.js +4 -0
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Channel.js +44 -4
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Chunk.js +8 -0
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js +10 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js +50 -1
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Cron.js +81 -67
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Data.js +14 -0
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/DateTime.js +178 -664
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Duration.js +2 -0
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +296 -4
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +38 -2
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/FiberHandle.js +6 -0
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +6 -0
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberSet.js +6 -0
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/Function.js +34 -0
- package/dist/cjs/Function.js.map +1 -1
- package/dist/cjs/GlobalValue.js +2 -0
- package/dist/cjs/GlobalValue.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/Inspectable.js +8 -4
- package/dist/cjs/Inspectable.js.map +1 -1
- package/dist/cjs/Iterable.js +18 -0
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/JSONSchema.js.map +1 -1
- package/dist/cjs/List.js +4 -0
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/Logger.js +26 -0
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Mailbox.js +2 -0
- package/dist/cjs/Mailbox.js.map +1 -1
- package/dist/cjs/ManagedRuntime.js +2 -0
- package/dist/cjs/ManagedRuntime.js.map +1 -1
- package/dist/cjs/Metric.js +10 -0
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/Micro.js +1104 -1069
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/Number.js +44 -0
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js +70 -0
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Order.js +2 -0
- package/dist/cjs/Order.js.map +1 -1
- package/dist/cjs/Ordering.js +4 -0
- package/dist/cjs/Ordering.js.map +1 -1
- package/dist/cjs/Predicate.js +68 -0
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Random.js +4 -0
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RateLimiter.js +4 -0
- package/dist/cjs/RateLimiter.js.map +1 -1
- package/dist/cjs/RcMap.js +2 -0
- package/dist/cjs/RcMap.js.map +1 -1
- package/dist/cjs/RcRef.js +2 -0
- package/dist/cjs/RcRef.js.map +1 -1
- package/dist/cjs/Record.js +56 -0
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/Redacted.js +8 -0
- package/dist/cjs/Redacted.js.map +1 -1
- package/dist/cjs/RegExp.js +4 -0
- package/dist/cjs/RegExp.js.map +1 -1
- package/dist/cjs/Request.js +4 -0
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js +2 -0
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Runtime.js +6 -0
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schema.js +91 -8
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/Sink.js +9 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js +179 -7
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/String.js +62 -0
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Struct.js +12 -0
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/Symbol.js +2 -0
- package/dist/cjs/Symbol.js.map +1 -1
- package/dist/cjs/Trie.js +56 -0
- package/dist/cjs/Trie.js.map +1 -1
- package/dist/cjs/Tuple.js +18 -0
- package/dist/cjs/Tuple.js.map +1 -1
- package/dist/cjs/Utils.js +7 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +5 -9
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel.js +156 -130
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/config.js +13 -4
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/context.js +46 -3
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/dateTime.js +747 -0
- package/dist/cjs/internal/dateTime.js.map +1 -0
- package/dist/cjs/internal/fiberRuntime.js +34 -11
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js +9 -3
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/layer.js +1 -1
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/mailbox.js +1 -1
- package/dist/cjs/internal/mailbox.js.map +1 -1
- package/dist/cjs/internal/sink.js +25 -21
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stream.js +70 -71
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Array.d.ts +534 -0
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/BigDecimal.d.ts +172 -1
- package/dist/dts/BigDecimal.d.ts.map +1 -1
- package/dist/dts/BigInt.d.ts +114 -0
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Boolean.d.ts +56 -0
- package/dist/dts/Boolean.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +6 -0
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +66 -5
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +30 -0
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +25 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +155 -0
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +21 -6
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +26 -0
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/DateTime.d.ts +192 -49
- package/dist/dts/DateTime.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +2 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +658 -1
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +84 -2
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +6 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +6 -0
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +6 -0
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Function.d.ts +50 -0
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/GlobalValue.d.ts +2 -0
- package/dist/dts/GlobalValue.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +6 -0
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/Inspectable.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts +26 -0
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/JSONSchema.d.ts +1 -0
- package/dist/dts/JSONSchema.d.ts.map +1 -1
- package/dist/dts/List.d.ts +20 -0
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +34 -0
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Mailbox.d.ts +2 -0
- package/dist/dts/Mailbox.d.ts.map +1 -1
- package/dist/dts/ManagedRuntime.d.ts +2 -0
- package/dist/dts/ManagedRuntime.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +18 -0
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/Micro.d.ts +880 -863
- package/dist/dts/Micro.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +104 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +142 -0
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts +2 -0
- package/dist/dts/Order.d.ts.map +1 -1
- package/dist/dts/Ordering.d.ts +8 -0
- package/dist/dts/Ordering.d.ts.map +1 -1
- package/dist/dts/Predicate.d.ts +104 -0
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +4 -0
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RateLimiter.d.ts +4 -0
- package/dist/dts/RateLimiter.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +6 -0
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/RcRef.d.ts +2 -0
- package/dist/dts/RcRef.d.ts.map +1 -1
- package/dist/dts/Record.d.ts +136 -0
- package/dist/dts/Record.d.ts.map +1 -1
- package/dist/dts/Redacted.d.ts +8 -0
- package/dist/dts/Redacted.d.ts.map +1 -1
- package/dist/dts/RegExp.d.ts +4 -0
- package/dist/dts/RegExp.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +4 -0
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +6 -0
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +18 -0
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +2 -0
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +90 -0
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +8 -0
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +394 -32
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/String.d.ts +94 -0
- package/dist/dts/String.d.ts.map +1 -1
- package/dist/dts/Struct.d.ts +24 -0
- package/dist/dts/Struct.d.ts.map +1 -1
- package/dist/dts/Symbol.d.ts +2 -0
- package/dist/dts/Symbol.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +132 -0
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/Tuple.d.ts +42 -0
- package/dist/dts/Tuple.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +24 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/Utils.d.ts +4 -0
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/internal/context.d.ts +1 -1
- package/dist/dts/internal/context.d.ts.map +1 -1
- package/dist/dts/internal/dateTime.d.ts +2 -0
- package/dist/dts/internal/dateTime.d.ts.map +1 -0
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Array.js +208 -0
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/BigDecimal.js +175 -20
- package/dist/esm/BigDecimal.js.map +1 -1
- package/dist/esm/BigInt.js +54 -0
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Boolean.js +24 -0
- package/dist/esm/Boolean.js.map +1 -1
- package/dist/esm/Brand.js +4 -0
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Channel.js +42 -2
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Chunk.js +8 -0
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js +9 -0
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js +49 -0
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Cron.js +81 -67
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Data.js +16 -0
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/DateTime.js +176 -627
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Duration.js +2 -0
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +297 -0
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +40 -2
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/FiberHandle.js +6 -0
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +6 -0
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberSet.js +6 -0
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/Function.js +34 -0
- package/dist/esm/Function.js.map +1 -1
- package/dist/esm/GlobalValue.js +2 -0
- package/dist/esm/GlobalValue.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/Inspectable.js +8 -4
- package/dist/esm/Inspectable.js.map +1 -1
- package/dist/esm/Iterable.js +18 -0
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/JSONSchema.js.map +1 -1
- package/dist/esm/List.js +4 -0
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/Logger.js +26 -0
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Mailbox.js +2 -0
- package/dist/esm/Mailbox.js.map +1 -1
- package/dist/esm/ManagedRuntime.js +2 -0
- package/dist/esm/ManagedRuntime.js.map +1 -1
- package/dist/esm/Metric.js +10 -0
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/Micro.js +1077 -1037
- package/dist/esm/Micro.js.map +1 -1
- package/dist/esm/Number.js +44 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js +72 -0
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Order.js +2 -0
- package/dist/esm/Order.js.map +1 -1
- package/dist/esm/Ordering.js +4 -0
- package/dist/esm/Ordering.js.map +1 -1
- package/dist/esm/Predicate.js +68 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Random.js +4 -0
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RateLimiter.js +4 -0
- package/dist/esm/RateLimiter.js.map +1 -1
- package/dist/esm/RcMap.js +2 -0
- package/dist/esm/RcMap.js.map +1 -1
- package/dist/esm/RcRef.js +2 -0
- package/dist/esm/RcRef.js.map +1 -1
- package/dist/esm/Record.js +56 -0
- package/dist/esm/Record.js.map +1 -1
- package/dist/esm/Redacted.js +8 -0
- package/dist/esm/Redacted.js.map +1 -1
- package/dist/esm/RegExp.js +4 -0
- package/dist/esm/RegExp.js.map +1 -1
- package/dist/esm/Request.js +4 -0
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js +2 -0
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Runtime.js +6 -0
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schema.js +88 -0
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/Sink.js +8 -0
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Stream.js +183 -5
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/String.js +62 -0
- package/dist/esm/String.js.map +1 -1
- package/dist/esm/Struct.js +12 -0
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/Symbol.js +2 -0
- package/dist/esm/Symbol.js.map +1 -1
- package/dist/esm/Trie.js +56 -0
- package/dist/esm/Trie.js.map +1 -1
- package/dist/esm/Tuple.js +22 -0
- package/dist/esm/Tuple.js.map +1 -1
- package/dist/esm/Utils.js +5 -0
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js +5 -7
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel.js +152 -129
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/config.js +11 -3
- package/dist/esm/internal/config.js.map +1 -1
- package/dist/esm/internal/context.js +42 -2
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/dateTime.js +704 -0
- package/dist/esm/internal/dateTime.js.map +1 -0
- package/dist/esm/internal/fiberRuntime.js +31 -9
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js +9 -3
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/layer.js +1 -1
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/mailbox.js +1 -1
- package/dist/esm/internal/mailbox.js.map +1 -1
- package/dist/esm/internal/sink.js +23 -20
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stream.js +66 -69
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +1 -1
- package/src/Array.ts +534 -0
- package/src/BigDecimal.ts +247 -21
- package/src/BigInt.ts +114 -0
- package/src/Boolean.ts +56 -0
- package/src/Brand.ts +6 -0
- package/src/Channel.ts +81 -5
- package/src/Chunk.ts +32 -0
- package/src/Config.ts +26 -1
- package/src/Context.ts +163 -0
- package/src/Cron.ts +91 -68
- package/src/Data.ts +26 -0
- package/src/DateTime.ts +307 -757
- package/src/Duration.ts +2 -0
- package/src/Effect.ts +910 -1
- package/src/Either.ts +84 -2
- package/src/FiberHandle.ts +6 -0
- package/src/FiberMap.ts +6 -0
- package/src/FiberSet.ts +6 -0
- package/src/Function.ts +50 -0
- package/src/GlobalValue.ts +2 -0
- package/src/HashMap.ts +6 -0
- package/src/Inspectable.ts +11 -7
- package/src/Iterable.ts +26 -0
- package/src/JSONSchema.ts +1 -0
- package/src/List.ts +24 -0
- package/src/Logger.ts +34 -0
- package/src/Mailbox.ts +2 -0
- package/src/ManagedRuntime.ts +2 -0
- package/src/Metric.ts +18 -0
- package/src/Micro.ts +2007 -1745
- package/src/Number.ts +104 -0
- package/src/Option.ts +142 -0
- package/src/Order.ts +2 -0
- package/src/Ordering.ts +8 -0
- package/src/Predicate.ts +104 -0
- package/src/Random.ts +4 -0
- package/src/RateLimiter.ts +4 -0
- package/src/RcMap.ts +6 -0
- package/src/RcRef.ts +2 -0
- package/src/Record.ts +136 -0
- package/src/Redacted.ts +8 -0
- package/src/RegExp.ts +4 -0
- package/src/Request.ts +4 -0
- package/src/RequestResolver.ts +6 -0
- package/src/Runtime.ts +18 -0
- package/src/STM.ts +2 -0
- package/src/Schema.ts +124 -0
- package/src/Sink.ts +11 -0
- package/src/Stream.ts +399 -44
- package/src/String.ts +94 -0
- package/src/Struct.ts +24 -0
- package/src/Symbol.ts +2 -0
- package/src/Trie.ts +132 -0
- package/src/Tuple.ts +42 -0
- package/src/Types.ts +24 -0
- package/src/Utils.ts +8 -0
- package/src/internal/channel/channelExecutor.ts +37 -33
- package/src/internal/channel.ts +504 -467
- package/src/internal/config.ts +18 -6
- package/src/internal/context.ts +56 -4
- package/src/internal/dateTime.ts +1126 -0
- package/src/internal/fiberRuntime.ts +35 -16
- package/src/internal/groupBy.ts +13 -22
- package/src/internal/layer.ts +5 -8
- package/src/internal/mailbox.ts +6 -4
- package/src/internal/sink.ts +55 -35
- package/src/internal/stream.ts +299 -299
- package/src/internal/version.ts +1 -1
package/src/Trie.ts
CHANGED
|
@@ -44,12 +44,14 @@ export interface Trie<in out Value> extends Iterable<[string, Value]>, Equal, Pi
|
|
|
44
44
|
* Creates an empty `Trie`.
|
|
45
45
|
*
|
|
46
46
|
* @example
|
|
47
|
+
* ```ts
|
|
47
48
|
* import { Trie, Equal } from "effect"
|
|
48
49
|
*
|
|
49
50
|
* const trie = Trie.empty<string>()
|
|
50
51
|
*
|
|
51
52
|
* assert.equal(Trie.size(trie), 0)
|
|
52
53
|
* assert.deepStrictEqual(Array.from(trie), [])
|
|
54
|
+
* ```
|
|
53
55
|
*
|
|
54
56
|
* @since 2.0.0
|
|
55
57
|
* @category constructors
|
|
@@ -60,6 +62,7 @@ export const empty: <V = never>() => Trie<V> = TR.empty
|
|
|
60
62
|
* Creates a new `Trie` from an iterable collection of key/value pairs (e.g. `Array<[string, V]>`).
|
|
61
63
|
*
|
|
62
64
|
* @example
|
|
65
|
+
* ```ts
|
|
63
66
|
* import { Trie, Equal } from "effect"
|
|
64
67
|
*
|
|
65
68
|
* const iterable: Array<readonly [string, number]> = [["call", 0], ["me", 1], ["mind", 2], ["mid", 3]]
|
|
@@ -68,6 +71,7 @@ export const empty: <V = never>() => Trie<V> = TR.empty
|
|
|
68
71
|
* // The entries in the `Trie` are extracted in alphabetical order, regardless of the insertion order
|
|
69
72
|
* assert.deepStrictEqual(Array.from(trie), [["call", 0], ["me", 1], ["mid", 3], ["mind", 2]])
|
|
70
73
|
* assert.equal(Equal.equals(Trie.make(["call", 0], ["me", 1], ["mind", 2], ["mid", 3]), trie), true)
|
|
74
|
+
* ```
|
|
71
75
|
*
|
|
72
76
|
* @since 2.0.0
|
|
73
77
|
* @category constructors
|
|
@@ -78,12 +82,14 @@ export const fromIterable: <V>(entries: Iterable<readonly [string, V]>) => Trie<
|
|
|
78
82
|
* Constructs a new `Trie` from the specified entries (`[string, V]`).
|
|
79
83
|
*
|
|
80
84
|
* @example
|
|
85
|
+
* ```ts
|
|
81
86
|
* import { Trie, Equal } from "effect"
|
|
82
87
|
*
|
|
83
88
|
* const trie = Trie.make(["ca", 0], ["me", 1])
|
|
84
89
|
*
|
|
85
90
|
* assert.deepStrictEqual(Array.from(trie), [["ca", 0], ["me", 1]])
|
|
86
91
|
* assert.equal(Equal.equals(Trie.fromIterable([["ca", 0], ["me", 1]]), trie), true)
|
|
92
|
+
* ```
|
|
87
93
|
*
|
|
88
94
|
* @since 2.0.0
|
|
89
95
|
* @category constructors
|
|
@@ -96,6 +102,7 @@ export const make: <Entries extends Array<readonly [string, any]>>(
|
|
|
96
102
|
* Insert a new entry in the `Trie`.
|
|
97
103
|
*
|
|
98
104
|
* @example
|
|
105
|
+
* ```ts
|
|
99
106
|
* import { Trie } from "effect"
|
|
100
107
|
*
|
|
101
108
|
* const trie1 = Trie.empty<number>().pipe(
|
|
@@ -109,6 +116,7 @@ export const make: <Entries extends Array<readonly [string, any]>>(
|
|
|
109
116
|
* assert.deepStrictEqual(Array.from(trie2), [["call", 0], ["me", 1]])
|
|
110
117
|
* assert.deepStrictEqual(Array.from(trie3), [["call", 0], ["me", 1], ["mind", 2]])
|
|
111
118
|
* assert.deepStrictEqual(Array.from(trie4), [["call", 0], ["me", 1], ["mid", 3], ["mind", 2]])
|
|
119
|
+
* ```
|
|
112
120
|
*
|
|
113
121
|
* @since 2.0.0
|
|
114
122
|
* @category mutations
|
|
@@ -118,6 +126,7 @@ export const insert: {
|
|
|
118
126
|
* Insert a new entry in the `Trie`.
|
|
119
127
|
*
|
|
120
128
|
* @example
|
|
129
|
+
* ```ts
|
|
121
130
|
* import { Trie } from "effect"
|
|
122
131
|
*
|
|
123
132
|
* const trie1 = Trie.empty<number>().pipe(
|
|
@@ -131,6 +140,7 @@ export const insert: {
|
|
|
131
140
|
* assert.deepStrictEqual(Array.from(trie2), [["call", 0], ["me", 1]])
|
|
132
141
|
* assert.deepStrictEqual(Array.from(trie3), [["call", 0], ["me", 1], ["mind", 2]])
|
|
133
142
|
* assert.deepStrictEqual(Array.from(trie4), [["call", 0], ["me", 1], ["mid", 3], ["mind", 2]])
|
|
143
|
+
* ```
|
|
134
144
|
*
|
|
135
145
|
* @since 2.0.0
|
|
136
146
|
* @category mutations
|
|
@@ -140,6 +150,7 @@ export const insert: {
|
|
|
140
150
|
* Insert a new entry in the `Trie`.
|
|
141
151
|
*
|
|
142
152
|
* @example
|
|
153
|
+
* ```ts
|
|
143
154
|
* import { Trie } from "effect"
|
|
144
155
|
*
|
|
145
156
|
* const trie1 = Trie.empty<number>().pipe(
|
|
@@ -153,6 +164,7 @@ export const insert: {
|
|
|
153
164
|
* assert.deepStrictEqual(Array.from(trie2), [["call", 0], ["me", 1]])
|
|
154
165
|
* assert.deepStrictEqual(Array.from(trie3), [["call", 0], ["me", 1], ["mind", 2]])
|
|
155
166
|
* assert.deepStrictEqual(Array.from(trie4), [["call", 0], ["me", 1], ["mid", 3], ["mind", 2]])
|
|
167
|
+
* ```
|
|
156
168
|
*
|
|
157
169
|
* @since 2.0.0
|
|
158
170
|
* @category mutations
|
|
@@ -166,6 +178,7 @@ export const insert: {
|
|
|
166
178
|
* The keys are returned in alphabetical order, regardless of insertion order.
|
|
167
179
|
*
|
|
168
180
|
* @example
|
|
181
|
+
* ```ts
|
|
169
182
|
* import { Trie } from "effect"
|
|
170
183
|
*
|
|
171
184
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -176,6 +189,7 @@ export const insert: {
|
|
|
176
189
|
*
|
|
177
190
|
* const result = Array.from(Trie.keys(trie))
|
|
178
191
|
* assert.deepStrictEqual(result, ["abc", "bca", "cab"])
|
|
192
|
+
* ```
|
|
179
193
|
*
|
|
180
194
|
* @since 2.0.0
|
|
181
195
|
* @category getters
|
|
@@ -188,6 +202,7 @@ export const keys: <V>(self: Trie<V>) => IterableIterator<string> = TR.keys
|
|
|
188
202
|
* Values are ordered based on their key in alphabetical order, regardless of insertion order.
|
|
189
203
|
*
|
|
190
204
|
* @example
|
|
205
|
+
* ```ts
|
|
191
206
|
* import { Trie } from "effect"
|
|
192
207
|
*
|
|
193
208
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -198,6 +213,7 @@ export const keys: <V>(self: Trie<V>) => IterableIterator<string> = TR.keys
|
|
|
198
213
|
*
|
|
199
214
|
* const result = Array.from(Trie.values(trie))
|
|
200
215
|
* assert.deepStrictEqual(result, [2, 0, 1])
|
|
216
|
+
* ```
|
|
201
217
|
*
|
|
202
218
|
* @since 2.0.0
|
|
203
219
|
* @category getters
|
|
@@ -210,6 +226,7 @@ export const values: <V>(self: Trie<V>) => IterableIterator<V> = TR.values
|
|
|
210
226
|
* The entries are returned by keys in alphabetical order, regardless of insertion order.
|
|
211
227
|
*
|
|
212
228
|
* @example
|
|
229
|
+
* ```ts
|
|
213
230
|
* import { Trie } from "effect"
|
|
214
231
|
*
|
|
215
232
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -219,6 +236,7 @@ export const values: <V>(self: Trie<V>) => IterableIterator<V> = TR.values
|
|
|
219
236
|
*
|
|
220
237
|
* const result = Array.from(Trie.entries(trie))
|
|
221
238
|
* assert.deepStrictEqual(result, [["call", 0], ["me", 1]])
|
|
239
|
+
* ```
|
|
222
240
|
*
|
|
223
241
|
* @since 2.0.0
|
|
224
242
|
* @category getters
|
|
@@ -231,6 +249,7 @@ export const entries: <V>(self: Trie<V>) => IterableIterator<[string, V]> = TR.e
|
|
|
231
249
|
* Equivalent to `Array.from(Trie.entries(trie))`.
|
|
232
250
|
*
|
|
233
251
|
* @example
|
|
252
|
+
* ```ts
|
|
234
253
|
* import { Trie } from "effect"
|
|
235
254
|
*
|
|
236
255
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -240,6 +259,7 @@ export const entries: <V>(self: Trie<V>) => IterableIterator<[string, V]> = TR.e
|
|
|
240
259
|
* const result = Trie.toEntries(trie)
|
|
241
260
|
*
|
|
242
261
|
* assert.deepStrictEqual(result, [["call", 0], ["me", 1]])
|
|
262
|
+
* ```
|
|
243
263
|
*
|
|
244
264
|
* @since 2.0.0
|
|
245
265
|
* @category getters
|
|
@@ -251,6 +271,7 @@ export const toEntries = <V>(self: Trie<V>): Array<[string, V]> => Array.from(en
|
|
|
251
271
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
252
272
|
*
|
|
253
273
|
* @example
|
|
274
|
+
* ```ts
|
|
254
275
|
* import { Trie } from "effect"
|
|
255
276
|
*
|
|
256
277
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -262,6 +283,7 @@ export const toEntries = <V>(self: Trie<V>): Array<[string, V]> => Array.from(en
|
|
|
262
283
|
*
|
|
263
284
|
* const result = Array.from(Trie.keysWithPrefix(trie, "she"))
|
|
264
285
|
* assert.deepStrictEqual(result, ["she", "shells"])
|
|
286
|
+
* ```
|
|
265
287
|
*
|
|
266
288
|
* @since 2.0.0
|
|
267
289
|
* @category getters
|
|
@@ -272,6 +294,7 @@ export const keysWithPrefix: {
|
|
|
272
294
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
273
295
|
*
|
|
274
296
|
* @example
|
|
297
|
+
* ```ts
|
|
275
298
|
* import { Trie } from "effect"
|
|
276
299
|
*
|
|
277
300
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -283,6 +306,7 @@ export const keysWithPrefix: {
|
|
|
283
306
|
*
|
|
284
307
|
* const result = Array.from(Trie.keysWithPrefix(trie, "she"))
|
|
285
308
|
* assert.deepStrictEqual(result, ["she", "shells"])
|
|
309
|
+
* ```
|
|
286
310
|
*
|
|
287
311
|
* @since 2.0.0
|
|
288
312
|
* @category getters
|
|
@@ -293,6 +317,7 @@ export const keysWithPrefix: {
|
|
|
293
317
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
294
318
|
*
|
|
295
319
|
* @example
|
|
320
|
+
* ```ts
|
|
296
321
|
* import { Trie } from "effect"
|
|
297
322
|
*
|
|
298
323
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -304,6 +329,7 @@ export const keysWithPrefix: {
|
|
|
304
329
|
*
|
|
305
330
|
* const result = Array.from(Trie.keysWithPrefix(trie, "she"))
|
|
306
331
|
* assert.deepStrictEqual(result, ["she", "shells"])
|
|
332
|
+
* ```
|
|
307
333
|
*
|
|
308
334
|
* @since 2.0.0
|
|
309
335
|
* @category getters
|
|
@@ -316,6 +342,7 @@ export const keysWithPrefix: {
|
|
|
316
342
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
317
343
|
*
|
|
318
344
|
* @example
|
|
345
|
+
* ```ts
|
|
319
346
|
* import { Trie } from "effect"
|
|
320
347
|
*
|
|
321
348
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -329,6 +356,7 @@ export const keysWithPrefix: {
|
|
|
329
356
|
*
|
|
330
357
|
* // 0: "she", 1: "shells"
|
|
331
358
|
* assert.deepStrictEqual(result, [0, 1])
|
|
359
|
+
* ```
|
|
332
360
|
*
|
|
333
361
|
* @since 2.0.0
|
|
334
362
|
* @category getters
|
|
@@ -339,6 +367,7 @@ export const valuesWithPrefix: {
|
|
|
339
367
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
340
368
|
*
|
|
341
369
|
* @example
|
|
370
|
+
* ```ts
|
|
342
371
|
* import { Trie } from "effect"
|
|
343
372
|
*
|
|
344
373
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -352,6 +381,7 @@ export const valuesWithPrefix: {
|
|
|
352
381
|
*
|
|
353
382
|
* // 0: "she", 1: "shells"
|
|
354
383
|
* assert.deepStrictEqual(result, [0, 1])
|
|
384
|
+
* ```
|
|
355
385
|
*
|
|
356
386
|
* @since 2.0.0
|
|
357
387
|
* @category getters
|
|
@@ -362,6 +392,7 @@ export const valuesWithPrefix: {
|
|
|
362
392
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
363
393
|
*
|
|
364
394
|
* @example
|
|
395
|
+
* ```ts
|
|
365
396
|
* import { Trie } from "effect"
|
|
366
397
|
*
|
|
367
398
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -375,6 +406,7 @@ export const valuesWithPrefix: {
|
|
|
375
406
|
*
|
|
376
407
|
* // 0: "she", 1: "shells"
|
|
377
408
|
* assert.deepStrictEqual(result, [0, 1])
|
|
409
|
+
* ```
|
|
378
410
|
*
|
|
379
411
|
* @since 2.0.0
|
|
380
412
|
* @category getters
|
|
@@ -387,6 +419,7 @@ export const valuesWithPrefix: {
|
|
|
387
419
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
388
420
|
*
|
|
389
421
|
* @example
|
|
422
|
+
* ```ts
|
|
390
423
|
* import { Trie } from "effect"
|
|
391
424
|
*
|
|
392
425
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -398,6 +431,7 @@ export const valuesWithPrefix: {
|
|
|
398
431
|
*
|
|
399
432
|
* const result = Array.from(Trie.entriesWithPrefix(trie, "she"))
|
|
400
433
|
* assert.deepStrictEqual(result, [["she", 0], ["shells", 1]])
|
|
434
|
+
* ```
|
|
401
435
|
*
|
|
402
436
|
* @since 2.0.0
|
|
403
437
|
* @category getters
|
|
@@ -408,6 +442,7 @@ export const entriesWithPrefix: {
|
|
|
408
442
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
409
443
|
*
|
|
410
444
|
* @example
|
|
445
|
+
* ```ts
|
|
411
446
|
* import { Trie } from "effect"
|
|
412
447
|
*
|
|
413
448
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -419,6 +454,7 @@ export const entriesWithPrefix: {
|
|
|
419
454
|
*
|
|
420
455
|
* const result = Array.from(Trie.entriesWithPrefix(trie, "she"))
|
|
421
456
|
* assert.deepStrictEqual(result, [["she", 0], ["shells", 1]])
|
|
457
|
+
* ```
|
|
422
458
|
*
|
|
423
459
|
* @since 2.0.0
|
|
424
460
|
* @category getters
|
|
@@ -429,6 +465,7 @@ export const entriesWithPrefix: {
|
|
|
429
465
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
430
466
|
*
|
|
431
467
|
* @example
|
|
468
|
+
* ```ts
|
|
432
469
|
* import { Trie } from "effect"
|
|
433
470
|
*
|
|
434
471
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -440,6 +477,7 @@ export const entriesWithPrefix: {
|
|
|
440
477
|
*
|
|
441
478
|
* const result = Array.from(Trie.entriesWithPrefix(trie, "she"))
|
|
442
479
|
* assert.deepStrictEqual(result, [["she", 0], ["shells", 1]])
|
|
480
|
+
* ```
|
|
443
481
|
*
|
|
444
482
|
* @since 2.0.0
|
|
445
483
|
* @category getters
|
|
@@ -452,6 +490,7 @@ export const entriesWithPrefix: {
|
|
|
452
490
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
453
491
|
*
|
|
454
492
|
* @example
|
|
493
|
+
* ```ts
|
|
455
494
|
* import { Trie } from "effect"
|
|
456
495
|
*
|
|
457
496
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -463,6 +502,7 @@ export const entriesWithPrefix: {
|
|
|
463
502
|
*
|
|
464
503
|
* const result = Trie.toEntriesWithPrefix(trie, "she")
|
|
465
504
|
* assert.deepStrictEqual(result, [["she", 3], ["shells", 0]])
|
|
505
|
+
* ```
|
|
466
506
|
*
|
|
467
507
|
* @since 2.0.0
|
|
468
508
|
* @category getters
|
|
@@ -473,6 +513,7 @@ export const toEntriesWithPrefix: {
|
|
|
473
513
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
474
514
|
*
|
|
475
515
|
* @example
|
|
516
|
+
* ```ts
|
|
476
517
|
* import { Trie } from "effect"
|
|
477
518
|
*
|
|
478
519
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -484,6 +525,7 @@ export const toEntriesWithPrefix: {
|
|
|
484
525
|
*
|
|
485
526
|
* const result = Trie.toEntriesWithPrefix(trie, "she")
|
|
486
527
|
* assert.deepStrictEqual(result, [["she", 3], ["shells", 0]])
|
|
528
|
+
* ```
|
|
487
529
|
*
|
|
488
530
|
* @since 2.0.0
|
|
489
531
|
* @category getters
|
|
@@ -494,6 +536,7 @@ export const toEntriesWithPrefix: {
|
|
|
494
536
|
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
495
537
|
*
|
|
496
538
|
* @example
|
|
539
|
+
* ```ts
|
|
497
540
|
* import { Trie } from "effect"
|
|
498
541
|
*
|
|
499
542
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -505,6 +548,7 @@ export const toEntriesWithPrefix: {
|
|
|
505
548
|
*
|
|
506
549
|
* const result = Trie.toEntriesWithPrefix(trie, "she")
|
|
507
550
|
* assert.deepStrictEqual(result, [["she", 3], ["shells", 0]])
|
|
551
|
+
* ```
|
|
508
552
|
*
|
|
509
553
|
* @since 2.0.0
|
|
510
554
|
* @category getters
|
|
@@ -517,6 +561,7 @@ export const toEntriesWithPrefix: {
|
|
|
517
561
|
* that is a prefix of that `key` if it exists, `None` otherwise.
|
|
518
562
|
*
|
|
519
563
|
* @example
|
|
564
|
+
* ```ts
|
|
520
565
|
* import { Trie, Option } from "effect"
|
|
521
566
|
*
|
|
522
567
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -529,6 +574,7 @@ export const toEntriesWithPrefix: {
|
|
|
529
574
|
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "sells"), Option.some(["sells", 1]))
|
|
530
575
|
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shell"), Option.some(["she", 2]))
|
|
531
576
|
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shellsort"), Option.some(["shells", 0]))
|
|
577
|
+
* ```
|
|
532
578
|
*
|
|
533
579
|
* @since 2.0.0
|
|
534
580
|
* @category getters
|
|
@@ -539,6 +585,7 @@ export const longestPrefixOf: {
|
|
|
539
585
|
* that is a prefix of that `key` if it exists, `None` otherwise.
|
|
540
586
|
*
|
|
541
587
|
* @example
|
|
588
|
+
* ```ts
|
|
542
589
|
* import { Trie, Option } from "effect"
|
|
543
590
|
*
|
|
544
591
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -551,6 +598,7 @@ export const longestPrefixOf: {
|
|
|
551
598
|
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "sells"), Option.some(["sells", 1]))
|
|
552
599
|
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shell"), Option.some(["she", 2]))
|
|
553
600
|
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shellsort"), Option.some(["shells", 0]))
|
|
601
|
+
* ```
|
|
554
602
|
*
|
|
555
603
|
* @since 2.0.0
|
|
556
604
|
* @category getters
|
|
@@ -561,6 +609,7 @@ export const longestPrefixOf: {
|
|
|
561
609
|
* that is a prefix of that `key` if it exists, `None` otherwise.
|
|
562
610
|
*
|
|
563
611
|
* @example
|
|
612
|
+
* ```ts
|
|
564
613
|
* import { Trie, Option } from "effect"
|
|
565
614
|
*
|
|
566
615
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -573,6 +622,7 @@ export const longestPrefixOf: {
|
|
|
573
622
|
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "sells"), Option.some(["sells", 1]))
|
|
574
623
|
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shell"), Option.some(["she", 2]))
|
|
575
624
|
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shellsort"), Option.some(["shells", 0]))
|
|
625
|
+
* ```
|
|
576
626
|
*
|
|
577
627
|
* @since 2.0.0
|
|
578
628
|
* @category getters
|
|
@@ -584,6 +634,7 @@ export const longestPrefixOf: {
|
|
|
584
634
|
* Returns the size of the `Trie` (number of entries in the `Trie`).
|
|
585
635
|
*
|
|
586
636
|
* @example
|
|
637
|
+
* ```ts
|
|
587
638
|
* import { Trie } from "effect"
|
|
588
639
|
*
|
|
589
640
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -592,6 +643,7 @@ export const longestPrefixOf: {
|
|
|
592
643
|
* )
|
|
593
644
|
*
|
|
594
645
|
* assert.equal(Trie.size(trie), 2)
|
|
646
|
+
* ```
|
|
595
647
|
*
|
|
596
648
|
* @since 2.0.0
|
|
597
649
|
* @category getters
|
|
@@ -602,6 +654,7 @@ export const size: <V>(self: Trie<V>) => number = TR.size
|
|
|
602
654
|
* Safely lookup the value for the specified key in the `Trie`.
|
|
603
655
|
*
|
|
604
656
|
* @example
|
|
657
|
+
* ```ts
|
|
605
658
|
* import { Trie, Option } from "effect"
|
|
606
659
|
*
|
|
607
660
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -619,6 +672,7 @@ export const size: <V>(self: Trie<V>) => number = TR.size
|
|
|
619
672
|
* assert.deepStrictEqual(Trie.get(trie, "ma"), Option.none())
|
|
620
673
|
* assert.deepStrictEqual(Trie.get(trie, "midn"), Option.none())
|
|
621
674
|
* assert.deepStrictEqual(Trie.get(trie, "mea"), Option.none())
|
|
675
|
+
* ```
|
|
622
676
|
*
|
|
623
677
|
* @since 2.0.0
|
|
624
678
|
* @category elements
|
|
@@ -628,6 +682,7 @@ export const get: {
|
|
|
628
682
|
* Safely lookup the value for the specified key in the `Trie`.
|
|
629
683
|
*
|
|
630
684
|
* @example
|
|
685
|
+
* ```ts
|
|
631
686
|
* import { Trie, Option } from "effect"
|
|
632
687
|
*
|
|
633
688
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -645,6 +700,7 @@ export const get: {
|
|
|
645
700
|
* assert.deepStrictEqual(Trie.get(trie, "ma"), Option.none())
|
|
646
701
|
* assert.deepStrictEqual(Trie.get(trie, "midn"), Option.none())
|
|
647
702
|
* assert.deepStrictEqual(Trie.get(trie, "mea"), Option.none())
|
|
703
|
+
* ```
|
|
648
704
|
*
|
|
649
705
|
* @since 2.0.0
|
|
650
706
|
* @category elements
|
|
@@ -654,6 +710,7 @@ export const get: {
|
|
|
654
710
|
* Safely lookup the value for the specified key in the `Trie`.
|
|
655
711
|
*
|
|
656
712
|
* @example
|
|
713
|
+
* ```ts
|
|
657
714
|
* import { Trie, Option } from "effect"
|
|
658
715
|
*
|
|
659
716
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -671,6 +728,7 @@ export const get: {
|
|
|
671
728
|
* assert.deepStrictEqual(Trie.get(trie, "ma"), Option.none())
|
|
672
729
|
* assert.deepStrictEqual(Trie.get(trie, "midn"), Option.none())
|
|
673
730
|
* assert.deepStrictEqual(Trie.get(trie, "mea"), Option.none())
|
|
731
|
+
* ```
|
|
674
732
|
*
|
|
675
733
|
* @since 2.0.0
|
|
676
734
|
* @category elements
|
|
@@ -682,6 +740,7 @@ export const get: {
|
|
|
682
740
|
* Check if the given key exists in the `Trie`.
|
|
683
741
|
*
|
|
684
742
|
* @example
|
|
743
|
+
* ```ts
|
|
685
744
|
* import { Trie } from "effect"
|
|
686
745
|
*
|
|
687
746
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -699,6 +758,7 @@ export const get: {
|
|
|
699
758
|
* assert.equal(Trie.has(trie, "ma"), false)
|
|
700
759
|
* assert.equal(Trie.has(trie, "midn"), false)
|
|
701
760
|
* assert.equal(Trie.has(trie, "mea"), false)
|
|
761
|
+
* ```
|
|
702
762
|
*
|
|
703
763
|
* @since 2.0.0
|
|
704
764
|
* @category elements
|
|
@@ -708,6 +768,7 @@ export const has: {
|
|
|
708
768
|
* Check if the given key exists in the `Trie`.
|
|
709
769
|
*
|
|
710
770
|
* @example
|
|
771
|
+
* ```ts
|
|
711
772
|
* import { Trie } from "effect"
|
|
712
773
|
*
|
|
713
774
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -725,6 +786,7 @@ export const has: {
|
|
|
725
786
|
* assert.equal(Trie.has(trie, "ma"), false)
|
|
726
787
|
* assert.equal(Trie.has(trie, "midn"), false)
|
|
727
788
|
* assert.equal(Trie.has(trie, "mea"), false)
|
|
789
|
+
* ```
|
|
728
790
|
*
|
|
729
791
|
* @since 2.0.0
|
|
730
792
|
* @category elements
|
|
@@ -734,6 +796,7 @@ export const has: {
|
|
|
734
796
|
* Check if the given key exists in the `Trie`.
|
|
735
797
|
*
|
|
736
798
|
* @example
|
|
799
|
+
* ```ts
|
|
737
800
|
* import { Trie } from "effect"
|
|
738
801
|
*
|
|
739
802
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -751,6 +814,7 @@ export const has: {
|
|
|
751
814
|
* assert.equal(Trie.has(trie, "ma"), false)
|
|
752
815
|
* assert.equal(Trie.has(trie, "midn"), false)
|
|
753
816
|
* assert.equal(Trie.has(trie, "mea"), false)
|
|
817
|
+
* ```
|
|
754
818
|
*
|
|
755
819
|
* @since 2.0.0
|
|
756
820
|
* @category elements
|
|
@@ -762,6 +826,7 @@ export const has: {
|
|
|
762
826
|
* Checks if the `Trie` contains any entries.
|
|
763
827
|
*
|
|
764
828
|
* @example
|
|
829
|
+
* ```ts
|
|
765
830
|
* import { Trie } from "effect"
|
|
766
831
|
*
|
|
767
832
|
* const trie = Trie.empty<number>()
|
|
@@ -769,6 +834,7 @@ export const has: {
|
|
|
769
834
|
*
|
|
770
835
|
* assert.equal(Trie.isEmpty(trie), true)
|
|
771
836
|
* assert.equal(Trie.isEmpty(trie1), false)
|
|
837
|
+
* ```
|
|
772
838
|
*
|
|
773
839
|
* @since 2.0.0
|
|
774
840
|
* @category elements
|
|
@@ -782,6 +848,7 @@ export const isEmpty: <V>(self: Trie<V>) => boolean = TR.isEmpty
|
|
|
782
848
|
* get a value from the `Trie`.
|
|
783
849
|
*
|
|
784
850
|
* @example
|
|
851
|
+
* ```ts
|
|
785
852
|
* import { Trie } from "effect"
|
|
786
853
|
*
|
|
787
854
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -790,6 +857,7 @@ export const isEmpty: <V>(self: Trie<V>) => boolean = TR.isEmpty
|
|
|
790
857
|
* )
|
|
791
858
|
*
|
|
792
859
|
* assert.throws(() => Trie.unsafeGet(trie, "mae"))
|
|
860
|
+
* ```
|
|
793
861
|
*
|
|
794
862
|
* @since 2.0.0
|
|
795
863
|
* @category unsafe
|
|
@@ -802,6 +870,7 @@ export const unsafeGet: {
|
|
|
802
870
|
* get a value from the `Trie`.
|
|
803
871
|
*
|
|
804
872
|
* @example
|
|
873
|
+
* ```ts
|
|
805
874
|
* import { Trie } from "effect"
|
|
806
875
|
*
|
|
807
876
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -810,6 +879,7 @@ export const unsafeGet: {
|
|
|
810
879
|
* )
|
|
811
880
|
*
|
|
812
881
|
* assert.throws(() => Trie.unsafeGet(trie, "mae"))
|
|
882
|
+
* ```
|
|
813
883
|
*
|
|
814
884
|
* @since 2.0.0
|
|
815
885
|
* @category unsafe
|
|
@@ -822,6 +892,7 @@ export const unsafeGet: {
|
|
|
822
892
|
* get a value from the `Trie`.
|
|
823
893
|
*
|
|
824
894
|
* @example
|
|
895
|
+
* ```ts
|
|
825
896
|
* import { Trie } from "effect"
|
|
826
897
|
*
|
|
827
898
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -830,6 +901,7 @@ export const unsafeGet: {
|
|
|
830
901
|
* )
|
|
831
902
|
*
|
|
832
903
|
* assert.throws(() => Trie.unsafeGet(trie, "mae"))
|
|
904
|
+
* ```
|
|
833
905
|
*
|
|
834
906
|
* @since 2.0.0
|
|
835
907
|
* @category unsafe
|
|
@@ -841,6 +913,7 @@ export const unsafeGet: {
|
|
|
841
913
|
* Remove the entry for the specified key in the `Trie`.
|
|
842
914
|
*
|
|
843
915
|
* @example
|
|
916
|
+
* ```ts
|
|
844
917
|
* import { Trie, Option } from "effect"
|
|
845
918
|
*
|
|
846
919
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -856,6 +929,7 @@ export const unsafeGet: {
|
|
|
856
929
|
* assert.deepStrictEqual(Trie.get(trie, "call"), Option.some(0))
|
|
857
930
|
* assert.deepStrictEqual(Trie.get(trie1, "call"), Option.none())
|
|
858
931
|
* assert.deepStrictEqual(Trie.get(trie2, "call"), Option.none())
|
|
932
|
+
* ```
|
|
859
933
|
*
|
|
860
934
|
* @since 2.0.0
|
|
861
935
|
* @category mutations
|
|
@@ -865,6 +939,7 @@ export const remove: {
|
|
|
865
939
|
* Remove the entry for the specified key in the `Trie`.
|
|
866
940
|
*
|
|
867
941
|
* @example
|
|
942
|
+
* ```ts
|
|
868
943
|
* import { Trie, Option } from "effect"
|
|
869
944
|
*
|
|
870
945
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -880,6 +955,7 @@ export const remove: {
|
|
|
880
955
|
* assert.deepStrictEqual(Trie.get(trie, "call"), Option.some(0))
|
|
881
956
|
* assert.deepStrictEqual(Trie.get(trie1, "call"), Option.none())
|
|
882
957
|
* assert.deepStrictEqual(Trie.get(trie2, "call"), Option.none())
|
|
958
|
+
* ```
|
|
883
959
|
*
|
|
884
960
|
* @since 2.0.0
|
|
885
961
|
* @category mutations
|
|
@@ -889,6 +965,7 @@ export const remove: {
|
|
|
889
965
|
* Remove the entry for the specified key in the `Trie`.
|
|
890
966
|
*
|
|
891
967
|
* @example
|
|
968
|
+
* ```ts
|
|
892
969
|
* import { Trie, Option } from "effect"
|
|
893
970
|
*
|
|
894
971
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -904,6 +981,7 @@ export const remove: {
|
|
|
904
981
|
* assert.deepStrictEqual(Trie.get(trie, "call"), Option.some(0))
|
|
905
982
|
* assert.deepStrictEqual(Trie.get(trie1, "call"), Option.none())
|
|
906
983
|
* assert.deepStrictEqual(Trie.get(trie2, "call"), Option.none())
|
|
984
|
+
* ```
|
|
907
985
|
*
|
|
908
986
|
* @since 2.0.0
|
|
909
987
|
* @category mutations
|
|
@@ -915,6 +993,7 @@ export const remove: {
|
|
|
915
993
|
* Reduce a state over the entries of the `Trie`.
|
|
916
994
|
*
|
|
917
995
|
* @example
|
|
996
|
+
* ```ts
|
|
918
997
|
* import { Trie } from "effect"
|
|
919
998
|
*
|
|
920
999
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -941,6 +1020,7 @@ export const remove: {
|
|
|
941
1020
|
* ),
|
|
942
1021
|
* "sellssheshells"
|
|
943
1022
|
* )
|
|
1023
|
+
* ```
|
|
944
1024
|
*
|
|
945
1025
|
* @since 2.0.0
|
|
946
1026
|
* @category folding
|
|
@@ -950,6 +1030,7 @@ export const reduce: {
|
|
|
950
1030
|
* Reduce a state over the entries of the `Trie`.
|
|
951
1031
|
*
|
|
952
1032
|
* @example
|
|
1033
|
+
* ```ts
|
|
953
1034
|
* import { Trie } from "effect"
|
|
954
1035
|
*
|
|
955
1036
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -976,6 +1057,7 @@ export const reduce: {
|
|
|
976
1057
|
* ),
|
|
977
1058
|
* "sellssheshells"
|
|
978
1059
|
* )
|
|
1060
|
+
* ```
|
|
979
1061
|
*
|
|
980
1062
|
* @since 2.0.0
|
|
981
1063
|
* @category folding
|
|
@@ -985,6 +1067,7 @@ export const reduce: {
|
|
|
985
1067
|
* Reduce a state over the entries of the `Trie`.
|
|
986
1068
|
*
|
|
987
1069
|
* @example
|
|
1070
|
+
* ```ts
|
|
988
1071
|
* import { Trie } from "effect"
|
|
989
1072
|
*
|
|
990
1073
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1011,6 +1094,7 @@ export const reduce: {
|
|
|
1011
1094
|
* ),
|
|
1012
1095
|
* "sellssheshells"
|
|
1013
1096
|
* )
|
|
1097
|
+
* ```
|
|
1014
1098
|
*
|
|
1015
1099
|
* @since 2.0.0
|
|
1016
1100
|
* @category folding
|
|
@@ -1022,6 +1106,7 @@ export const reduce: {
|
|
|
1022
1106
|
* Maps over the entries of the `Trie` using the specified function.
|
|
1023
1107
|
*
|
|
1024
1108
|
* @example
|
|
1109
|
+
* ```ts
|
|
1025
1110
|
* import { Trie, Equal } from "effect"
|
|
1026
1111
|
*
|
|
1027
1112
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1044,6 +1129,7 @@ export const reduce: {
|
|
|
1044
1129
|
*
|
|
1045
1130
|
* assert.equal(Equal.equals(Trie.map(trie, (v) => v + 1), trieMapV), true)
|
|
1046
1131
|
* assert.equal(Equal.equals(Trie.map(trie, (_, k) => k.length), trieMapK), true)
|
|
1132
|
+
* ```
|
|
1047
1133
|
*
|
|
1048
1134
|
* @since 2.0.0
|
|
1049
1135
|
* @category folding
|
|
@@ -1053,6 +1139,7 @@ export const map: {
|
|
|
1053
1139
|
* Maps over the entries of the `Trie` using the specified function.
|
|
1054
1140
|
*
|
|
1055
1141
|
* @example
|
|
1142
|
+
* ```ts
|
|
1056
1143
|
* import { Trie, Equal } from "effect"
|
|
1057
1144
|
*
|
|
1058
1145
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1075,6 +1162,7 @@ export const map: {
|
|
|
1075
1162
|
*
|
|
1076
1163
|
* assert.equal(Equal.equals(Trie.map(trie, (v) => v + 1), trieMapV), true)
|
|
1077
1164
|
* assert.equal(Equal.equals(Trie.map(trie, (_, k) => k.length), trieMapK), true)
|
|
1165
|
+
* ```
|
|
1078
1166
|
*
|
|
1079
1167
|
* @since 2.0.0
|
|
1080
1168
|
* @category folding
|
|
@@ -1084,6 +1172,7 @@ export const map: {
|
|
|
1084
1172
|
* Maps over the entries of the `Trie` using the specified function.
|
|
1085
1173
|
*
|
|
1086
1174
|
* @example
|
|
1175
|
+
* ```ts
|
|
1087
1176
|
* import { Trie, Equal } from "effect"
|
|
1088
1177
|
*
|
|
1089
1178
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1106,6 +1195,7 @@ export const map: {
|
|
|
1106
1195
|
*
|
|
1107
1196
|
* assert.equal(Equal.equals(Trie.map(trie, (v) => v + 1), trieMapV), true)
|
|
1108
1197
|
* assert.equal(Equal.equals(Trie.map(trie, (_, k) => k.length), trieMapK), true)
|
|
1198
|
+
* ```
|
|
1109
1199
|
*
|
|
1110
1200
|
* @since 2.0.0
|
|
1111
1201
|
* @category folding
|
|
@@ -1117,6 +1207,7 @@ export const map: {
|
|
|
1117
1207
|
* Filters entries out of a `Trie` using the specified predicate.
|
|
1118
1208
|
*
|
|
1119
1209
|
* @example
|
|
1210
|
+
* ```ts
|
|
1120
1211
|
* import { Trie, Equal } from "effect"
|
|
1121
1212
|
*
|
|
1122
1213
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1136,6 +1227,7 @@ export const map: {
|
|
|
1136
1227
|
*
|
|
1137
1228
|
* assert.equal(Equal.equals(Trie.filter(trie, (v) => v > 1), trieMapV), true)
|
|
1138
1229
|
* assert.equal(Equal.equals(Trie.filter(trie, (_, k) => k.length > 3), trieMapK), true)
|
|
1230
|
+
* ```
|
|
1139
1231
|
*
|
|
1140
1232
|
* @since 2.0.0
|
|
1141
1233
|
* @category filtering
|
|
@@ -1145,6 +1237,7 @@ export const filter: {
|
|
|
1145
1237
|
* Filters entries out of a `Trie` using the specified predicate.
|
|
1146
1238
|
*
|
|
1147
1239
|
* @example
|
|
1240
|
+
* ```ts
|
|
1148
1241
|
* import { Trie, Equal } from "effect"
|
|
1149
1242
|
*
|
|
1150
1243
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1164,6 +1257,7 @@ export const filter: {
|
|
|
1164
1257
|
*
|
|
1165
1258
|
* assert.equal(Equal.equals(Trie.filter(trie, (v) => v > 1), trieMapV), true)
|
|
1166
1259
|
* assert.equal(Equal.equals(Trie.filter(trie, (_, k) => k.length > 3), trieMapK), true)
|
|
1260
|
+
* ```
|
|
1167
1261
|
*
|
|
1168
1262
|
* @since 2.0.0
|
|
1169
1263
|
* @category filtering
|
|
@@ -1173,6 +1267,7 @@ export const filter: {
|
|
|
1173
1267
|
* Filters entries out of a `Trie` using the specified predicate.
|
|
1174
1268
|
*
|
|
1175
1269
|
* @example
|
|
1270
|
+
* ```ts
|
|
1176
1271
|
* import { Trie, Equal } from "effect"
|
|
1177
1272
|
*
|
|
1178
1273
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1192,6 +1287,7 @@ export const filter: {
|
|
|
1192
1287
|
*
|
|
1193
1288
|
* assert.equal(Equal.equals(Trie.filter(trie, (v) => v > 1), trieMapV), true)
|
|
1194
1289
|
* assert.equal(Equal.equals(Trie.filter(trie, (_, k) => k.length > 3), trieMapK), true)
|
|
1290
|
+
* ```
|
|
1195
1291
|
*
|
|
1196
1292
|
* @since 2.0.0
|
|
1197
1293
|
* @category filtering
|
|
@@ -1201,6 +1297,7 @@ export const filter: {
|
|
|
1201
1297
|
* Filters entries out of a `Trie` using the specified predicate.
|
|
1202
1298
|
*
|
|
1203
1299
|
* @example
|
|
1300
|
+
* ```ts
|
|
1204
1301
|
* import { Trie, Equal } from "effect"
|
|
1205
1302
|
*
|
|
1206
1303
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1220,6 +1317,7 @@ export const filter: {
|
|
|
1220
1317
|
*
|
|
1221
1318
|
* assert.equal(Equal.equals(Trie.filter(trie, (v) => v > 1), trieMapV), true)
|
|
1222
1319
|
* assert.equal(Equal.equals(Trie.filter(trie, (_, k) => k.length > 3), trieMapK), true)
|
|
1320
|
+
* ```
|
|
1223
1321
|
*
|
|
1224
1322
|
* @since 2.0.0
|
|
1225
1323
|
* @category filtering
|
|
@@ -1229,6 +1327,7 @@ export const filter: {
|
|
|
1229
1327
|
* Filters entries out of a `Trie` using the specified predicate.
|
|
1230
1328
|
*
|
|
1231
1329
|
* @example
|
|
1330
|
+
* ```ts
|
|
1232
1331
|
* import { Trie, Equal } from "effect"
|
|
1233
1332
|
*
|
|
1234
1333
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1248,6 +1347,7 @@ export const filter: {
|
|
|
1248
1347
|
*
|
|
1249
1348
|
* assert.equal(Equal.equals(Trie.filter(trie, (v) => v > 1), trieMapV), true)
|
|
1250
1349
|
* assert.equal(Equal.equals(Trie.filter(trie, (_, k) => k.length > 3), trieMapK), true)
|
|
1350
|
+
* ```
|
|
1251
1351
|
*
|
|
1252
1352
|
* @since 2.0.0
|
|
1253
1353
|
* @category filtering
|
|
@@ -1260,6 +1360,7 @@ export const filter: {
|
|
|
1260
1360
|
* and filters out `None` values.
|
|
1261
1361
|
*
|
|
1262
1362
|
* @example
|
|
1363
|
+
* ```ts
|
|
1263
1364
|
* import { Trie, Equal, Option } from "effect"
|
|
1264
1365
|
*
|
|
1265
1366
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1282,6 +1383,7 @@ export const filter: {
|
|
|
1282
1383
|
* Equal.equals(Trie.filterMap(trie, (v, k) => k.length > 3 ? Option.some(v) : Option.none()), trieMapK),
|
|
1283
1384
|
* true
|
|
1284
1385
|
* )
|
|
1386
|
+
* ```
|
|
1285
1387
|
*
|
|
1286
1388
|
* @since 2.0.0
|
|
1287
1389
|
* @category filtering
|
|
@@ -1292,6 +1394,7 @@ export const filterMap: {
|
|
|
1292
1394
|
* and filters out `None` values.
|
|
1293
1395
|
*
|
|
1294
1396
|
* @example
|
|
1397
|
+
* ```ts
|
|
1295
1398
|
* import { Trie, Equal, Option } from "effect"
|
|
1296
1399
|
*
|
|
1297
1400
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1314,6 +1417,7 @@ export const filterMap: {
|
|
|
1314
1417
|
* Equal.equals(Trie.filterMap(trie, (v, k) => k.length > 3 ? Option.some(v) : Option.none()), trieMapK),
|
|
1315
1418
|
* true
|
|
1316
1419
|
* )
|
|
1420
|
+
* ```
|
|
1317
1421
|
*
|
|
1318
1422
|
* @since 2.0.0
|
|
1319
1423
|
* @category filtering
|
|
@@ -1324,6 +1428,7 @@ export const filterMap: {
|
|
|
1324
1428
|
* and filters out `None` values.
|
|
1325
1429
|
*
|
|
1326
1430
|
* @example
|
|
1431
|
+
* ```ts
|
|
1327
1432
|
* import { Trie, Equal, Option } from "effect"
|
|
1328
1433
|
*
|
|
1329
1434
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1346,6 +1451,7 @@ export const filterMap: {
|
|
|
1346
1451
|
* Equal.equals(Trie.filterMap(trie, (v, k) => k.length > 3 ? Option.some(v) : Option.none()), trieMapK),
|
|
1347
1452
|
* true
|
|
1348
1453
|
* )
|
|
1454
|
+
* ```
|
|
1349
1455
|
*
|
|
1350
1456
|
* @since 2.0.0
|
|
1351
1457
|
* @category filtering
|
|
@@ -1357,6 +1463,7 @@ export const filterMap: {
|
|
|
1357
1463
|
* Filters out `None` values from a `Trie` of `Options`s.
|
|
1358
1464
|
*
|
|
1359
1465
|
* @example
|
|
1466
|
+
* ```ts
|
|
1360
1467
|
* import { Trie, Equal, Option } from "effect"
|
|
1361
1468
|
*
|
|
1362
1469
|
* const trie = Trie.empty<Option.Option<number>>().pipe(
|
|
@@ -1371,6 +1478,7 @@ export const filterMap: {
|
|
|
1371
1478
|
* )
|
|
1372
1479
|
*
|
|
1373
1480
|
* assert.equal(Equal.equals(Trie.compact(trie), trieMapV), true)
|
|
1481
|
+
* ```
|
|
1374
1482
|
*
|
|
1375
1483
|
* @since 2.0.0
|
|
1376
1484
|
* @category filtering
|
|
@@ -1381,6 +1489,7 @@ export const compact: <A>(self: Trie<Option<A>>) => Trie<A> = TR.compact
|
|
|
1381
1489
|
* Applies the specified function to the entries of the `Trie`.
|
|
1382
1490
|
*
|
|
1383
1491
|
* @example
|
|
1492
|
+
* ```ts
|
|
1384
1493
|
* import { Trie } from "effect"
|
|
1385
1494
|
*
|
|
1386
1495
|
* let value = 0
|
|
@@ -1395,6 +1504,7 @@ export const compact: <A>(self: Trie<Option<A>>) => Trie<A> = TR.compact
|
|
|
1395
1504
|
* )
|
|
1396
1505
|
*
|
|
1397
1506
|
* assert.equal(value, 17)
|
|
1507
|
+
* ```
|
|
1398
1508
|
*
|
|
1399
1509
|
* @since 2.0.0
|
|
1400
1510
|
* @category traversing
|
|
@@ -1404,6 +1514,7 @@ export const forEach: {
|
|
|
1404
1514
|
* Applies the specified function to the entries of the `Trie`.
|
|
1405
1515
|
*
|
|
1406
1516
|
* @example
|
|
1517
|
+
* ```ts
|
|
1407
1518
|
* import { Trie } from "effect"
|
|
1408
1519
|
*
|
|
1409
1520
|
* let value = 0
|
|
@@ -1418,6 +1529,7 @@ export const forEach: {
|
|
|
1418
1529
|
* )
|
|
1419
1530
|
*
|
|
1420
1531
|
* assert.equal(value, 17)
|
|
1532
|
+
* ```
|
|
1421
1533
|
*
|
|
1422
1534
|
* @since 2.0.0
|
|
1423
1535
|
* @category traversing
|
|
@@ -1427,6 +1539,7 @@ export const forEach: {
|
|
|
1427
1539
|
* Applies the specified function to the entries of the `Trie`.
|
|
1428
1540
|
*
|
|
1429
1541
|
* @example
|
|
1542
|
+
* ```ts
|
|
1430
1543
|
* import { Trie } from "effect"
|
|
1431
1544
|
*
|
|
1432
1545
|
* let value = 0
|
|
@@ -1441,6 +1554,7 @@ export const forEach: {
|
|
|
1441
1554
|
* )
|
|
1442
1555
|
*
|
|
1443
1556
|
* assert.equal(value, 17)
|
|
1557
|
+
* ```
|
|
1444
1558
|
*
|
|
1445
1559
|
* @since 2.0.0
|
|
1446
1560
|
* @category traversing
|
|
@@ -1452,6 +1566,7 @@ export const forEach: {
|
|
|
1452
1566
|
* Updates the value of the specified key within the `Trie` if it exists.
|
|
1453
1567
|
*
|
|
1454
1568
|
* @example
|
|
1569
|
+
* ```ts
|
|
1455
1570
|
* import { Trie, Equal, Option } from "effect"
|
|
1456
1571
|
*
|
|
1457
1572
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1463,6 +1578,7 @@ export const forEach: {
|
|
|
1463
1578
|
* assert.deepStrictEqual(trie.pipe(Trie.modify("she", (v) => v + 10), Trie.get("she")), Option.some(12))
|
|
1464
1579
|
*
|
|
1465
1580
|
* assert.equal(Equal.equals(trie.pipe(Trie.modify("me", (v) => v)), trie), true)
|
|
1581
|
+
* ```
|
|
1466
1582
|
*
|
|
1467
1583
|
* @since 2.0.0
|
|
1468
1584
|
* @category mutations
|
|
@@ -1472,6 +1588,7 @@ export const modify: {
|
|
|
1472
1588
|
* Updates the value of the specified key within the `Trie` if it exists.
|
|
1473
1589
|
*
|
|
1474
1590
|
* @example
|
|
1591
|
+
* ```ts
|
|
1475
1592
|
* import { Trie, Equal, Option } from "effect"
|
|
1476
1593
|
*
|
|
1477
1594
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1483,6 +1600,7 @@ export const modify: {
|
|
|
1483
1600
|
* assert.deepStrictEqual(trie.pipe(Trie.modify("she", (v) => v + 10), Trie.get("she")), Option.some(12))
|
|
1484
1601
|
*
|
|
1485
1602
|
* assert.equal(Equal.equals(trie.pipe(Trie.modify("me", (v) => v)), trie), true)
|
|
1603
|
+
* ```
|
|
1486
1604
|
*
|
|
1487
1605
|
* @since 2.0.0
|
|
1488
1606
|
* @category mutations
|
|
@@ -1492,6 +1610,7 @@ export const modify: {
|
|
|
1492
1610
|
* Updates the value of the specified key within the `Trie` if it exists.
|
|
1493
1611
|
*
|
|
1494
1612
|
* @example
|
|
1613
|
+
* ```ts
|
|
1495
1614
|
* import { Trie, Equal, Option } from "effect"
|
|
1496
1615
|
*
|
|
1497
1616
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1503,6 +1622,7 @@ export const modify: {
|
|
|
1503
1622
|
* assert.deepStrictEqual(trie.pipe(Trie.modify("she", (v) => v + 10), Trie.get("she")), Option.some(12))
|
|
1504
1623
|
*
|
|
1505
1624
|
* assert.equal(Equal.equals(trie.pipe(Trie.modify("me", (v) => v)), trie), true)
|
|
1625
|
+
* ```
|
|
1506
1626
|
*
|
|
1507
1627
|
* @since 2.0.0
|
|
1508
1628
|
* @category mutations
|
|
@@ -1514,6 +1634,7 @@ export const modify: {
|
|
|
1514
1634
|
* Removes all entries in the `Trie` which have the specified keys.
|
|
1515
1635
|
*
|
|
1516
1636
|
* @example
|
|
1637
|
+
* ```ts
|
|
1517
1638
|
* import { Trie, Equal } from "effect"
|
|
1518
1639
|
*
|
|
1519
1640
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1526,6 +1647,7 @@ export const modify: {
|
|
|
1526
1647
|
* Equal.equals(trie.pipe(Trie.removeMany(["she", "sells"])), Trie.empty<number>().pipe(Trie.insert("shells", 0))),
|
|
1527
1648
|
* true
|
|
1528
1649
|
* )
|
|
1650
|
+
* ```
|
|
1529
1651
|
*
|
|
1530
1652
|
* @since 2.0.0
|
|
1531
1653
|
* @category mutations
|
|
@@ -1535,6 +1657,7 @@ export const removeMany: {
|
|
|
1535
1657
|
* Removes all entries in the `Trie` which have the specified keys.
|
|
1536
1658
|
*
|
|
1537
1659
|
* @example
|
|
1660
|
+
* ```ts
|
|
1538
1661
|
* import { Trie, Equal } from "effect"
|
|
1539
1662
|
*
|
|
1540
1663
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1547,6 +1670,7 @@ export const removeMany: {
|
|
|
1547
1670
|
* Equal.equals(trie.pipe(Trie.removeMany(["she", "sells"])), Trie.empty<number>().pipe(Trie.insert("shells", 0))),
|
|
1548
1671
|
* true
|
|
1549
1672
|
* )
|
|
1673
|
+
* ```
|
|
1550
1674
|
*
|
|
1551
1675
|
* @since 2.0.0
|
|
1552
1676
|
* @category mutations
|
|
@@ -1556,6 +1680,7 @@ export const removeMany: {
|
|
|
1556
1680
|
* Removes all entries in the `Trie` which have the specified keys.
|
|
1557
1681
|
*
|
|
1558
1682
|
* @example
|
|
1683
|
+
* ```ts
|
|
1559
1684
|
* import { Trie, Equal } from "effect"
|
|
1560
1685
|
*
|
|
1561
1686
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1568,6 +1693,7 @@ export const removeMany: {
|
|
|
1568
1693
|
* Equal.equals(trie.pipe(Trie.removeMany(["she", "sells"])), Trie.empty<number>().pipe(Trie.insert("shells", 0))),
|
|
1569
1694
|
* true
|
|
1570
1695
|
* )
|
|
1696
|
+
* ```
|
|
1571
1697
|
*
|
|
1572
1698
|
* @since 2.0.0
|
|
1573
1699
|
* @category mutations
|
|
@@ -1579,6 +1705,7 @@ export const removeMany: {
|
|
|
1579
1705
|
* Insert multiple entries in the `Trie` at once.
|
|
1580
1706
|
*
|
|
1581
1707
|
* @example
|
|
1708
|
+
* ```ts
|
|
1582
1709
|
* import { Trie, Equal } from "effect"
|
|
1583
1710
|
*
|
|
1584
1711
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1598,6 +1725,7 @@ export const removeMany: {
|
|
|
1598
1725
|
* Equal.equals(trie, trieInsert),
|
|
1599
1726
|
* true
|
|
1600
1727
|
* )
|
|
1728
|
+
* ```
|
|
1601
1729
|
*
|
|
1602
1730
|
* @since 2.0.0
|
|
1603
1731
|
* @category mutations
|
|
@@ -1607,6 +1735,7 @@ export const insertMany: {
|
|
|
1607
1735
|
* Insert multiple entries in the `Trie` at once.
|
|
1608
1736
|
*
|
|
1609
1737
|
* @example
|
|
1738
|
+
* ```ts
|
|
1610
1739
|
* import { Trie, Equal } from "effect"
|
|
1611
1740
|
*
|
|
1612
1741
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1626,6 +1755,7 @@ export const insertMany: {
|
|
|
1626
1755
|
* Equal.equals(trie, trieInsert),
|
|
1627
1756
|
* true
|
|
1628
1757
|
* )
|
|
1758
|
+
* ```
|
|
1629
1759
|
*
|
|
1630
1760
|
* @since 2.0.0
|
|
1631
1761
|
* @category mutations
|
|
@@ -1635,6 +1765,7 @@ export const insertMany: {
|
|
|
1635
1765
|
* Insert multiple entries in the `Trie` at once.
|
|
1636
1766
|
*
|
|
1637
1767
|
* @example
|
|
1768
|
+
* ```ts
|
|
1638
1769
|
* import { Trie, Equal } from "effect"
|
|
1639
1770
|
*
|
|
1640
1771
|
* const trie = Trie.empty<number>().pipe(
|
|
@@ -1654,6 +1785,7 @@ export const insertMany: {
|
|
|
1654
1785
|
* Equal.equals(trie, trieInsert),
|
|
1655
1786
|
* true
|
|
1656
1787
|
* )
|
|
1788
|
+
* ```
|
|
1657
1789
|
*
|
|
1658
1790
|
* @since 2.0.0
|
|
1659
1791
|
* @category mutations
|