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/String.ts
CHANGED
|
@@ -23,10 +23,12 @@ import * as predicate from "./Predicate.js"
|
|
|
23
23
|
* @param input - The value to test.
|
|
24
24
|
*
|
|
25
25
|
* @example
|
|
26
|
+
* ```ts
|
|
26
27
|
* import { String } from "effect"
|
|
27
28
|
*
|
|
28
29
|
* assert.deepStrictEqual(String.isString("a"), true)
|
|
29
30
|
* assert.deepStrictEqual(String.isString(1), false)
|
|
31
|
+
* ```
|
|
30
32
|
*
|
|
31
33
|
* @category guards
|
|
32
34
|
* @since 2.0.0
|
|
@@ -81,9 +83,11 @@ export const concat: {
|
|
|
81
83
|
|
|
82
84
|
/**
|
|
83
85
|
* @example
|
|
86
|
+
* ```ts
|
|
84
87
|
* import { pipe, String } from "effect"
|
|
85
88
|
*
|
|
86
89
|
* assert.deepStrictEqual(pipe('a', String.toUpperCase), 'A')
|
|
90
|
+
* ```
|
|
87
91
|
*
|
|
88
92
|
* @since 2.0.0
|
|
89
93
|
*/
|
|
@@ -91,9 +95,11 @@ export const toUpperCase = <S extends string>(self: S): Uppercase<S> => self.toU
|
|
|
91
95
|
|
|
92
96
|
/**
|
|
93
97
|
* @example
|
|
98
|
+
* ```ts
|
|
94
99
|
* import { pipe, String } from "effect"
|
|
95
100
|
*
|
|
96
101
|
* assert.deepStrictEqual(pipe('A', String.toLowerCase), 'a')
|
|
102
|
+
* ```
|
|
97
103
|
*
|
|
98
104
|
* @since 2.0.0
|
|
99
105
|
*/
|
|
@@ -101,9 +107,11 @@ export const toLowerCase = <T extends string>(self: T): Lowercase<T> => self.toL
|
|
|
101
107
|
|
|
102
108
|
/**
|
|
103
109
|
* @example
|
|
110
|
+
* ```ts
|
|
104
111
|
* import { pipe, String } from "effect"
|
|
105
112
|
*
|
|
106
113
|
* assert.deepStrictEqual(pipe('abc', String.capitalize), 'Abc')
|
|
114
|
+
* ```
|
|
107
115
|
*
|
|
108
116
|
* @since 2.0.0
|
|
109
117
|
*/
|
|
@@ -115,9 +123,11 @@ export const capitalize = <T extends string>(self: T): Capitalize<T> => {
|
|
|
115
123
|
|
|
116
124
|
/**
|
|
117
125
|
* @example
|
|
126
|
+
* ```ts
|
|
118
127
|
* import { pipe, String } from "effect"
|
|
119
128
|
*
|
|
120
129
|
* assert.deepStrictEqual(pipe('ABC', String.uncapitalize), 'aBC')
|
|
130
|
+
* ```
|
|
121
131
|
*
|
|
122
132
|
* @since 2.0.0
|
|
123
133
|
*/
|
|
@@ -129,9 +139,11 @@ export const uncapitalize = <T extends string>(self: T): Uncapitalize<T> => {
|
|
|
129
139
|
|
|
130
140
|
/**
|
|
131
141
|
* @example
|
|
142
|
+
* ```ts
|
|
132
143
|
* import { pipe, String } from "effect"
|
|
133
144
|
*
|
|
134
145
|
* assert.deepStrictEqual(pipe('abc', String.replace('b', 'd')), 'adc')
|
|
146
|
+
* ```
|
|
135
147
|
*
|
|
136
148
|
* @since 2.0.0
|
|
137
149
|
*/
|
|
@@ -145,9 +157,11 @@ export type Trim<A extends string> = TrimEnd<TrimStart<A>>
|
|
|
145
157
|
|
|
146
158
|
/**
|
|
147
159
|
* @example
|
|
160
|
+
* ```ts
|
|
148
161
|
* import { String } from "effect"
|
|
149
162
|
*
|
|
150
163
|
* assert.deepStrictEqual(String.trim(' a '), 'a')
|
|
164
|
+
* ```
|
|
151
165
|
*
|
|
152
166
|
* @since 2.0.0
|
|
153
167
|
*/
|
|
@@ -160,9 +174,11 @@ export type TrimStart<A extends string> = A extends `${" " | "\n" | "\t" | "\r"}
|
|
|
160
174
|
|
|
161
175
|
/**
|
|
162
176
|
* @example
|
|
177
|
+
* ```ts
|
|
163
178
|
* import { String } from "effect"
|
|
164
179
|
*
|
|
165
180
|
* assert.deepStrictEqual(String.trimStart(' a '), 'a ')
|
|
181
|
+
* ```
|
|
166
182
|
*
|
|
167
183
|
* @since 2.0.0
|
|
168
184
|
*/
|
|
@@ -175,9 +191,11 @@ export type TrimEnd<A extends string> = A extends `${infer B}${" " | "\n" | "\t"
|
|
|
175
191
|
|
|
176
192
|
/**
|
|
177
193
|
* @example
|
|
194
|
+
* ```ts
|
|
178
195
|
* import { String } from "effect"
|
|
179
196
|
*
|
|
180
197
|
* assert.deepStrictEqual(String.trimEnd(' a '), ' a')
|
|
198
|
+
* ```
|
|
181
199
|
*
|
|
182
200
|
* @since 2.0.0
|
|
183
201
|
*/
|
|
@@ -185,9 +203,11 @@ export const trimEnd = <A extends string>(self: A): TrimEnd<A> => self.trimEnd()
|
|
|
185
203
|
|
|
186
204
|
/**
|
|
187
205
|
* @example
|
|
206
|
+
* ```ts
|
|
188
207
|
* import { pipe, String } from "effect"
|
|
189
208
|
*
|
|
190
209
|
* assert.deepStrictEqual(pipe('abcd', String.slice(1, 3)), 'bc')
|
|
210
|
+
* ```
|
|
191
211
|
*
|
|
192
212
|
* @since 2.0.0
|
|
193
213
|
*/
|
|
@@ -197,10 +217,12 @@ export const slice = (start?: number, end?: number) => (self: string): string =>
|
|
|
197
217
|
* Test whether a `string` is empty.
|
|
198
218
|
*
|
|
199
219
|
* @example
|
|
220
|
+
* ```ts
|
|
200
221
|
* import { String } from "effect"
|
|
201
222
|
*
|
|
202
223
|
* assert.deepStrictEqual(String.isEmpty(''), true)
|
|
203
224
|
* assert.deepStrictEqual(String.isEmpty('a'), false)
|
|
225
|
+
* ```
|
|
204
226
|
*
|
|
205
227
|
* @since 2.0.0
|
|
206
228
|
*/
|
|
@@ -217,9 +239,11 @@ export const isNonEmpty = (self: string): boolean => self.length > 0
|
|
|
217
239
|
* Calculate the number of characters in a `string`.
|
|
218
240
|
*
|
|
219
241
|
* @example
|
|
242
|
+
* ```ts
|
|
220
243
|
* import { String } from "effect"
|
|
221
244
|
*
|
|
222
245
|
* assert.deepStrictEqual(String.length('abc'), 3)
|
|
246
|
+
* ```
|
|
223
247
|
*
|
|
224
248
|
* @since 2.0.0
|
|
225
249
|
*/
|
|
@@ -227,30 +251,36 @@ export const length = (self: string): number => self.length
|
|
|
227
251
|
|
|
228
252
|
/**
|
|
229
253
|
* @example
|
|
254
|
+
* ```ts
|
|
230
255
|
* import { pipe, String } from "effect"
|
|
231
256
|
*
|
|
232
257
|
* assert.deepStrictEqual(pipe('abc', String.split('')), ['a', 'b', 'c'])
|
|
233
258
|
* assert.deepStrictEqual(pipe('', String.split('')), [''])
|
|
259
|
+
* ```
|
|
234
260
|
*
|
|
235
261
|
* @since 2.0.0
|
|
236
262
|
*/
|
|
237
263
|
export const split: {
|
|
238
264
|
/**
|
|
239
265
|
* @example
|
|
266
|
+
* ```ts
|
|
240
267
|
* import { pipe, String } from "effect"
|
|
241
268
|
*
|
|
242
269
|
* assert.deepStrictEqual(pipe('abc', String.split('')), ['a', 'b', 'c'])
|
|
243
270
|
* assert.deepStrictEqual(pipe('', String.split('')), [''])
|
|
271
|
+
* ```
|
|
244
272
|
*
|
|
245
273
|
* @since 2.0.0
|
|
246
274
|
*/
|
|
247
275
|
(separator: string | RegExp): (self: string) => NonEmptyArray<string>
|
|
248
276
|
/**
|
|
249
277
|
* @example
|
|
278
|
+
* ```ts
|
|
250
279
|
* import { pipe, String } from "effect"
|
|
251
280
|
*
|
|
252
281
|
* assert.deepStrictEqual(pipe('abc', String.split('')), ['a', 'b', 'c'])
|
|
253
282
|
* assert.deepStrictEqual(pipe('', String.split('')), [''])
|
|
283
|
+
* ```
|
|
254
284
|
*
|
|
255
285
|
* @since 2.0.0
|
|
256
286
|
*/
|
|
@@ -283,30 +313,36 @@ export const endsWith = (searchString: string, position?: number) => (self: stri
|
|
|
283
313
|
|
|
284
314
|
/**
|
|
285
315
|
* @example
|
|
316
|
+
* ```ts
|
|
286
317
|
* import { pipe, String, Option } from "effect"
|
|
287
318
|
*
|
|
288
319
|
* assert.deepStrictEqual(pipe("abc", String.charCodeAt(1)), Option.some(98))
|
|
289
320
|
* assert.deepStrictEqual(pipe("abc", String.charCodeAt(4)), Option.none())
|
|
321
|
+
* ```
|
|
290
322
|
*
|
|
291
323
|
* @since 2.0.0
|
|
292
324
|
*/
|
|
293
325
|
export const charCodeAt: {
|
|
294
326
|
/**
|
|
295
327
|
* @example
|
|
328
|
+
* ```ts
|
|
296
329
|
* import { pipe, String, Option } from "effect"
|
|
297
330
|
*
|
|
298
331
|
* assert.deepStrictEqual(pipe("abc", String.charCodeAt(1)), Option.some(98))
|
|
299
332
|
* assert.deepStrictEqual(pipe("abc", String.charCodeAt(4)), Option.none())
|
|
333
|
+
* ```
|
|
300
334
|
*
|
|
301
335
|
* @since 2.0.0
|
|
302
336
|
*/
|
|
303
337
|
(index: number): (self: string) => Option.Option<number>
|
|
304
338
|
/**
|
|
305
339
|
* @example
|
|
340
|
+
* ```ts
|
|
306
341
|
* import { pipe, String, Option } from "effect"
|
|
307
342
|
*
|
|
308
343
|
* assert.deepStrictEqual(pipe("abc", String.charCodeAt(1)), Option.some(98))
|
|
309
344
|
* assert.deepStrictEqual(pipe("abc", String.charCodeAt(4)), Option.none())
|
|
345
|
+
* ```
|
|
310
346
|
*
|
|
311
347
|
* @since 2.0.0
|
|
312
348
|
*/
|
|
@@ -319,10 +355,12 @@ export const charCodeAt: {
|
|
|
319
355
|
|
|
320
356
|
/**
|
|
321
357
|
* @example
|
|
358
|
+
* ```ts
|
|
322
359
|
* import { pipe, String, Option } from "effect"
|
|
323
360
|
*
|
|
324
361
|
* assert.deepStrictEqual(pipe("abcd", String.substring(1)), "bcd")
|
|
325
362
|
* assert.deepStrictEqual(pipe("abcd", String.substring(1, 3)), "bc")
|
|
363
|
+
* ```
|
|
326
364
|
*
|
|
327
365
|
* @since 2.0.0
|
|
328
366
|
*/
|
|
@@ -330,30 +368,36 @@ export const substring = (start: number, end?: number) => (self: string): string
|
|
|
330
368
|
|
|
331
369
|
/**
|
|
332
370
|
* @example
|
|
371
|
+
* ```ts
|
|
333
372
|
* import { pipe, String, Option } from "effect"
|
|
334
373
|
*
|
|
335
374
|
* assert.deepStrictEqual(pipe("abc", String.at(1)), Option.some("b"))
|
|
336
375
|
* assert.deepStrictEqual(pipe("abc", String.at(4)), Option.none())
|
|
376
|
+
* ```
|
|
337
377
|
*
|
|
338
378
|
* @since 2.0.0
|
|
339
379
|
*/
|
|
340
380
|
export const at: {
|
|
341
381
|
/**
|
|
342
382
|
* @example
|
|
383
|
+
* ```ts
|
|
343
384
|
* import { pipe, String, Option } from "effect"
|
|
344
385
|
*
|
|
345
386
|
* assert.deepStrictEqual(pipe("abc", String.at(1)), Option.some("b"))
|
|
346
387
|
* assert.deepStrictEqual(pipe("abc", String.at(4)), Option.none())
|
|
388
|
+
* ```
|
|
347
389
|
*
|
|
348
390
|
* @since 2.0.0
|
|
349
391
|
*/
|
|
350
392
|
(index: number): (self: string) => Option.Option<string>
|
|
351
393
|
/**
|
|
352
394
|
* @example
|
|
395
|
+
* ```ts
|
|
353
396
|
* import { pipe, String, Option } from "effect"
|
|
354
397
|
*
|
|
355
398
|
* assert.deepStrictEqual(pipe("abc", String.at(1)), Option.some("b"))
|
|
356
399
|
* assert.deepStrictEqual(pipe("abc", String.at(4)), Option.none())
|
|
400
|
+
* ```
|
|
357
401
|
*
|
|
358
402
|
* @since 2.0.0
|
|
359
403
|
*/
|
|
@@ -362,30 +406,36 @@ export const at: {
|
|
|
362
406
|
|
|
363
407
|
/**
|
|
364
408
|
* @example
|
|
409
|
+
* ```ts
|
|
365
410
|
* import { pipe, String, Option } from "effect"
|
|
366
411
|
*
|
|
367
412
|
* assert.deepStrictEqual(pipe("abc", String.charAt(1)), Option.some("b"))
|
|
368
413
|
* assert.deepStrictEqual(pipe("abc", String.charAt(4)), Option.none())
|
|
414
|
+
* ```
|
|
369
415
|
*
|
|
370
416
|
* @since 2.0.0
|
|
371
417
|
*/
|
|
372
418
|
export const charAt: {
|
|
373
419
|
/**
|
|
374
420
|
* @example
|
|
421
|
+
* ```ts
|
|
375
422
|
* import { pipe, String, Option } from "effect"
|
|
376
423
|
*
|
|
377
424
|
* assert.deepStrictEqual(pipe("abc", String.charAt(1)), Option.some("b"))
|
|
378
425
|
* assert.deepStrictEqual(pipe("abc", String.charAt(4)), Option.none())
|
|
426
|
+
* ```
|
|
379
427
|
*
|
|
380
428
|
* @since 2.0.0
|
|
381
429
|
*/
|
|
382
430
|
(index: number): (self: string) => Option.Option<string>
|
|
383
431
|
/**
|
|
384
432
|
* @example
|
|
433
|
+
* ```ts
|
|
385
434
|
* import { pipe, String, Option } from "effect"
|
|
386
435
|
*
|
|
387
436
|
* assert.deepStrictEqual(pipe("abc", String.charAt(1)), Option.some("b"))
|
|
388
437
|
* assert.deepStrictEqual(pipe("abc", String.charAt(4)), Option.none())
|
|
438
|
+
* ```
|
|
389
439
|
*
|
|
390
440
|
* @since 2.0.0
|
|
391
441
|
*/
|
|
@@ -397,27 +447,33 @@ export const charAt: {
|
|
|
397
447
|
|
|
398
448
|
/**
|
|
399
449
|
* @example
|
|
450
|
+
* ```ts
|
|
400
451
|
* import { pipe, String, Option } from "effect"
|
|
401
452
|
*
|
|
402
453
|
* assert.deepStrictEqual(pipe("abc", String.codePointAt(1)), Option.some(98))
|
|
454
|
+
* ```
|
|
403
455
|
*
|
|
404
456
|
* @since 2.0.0
|
|
405
457
|
*/
|
|
406
458
|
export const codePointAt: {
|
|
407
459
|
/**
|
|
408
460
|
* @example
|
|
461
|
+
* ```ts
|
|
409
462
|
* import { pipe, String, Option } from "effect"
|
|
410
463
|
*
|
|
411
464
|
* assert.deepStrictEqual(pipe("abc", String.codePointAt(1)), Option.some(98))
|
|
465
|
+
* ```
|
|
412
466
|
*
|
|
413
467
|
* @since 2.0.0
|
|
414
468
|
*/
|
|
415
469
|
(index: number): (self: string) => Option.Option<number>
|
|
416
470
|
/**
|
|
417
471
|
* @example
|
|
472
|
+
* ```ts
|
|
418
473
|
* import { pipe, String, Option } from "effect"
|
|
419
474
|
*
|
|
420
475
|
* assert.deepStrictEqual(pipe("abc", String.codePointAt(1)), Option.some(98))
|
|
476
|
+
* ```
|
|
421
477
|
*
|
|
422
478
|
* @since 2.0.0
|
|
423
479
|
*/
|
|
@@ -426,9 +482,11 @@ export const codePointAt: {
|
|
|
426
482
|
|
|
427
483
|
/**
|
|
428
484
|
* @example
|
|
485
|
+
* ```ts
|
|
429
486
|
* import { pipe, String, Option } from "effect"
|
|
430
487
|
*
|
|
431
488
|
* assert.deepStrictEqual(pipe("abbbc", String.indexOf("b")), Option.some(1))
|
|
489
|
+
* ```
|
|
432
490
|
*
|
|
433
491
|
* @since 2.0.0
|
|
434
492
|
*/
|
|
@@ -437,10 +495,12 @@ export const indexOf = (searchString: string) => (self: string): Option.Option<n
|
|
|
437
495
|
|
|
438
496
|
/**
|
|
439
497
|
* @example
|
|
498
|
+
* ```ts
|
|
440
499
|
* import { pipe, String, Option } from "effect"
|
|
441
500
|
*
|
|
442
501
|
* assert.deepStrictEqual(pipe("abbbc", String.lastIndexOf("b")), Option.some(3))
|
|
443
502
|
* assert.deepStrictEqual(pipe("abbbc", String.lastIndexOf("d")), Option.none())
|
|
503
|
+
* ```
|
|
444
504
|
*
|
|
445
505
|
* @since 2.0.0
|
|
446
506
|
*/
|
|
@@ -449,11 +509,13 @@ export const lastIndexOf = (searchString: string) => (self: string): Option.Opti
|
|
|
449
509
|
|
|
450
510
|
/**
|
|
451
511
|
* @example
|
|
512
|
+
* ```ts
|
|
452
513
|
* import { pipe, String } from "effect"
|
|
453
514
|
*
|
|
454
515
|
* assert.deepStrictEqual(pipe("a", String.localeCompare("b")), -1)
|
|
455
516
|
* assert.deepStrictEqual(pipe("b", String.localeCompare("a")), 1)
|
|
456
517
|
* assert.deepStrictEqual(pipe("a", String.localeCompare("a")), 0)
|
|
518
|
+
* ```
|
|
457
519
|
*
|
|
458
520
|
* @since 2.0.0
|
|
459
521
|
*/
|
|
@@ -478,6 +540,7 @@ export const matchAll = (regexp: RegExp) => (self: string): IterableIterator<Reg
|
|
|
478
540
|
|
|
479
541
|
/**
|
|
480
542
|
* @example
|
|
543
|
+
* ```ts
|
|
481
544
|
* import { pipe, String } from "effect"
|
|
482
545
|
*
|
|
483
546
|
* const str = "\u1E9B\u0323";
|
|
@@ -486,6 +549,7 @@ export const matchAll = (regexp: RegExp) => (self: string): IterableIterator<Reg
|
|
|
486
549
|
* assert.deepStrictEqual(pipe(str, String.normalize("NFD")), "\u017F\u0323\u0307")
|
|
487
550
|
* assert.deepStrictEqual(pipe(str, String.normalize("NFKC")), "\u1E69")
|
|
488
551
|
* assert.deepStrictEqual(pipe(str, String.normalize("NFKD")), "\u0073\u0323\u0307")
|
|
552
|
+
* ```
|
|
489
553
|
*
|
|
490
554
|
* @since 2.0.0
|
|
491
555
|
*/
|
|
@@ -493,10 +557,12 @@ export const normalize = (form?: "NFC" | "NFD" | "NFKC" | "NFKD") => (self: stri
|
|
|
493
557
|
|
|
494
558
|
/**
|
|
495
559
|
* @example
|
|
560
|
+
* ```ts
|
|
496
561
|
* import { pipe, String } from "effect"
|
|
497
562
|
*
|
|
498
563
|
* assert.deepStrictEqual(pipe("a", String.padEnd(5)), "a ")
|
|
499
564
|
* assert.deepStrictEqual(pipe("a", String.padEnd(5, "_")), "a____")
|
|
565
|
+
* ```
|
|
500
566
|
*
|
|
501
567
|
* @since 2.0.0
|
|
502
568
|
*/
|
|
@@ -505,10 +571,12 @@ export const padEnd = (maxLength: number, fillString?: string) => (self: string)
|
|
|
505
571
|
|
|
506
572
|
/**
|
|
507
573
|
* @example
|
|
574
|
+
* ```ts
|
|
508
575
|
* import { pipe, String } from "effect"
|
|
509
576
|
*
|
|
510
577
|
* assert.deepStrictEqual(pipe("a", String.padStart(5)), " a")
|
|
511
578
|
* assert.deepStrictEqual(pipe("a", String.padStart(5, "_")), "____a")
|
|
579
|
+
* ```
|
|
512
580
|
*
|
|
513
581
|
* @since 2.0.0
|
|
514
582
|
*/
|
|
@@ -517,9 +585,11 @@ export const padStart = (maxLength: number, fillString?: string) => (self: strin
|
|
|
517
585
|
|
|
518
586
|
/**
|
|
519
587
|
* @example
|
|
588
|
+
* ```ts
|
|
520
589
|
* import { pipe, String } from "effect"
|
|
521
590
|
*
|
|
522
591
|
* assert.deepStrictEqual(pipe("a", String.repeat(5)), "aaaaa")
|
|
592
|
+
* ```
|
|
523
593
|
*
|
|
524
594
|
* @since 2.0.0
|
|
525
595
|
*/
|
|
@@ -527,10 +597,12 @@ export const repeat = (count: number) => (self: string): string => self.repeat(c
|
|
|
527
597
|
|
|
528
598
|
/**
|
|
529
599
|
* @example
|
|
600
|
+
* ```ts
|
|
530
601
|
* import { pipe, String } from "effect"
|
|
531
602
|
*
|
|
532
603
|
* assert.deepStrictEqual(pipe("ababb", String.replaceAll("b", "c")), "acacc")
|
|
533
604
|
* assert.deepStrictEqual(pipe("ababb", String.replaceAll(/ba/g, "cc")), "accbb")
|
|
605
|
+
* ```
|
|
534
606
|
*
|
|
535
607
|
* @since 2.0.0
|
|
536
608
|
*/
|
|
@@ -539,33 +611,39 @@ export const replaceAll = (searchValue: string | RegExp, replaceValue: string) =
|
|
|
539
611
|
|
|
540
612
|
/**
|
|
541
613
|
* @example
|
|
614
|
+
* ```ts
|
|
542
615
|
* import { pipe, String, Option } from "effect"
|
|
543
616
|
*
|
|
544
617
|
* assert.deepStrictEqual(pipe("ababb", String.search("b")), Option.some(1))
|
|
545
618
|
* assert.deepStrictEqual(pipe("ababb", String.search(/abb/)), Option.some(2))
|
|
546
619
|
* assert.deepStrictEqual(pipe("ababb", String.search("d")), Option.none())
|
|
620
|
+
* ```
|
|
547
621
|
*
|
|
548
622
|
* @since 2.0.0
|
|
549
623
|
*/
|
|
550
624
|
export const search: {
|
|
551
625
|
/**
|
|
552
626
|
* @example
|
|
627
|
+
* ```ts
|
|
553
628
|
* import { pipe, String, Option } from "effect"
|
|
554
629
|
*
|
|
555
630
|
* assert.deepStrictEqual(pipe("ababb", String.search("b")), Option.some(1))
|
|
556
631
|
* assert.deepStrictEqual(pipe("ababb", String.search(/abb/)), Option.some(2))
|
|
557
632
|
* assert.deepStrictEqual(pipe("ababb", String.search("d")), Option.none())
|
|
633
|
+
* ```
|
|
558
634
|
*
|
|
559
635
|
* @since 2.0.0
|
|
560
636
|
*/
|
|
561
637
|
(regexp: RegExp | string): (self: string) => Option.Option<number>
|
|
562
638
|
/**
|
|
563
639
|
* @example
|
|
640
|
+
* ```ts
|
|
564
641
|
* import { pipe, String, Option } from "effect"
|
|
565
642
|
*
|
|
566
643
|
* assert.deepStrictEqual(pipe("ababb", String.search("b")), Option.some(1))
|
|
567
644
|
* assert.deepStrictEqual(pipe("ababb", String.search(/abb/)), Option.some(2))
|
|
568
645
|
* assert.deepStrictEqual(pipe("ababb", String.search("d")), Option.none())
|
|
646
|
+
* ```
|
|
569
647
|
*
|
|
570
648
|
* @since 2.0.0
|
|
571
649
|
*/
|
|
@@ -578,10 +656,12 @@ export const search: {
|
|
|
578
656
|
|
|
579
657
|
/**
|
|
580
658
|
* @example
|
|
659
|
+
* ```ts
|
|
581
660
|
* import { pipe, String } from "effect"
|
|
582
661
|
*
|
|
583
662
|
* const str = "\u0130"
|
|
584
663
|
* assert.deepStrictEqual(pipe(str, String.toLocaleLowerCase("tr")), "i")
|
|
664
|
+
* ```
|
|
585
665
|
*
|
|
586
666
|
* @since 2.0.0
|
|
587
667
|
*/
|
|
@@ -590,10 +670,12 @@ export const toLocaleLowerCase = (locale?: string | Array<string>) => (self: str
|
|
|
590
670
|
|
|
591
671
|
/**
|
|
592
672
|
* @example
|
|
673
|
+
* ```ts
|
|
593
674
|
* import { pipe, String } from "effect"
|
|
594
675
|
*
|
|
595
676
|
* const str = "i\u0307"
|
|
596
677
|
* assert.deepStrictEqual(pipe(str, String.toLocaleUpperCase("lt-LT")), "I")
|
|
678
|
+
* ```
|
|
597
679
|
*
|
|
598
680
|
* @since 2.0.0
|
|
599
681
|
*/
|
|
@@ -611,9 +693,11 @@ export const toLocaleUpperCase = (locale?: string | Array<string>) => (self: str
|
|
|
611
693
|
* If `n` is a float, it will be rounded down to the nearest integer.
|
|
612
694
|
*
|
|
613
695
|
* @example
|
|
696
|
+
* ```ts
|
|
614
697
|
* import { String } from "effect"
|
|
615
698
|
*
|
|
616
699
|
* assert.deepStrictEqual(String.takeLeft("Hello World", 5), "Hello")
|
|
700
|
+
* ```
|
|
617
701
|
*
|
|
618
702
|
* @since 2.0.0
|
|
619
703
|
*/
|
|
@@ -629,9 +713,11 @@ export const takeLeft: {
|
|
|
629
713
|
* If `n` is a float, it will be rounded down to the nearest integer.
|
|
630
714
|
*
|
|
631
715
|
* @example
|
|
716
|
+
* ```ts
|
|
632
717
|
* import { String } from "effect"
|
|
633
718
|
*
|
|
634
719
|
* assert.deepStrictEqual(String.takeLeft("Hello World", 5), "Hello")
|
|
720
|
+
* ```
|
|
635
721
|
*
|
|
636
722
|
* @since 2.0.0
|
|
637
723
|
*/
|
|
@@ -647,9 +733,11 @@ export const takeLeft: {
|
|
|
647
733
|
* If `n` is a float, it will be rounded down to the nearest integer.
|
|
648
734
|
*
|
|
649
735
|
* @example
|
|
736
|
+
* ```ts
|
|
650
737
|
* import { String } from "effect"
|
|
651
738
|
*
|
|
652
739
|
* assert.deepStrictEqual(String.takeLeft("Hello World", 5), "Hello")
|
|
740
|
+
* ```
|
|
653
741
|
*
|
|
654
742
|
* @since 2.0.0
|
|
655
743
|
*/
|
|
@@ -667,9 +755,11 @@ export const takeLeft: {
|
|
|
667
755
|
* If `n` is a float, it will be rounded down to the nearest integer.
|
|
668
756
|
*
|
|
669
757
|
* @example
|
|
758
|
+
* ```ts
|
|
670
759
|
* import { String } from "effect"
|
|
671
760
|
*
|
|
672
761
|
* assert.deepStrictEqual(String.takeRight("Hello World", 5), "World")
|
|
762
|
+
* ```
|
|
673
763
|
*
|
|
674
764
|
* @since 2.0.0
|
|
675
765
|
*/
|
|
@@ -685,9 +775,11 @@ export const takeRight: {
|
|
|
685
775
|
* If `n` is a float, it will be rounded down to the nearest integer.
|
|
686
776
|
*
|
|
687
777
|
* @example
|
|
778
|
+
* ```ts
|
|
688
779
|
* import { String } from "effect"
|
|
689
780
|
*
|
|
690
781
|
* assert.deepStrictEqual(String.takeRight("Hello World", 5), "World")
|
|
782
|
+
* ```
|
|
691
783
|
*
|
|
692
784
|
* @since 2.0.0
|
|
693
785
|
*/
|
|
@@ -703,9 +795,11 @@ export const takeRight: {
|
|
|
703
795
|
* If `n` is a float, it will be rounded down to the nearest integer.
|
|
704
796
|
*
|
|
705
797
|
* @example
|
|
798
|
+
* ```ts
|
|
706
799
|
* import { String } from "effect"
|
|
707
800
|
*
|
|
708
801
|
* assert.deepStrictEqual(String.takeRight("Hello World", 5), "World")
|
|
802
|
+
* ```
|
|
709
803
|
*
|
|
710
804
|
* @since 2.0.0
|
|
711
805
|
*/
|