effect 4.1.0 → 4.1.1
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/README.md +30 -0
- package/THIRD_PARTY_NOTICES.md +62 -0
- package/dist/BigDecimal.d.ts +139 -7
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +83 -14
- package/dist/BigDecimal.js.map +1 -1
- package/dist/Equal.d.ts +2 -2
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +3 -3
- package/dist/Equal.js.map +1 -1
- package/dist/Hash.d.ts +3 -2
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +5 -4
- package/dist/Hash.js.map +1 -1
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +11 -8
- package/dist/Iterable.js.map +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +5 -1
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +2 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Schema.d.ts +2 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2 -1
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +4 -2
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +4 -2
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +2 -2
- package/dist/SchemaTransformation.js +2 -2
- package/dist/ai/McpClient.d.ts +171 -19
- package/dist/ai/McpClient.d.ts.map +1 -1
- package/dist/ai/McpClient.js +277 -66
- package/dist/ai/McpClient.js.map +1 -1
- package/dist/ai/McpSchema.d.ts +108 -0
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpSchema.js +99 -0
- package/dist/ai/McpSchema.js.map +1 -1
- package/dist/ai/McpServer.d.ts +120 -6
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +215 -34
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +20 -11
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Tool.d.ts.map +1 -1
- package/dist/ai/Tool.js +5 -7
- package/dist/ai/Tool.js.map +1 -1
- package/dist/ai/internal/mcpCore.js +72 -3
- package/dist/ai/internal/mcpCore.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +3 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +3 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +3 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +3 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +42 -7
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js +12 -0
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +3 -3
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpSkills.d.ts +2 -0
- package/dist/ai/internal/mcpSkills.d.ts.map +1 -0
- package/dist/ai/internal/mcpSkills.js +428 -0
- package/dist/ai/internal/mcpSkills.js.map +1 -0
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +15 -5
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/Reply.d.ts +1 -1
- package/dist/cluster/Reply.d.ts.map +1 -1
- package/dist/cluster/Reply.js.map +1 -1
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +4 -1
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +15 -7
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/crypto/Aead.d.ts +2 -1
- package/dist/crypto/Aead.d.ts.map +1 -1
- package/dist/crypto/Aead.js +2 -2
- package/dist/crypto/Aead.js.map +1 -1
- package/dist/crypto/Cipher.d.ts +2 -1
- package/dist/crypto/Cipher.d.ts.map +1 -1
- package/dist/crypto/Cipher.js +2 -2
- package/dist/crypto/Cipher.js.map +1 -1
- package/dist/crypto/KeyAgreement.d.ts +3 -2
- package/dist/crypto/KeyAgreement.d.ts.map +1 -1
- package/dist/crypto/KeyAgreement.js +2 -2
- package/dist/crypto/KeyAgreement.js.map +1 -1
- package/dist/crypto/KeyFormat.d.ts +33 -1
- package/dist/crypto/KeyFormat.d.ts.map +1 -1
- package/dist/crypto/KeyFormat.js.map +1 -1
- package/dist/crypto/KeyWrap.d.ts +4 -3
- package/dist/crypto/KeyWrap.d.ts.map +1 -1
- package/dist/crypto/KeyWrap.js +2 -2
- package/dist/crypto/KeyWrap.js.map +1 -1
- package/dist/crypto/Mac.d.ts +2 -1
- package/dist/crypto/Mac.d.ts.map +1 -1
- package/dist/crypto/Mac.js +2 -2
- package/dist/crypto/Mac.js.map +1 -1
- package/dist/crypto/Signature.d.ts +3 -2
- package/dist/crypto/Signature.d.ts.map +1 -1
- package/dist/crypto/Signature.js +2 -2
- package/dist/crypto/Signature.js.map +1 -1
- package/dist/crypto/WebCrypto.d.ts +19 -0
- package/dist/crypto/WebCrypto.d.ts.map +1 -1
- package/dist/crypto/WebCrypto.js.map +1 -1
- package/dist/crypto/internal/asymmetric.js.map +1 -1
- package/dist/crypto/internal/key.js +3 -2
- package/dist/crypto/internal/key.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +26 -3
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/Ndjson.d.ts +5 -4
- package/dist/encoding/Ndjson.d.ts.map +1 -1
- package/dist/encoding/Ndjson.js +6 -5
- package/dist/encoding/Ndjson.js.map +1 -1
- package/dist/encoding/Sse.d.ts +3 -1
- package/dist/encoding/Sse.d.ts.map +1 -1
- package/dist/encoding/Sse.js +5 -3
- package/dist/encoding/Sse.js.map +1 -1
- package/dist/eventlog/EventLog.d.ts +7 -0
- package/dist/eventlog/EventLog.d.ts.map +1 -1
- package/dist/eventlog/EventLog.js +7 -0
- package/dist/eventlog/EventLog.js.map +1 -1
- package/dist/eventlog/EventLogServer.d.ts +7 -1
- package/dist/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/eventlog/EventLogServer.js +27 -12
- package/dist/eventlog/EventLogServer.js.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.d.ts +10 -0
- package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.d.ts +17 -0
- package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.js +14 -2
- package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.d.ts +21 -0
- package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.js +22 -0
- package/dist/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/graphql/GraphQLClient.d.ts +3 -1
- package/dist/graphql/GraphQLClient.d.ts.map +1 -1
- package/dist/graphql/GraphQLClient.js.map +1 -1
- package/dist/graphql/GraphQLClientError.d.ts +14 -9
- package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
- package/dist/graphql/GraphQLClientError.js +14 -21
- package/dist/graphql/GraphQLClientError.js.map +1 -1
- package/dist/graphql/GraphQLProtocol.d.ts +12 -3
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +4 -1
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/http/HttpClient.d.ts +189 -7
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +75 -2
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +38 -22
- package/dist/http/HttpServerRequest.js.map +1 -1
- package/dist/http/internal/mimeTypes.d.ts +4 -1
- package/dist/http/internal/mimeTypes.d.ts.map +1 -1
- package/dist/http/internal/mimeTypes.js +4 -1
- package/dist/http/internal/mimeTypes.js.map +1 -1
- package/dist/http-api/HttpApiSchema.js +1 -1
- package/dist/http-api/HttpApiSchema.js.map +1 -1
- package/dist/internal/dateTime.js +49 -24
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +10 -0
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/glob.js +234 -56
- package/dist/internal/glob.js.map +1 -1
- package/dist/internal/graphql.js +21 -7
- package/dist/internal/graphql.js.map +1 -1
- package/dist/internal/graphqlHeaders.d.ts +7 -0
- package/dist/internal/graphqlHeaders.d.ts.map +1 -1
- package/dist/internal/graphqlHeaders.js +11 -0
- package/dist/internal/graphqlHeaders.js.map +1 -1
- package/dist/internal/request.js +29 -42
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +7 -8
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/jose/JoseError.d.ts +285 -0
- package/dist/jose/JoseError.d.ts.map +1 -0
- package/dist/jose/JoseError.js +269 -0
- package/dist/jose/JoseError.js.map +1 -0
- package/dist/jose/Jwe.d.ts +128 -0
- package/dist/jose/Jwe.d.ts.map +1 -0
- package/dist/jose/Jwe.js +134 -0
- package/dist/jose/Jwe.js.map +1 -0
- package/dist/jose/Jwk.d.ts +597 -0
- package/dist/jose/Jwk.d.ts.map +1 -0
- package/dist/jose/Jwk.js +503 -0
- package/dist/jose/Jwk.js.map +1 -0
- package/dist/jose/Jwks.d.ts +236 -0
- package/dist/jose/Jwks.d.ts.map +1 -0
- package/dist/jose/Jwks.js +306 -0
- package/dist/jose/Jwks.js.map +1 -0
- package/dist/jose/Jws.d.ts +177 -0
- package/dist/jose/Jws.d.ts.map +1 -0
- package/dist/jose/Jws.js +183 -0
- package/dist/jose/Jws.js.map +1 -0
- package/dist/jose/Jwt.d.ts +270 -0
- package/dist/jose/Jwt.d.ts.map +1 -0
- package/dist/jose/Jwt.js +293 -0
- package/dist/jose/Jwt.js.map +1 -0
- package/dist/jose/index.d.ts +51 -0
- package/dist/jose/index.d.ts.map +1 -0
- package/dist/jose/index.js +52 -0
- package/dist/jose/index.js.map +1 -0
- package/dist/jose/internal/compact.d.ts +2 -0
- package/dist/jose/internal/compact.d.ts.map +1 -0
- package/dist/jose/internal/compact.js +179 -0
- package/dist/jose/internal/compact.js.map +1 -0
- package/dist/net/Host.d.ts.map +1 -1
- package/dist/net/Host.js +5 -10
- package/dist/net/Host.js.map +1 -1
- package/dist/observability/OtlpSerialization.d.ts +1 -1
- package/dist/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/observability/OtlpSerialization.js +10 -4
- package/dist/observability/OtlpSerialization.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +3 -3
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/observability/internal/protobuf.js +6 -0
- package/dist/observability/internal/protobuf.js.map +1 -1
- package/dist/persistence/CircuitBreaker.d.ts +98 -38
- package/dist/persistence/CircuitBreaker.d.ts.map +1 -1
- package/dist/persistence/CircuitBreaker.js +67 -29
- package/dist/persistence/CircuitBreaker.js.map +1 -1
- package/dist/persistence/RateLimiter.d.ts +8 -0
- package/dist/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/persistence/RateLimiter.js +63 -12
- package/dist/persistence/RateLimiter.js.map +1 -1
- package/dist/persistence/index.d.ts +1 -1
- package/dist/persistence/index.js +1 -1
- package/dist/reactivity/AtomRegistry.js +17 -7
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/Rpc.d.ts +1 -1
- package/dist/rpc/Rpc.d.ts.map +1 -1
- package/dist/rpc/Rpc.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +14 -2
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +38 -21
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcMessage.d.ts +3 -2
- package/dist/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/rpc/RpcMessage.js.map +1 -1
- package/dist/sql/Migrator.d.ts +9 -1
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +18 -6
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +38 -3
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +4 -3
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +41 -3
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +24 -20
- package/dist/sql/Statement.js.map +1 -1
- package/dist/workflow/Workflow.d.ts +4 -0
- package/dist/workflow/Workflow.d.ts.map +1 -1
- package/dist/workflow/Workflow.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +5 -0
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +5 -1
- package/src/BigDecimal.ts +170 -16
- package/src/Equal.ts +3 -3
- package/src/Hash.ts +5 -4
- package/src/Iterable.ts +8 -5
- package/src/Path.ts +6 -1
- package/src/Pool.ts +2 -1
- package/src/Schema.ts +3 -2
- package/src/SchemaRepresentation.ts +4 -2
- package/src/SchemaTransformation.ts +2 -2
- package/src/ai/McpClient.ts +488 -91
- package/src/ai/McpSchema.ts +119 -0
- package/src/ai/McpServer.ts +261 -38
- package/src/ai/Prompt.ts +16 -11
- package/src/ai/Tool.ts +5 -10
- package/src/ai/internal/mcpCore.ts +165 -12
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +3 -1
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +3 -1
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +3 -1
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +3 -1
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +41 -7
- package/src/ai/internal/mcpProtocol.ts +15 -0
- package/src/ai/internal/mcpRuntime.ts +6 -3
- package/src/ai/internal/mcpSkills.ts +480 -0
- package/src/cluster/ClusterWorkflowEngine.ts +22 -8
- package/src/cluster/Reply.ts +1 -1
- package/src/cluster/Sharding.ts +4 -1
- package/src/cluster/internal/entityManager.ts +24 -10
- package/src/crypto/Aead.ts +3 -3
- package/src/crypto/Cipher.ts +3 -3
- package/src/crypto/KeyAgreement.ts +4 -4
- package/src/crypto/KeyFormat.ts +30 -1
- package/src/crypto/KeyWrap.ts +6 -6
- package/src/crypto/Mac.ts +3 -3
- package/src/crypto/Signature.ts +4 -4
- package/src/crypto/WebCrypto.ts +20 -0
- package/src/crypto/internal/asymmetric.ts +2 -1
- package/src/crypto/internal/key.ts +12 -5
- package/src/encoding/Base64Url.ts +27 -3
- package/src/encoding/Ndjson.ts +6 -5
- package/src/encoding/Sse.ts +5 -3
- package/src/eventlog/EventLog.ts +7 -0
- package/src/eventlog/EventLogServer.ts +31 -12
- package/src/eventlog/EventLogServerEncrypted.ts +5 -0
- package/src/eventlog/EventLogServerUnencrypted.ts +19 -2
- package/src/eventlog/EventLogSessionAuth.ts +26 -0
- package/src/graphql/GraphQLClient.ts +3 -1
- package/src/graphql/GraphQLClientError.ts +15 -22
- package/src/graphql/GraphQLProtocol.ts +12 -3
- package/src/http/HttpClient.ts +210 -11
- package/src/http/HttpServerRequest.ts +61 -23
- package/src/http/internal/mimeTypes.ts +4 -1
- package/src/http-api/HttpApiSchema.ts +1 -1
- package/src/internal/dateTime.ts +54 -24
- package/src/internal/effect.ts +6 -0
- package/src/internal/glob.ts +279 -63
- package/src/internal/graphql.ts +27 -9
- package/src/internal/graphqlHeaders.ts +13 -0
- package/src/internal/request.ts +51 -58
- package/src/internal/schema/fromJsonSchemaDocument.ts +11 -10
- package/src/internal/version.ts +1 -1
- package/src/jose/JoseError.ts +329 -0
- package/src/jose/Jwe.ts +196 -0
- package/src/jose/Jwk.ts +777 -0
- package/src/jose/Jwks.ts +418 -0
- package/src/jose/Jws.ts +312 -0
- package/src/jose/Jwt.ts +493 -0
- package/src/jose/index.ts +58 -0
- package/src/jose/internal/compact.ts +195 -0
- package/src/net/Host.ts +5 -10
- package/src/observability/OtlpSerialization.ts +13 -5
- package/src/observability/internal/otlpProtobuf.ts +6 -6
- package/src/observability/internal/protobuf.ts +10 -0
- package/src/persistence/CircuitBreaker.ts +113 -48
- package/src/persistence/RateLimiter.ts +84 -15
- package/src/persistence/index.ts +1 -1
- package/src/reactivity/AtomRegistry.ts +19 -8
- package/src/rpc/Rpc.ts +3 -1
- package/src/rpc/RpcClient.ts +44 -24
- package/src/rpc/RpcMessage.ts +3 -2
- package/src/sql/Migrator.ts +35 -18
- package/src/sql/SqlClient.ts +43 -8
- package/src/sql/Statement.ts +52 -22
- package/src/workflow/Workflow.ts +4 -0
- package/src/workflow/WorkflowEngine.ts +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowEngine.js","names":[],"sources":["../../src/workflow/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"WorkflowEngine.js","names":[],"sources":["../../src/workflow/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.1.
|
|
4
|
+
"version": "4.1.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "The missing standard library for TypeScript, for writing production-grade software.",
|
|
7
7
|
"homepage": "https://effect.website",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"./eventlog": "./dist/eventlog/index.js",
|
|
43
43
|
"./http": "./dist/http/index.js",
|
|
44
44
|
"./http-api": "./dist/http-api/index.js",
|
|
45
|
+
"./jose": "./dist/jose/index.js",
|
|
45
46
|
"./net": "./dist/net/index.js",
|
|
46
47
|
"./observability": "./dist/observability/index.js",
|
|
47
48
|
"./persistence": "./dist/persistence/index.js",
|
|
@@ -65,6 +66,7 @@
|
|
|
65
66
|
"./http/FindMyWay/internal/*": null,
|
|
66
67
|
"./http/MultipartParser/internal/*": null,
|
|
67
68
|
"./http-api/internal/*": null,
|
|
69
|
+
"./jose/internal/*": null,
|
|
68
70
|
"./observability/internal/*": null,
|
|
69
71
|
"./rpc/internal/*": null,
|
|
70
72
|
"./workflow/internal/*": null,
|
|
@@ -79,6 +81,7 @@
|
|
|
79
81
|
"dist/**/*.d.ts.map",
|
|
80
82
|
"AGENTS.md",
|
|
81
83
|
"CLAUDE.md",
|
|
84
|
+
"THIRD_PARTY_NOTICES.md",
|
|
82
85
|
"ai-docs/**/*"
|
|
83
86
|
],
|
|
84
87
|
"publishConfig": {
|
|
@@ -93,6 +96,7 @@
|
|
|
93
96
|
"esbuild": "^0.28.2",
|
|
94
97
|
"fake-indexeddb": "^6.2.5",
|
|
95
98
|
"immer": "^11.1.21",
|
|
99
|
+
"jose": "6.2.12",
|
|
96
100
|
"miniflare": "5.20260925.0-alpha",
|
|
97
101
|
"protobufjs": "^8.8.1",
|
|
98
102
|
"tinybench": "^6.2.2",
|
package/src/BigDecimal.ts
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
* divide, round, and format decimal values such as money, quantities, and
|
|
6
6
|
* measurements.
|
|
7
7
|
*
|
|
8
|
+
* Parsed scales are limited to ±10,000, and operations that align scales throw
|
|
9
|
+
* a `RangeError` when the scales differ by more than 20,000.
|
|
10
|
+
*
|
|
8
11
|
* @stability stable
|
|
9
12
|
* @since 2.0.0
|
|
10
13
|
*/
|
|
@@ -21,6 +24,9 @@ import { type Pipeable, pipeArguments } from "./Pipeable.ts"
|
|
|
21
24
|
import { hasProperty } from "./Predicate.ts"
|
|
22
25
|
|
|
23
26
|
const DEFAULT_PRECISION = 100
|
|
27
|
+
const MAX_SCALE = 10_000
|
|
28
|
+
// Allows aligning values parsed at opposite bounds
|
|
29
|
+
const MAX_SCALE_ALIGNMENT = 2 * MAX_SCALE
|
|
24
30
|
const FINITE_INT_REGEXP = /^[+-]?\d+$/
|
|
25
31
|
|
|
26
32
|
const TypeId = "~effect/BigDecimal"
|
|
@@ -211,15 +217,27 @@ export const normalize = (self: BigDecimal): BigDecimal => {
|
|
|
211
217
|
self.normalized = zero
|
|
212
218
|
} else {
|
|
213
219
|
const digits = `${self.value}`
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
self.normalized = makeNormalized(BigInt(digits.slice(0, end)), self.scale - (digits.length - end))
|
|
220
|
+
const zeros = trailingZeros(digits)
|
|
221
|
+
self.normalized = makeNormalized(BigInt(digits.slice(0, digits.length - zeros)), self.scale - zeros)
|
|
217
222
|
}
|
|
218
223
|
}
|
|
219
224
|
|
|
220
225
|
return self.normalized
|
|
221
226
|
}
|
|
222
227
|
|
|
228
|
+
const trailingZeros = (digits: string): number => {
|
|
229
|
+
let end = digits.length
|
|
230
|
+
while (digits[end - 1] === "0") end--
|
|
231
|
+
return digits.length - end
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
const powerOfTen = (exponent: number): bigint => {
|
|
235
|
+
if (exponent > MAX_SCALE_ALIGNMENT) {
|
|
236
|
+
throw new RangeError(`Scale alignment must not exceed ${MAX_SCALE_ALIGNMENT} digits, got ${exponent}`)
|
|
237
|
+
}
|
|
238
|
+
return bigint10 ** BigInt(exponent)
|
|
239
|
+
}
|
|
240
|
+
|
|
223
241
|
/**
|
|
224
242
|
* Changes a `BigDecimal` to the specified scale.
|
|
225
243
|
*
|
|
@@ -233,6 +251,10 @@ export const normalize = (self: BigDecimal): BigDecimal => {
|
|
|
233
251
|
* digits beyond the target scale by `bigint` division, which truncates toward
|
|
234
252
|
* zero.
|
|
235
253
|
*
|
|
254
|
+
* **Gotchas**
|
|
255
|
+
*
|
|
256
|
+
* Throws a `RangeError` if the scale changes by more than 20,000.
|
|
257
|
+
*
|
|
236
258
|
* **Example** (Scaling decimal precision)
|
|
237
259
|
*
|
|
238
260
|
* ```ts import.meta.vitest
|
|
@@ -269,6 +291,10 @@ export const scale: {
|
|
|
269
291
|
* digits beyond the target scale by `bigint` division, which truncates toward
|
|
270
292
|
* zero.
|
|
271
293
|
*
|
|
294
|
+
* **Gotchas**
|
|
295
|
+
*
|
|
296
|
+
* Throws a `RangeError` if the scale changes by more than 20,000.
|
|
297
|
+
*
|
|
272
298
|
* **Example** (Scaling decimal precision)
|
|
273
299
|
*
|
|
274
300
|
* ```ts import.meta.vitest
|
|
@@ -305,6 +331,10 @@ export const scale: {
|
|
|
305
331
|
* digits beyond the target scale by `bigint` division, which truncates toward
|
|
306
332
|
* zero.
|
|
307
333
|
*
|
|
334
|
+
* **Gotchas**
|
|
335
|
+
*
|
|
336
|
+
* Throws a `RangeError` if the scale changes by more than 20,000.
|
|
337
|
+
*
|
|
308
338
|
* **Example** (Scaling decimal precision)
|
|
309
339
|
*
|
|
310
340
|
* ```ts import.meta.vitest
|
|
@@ -330,11 +360,11 @@ export const scale: {
|
|
|
330
360
|
(self: BigDecimal, scale: number): BigDecimal
|
|
331
361
|
} = dual(2, (self: BigDecimal, scale: number): BigDecimal => {
|
|
332
362
|
if (scale > self.scale) {
|
|
333
|
-
return make(self.value *
|
|
363
|
+
return make(self.value * powerOfTen(scale - self.scale), scale)
|
|
334
364
|
}
|
|
335
365
|
|
|
336
366
|
if (scale < self.scale) {
|
|
337
|
-
return make(self.value /
|
|
367
|
+
return make(self.value / powerOfTen(self.scale - scale), scale)
|
|
338
368
|
}
|
|
339
369
|
|
|
340
370
|
return self
|
|
@@ -348,6 +378,10 @@ export const scale: {
|
|
|
348
378
|
* Use when you need a decimal addition function for piping or higher-order APIs
|
|
349
379
|
* while preserving decimal precision.
|
|
350
380
|
*
|
|
381
|
+
* **Gotchas**
|
|
382
|
+
*
|
|
383
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
384
|
+
*
|
|
351
385
|
* **Example** (Adding decimals)
|
|
352
386
|
*
|
|
353
387
|
* ```ts import.meta.vitest
|
|
@@ -374,6 +408,10 @@ export const sum: {
|
|
|
374
408
|
* Use when you need a decimal addition function for piping or higher-order APIs
|
|
375
409
|
* while preserving decimal precision.
|
|
376
410
|
*
|
|
411
|
+
* **Gotchas**
|
|
412
|
+
*
|
|
413
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
414
|
+
*
|
|
377
415
|
* **Example** (Adding decimals)
|
|
378
416
|
*
|
|
379
417
|
* ```ts import.meta.vitest
|
|
@@ -400,6 +438,10 @@ export const sum: {
|
|
|
400
438
|
* Use when you need a decimal addition function for piping or higher-order APIs
|
|
401
439
|
* while preserving decimal precision.
|
|
402
440
|
*
|
|
441
|
+
* **Gotchas**
|
|
442
|
+
*
|
|
443
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
444
|
+
*
|
|
403
445
|
* **Example** (Adding decimals)
|
|
404
446
|
*
|
|
405
447
|
* ```ts import.meta.vitest
|
|
@@ -446,6 +488,10 @@ export const sum: {
|
|
|
446
488
|
* Use when you need to aggregate decimal quantities with decimal precision
|
|
447
489
|
* instead of converting through JavaScript numbers.
|
|
448
490
|
*
|
|
491
|
+
* **Gotchas**
|
|
492
|
+
*
|
|
493
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
494
|
+
*
|
|
449
495
|
* **Example** (Adding multiple decimals)
|
|
450
496
|
*
|
|
451
497
|
* ```ts import.meta.vitest
|
|
@@ -598,6 +644,10 @@ export const multiplyAll = (collection: Iterable<BigDecimal>): BigDecimal => {
|
|
|
598
644
|
*
|
|
599
645
|
* Use to subtract one `BigDecimal` value from another.
|
|
600
646
|
*
|
|
647
|
+
* **Gotchas**
|
|
648
|
+
*
|
|
649
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
650
|
+
*
|
|
601
651
|
* **Example** (Subtracting decimals)
|
|
602
652
|
*
|
|
603
653
|
* ```ts import.meta.vitest
|
|
@@ -621,6 +671,10 @@ export const subtract: {
|
|
|
621
671
|
*
|
|
622
672
|
* Use to subtract one `BigDecimal` value from another.
|
|
623
673
|
*
|
|
674
|
+
* **Gotchas**
|
|
675
|
+
*
|
|
676
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
677
|
+
*
|
|
624
678
|
* **Example** (Subtracting decimals)
|
|
625
679
|
*
|
|
626
680
|
* ```ts import.meta.vitest
|
|
@@ -644,6 +698,10 @@ export const subtract: {
|
|
|
644
698
|
*
|
|
645
699
|
* Use to subtract one `BigDecimal` value from another.
|
|
646
700
|
*
|
|
701
|
+
* **Gotchas**
|
|
702
|
+
*
|
|
703
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
704
|
+
*
|
|
647
705
|
* **Example** (Subtracting decimals)
|
|
648
706
|
*
|
|
649
707
|
* ```ts import.meta.vitest
|
|
@@ -1818,6 +1876,10 @@ export const negate = (n: BigDecimal): BigDecimal => make(-n.value, n.scale)
|
|
|
1818
1876
|
*
|
|
1819
1877
|
* If the divisor is `0`, the result will be `Option.none()`.
|
|
1820
1878
|
*
|
|
1879
|
+
* **Gotchas**
|
|
1880
|
+
*
|
|
1881
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
1882
|
+
*
|
|
1821
1883
|
* **Example** (Computing remainders safely)
|
|
1822
1884
|
*
|
|
1823
1885
|
* ```ts import.meta.vitest
|
|
@@ -1852,6 +1914,10 @@ export const remainder: {
|
|
|
1852
1914
|
*
|
|
1853
1915
|
* If the divisor is `0`, the result will be `Option.none()`.
|
|
1854
1916
|
*
|
|
1917
|
+
* **Gotchas**
|
|
1918
|
+
*
|
|
1919
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
1920
|
+
*
|
|
1855
1921
|
* **Example** (Computing remainders safely)
|
|
1856
1922
|
*
|
|
1857
1923
|
* ```ts import.meta.vitest
|
|
@@ -1886,6 +1952,10 @@ export const remainder: {
|
|
|
1886
1952
|
*
|
|
1887
1953
|
* If the divisor is `0`, the result will be `Option.none()`.
|
|
1888
1954
|
*
|
|
1955
|
+
* **Gotchas**
|
|
1956
|
+
*
|
|
1957
|
+
* Throws a `RangeError` if the operands' scales differ by more than 20,000.
|
|
1958
|
+
*
|
|
1889
1959
|
* **Example** (Computing remainders safely)
|
|
1890
1960
|
*
|
|
1891
1961
|
* ```ts import.meta.vitest
|
|
@@ -1927,7 +1997,8 @@ export const remainder: {
|
|
|
1927
1997
|
*
|
|
1928
1998
|
* **Gotchas**
|
|
1929
1999
|
*
|
|
1930
|
-
* Throws a `RangeError` if the divisor is `0
|
|
2000
|
+
* Throws a `RangeError` if the divisor is `0` or the operands' scales differ by
|
|
2001
|
+
* more than 20,000.
|
|
1931
2002
|
*
|
|
1932
2003
|
* **Example** (Computing remainders unsafely)
|
|
1933
2004
|
*
|
|
@@ -1958,7 +2029,8 @@ export const remainderUnsafe: {
|
|
|
1958
2029
|
*
|
|
1959
2030
|
* **Gotchas**
|
|
1960
2031
|
*
|
|
1961
|
-
* Throws a `RangeError` if the divisor is `0
|
|
2032
|
+
* Throws a `RangeError` if the divisor is `0` or the operands' scales differ by
|
|
2033
|
+
* more than 20,000.
|
|
1962
2034
|
*
|
|
1963
2035
|
* **Example** (Computing remainders unsafely)
|
|
1964
2036
|
*
|
|
@@ -1989,7 +2061,8 @@ export const remainderUnsafe: {
|
|
|
1989
2061
|
*
|
|
1990
2062
|
* **Gotchas**
|
|
1991
2063
|
*
|
|
1992
|
-
* Throws a `RangeError` if the divisor is `0
|
|
2064
|
+
* Throws a `RangeError` if the divisor is `0` or the operands' scales differ by
|
|
2065
|
+
* more than 20,000.
|
|
1993
2066
|
*
|
|
1994
2067
|
* **Example** (Computing remainders unsafely)
|
|
1995
2068
|
*
|
|
@@ -2245,8 +2318,9 @@ export const fromNumber = (n: number): Option.Option<BigDecimal> => {
|
|
|
2245
2318
|
* **Details**
|
|
2246
2319
|
*
|
|
2247
2320
|
* Returns `Option.some` for valid decimal or exponent notation and
|
|
2248
|
-
* `Option.none` when the
|
|
2249
|
-
*
|
|
2321
|
+
* `Option.none` otherwise, including when the scale, before or after removing
|
|
2322
|
+
* trailing zeros, is outside ±10,000 (for example, more than 10,000 fractional
|
|
2323
|
+
* digits). The empty string parses as zero.
|
|
2250
2324
|
*
|
|
2251
2325
|
* **Example** (Parsing decimal strings safely)
|
|
2252
2326
|
*
|
|
@@ -2305,11 +2379,14 @@ export const fromString = (s: string): Option.Option<BigDecimal> => {
|
|
|
2305
2379
|
}
|
|
2306
2380
|
|
|
2307
2381
|
const scale = offset - exp
|
|
2308
|
-
|
|
2382
|
+
const value = BigInt(digits)
|
|
2383
|
+
// Keeps `format` output parseable
|
|
2384
|
+
const normalizedScale = value === bigint0 ? scale : scale - trailingZeros(digits)
|
|
2385
|
+
if (scale > MAX_SCALE || normalizedScale < -MAX_SCALE) {
|
|
2309
2386
|
return Option.none()
|
|
2310
2387
|
}
|
|
2311
2388
|
|
|
2312
|
-
return Option.some(make(
|
|
2389
|
+
return Option.some(make(value, scale))
|
|
2313
2390
|
}
|
|
2314
2391
|
|
|
2315
2392
|
/**
|
|
@@ -2322,8 +2399,9 @@ export const fromString = (s: string): Option.Option<BigDecimal> => {
|
|
|
2322
2399
|
*
|
|
2323
2400
|
* **Details**
|
|
2324
2401
|
*
|
|
2325
|
-
* Accepts the same syntax as `fromString`. Use `fromString`
|
|
2326
|
-
* should be represented as `Option.none` instead of
|
|
2402
|
+
* Accepts the same syntax and scale limits as `fromString`. Use `fromString`
|
|
2403
|
+
* when invalid input should be represented as `Option.none` instead of
|
|
2404
|
+
* throwing.
|
|
2327
2405
|
*
|
|
2328
2406
|
* **Example** (Parsing decimal strings unsafely)
|
|
2329
2407
|
*
|
|
@@ -2596,6 +2674,15 @@ export type RoundingMode =
|
|
|
2596
2674
|
*
|
|
2597
2675
|
* Use to round a decimal at a requested scale with an explicit rounding mode.
|
|
2598
2676
|
*
|
|
2677
|
+
* **Details**
|
|
2678
|
+
*
|
|
2679
|
+
* Values already at or below the target scale are returned unchanged.
|
|
2680
|
+
*
|
|
2681
|
+
* **Gotchas**
|
|
2682
|
+
*
|
|
2683
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
2684
|
+
* than 20,000.
|
|
2685
|
+
*
|
|
2599
2686
|
* **Example** (Rounding decimals)
|
|
2600
2687
|
*
|
|
2601
2688
|
* ```ts import.meta.vitest
|
|
@@ -2624,6 +2711,15 @@ export const round: {
|
|
|
2624
2711
|
*
|
|
2625
2712
|
* Use to round a decimal at a requested scale with an explicit rounding mode.
|
|
2626
2713
|
*
|
|
2714
|
+
* **Details**
|
|
2715
|
+
*
|
|
2716
|
+
* Values already at or below the target scale are returned unchanged.
|
|
2717
|
+
*
|
|
2718
|
+
* **Gotchas**
|
|
2719
|
+
*
|
|
2720
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
2721
|
+
* than 20,000.
|
|
2722
|
+
*
|
|
2627
2723
|
* **Example** (Rounding decimals)
|
|
2628
2724
|
*
|
|
2629
2725
|
* ```ts import.meta.vitest
|
|
@@ -2652,6 +2748,15 @@ export const round: {
|
|
|
2652
2748
|
*
|
|
2653
2749
|
* Use to round a decimal at a requested scale with an explicit rounding mode.
|
|
2654
2750
|
*
|
|
2751
|
+
* **Details**
|
|
2752
|
+
*
|
|
2753
|
+
* Values already at or below the target scale are returned unchanged.
|
|
2754
|
+
*
|
|
2755
|
+
* **Gotchas**
|
|
2756
|
+
*
|
|
2757
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
2758
|
+
* than 20,000.
|
|
2759
|
+
*
|
|
2655
2760
|
* **Example** (Rounding decimals)
|
|
2656
2761
|
*
|
|
2657
2762
|
* ```ts import.meta.vitest
|
|
@@ -2677,6 +2782,10 @@ export const round: {
|
|
|
2677
2782
|
const mode = options?.mode ?? "half-from-zero"
|
|
2678
2783
|
const scale = options?.scale ?? 0
|
|
2679
2784
|
|
|
2785
|
+
if (self.scale <= scale) {
|
|
2786
|
+
return self
|
|
2787
|
+
}
|
|
2788
|
+
|
|
2680
2789
|
switch (mode) {
|
|
2681
2790
|
case "ceil":
|
|
2682
2791
|
return ceil(self, scale)
|
|
@@ -2729,6 +2838,11 @@ export const round: {
|
|
|
2729
2838
|
* Use when you need to discard fractional digits beyond a scale rather than
|
|
2730
2839
|
* round half up, half down, or toward an infinity.
|
|
2731
2840
|
*
|
|
2841
|
+
* **Gotchas**
|
|
2842
|
+
*
|
|
2843
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
2844
|
+
* than 20,000.
|
|
2845
|
+
*
|
|
2732
2846
|
* **Example** (Truncating decimals)
|
|
2733
2847
|
*
|
|
2734
2848
|
* ```ts import.meta.vitest
|
|
@@ -2756,6 +2870,11 @@ export const truncate: {
|
|
|
2756
2870
|
* Use when you need to discard fractional digits beyond a scale rather than
|
|
2757
2871
|
* round half up, half down, or toward an infinity.
|
|
2758
2872
|
*
|
|
2873
|
+
* **Gotchas**
|
|
2874
|
+
*
|
|
2875
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
2876
|
+
* than 20,000.
|
|
2877
|
+
*
|
|
2759
2878
|
* **Example** (Truncating decimals)
|
|
2760
2879
|
*
|
|
2761
2880
|
* ```ts import.meta.vitest
|
|
@@ -2783,6 +2902,11 @@ export const truncate: {
|
|
|
2783
2902
|
* Use when you need to discard fractional digits beyond a scale rather than
|
|
2784
2903
|
* round half up, half down, or toward an infinity.
|
|
2785
2904
|
*
|
|
2905
|
+
* **Gotchas**
|
|
2906
|
+
*
|
|
2907
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
2908
|
+
* than 20,000.
|
|
2909
|
+
*
|
|
2786
2910
|
* **Example** (Truncating decimals)
|
|
2787
2911
|
*
|
|
2788
2912
|
* ```ts import.meta.vitest
|
|
@@ -2807,7 +2931,7 @@ export const truncate: {
|
|
|
2807
2931
|
}
|
|
2808
2932
|
|
|
2809
2933
|
// BigInt division truncates towards zero
|
|
2810
|
-
return make(self.value / (
|
|
2934
|
+
return make(self.value / powerOfTen(self.scale - scale), scale)
|
|
2811
2935
|
})
|
|
2812
2936
|
|
|
2813
2937
|
/**
|
|
@@ -2823,6 +2947,11 @@ export const truncate: {
|
|
|
2823
2947
|
* decimal point, and negative scales round positions to the left of the decimal
|
|
2824
2948
|
* point.
|
|
2825
2949
|
*
|
|
2950
|
+
* **Gotchas**
|
|
2951
|
+
*
|
|
2952
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
2953
|
+
* than 20,000.
|
|
2954
|
+
*
|
|
2826
2955
|
* @see {@link floor} for rounding toward negative infinity
|
|
2827
2956
|
* @see {@link truncate} for rounding toward zero
|
|
2828
2957
|
* @see {@link round} for configurable rounding modes
|
|
@@ -2854,6 +2983,11 @@ export const ceil: {
|
|
|
2854
2983
|
* decimal point, and negative scales round positions to the left of the decimal
|
|
2855
2984
|
* point.
|
|
2856
2985
|
*
|
|
2986
|
+
* **Gotchas**
|
|
2987
|
+
*
|
|
2988
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
2989
|
+
* than 20,000.
|
|
2990
|
+
*
|
|
2857
2991
|
* @see {@link floor} for rounding toward negative infinity
|
|
2858
2992
|
* @see {@link truncate} for rounding toward zero
|
|
2859
2993
|
* @see {@link round} for configurable rounding modes
|
|
@@ -2885,6 +3019,11 @@ export const ceil: {
|
|
|
2885
3019
|
* decimal point, and negative scales round positions to the left of the decimal
|
|
2886
3020
|
* point.
|
|
2887
3021
|
*
|
|
3022
|
+
* **Gotchas**
|
|
3023
|
+
*
|
|
3024
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
3025
|
+
* than 20,000.
|
|
3026
|
+
*
|
|
2888
3027
|
* @see {@link floor} for rounding toward negative infinity
|
|
2889
3028
|
* @see {@link truncate} for rounding toward zero
|
|
2890
3029
|
* @see {@link round} for configurable rounding modes
|
|
@@ -2942,7 +3081,7 @@ export const digitAt: {
|
|
|
2942
3081
|
return bigint0
|
|
2943
3082
|
}
|
|
2944
3083
|
|
|
2945
|
-
const scaled = self.value / (
|
|
3084
|
+
const scaled = self.value / powerOfTen(self.scale - scale)
|
|
2946
3085
|
return scaled % bigint10
|
|
2947
3086
|
})
|
|
2948
3087
|
|
|
@@ -2953,6 +3092,11 @@ export const digitAt: {
|
|
|
2953
3092
|
*
|
|
2954
3093
|
* Use to round a decimal toward negative infinity at a requested scale.
|
|
2955
3094
|
*
|
|
3095
|
+
* **Gotchas**
|
|
3096
|
+
*
|
|
3097
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
3098
|
+
* than 20,000.
|
|
3099
|
+
*
|
|
2956
3100
|
* **Example** (Rounding decimals down)
|
|
2957
3101
|
*
|
|
2958
3102
|
* ```ts import.meta.vitest
|
|
@@ -2978,6 +3122,11 @@ export const floor: {
|
|
|
2978
3122
|
*
|
|
2979
3123
|
* Use to round a decimal toward negative infinity at a requested scale.
|
|
2980
3124
|
*
|
|
3125
|
+
* **Gotchas**
|
|
3126
|
+
*
|
|
3127
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
3128
|
+
* than 20,000.
|
|
3129
|
+
*
|
|
2981
3130
|
* **Example** (Rounding decimals down)
|
|
2982
3131
|
*
|
|
2983
3132
|
* ```ts import.meta.vitest
|
|
@@ -3003,6 +3152,11 @@ export const floor: {
|
|
|
3003
3152
|
*
|
|
3004
3153
|
* Use to round a decimal toward negative infinity at a requested scale.
|
|
3005
3154
|
*
|
|
3155
|
+
* **Gotchas**
|
|
3156
|
+
*
|
|
3157
|
+
* Throws a `RangeError` if the value's scale exceeds the target scale by more
|
|
3158
|
+
* than 20,000.
|
|
3159
|
+
*
|
|
3006
3160
|
* **Example** (Rounding decimals down)
|
|
3007
3161
|
*
|
|
3008
3162
|
* ```ts import.meta.vitest
|
package/src/Equal.ts
CHANGED
|
@@ -398,8 +398,8 @@ export function makeCompareSet<A>(equivalence: Equivalence<A>) {
|
|
|
398
398
|
* **Details**
|
|
399
399
|
*
|
|
400
400
|
* - Pure function, no side effects.
|
|
401
|
-
* - Returns `true` if and only if `u` has a
|
|
402
|
-
*
|
|
401
|
+
* - Returns `true` if and only if `u` has a function keyed by {@link symbol}.
|
|
402
|
+
* Data that merely carries the key, such as parsed JSON, is not `Equal`.
|
|
403
403
|
* - Acts as a TypeScript type guard, narrowing the input to {@link Equal}.
|
|
404
404
|
*
|
|
405
405
|
* **Example** (Checking Equal values)
|
|
@@ -428,7 +428,7 @@ export function makeCompareSet<A>(equivalence: Equivalence<A>) {
|
|
|
428
428
|
* @category guards
|
|
429
429
|
* @since 2.0.0
|
|
430
430
|
*/
|
|
431
|
-
export const isEqual = (u: unknown): u is Equal => hasProperty(u, symbol)
|
|
431
|
+
export const isEqual = (u: unknown): u is Equal => hasProperty(u, symbol) && typeof u[symbol] === "function"
|
|
432
432
|
|
|
433
433
|
/**
|
|
434
434
|
* Wraps {@link equals} as an `Equivalence<A>`.
|
package/src/Hash.ts
CHANGED
|
@@ -140,7 +140,7 @@ export const hash: <A>(self: A) => number = <A>(self: A) => {
|
|
|
140
140
|
const seen = backEdges
|
|
141
141
|
let h: number
|
|
142
142
|
try {
|
|
143
|
-
if (
|
|
143
|
+
if (isHash(self)) {
|
|
144
144
|
h = (self as Hash)[symbol]()
|
|
145
145
|
} else if (typeof self === "function") {
|
|
146
146
|
h = random(self)
|
|
@@ -351,8 +351,9 @@ export const optimize = (n: number): number => (n & 0xbfffffff) | ((n >>> 1) & 0
|
|
|
351
351
|
*
|
|
352
352
|
* **Details**
|
|
353
353
|
*
|
|
354
|
-
* This function determines whether a given value has the Hash
|
|
355
|
-
* indicating that it can provide its own hash value implementation.
|
|
354
|
+
* This function determines whether a given value has a function under the Hash
|
|
355
|
+
* symbol, indicating that it can provide its own hash value implementation.
|
|
356
|
+
* Data that merely carries the key, such as parsed JSON, is hashed as data.
|
|
356
357
|
*
|
|
357
358
|
* **Example** (Checking for Hash support)
|
|
358
359
|
*
|
|
@@ -374,7 +375,7 @@ export const optimize = (n: number): number => (n & 0xbfffffff) | ((n >>> 1) & 0
|
|
|
374
375
|
* @category guards
|
|
375
376
|
* @since 2.0.0
|
|
376
377
|
*/
|
|
377
|
-
export const isHash = (u: unknown): u is Hash => hasProperty(u, symbol)
|
|
378
|
+
export const isHash = (u: unknown): u is Hash => hasProperty(u, symbol) && typeof u[symbol] === "function"
|
|
378
379
|
|
|
379
380
|
const float64 = new DataView(new ArrayBuffer(8))
|
|
380
381
|
|
package/src/Iterable.ts
CHANGED
|
@@ -1223,15 +1223,18 @@ export const takeWhile: {
|
|
|
1223
1223
|
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Iterable<A>
|
|
1224
1224
|
} = dual(2, <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Iterable<A> => ({
|
|
1225
1225
|
[Symbol.iterator]() {
|
|
1226
|
-
|
|
1226
|
+
let iterator: Iterator<A> | undefined = self[Symbol.iterator]()
|
|
1227
1227
|
let i = 0
|
|
1228
1228
|
return {
|
|
1229
1229
|
next() {
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1230
|
+
if (iterator !== undefined) {
|
|
1231
|
+
const result = iterator.next()
|
|
1232
|
+
if (!result.done && predicate(result.value, i++)) {
|
|
1233
|
+
return result
|
|
1234
|
+
}
|
|
1235
|
+
iterator = undefined
|
|
1233
1236
|
}
|
|
1234
|
-
return
|
|
1237
|
+
return { done: true, value: undefined }
|
|
1235
1238
|
}
|
|
1236
1239
|
}
|
|
1237
1240
|
}
|
package/src/Path.ts
CHANGED
|
@@ -385,9 +385,14 @@ function normalizeStringPosix(path: string, allowAboveRoot: boolean) {
|
|
|
385
385
|
return res
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
+
function formatExt(ext: string | undefined) {
|
|
389
|
+
if (!ext) return ""
|
|
390
|
+
return ext.startsWith(".") ? ext : `.${ext}`
|
|
391
|
+
}
|
|
392
|
+
|
|
388
393
|
function _format(sep: string, pathObject: Partial<Path.Parsed>) {
|
|
389
394
|
const dir = pathObject.dir || pathObject.root
|
|
390
|
-
const base = pathObject.base || (pathObject.name || "") + (pathObject.ext
|
|
395
|
+
const base = pathObject.base || (pathObject.name || "") + formatExt(pathObject.ext)
|
|
391
396
|
if (!dir) {
|
|
392
397
|
return base
|
|
393
398
|
}
|
package/src/Pool.ts
CHANGED
|
@@ -378,7 +378,8 @@ export const makeWithStrategy = <A, E, R>(options: {
|
|
|
378
378
|
}): Effect.Effect<Pool<A, E>, never, Scope.Scope | R> =>
|
|
379
379
|
Effect.uninterruptibleMask(Effect.fnUntraced(function*(restore) {
|
|
380
380
|
const services = yield* Effect.context<R | Scope.Scope>()
|
|
381
|
-
|
|
381
|
+
// A child scope keeps the pool usable in later finalizers of the outer scope
|
|
382
|
+
const scope = Scope.forkUnsafe(Context.get(services, Scope.Scope))
|
|
382
383
|
const acquire = Effect.updateContext(
|
|
383
384
|
options.acquire,
|
|
384
385
|
(input) => Context.merge(services, input)
|