@clayroach/effect 3.19.14-source-capture.8 → 3.19.14-source-trace.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SourceLocation/package.json +6 -0
- package/dist/cjs/Effect.js +2 -28
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/FiberRef.js +12 -1
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/Layer.js +2 -24
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js +1 -29
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/SourceLocation.js +60 -0
- package/dist/cjs/SourceLocation.js.map +1 -0
- package/dist/cjs/Tracer.js +1 -15
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/Utils.js +1 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/clock.js +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/core.js +17 -50
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +18 -30
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +16 -65
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js +1 -5
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +1 -3
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logger.js +25 -2
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/runtimeFlags.js +2 -11
- package/dist/cjs/internal/runtimeFlags.js.map +1 -1
- package/dist/cjs/internal/tracer.js +1 -114
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/dts/Config.d.ts +2 -2
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +8 -29
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +12 -0
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +0 -22
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/RuntimeFlags.d.ts +0 -28
- package/dist/dts/RuntimeFlags.d.ts.map +1 -1
- package/dist/dts/SourceLocation.d.ts +88 -0
- package/dist/dts/SourceLocation.d.ts.map +1 -0
- package/dist/dts/Tracer.d.ts +0 -15
- package/dist/dts/Tracer.d.ts.map +1 -1
- package/dist/dts/index.d.ts +6 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/layer.d.ts.map +1 -1
- package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
- package/dist/esm/Effect.js +0 -26
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/FiberRef.js +11 -0
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/Layer.js +0 -22
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/RuntimeFlags.js +0 -28
- package/dist/esm/RuntimeFlags.js.map +1 -1
- package/dist/esm/SourceLocation.js +51 -0
- package/dist/esm/SourceLocation.js.map +1 -0
- package/dist/esm/Tracer.js +0 -14
- package/dist/esm/Tracer.js.map +1 -1
- package/dist/esm/Utils.js +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/clock.js +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/core.js +12 -45
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +18 -30
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +13 -60
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/layer/circular.js +0 -4
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +0 -2
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logger.js +25 -2
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/runtimeFlags.js +1 -9
- package/dist/esm/internal/runtimeFlags.js.map +1 -1
- package/dist/esm/internal/tracer.js +0 -111
- package/dist/esm/internal/tracer.js.map +1 -1
- package/package.json +12 -1
- package/src/Arbitrary.ts +1101 -0
- package/src/Array.ts +3589 -0
- package/src/BigDecimal.ts +1349 -0
- package/src/BigInt.ts +643 -0
- package/src/Boolean.ts +287 -0
- package/src/Brand.ts +360 -0
- package/src/Cache.ts +281 -0
- package/src/Cause.ts +1555 -0
- package/src/Channel.ts +2355 -0
- package/src/ChildExecutorDecision.ts +146 -0
- package/src/Chunk.ts +1495 -0
- package/src/Clock.ts +111 -0
- package/src/Config.ts +542 -0
- package/src/ConfigError.ts +270 -0
- package/src/ConfigProvider.ts +333 -0
- package/src/ConfigProviderPathPatch.ts +100 -0
- package/src/Console.ts +226 -0
- package/src/Context.ts +585 -0
- package/src/Cron.ts +706 -0
- package/src/Data.ts +596 -0
- package/src/DateTime.ts +1686 -0
- package/src/DefaultServices.ts +34 -0
- package/src/Deferred.ts +301 -0
- package/src/Differ.ts +450 -0
- package/src/Duration.ts +1000 -0
- package/src/Effect.ts +14817 -0
- package/src/Effectable.ts +107 -0
- package/src/Either.ts +1040 -0
- package/src/Encoding.ts +195 -0
- package/src/Equal.ts +98 -0
- package/src/Equivalence.ts +235 -0
- package/src/ExecutionPlan.ts +308 -0
- package/src/ExecutionStrategy.ts +119 -0
- package/src/Exit.ts +467 -0
- package/src/FastCheck.ts +9 -0
- package/src/Fiber.ts +744 -0
- package/src/FiberHandle.ts +540 -0
- package/src/FiberId.ts +195 -0
- package/src/FiberMap.ts +656 -0
- package/src/FiberRef.ts +444 -0
- package/src/FiberRefs.ts +204 -0
- package/src/FiberRefsPatch.ts +105 -0
- package/src/FiberSet.ts +491 -0
- package/src/FiberStatus.ts +108 -0
- package/src/Function.ts +1222 -0
- package/src/GlobalValue.ts +53 -0
- package/src/Graph.ts +3732 -0
- package/src/GroupBy.ts +103 -0
- package/src/HKT.ts +45 -0
- package/src/Hash.ts +195 -0
- package/src/HashMap.ts +519 -0
- package/src/HashRing.ts +317 -0
- package/src/HashSet.ts +2346 -0
- package/src/Inspectable.ts +287 -0
- package/src/Iterable.ts +1119 -0
- package/src/JSONSchema.ts +1044 -0
- package/src/KeyedPool.ts +167 -0
- package/src/Layer.ts +1228 -0
- package/src/LayerMap.ts +436 -0
- package/src/List.ts +977 -0
- package/src/LogLevel.ts +285 -0
- package/src/LogSpan.ts +25 -0
- package/src/Logger.ts +702 -0
- package/src/Mailbox.ts +268 -0
- package/src/ManagedRuntime.ts +180 -0
- package/src/Match.ts +1477 -0
- package/src/MergeDecision.ts +95 -0
- package/src/MergeState.ts +172 -0
- package/src/MergeStrategy.ts +107 -0
- package/src/Metric.ts +780 -0
- package/src/MetricBoundaries.ts +69 -0
- package/src/MetricHook.ts +151 -0
- package/src/MetricKey.ts +224 -0
- package/src/MetricKeyType.ts +262 -0
- package/src/MetricLabel.ts +47 -0
- package/src/MetricPair.ts +71 -0
- package/src/MetricPolling.ts +148 -0
- package/src/MetricRegistry.ts +48 -0
- package/src/MetricState.ts +257 -0
- package/src/Micro.ts +4405 -0
- package/src/ModuleVersion.ts +18 -0
- package/src/MutableHashMap.ts +411 -0
- package/src/MutableHashSet.ts +706 -0
- package/src/MutableList.ts +297 -0
- package/src/MutableQueue.ts +227 -0
- package/src/MutableRef.ts +202 -0
- package/src/NonEmptyIterable.ts +32 -0
- package/src/Number.ts +1071 -0
- package/src/Option.ts +2170 -0
- package/src/Order.ts +373 -0
- package/src/Ordering.ts +111 -0
- package/src/ParseResult.ts +2031 -0
- package/src/PartitionedSemaphore.ts +200 -0
- package/src/Pipeable.ts +566 -0
- package/src/Pool.ts +204 -0
- package/src/Predicate.ts +1405 -0
- package/src/Pretty.ts +205 -0
- package/src/PrimaryKey.ts +23 -0
- package/src/PubSub.ts +182 -0
- package/src/Queue.ts +644 -0
- package/src/Random.ts +204 -0
- package/src/RateLimiter.ts +138 -0
- package/src/RcMap.ts +141 -0
- package/src/RcRef.ts +122 -0
- package/src/Readable.ts +93 -0
- package/src/Record.ts +1274 -0
- package/src/RedBlackTree.ts +421 -0
- package/src/Redacted.ts +144 -0
- package/src/Ref.ts +180 -0
- package/src/RegExp.ts +38 -0
- package/src/Reloadable.ts +127 -0
- package/src/Request.ts +347 -0
- package/src/RequestBlock.ts +118 -0
- package/src/RequestResolver.ts +366 -0
- package/src/Resource.ts +119 -0
- package/src/Runtime.ts +383 -0
- package/src/RuntimeFlags.ts +336 -0
- package/src/RuntimeFlagsPatch.ts +183 -0
- package/src/STM.ts +2045 -0
- package/src/Schedule.ts +2219 -0
- package/src/ScheduleDecision.ts +62 -0
- package/src/ScheduleInterval.ts +151 -0
- package/src/ScheduleIntervals.ts +122 -0
- package/src/Scheduler.ts +353 -0
- package/src/Schema.ts +10914 -0
- package/src/SchemaAST.ts +3043 -0
- package/src/Scope.ts +204 -0
- package/src/ScopedCache.ts +151 -0
- package/src/ScopedRef.ts +117 -0
- package/src/Secret.ts +88 -0
- package/src/SingleProducerAsyncInput.ts +67 -0
- package/src/Sink.ts +1461 -0
- package/src/SortedMap.ts +287 -0
- package/src/SortedSet.ts +390 -0
- package/src/SourceLocation.ts +108 -0
- package/src/Stream.ts +6468 -0
- package/src/StreamEmit.ts +136 -0
- package/src/StreamHaltStrategy.ts +123 -0
- package/src/Streamable.ts +45 -0
- package/src/String.ts +778 -0
- package/src/Struct.ts +243 -0
- package/src/Subscribable.ts +100 -0
- package/src/SubscriptionRef.ts +298 -0
- package/src/Supervisor.ts +240 -0
- package/src/Symbol.ts +29 -0
- package/src/SynchronizedRef.ts +270 -0
- package/src/TArray.ts +495 -0
- package/src/TDeferred.ts +100 -0
- package/src/TMap.ts +515 -0
- package/src/TPriorityQueue.ts +223 -0
- package/src/TPubSub.ts +200 -0
- package/src/TQueue.ts +432 -0
- package/src/TRandom.ts +129 -0
- package/src/TReentrantLock.ts +224 -0
- package/src/TRef.ts +178 -0
- package/src/TSemaphore.ts +129 -0
- package/src/TSet.ts +365 -0
- package/src/TSubscriptionRef.ts +192 -0
- package/src/Take.ts +258 -0
- package/src/TestAnnotation.ts +158 -0
- package/src/TestAnnotationMap.ts +119 -0
- package/src/TestAnnotations.ts +117 -0
- package/src/TestClock.ts +556 -0
- package/src/TestConfig.ts +47 -0
- package/src/TestContext.ts +36 -0
- package/src/TestLive.ts +53 -0
- package/src/TestServices.ts +390 -0
- package/src/TestSized.ts +55 -0
- package/src/Tracer.ts +182 -0
- package/src/Trie.ts +840 -0
- package/src/Tuple.ts +305 -0
- package/src/Types.ts +353 -0
- package/src/Unify.ts +113 -0
- package/src/UpstreamPullRequest.ts +117 -0
- package/src/UpstreamPullStrategy.ts +121 -0
- package/src/Utils.ts +809 -0
- package/src/index.ts +1568 -0
- package/src/internal/array.ts +8 -0
- package/src/internal/blockedRequests.ts +520 -0
- package/src/internal/cache.ts +733 -0
- package/src/internal/cause.ts +1050 -0
- package/src/internal/channel/channelExecutor.ts +1200 -0
- package/src/internal/channel/channelState.ts +134 -0
- package/src/internal/channel/childExecutorDecision.ts +96 -0
- package/src/internal/channel/continuation.ts +200 -0
- package/src/internal/channel/mergeDecision.ts +113 -0
- package/src/internal/channel/mergeState.ts +120 -0
- package/src/internal/channel/mergeStrategy.ts +72 -0
- package/src/internal/channel/singleProducerAsyncInput.ts +259 -0
- package/src/internal/channel/subexecutor.ts +229 -0
- package/src/internal/channel/upstreamPullRequest.ts +84 -0
- package/src/internal/channel/upstreamPullStrategy.ts +87 -0
- package/src/internal/channel.ts +2603 -0
- package/src/internal/clock.ts +95 -0
- package/src/internal/completedRequestMap.ts +9 -0
- package/src/internal/concurrency.ts +54 -0
- package/src/internal/config.ts +716 -0
- package/src/internal/configError.ts +304 -0
- package/src/internal/configProvider/pathPatch.ts +97 -0
- package/src/internal/configProvider.ts +799 -0
- package/src/internal/console.ts +153 -0
- package/src/internal/context.ts +337 -0
- package/src/internal/core-effect.ts +2293 -0
- package/src/internal/core-stream.ts +998 -0
- package/src/internal/core.ts +3189 -0
- package/src/internal/data.ts +36 -0
- package/src/internal/dataSource.ts +327 -0
- package/src/internal/dateTime.ts +1277 -0
- package/src/internal/defaultServices/console.ts +100 -0
- package/src/internal/defaultServices.ts +163 -0
- package/src/internal/deferred.ts +46 -0
- package/src/internal/differ/chunkPatch.ts +211 -0
- package/src/internal/differ/contextPatch.ts +232 -0
- package/src/internal/differ/hashMapPatch.ts +220 -0
- package/src/internal/differ/hashSetPatch.ts +176 -0
- package/src/internal/differ/orPatch.ts +311 -0
- package/src/internal/differ/readonlyArrayPatch.ts +210 -0
- package/src/internal/differ.ts +200 -0
- package/src/internal/doNotation.ts +80 -0
- package/src/internal/effect/circular.ts +895 -0
- package/src/internal/effectable.ts +131 -0
- package/src/internal/either.ts +110 -0
- package/src/internal/encoding/base64.ts +286 -0
- package/src/internal/encoding/base64Url.ts +29 -0
- package/src/internal/encoding/common.ts +51 -0
- package/src/internal/encoding/hex.ts +315 -0
- package/src/internal/errors.ts +7 -0
- package/src/internal/executionPlan.ts +114 -0
- package/src/internal/executionStrategy.ts +74 -0
- package/src/internal/fiber.ts +388 -0
- package/src/internal/fiberId.ts +267 -0
- package/src/internal/fiberMessage.ts +82 -0
- package/src/internal/fiberRefs/patch.ts +144 -0
- package/src/internal/fiberRefs.ts +297 -0
- package/src/internal/fiberRuntime.ts +3842 -0
- package/src/internal/fiberScope.ts +71 -0
- package/src/internal/fiberStatus.ts +119 -0
- package/src/internal/groupBy.ts +530 -0
- package/src/internal/hashMap/array.ts +49 -0
- package/src/internal/hashMap/bitwise.ts +32 -0
- package/src/internal/hashMap/config.ts +14 -0
- package/src/internal/hashMap/keySet.ts +8 -0
- package/src/internal/hashMap/node.ts +391 -0
- package/src/internal/hashMap.ts +586 -0
- package/src/internal/hashSet.ts +323 -0
- package/src/internal/keyedPool.ts +244 -0
- package/src/internal/layer/circular.ts +214 -0
- package/src/internal/layer.ts +1483 -0
- package/src/internal/logSpan.ts +20 -0
- package/src/internal/logger-circular.ts +24 -0
- package/src/internal/logger.ts +522 -0
- package/src/internal/mailbox.ts +561 -0
- package/src/internal/managedRuntime/circular.ts +6 -0
- package/src/internal/managedRuntime.ts +134 -0
- package/src/internal/matcher.ts +652 -0
- package/src/internal/metric/boundaries.ts +75 -0
- package/src/internal/metric/hook.ts +483 -0
- package/src/internal/metric/key.ts +167 -0
- package/src/internal/metric/keyType.ts +238 -0
- package/src/internal/metric/label.ts +41 -0
- package/src/internal/metric/pair.ts +48 -0
- package/src/internal/metric/polling.ts +149 -0
- package/src/internal/metric/registry.ts +187 -0
- package/src/internal/metric/state.ts +290 -0
- package/src/internal/metric.ts +577 -0
- package/src/internal/opCodes/cause.ts +35 -0
- package/src/internal/opCodes/channel.ts +83 -0
- package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
- package/src/internal/opCodes/channelMergeDecision.ts +11 -0
- package/src/internal/opCodes/channelMergeState.ts +17 -0
- package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
- package/src/internal/opCodes/channelState.ts +23 -0
- package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
- package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
- package/src/internal/opCodes/config.ts +65 -0
- package/src/internal/opCodes/configError.ts +35 -0
- package/src/internal/opCodes/continuation.ts +11 -0
- package/src/internal/opCodes/deferred.ts +11 -0
- package/src/internal/opCodes/effect.ts +89 -0
- package/src/internal/opCodes/layer.ts +59 -0
- package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
- package/src/internal/option.ts +80 -0
- package/src/internal/pool.ts +432 -0
- package/src/internal/pubsub.ts +1762 -0
- package/src/internal/query.ts +204 -0
- package/src/internal/queue.ts +766 -0
- package/src/internal/random.ts +161 -0
- package/src/internal/rateLimiter.ts +93 -0
- package/src/internal/rcMap.ts +285 -0
- package/src/internal/rcRef.ts +192 -0
- package/src/internal/redBlackTree/iterator.ts +200 -0
- package/src/internal/redBlackTree/node.ts +68 -0
- package/src/internal/redBlackTree.ts +1245 -0
- package/src/internal/redacted.ts +73 -0
- package/src/internal/ref.ts +171 -0
- package/src/internal/reloadable.ts +140 -0
- package/src/internal/request.ts +177 -0
- package/src/internal/resource.ts +76 -0
- package/src/internal/ringBuffer.ts +68 -0
- package/src/internal/runtime.ts +558 -0
- package/src/internal/runtimeFlags.ts +178 -0
- package/src/internal/runtimeFlagsPatch.ts +103 -0
- package/src/internal/schedule/decision.ts +47 -0
- package/src/internal/schedule/interval.ts +101 -0
- package/src/internal/schedule/intervals.ts +180 -0
- package/src/internal/schedule.ts +2199 -0
- package/src/internal/schema/errors.ts +191 -0
- package/src/internal/schema/schemaId.ts +106 -0
- package/src/internal/schema/util.ts +50 -0
- package/src/internal/scopedCache.ts +644 -0
- package/src/internal/scopedRef.ts +118 -0
- package/src/internal/secret.ts +89 -0
- package/src/internal/singleShotGen.ts +35 -0
- package/src/internal/sink.ts +2120 -0
- package/src/internal/stack.ts +10 -0
- package/src/internal/stm/core.ts +817 -0
- package/src/internal/stm/entry.ts +59 -0
- package/src/internal/stm/journal.ts +123 -0
- package/src/internal/stm/opCodes/stm.ts +71 -0
- package/src/internal/stm/opCodes/stmState.ts +17 -0
- package/src/internal/stm/opCodes/strategy.ts +17 -0
- package/src/internal/stm/opCodes/tExit.ts +29 -0
- package/src/internal/stm/opCodes/tryCommit.ts +11 -0
- package/src/internal/stm/stm.ts +1453 -0
- package/src/internal/stm/stmState.ts +136 -0
- package/src/internal/stm/tArray.ts +550 -0
- package/src/internal/stm/tDeferred.ts +81 -0
- package/src/internal/stm/tExit.ts +190 -0
- package/src/internal/stm/tMap.ts +824 -0
- package/src/internal/stm/tPriorityQueue.ts +267 -0
- package/src/internal/stm/tPubSub.ts +551 -0
- package/src/internal/stm/tQueue.ts +393 -0
- package/src/internal/stm/tRandom.ts +140 -0
- package/src/internal/stm/tReentrantLock.ts +352 -0
- package/src/internal/stm/tRef.ts +195 -0
- package/src/internal/stm/tSemaphore.ts +113 -0
- package/src/internal/stm/tSet.ts +259 -0
- package/src/internal/stm/tSubscriptionRef.ts +286 -0
- package/src/internal/stm/tryCommit.ts +34 -0
- package/src/internal/stm/txnId.ts +14 -0
- package/src/internal/stm/versioned.ts +4 -0
- package/src/internal/stream/debounceState.ts +57 -0
- package/src/internal/stream/emit.ts +123 -0
- package/src/internal/stream/haltStrategy.ts +94 -0
- package/src/internal/stream/handoff.ts +187 -0
- package/src/internal/stream/handoffSignal.ts +59 -0
- package/src/internal/stream/pull.ts +34 -0
- package/src/internal/stream/sinkEndReason.ts +30 -0
- package/src/internal/stream/zipAllState.ts +88 -0
- package/src/internal/stream/zipChunksState.ts +56 -0
- package/src/internal/stream.ts +8801 -0
- package/src/internal/string-utils.ts +107 -0
- package/src/internal/subscriptionRef.ts +138 -0
- package/src/internal/supervisor/patch.ts +190 -0
- package/src/internal/supervisor.ts +303 -0
- package/src/internal/synchronizedRef.ts +114 -0
- package/src/internal/take.ts +199 -0
- package/src/internal/testing/sleep.ts +27 -0
- package/src/internal/testing/suspendedWarningData.ts +85 -0
- package/src/internal/testing/warningData.ts +94 -0
- package/src/internal/tracer.ts +150 -0
- package/src/internal/trie.ts +722 -0
- package/src/internal/version.ts +7 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import * as array_ from "../../Array.js"
|
|
2
|
+
import * as Inspectable from "../../Inspectable.js"
|
|
3
|
+
import type * as AST from "../../SchemaAST.js"
|
|
4
|
+
import * as util_ from "./util.js"
|
|
5
|
+
|
|
6
|
+
const getErrorMessage = (
|
|
7
|
+
reason: string,
|
|
8
|
+
details?: string,
|
|
9
|
+
path?: ReadonlyArray<PropertyKey>,
|
|
10
|
+
ast?: AST.AST
|
|
11
|
+
): string => {
|
|
12
|
+
let out = reason
|
|
13
|
+
|
|
14
|
+
if (path && array_.isNonEmptyReadonlyArray(path)) {
|
|
15
|
+
out += `\nat path: ${util_.formatPath(path)}`
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (details !== undefined) {
|
|
19
|
+
out += `\ndetails: ${details}`
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (ast) {
|
|
23
|
+
out += `\nschema (${ast._tag}): ${ast}`
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return out
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// ---------------------------------------------
|
|
30
|
+
// generic
|
|
31
|
+
// ---------------------------------------------
|
|
32
|
+
|
|
33
|
+
/** @internal */
|
|
34
|
+
export const getInvalidArgumentErrorMessage = (details: string) => getErrorMessage("Invalid Argument", details)
|
|
35
|
+
|
|
36
|
+
const getUnsupportedSchemaErrorMessage = (details?: string, path?: ReadonlyArray<PropertyKey>, ast?: AST.AST): string =>
|
|
37
|
+
getErrorMessage("Unsupported schema", details, path, ast)
|
|
38
|
+
|
|
39
|
+
const getMissingAnnotationErrorMessage = (details?: string, path?: ReadonlyArray<PropertyKey>, ast?: AST.AST): string =>
|
|
40
|
+
getErrorMessage("Missing annotation", details, path, ast)
|
|
41
|
+
|
|
42
|
+
// ---------------------------------------------
|
|
43
|
+
// Arbitrary
|
|
44
|
+
// ---------------------------------------------
|
|
45
|
+
|
|
46
|
+
/** @internal */
|
|
47
|
+
export const getArbitraryUnsupportedErrorMessage = (path: ReadonlyArray<PropertyKey>, ast: AST.AST) =>
|
|
48
|
+
getUnsupportedSchemaErrorMessage("Cannot build an Arbitrary for this schema", path, ast)
|
|
49
|
+
|
|
50
|
+
/** @internal */
|
|
51
|
+
export const getArbitraryMissingAnnotationErrorMessage = (
|
|
52
|
+
path: ReadonlyArray<PropertyKey>,
|
|
53
|
+
ast: AST.AST
|
|
54
|
+
) =>
|
|
55
|
+
getMissingAnnotationErrorMessage(
|
|
56
|
+
`Generating an Arbitrary for this schema requires an "arbitrary" annotation`,
|
|
57
|
+
path,
|
|
58
|
+
ast
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
/** @internal */
|
|
62
|
+
export const getArbitraryEmptyEnumErrorMessage = (path: ReadonlyArray<PropertyKey>) =>
|
|
63
|
+
getErrorMessage("Empty Enums schema", "Generating an Arbitrary for this schema requires at least one enum", path)
|
|
64
|
+
|
|
65
|
+
// ---------------------------------------------
|
|
66
|
+
// Equivalence
|
|
67
|
+
// ---------------------------------------------
|
|
68
|
+
|
|
69
|
+
/** @internal */
|
|
70
|
+
export const getEquivalenceUnsupportedErrorMessage = (ast: AST.AST, path: ReadonlyArray<PropertyKey>) =>
|
|
71
|
+
getUnsupportedSchemaErrorMessage("Cannot build an Equivalence", path, ast)
|
|
72
|
+
|
|
73
|
+
// ---------------------------------------------
|
|
74
|
+
// JSON Schema
|
|
75
|
+
// ---------------------------------------------
|
|
76
|
+
|
|
77
|
+
/** @internal */
|
|
78
|
+
export const getJSONSchemaMissingAnnotationErrorMessage = (
|
|
79
|
+
path: ReadonlyArray<PropertyKey>,
|
|
80
|
+
ast: AST.AST
|
|
81
|
+
) =>
|
|
82
|
+
getMissingAnnotationErrorMessage(
|
|
83
|
+
`Generating a JSON Schema for this schema requires a "jsonSchema" annotation`,
|
|
84
|
+
path,
|
|
85
|
+
ast
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
/** @internal */
|
|
89
|
+
export const getJSONSchemaMissingIdentifierAnnotationErrorMessage = (
|
|
90
|
+
path: ReadonlyArray<PropertyKey>,
|
|
91
|
+
ast: AST.AST
|
|
92
|
+
) =>
|
|
93
|
+
getMissingAnnotationErrorMessage(
|
|
94
|
+
`Generating a JSON Schema for this schema requires an "identifier" annotation`,
|
|
95
|
+
path,
|
|
96
|
+
ast
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
/** @internal */
|
|
100
|
+
export const getJSONSchemaUnsupportedPostRestElementsErrorMessage = (path: ReadonlyArray<PropertyKey>): string =>
|
|
101
|
+
getErrorMessage(
|
|
102
|
+
"Generating a JSON Schema for post-rest elements is not currently supported. You're welcome to contribute by submitting a Pull Request",
|
|
103
|
+
undefined,
|
|
104
|
+
path
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
/** @internal */
|
|
108
|
+
export const getJSONSchemaUnsupportedKeyErrorMessage = (key: PropertyKey, path: ReadonlyArray<PropertyKey>): string =>
|
|
109
|
+
getErrorMessage("Unsupported key", `Cannot encode ${Inspectable.formatPropertyKey(key)} key to JSON Schema`, path)
|
|
110
|
+
|
|
111
|
+
// ---------------------------------------------
|
|
112
|
+
// Pretty
|
|
113
|
+
// ---------------------------------------------
|
|
114
|
+
|
|
115
|
+
/** @internal */
|
|
116
|
+
export const getPrettyMissingAnnotationErrorMessage = (
|
|
117
|
+
path: ReadonlyArray<PropertyKey>,
|
|
118
|
+
ast: AST.AST
|
|
119
|
+
) => getMissingAnnotationErrorMessage(`Generating a Pretty for this schema requires a "pretty" annotation`, path, ast)
|
|
120
|
+
|
|
121
|
+
/** @internal */
|
|
122
|
+
export const getPrettyNeverErrorMessage = "Cannot pretty print a `never` value"
|
|
123
|
+
|
|
124
|
+
/** @internal */
|
|
125
|
+
export const getPrettyNoMatchingSchemaErrorMessage = (
|
|
126
|
+
actual: unknown,
|
|
127
|
+
path: ReadonlyArray<PropertyKey>,
|
|
128
|
+
ast: AST.AST
|
|
129
|
+
) =>
|
|
130
|
+
getErrorMessage(
|
|
131
|
+
"Unexpected Error",
|
|
132
|
+
`Cannot find a matching schema for ${Inspectable.formatUnknown(actual)}`,
|
|
133
|
+
path,
|
|
134
|
+
ast
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
// ---------------------------------------------
|
|
138
|
+
// Schema
|
|
139
|
+
// ---------------------------------------------
|
|
140
|
+
|
|
141
|
+
/** @internal */
|
|
142
|
+
export const getSchemaExtendErrorMessage = (x: AST.AST, y: AST.AST, path: ReadonlyArray<PropertyKey>) =>
|
|
143
|
+
getErrorMessage("Unsupported schema or overlapping types", `cannot extend ${x} with ${y}`, path)
|
|
144
|
+
|
|
145
|
+
/** @internal */
|
|
146
|
+
export const getSchemaUnsupportedLiteralSpanErrorMessage = (ast: AST.AST) =>
|
|
147
|
+
getErrorMessage("Unsupported template literal span", undefined, undefined, ast)
|
|
148
|
+
|
|
149
|
+
// ---------------------------------------------
|
|
150
|
+
// AST
|
|
151
|
+
// ---------------------------------------------
|
|
152
|
+
|
|
153
|
+
/** @internal */
|
|
154
|
+
export const getASTUnsupportedSchemaErrorMessage = (ast: AST.AST) =>
|
|
155
|
+
getUnsupportedSchemaErrorMessage(undefined, undefined, ast)
|
|
156
|
+
|
|
157
|
+
/** @internal */
|
|
158
|
+
export const getASTUnsupportedKeySchemaErrorMessage = (ast: AST.AST) =>
|
|
159
|
+
getErrorMessage("Unsupported key schema", undefined, undefined, ast)
|
|
160
|
+
|
|
161
|
+
/** @internal */
|
|
162
|
+
export const getASTUnsupportedLiteralErrorMessage = (literal: AST.LiteralValue) =>
|
|
163
|
+
getErrorMessage("Unsupported literal", `literal value: ${Inspectable.formatUnknown(literal)}`)
|
|
164
|
+
|
|
165
|
+
/** @internal */
|
|
166
|
+
export const getASTDuplicateIndexSignatureErrorMessage = (type: "string" | "symbol"): string =>
|
|
167
|
+
getErrorMessage("Duplicate index signature", `${type} index signature`)
|
|
168
|
+
|
|
169
|
+
/** @internal */
|
|
170
|
+
export const getASTIndexSignatureParameterErrorMessage = getErrorMessage(
|
|
171
|
+
"Unsupported index signature parameter",
|
|
172
|
+
"An index signature parameter type must be `string`, `symbol`, a template literal type or a refinement of the previous types"
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
/** @internal */
|
|
176
|
+
export const getASTRequiredElementFollowinAnOptionalElementErrorMessage = getErrorMessage(
|
|
177
|
+
"Invalid element",
|
|
178
|
+
"A required element cannot follow an optional element. ts(1257)"
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
/** @internal */
|
|
182
|
+
export const getASTDuplicatePropertySignatureTransformationErrorMessage = (key: PropertyKey): string =>
|
|
183
|
+
getErrorMessage("Duplicate property signature transformation", `Duplicate key ${Inspectable.formatUnknown(key)}`)
|
|
184
|
+
|
|
185
|
+
/** @internal */
|
|
186
|
+
export const getASTUnsupportedRenameSchemaErrorMessage = (ast: AST.AST): string =>
|
|
187
|
+
getUnsupportedSchemaErrorMessage(undefined, undefined, ast)
|
|
188
|
+
|
|
189
|
+
/** @internal */
|
|
190
|
+
export const getASTDuplicatePropertySignatureErrorMessage = (key: PropertyKey): string =>
|
|
191
|
+
getErrorMessage("Duplicate property signature", `Duplicate key ${Inspectable.formatUnknown(key)}`)
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type * as Schema from "../../Schema.js"
|
|
2
|
+
|
|
3
|
+
/** @internal */
|
|
4
|
+
export const DateFromSelfSchemaId: Schema.DateFromSelfSchemaId = Symbol.for(
|
|
5
|
+
"effect/SchemaId/DateFromSelf"
|
|
6
|
+
) as Schema.DateFromSelfSchemaId
|
|
7
|
+
|
|
8
|
+
/** @internal */
|
|
9
|
+
export const GreaterThanSchemaId: Schema.GreaterThanSchemaId = Symbol.for(
|
|
10
|
+
"effect/SchemaId/GreaterThan"
|
|
11
|
+
) as Schema.GreaterThanSchemaId
|
|
12
|
+
|
|
13
|
+
/** @internal */
|
|
14
|
+
export const GreaterThanOrEqualToSchemaId: Schema.GreaterThanOrEqualToSchemaId = Symbol.for(
|
|
15
|
+
"effect/SchemaId/GreaterThanOrEqualTo"
|
|
16
|
+
) as Schema.GreaterThanOrEqualToSchemaId
|
|
17
|
+
|
|
18
|
+
/** @internal */
|
|
19
|
+
export const LessThanSchemaId: Schema.LessThanSchemaId = Symbol.for(
|
|
20
|
+
"effect/SchemaId/LessThan"
|
|
21
|
+
) as Schema.LessThanSchemaId
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export const LessThanOrEqualToSchemaId: Schema.LessThanOrEqualToSchemaId = Symbol.for(
|
|
25
|
+
"effect/SchemaId/LessThanOrEqualTo"
|
|
26
|
+
) as Schema.LessThanOrEqualToSchemaId
|
|
27
|
+
|
|
28
|
+
/** @internal */
|
|
29
|
+
export const IntSchemaId: Schema.IntSchemaId = Symbol.for(
|
|
30
|
+
"effect/SchemaId/Int"
|
|
31
|
+
) as Schema.IntSchemaId
|
|
32
|
+
|
|
33
|
+
/** @internal */
|
|
34
|
+
export const NonNaNSchemaId: Schema.NonNaNSchemaId = Symbol.for(
|
|
35
|
+
"effect/SchemaId/NonNaN"
|
|
36
|
+
) as Schema.NonNaNSchemaId
|
|
37
|
+
|
|
38
|
+
/** @internal */
|
|
39
|
+
export const FiniteSchemaId: Schema.FiniteSchemaId = Symbol.for(
|
|
40
|
+
"effect/SchemaId/Finite"
|
|
41
|
+
) as Schema.FiniteSchemaId
|
|
42
|
+
|
|
43
|
+
/** @internal */
|
|
44
|
+
export const JsonNumberSchemaId: Schema.JsonNumberSchemaId = Symbol.for(
|
|
45
|
+
"effect/SchemaId/JsonNumber"
|
|
46
|
+
) as Schema.JsonNumberSchemaId
|
|
47
|
+
|
|
48
|
+
/** @internal */
|
|
49
|
+
export const BetweenSchemaId: Schema.BetweenSchemaId = Symbol.for(
|
|
50
|
+
"effect/SchemaId/Between"
|
|
51
|
+
) as Schema.BetweenSchemaId
|
|
52
|
+
|
|
53
|
+
/** @internal */
|
|
54
|
+
export const GreaterThanBigintSchemaId: Schema.GreaterThanBigIntSchemaId = Symbol.for(
|
|
55
|
+
"effect/SchemaId/GreaterThanBigint"
|
|
56
|
+
) as Schema.GreaterThanBigIntSchemaId
|
|
57
|
+
|
|
58
|
+
/** @internal */
|
|
59
|
+
export const GreaterThanOrEqualToBigIntSchemaId: Schema.GreaterThanOrEqualToBigIntSchemaId = Symbol.for(
|
|
60
|
+
"effect/SchemaId/GreaterThanOrEqualToBigint"
|
|
61
|
+
) as Schema.GreaterThanOrEqualToBigIntSchemaId
|
|
62
|
+
|
|
63
|
+
/** @internal */
|
|
64
|
+
export const LessThanBigIntSchemaId: Schema.LessThanBigIntSchemaId = Symbol.for(
|
|
65
|
+
"effect/SchemaId/LessThanBigint"
|
|
66
|
+
) as Schema.LessThanBigIntSchemaId
|
|
67
|
+
|
|
68
|
+
/** @internal */
|
|
69
|
+
export const LessThanOrEqualToBigIntSchemaId: Schema.LessThanOrEqualToBigIntSchemaId = Symbol.for(
|
|
70
|
+
"effect/SchemaId/LessThanOrEqualToBigint"
|
|
71
|
+
) as Schema.LessThanOrEqualToBigIntSchemaId
|
|
72
|
+
|
|
73
|
+
/** @internal */
|
|
74
|
+
export const BetweenBigintSchemaId: Schema.BetweenBigIntSchemaId = Symbol.for(
|
|
75
|
+
"effect/SchemaId/BetweenBigint"
|
|
76
|
+
) as Schema.BetweenBigIntSchemaId
|
|
77
|
+
|
|
78
|
+
/** @internal */
|
|
79
|
+
export const MinLengthSchemaId: Schema.MinLengthSchemaId = Symbol.for(
|
|
80
|
+
"effect/SchemaId/MinLength"
|
|
81
|
+
) as Schema.MinLengthSchemaId
|
|
82
|
+
|
|
83
|
+
/** @internal */
|
|
84
|
+
export const MaxLengthSchemaId: Schema.MaxLengthSchemaId = Symbol.for(
|
|
85
|
+
"effect/SchemaId/MaxLength"
|
|
86
|
+
) as Schema.MaxLengthSchemaId
|
|
87
|
+
|
|
88
|
+
/** @internal */
|
|
89
|
+
export const LengthSchemaId: Schema.LengthSchemaId = Symbol.for(
|
|
90
|
+
"effect/SchemaId/Length"
|
|
91
|
+
) as Schema.LengthSchemaId
|
|
92
|
+
|
|
93
|
+
/** @internal */
|
|
94
|
+
export const MinItemsSchemaId: Schema.MinItemsSchemaId = Symbol.for(
|
|
95
|
+
"effect/SchemaId/MinItems"
|
|
96
|
+
) as Schema.MinItemsSchemaId
|
|
97
|
+
|
|
98
|
+
/** @internal */
|
|
99
|
+
export const MaxItemsSchemaId: Schema.MaxItemsSchemaId = Symbol.for(
|
|
100
|
+
"effect/SchemaId/MaxItems"
|
|
101
|
+
) as Schema.MaxItemsSchemaId
|
|
102
|
+
|
|
103
|
+
/** @internal */
|
|
104
|
+
export const ItemsCountSchemaId: Schema.ItemsCountSchemaId = Symbol.for(
|
|
105
|
+
"effect/SchemaId/ItemsCount"
|
|
106
|
+
) as Schema.ItemsCountSchemaId
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { NonEmptyReadonlyArray } from "../../Array.js"
|
|
2
|
+
import * as Inspectable from "../../Inspectable.js"
|
|
3
|
+
import type * as ParseResult from "../../ParseResult.js"
|
|
4
|
+
import type * as AST from "../../SchemaAST.js"
|
|
5
|
+
|
|
6
|
+
/** @internal */
|
|
7
|
+
export const getKeysForIndexSignature = (
|
|
8
|
+
input: { readonly [x: PropertyKey]: unknown },
|
|
9
|
+
parameter: AST.Parameter
|
|
10
|
+
): ReadonlyArray<string> | ReadonlyArray<symbol> => {
|
|
11
|
+
switch (parameter._tag) {
|
|
12
|
+
case "StringKeyword":
|
|
13
|
+
case "TemplateLiteral":
|
|
14
|
+
return Object.keys(input)
|
|
15
|
+
case "SymbolKeyword":
|
|
16
|
+
return Object.getOwnPropertySymbols(input)
|
|
17
|
+
case "Refinement":
|
|
18
|
+
return getKeysForIndexSignature(input, parameter.from)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export const memoizeThunk = <A>(f: () => A): () => A => {
|
|
24
|
+
let done = false
|
|
25
|
+
let a: A
|
|
26
|
+
return () => {
|
|
27
|
+
if (done) {
|
|
28
|
+
return a
|
|
29
|
+
}
|
|
30
|
+
a = f()
|
|
31
|
+
done = true
|
|
32
|
+
return a
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** @internal */
|
|
37
|
+
export type SingleOrArray<A> = A | ReadonlyArray<A>
|
|
38
|
+
|
|
39
|
+
/** @internal */
|
|
40
|
+
export const isNonEmpty = <A>(x: ParseResult.SingleOrNonEmpty<A>): x is NonEmptyReadonlyArray<A> => Array.isArray(x)
|
|
41
|
+
|
|
42
|
+
/** @internal */
|
|
43
|
+
export const isSingle = <A>(x: A | ReadonlyArray<A>): x is A => !Array.isArray(x)
|
|
44
|
+
|
|
45
|
+
/** @internal */
|
|
46
|
+
export const formatPathKey = (key: PropertyKey): string => `[${Inspectable.formatPropertyKey(key)}]`
|
|
47
|
+
|
|
48
|
+
/** @internal */
|
|
49
|
+
export const formatPath = (path: ParseResult.Path): string =>
|
|
50
|
+
isNonEmpty(path) ? path.map(formatPathKey).join("") : formatPathKey(path)
|