effect 3.13.9 → 3.13.11
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/Arbitrary.js +38 -22
- package/dist/cjs/Arbitrary.js.map +1 -1
- package/dist/cjs/Array.js +50 -50
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/Brand.js +9 -4
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Cause.js +1 -0
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Chunk.js +25 -23
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js +2 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js +4 -4
- package/dist/cjs/Effect.js +823 -632
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +12 -12
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/LogLevel.js +1 -1
- package/dist/cjs/Logger.js +12 -12
- package/dist/cjs/Match.js +26 -26
- package/dist/cjs/Option.js +43 -43
- package/dist/cjs/Predicate.js +6 -2
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Schema.js +21 -17
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/SchemaAST.js +49 -25
- package/dist/cjs/SchemaAST.js.map +1 -1
- package/dist/cjs/Scope.js +2 -0
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/Stream.js +93 -93
- package/dist/cjs/internal/core.js +1 -1
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/schema/util.js +23 -14
- package/dist/cjs/internal/schema/util.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 +47 -47
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +14 -6
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +1 -0
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +91 -89
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +2 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +4 -4
- package/dist/dts/Effect.d.ts +2107 -1621
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +33 -33
- package/dist/dts/LogLevel.d.ts +3 -3
- package/dist/dts/Logger.d.ts +16 -16
- package/dist/dts/Match.d.ts +26 -26
- package/dist/dts/Option.d.ts +84 -84
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +53 -21
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/SchemaAST.d.ts.map +1 -1
- package/dist/dts/Scope.d.ts +2 -0
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +229 -229
- package/dist/esm/Arbitrary.js +38 -22
- package/dist/esm/Arbitrary.js.map +1 -1
- package/dist/esm/Array.js +50 -50
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/Brand.js +9 -4
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Cause.js +1 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Chunk.js +25 -23
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js +2 -1
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js +4 -4
- package/dist/esm/Effect.js +845 -648
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +17 -17
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/LogLevel.js +1 -1
- package/dist/esm/Logger.js +12 -12
- package/dist/esm/Match.js +26 -26
- package/dist/esm/Option.js +48 -48
- package/dist/esm/Predicate.js +3 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Schema.js +21 -17
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/SchemaAST.js +46 -22
- package/dist/esm/SchemaAST.js.map +1 -1
- package/dist/esm/Scope.js +2 -0
- package/dist/esm/Scope.js.map +1 -1
- package/dist/esm/Stream.js +101 -101
- package/dist/esm/internal/core.js +1 -1
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/schema/util.js +23 -14
- package/dist/esm/internal/schema/util.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/Arbitrary.ts +39 -24
- package/src/Array.ts +116 -113
- package/src/Brand.ts +14 -6
- package/src/Cause.ts +1 -0
- package/src/Chunk.ts +97 -95
- package/src/Config.ts +2 -1
- package/src/Context.ts +4 -4
- package/src/Effect.ts +2107 -1621
- package/src/Either.ts +34 -34
- package/src/LogLevel.ts +3 -3
- package/src/Logger.ts +16 -16
- package/src/Match.ts +26 -26
- package/src/Option.ts +84 -84
- package/src/Predicate.ts +4 -0
- package/src/Schema.ts +87 -41
- package/src/SchemaAST.ts +47 -22
- package/src/Scope.ts +2 -0
- package/src/Stream.ts +229 -229
- package/src/internal/core.ts +2 -1
- package/src/internal/schema/util.ts +34 -25
- package/src/internal/version.ts +1 -1
package/dist/dts/Schema.d.ts
CHANGED
|
@@ -1207,11 +1207,30 @@ export declare const optionalWith: {
|
|
|
1207
1207
|
* @since 3.10.0
|
|
1208
1208
|
*/
|
|
1209
1209
|
export declare namespace Struct {
|
|
1210
|
+
/**
|
|
1211
|
+
* Useful for creating a type that can be used to add custom constraints to the fields of a struct.
|
|
1212
|
+
*
|
|
1213
|
+
* ```ts
|
|
1214
|
+
* import { Schema } from "effect"
|
|
1215
|
+
*
|
|
1216
|
+
* const f = <Fields extends Record<"a" | "b", Schema.Struct.Field>>(
|
|
1217
|
+
* schema: Schema.Struct<Fields>
|
|
1218
|
+
* ) => {
|
|
1219
|
+
* return schema.omit("a")
|
|
1220
|
+
* }
|
|
1221
|
+
*
|
|
1222
|
+
* // ┌─── Schema.Struct<{ b: typeof Schema.Number; }>
|
|
1223
|
+
* // ▼
|
|
1224
|
+
* const result = f(Schema.Struct({ a: Schema.String, b: Schema.Number }))
|
|
1225
|
+
* ```
|
|
1226
|
+
* @since 3.13.11
|
|
1227
|
+
*/
|
|
1228
|
+
type Field = Schema.All | PropertySignature.All;
|
|
1210
1229
|
/**
|
|
1211
1230
|
* @since 3.10.0
|
|
1212
1231
|
*/
|
|
1213
1232
|
type Fields = {
|
|
1214
|
-
readonly [x: PropertyKey]:
|
|
1233
|
+
readonly [x: PropertyKey]: Field;
|
|
1215
1234
|
};
|
|
1216
1235
|
type OptionalEncodedPropertySignature = PropertySignature<PropertySignature.Token, any, PropertyKey, "?:", any, boolean, unknown> | PropertySignature<PropertySignature.Token, any, PropertyKey, "?:", never, boolean, unknown> | PropertySignature<PropertySignature.Token, never, PropertyKey, "?:", any, boolean, unknown> | PropertySignature<PropertySignature.Token, never, PropertyKey, "?:", never, boolean, unknown>;
|
|
1217
1236
|
type EncodedOptionalKeys<Fields extends Struct.Fields> = {
|
|
@@ -1274,22 +1293,23 @@ export declare namespace IndexSignature {
|
|
|
1274
1293
|
* @since 3.10.0
|
|
1275
1294
|
*/
|
|
1276
1295
|
type NonEmptyRecords = array_.NonEmptyReadonlyArray<Record>;
|
|
1296
|
+
type MergeTuple<T extends ReadonlyArray<unknown>> = T extends readonly [infer Head, ...infer Tail] ? Head & MergeTuple<Tail> : {};
|
|
1277
1297
|
/**
|
|
1278
1298
|
* @since 3.10.0
|
|
1279
1299
|
*/
|
|
1280
|
-
type Type<Records extends IndexSignature.Records> =
|
|
1281
|
-
[K in keyof Records]: {
|
|
1300
|
+
type Type<Records extends IndexSignature.Records> = MergeTuple<{
|
|
1301
|
+
readonly [K in keyof Records]: {
|
|
1282
1302
|
readonly [P in Schema.Type<Records[K]["key"]>]: Schema.Type<Records[K]["value"]>;
|
|
1283
1303
|
};
|
|
1284
|
-
}
|
|
1304
|
+
}>;
|
|
1285
1305
|
/**
|
|
1286
1306
|
* @since 3.10.0
|
|
1287
1307
|
*/
|
|
1288
|
-
type Encoded<Records extends IndexSignature.Records> =
|
|
1289
|
-
[K in keyof Records]: {
|
|
1308
|
+
type Encoded<Records extends IndexSignature.Records> = MergeTuple<{
|
|
1309
|
+
readonly [K in keyof Records]: {
|
|
1290
1310
|
readonly [P in Schema.Encoded<Records[K]["key"]>]: Schema.Encoded<Records[K]["value"]>;
|
|
1291
1311
|
};
|
|
1292
|
-
}
|
|
1312
|
+
}>;
|
|
1293
1313
|
/**
|
|
1294
1314
|
* @since 3.10.0
|
|
1295
1315
|
*/
|
|
@@ -1319,9 +1339,7 @@ export declare namespace TypeLiteral {
|
|
|
1319
1339
|
* @since 3.10.0
|
|
1320
1340
|
*/
|
|
1321
1341
|
export interface TypeLiteral<Fields extends Struct.Fields, Records extends IndexSignature.Records> extends AnnotableClass<TypeLiteral<Fields, Records>, Simplify<TypeLiteral.Type<Fields, Records>>, Simplify<TypeLiteral.Encoded<Fields, Records>>, Struct.Context<Fields> | IndexSignature.Context<Records>> {
|
|
1322
|
-
readonly fields:
|
|
1323
|
-
readonly [K in keyof Fields]: Fields[K];
|
|
1324
|
-
};
|
|
1342
|
+
readonly fields: Readonly<Fields>;
|
|
1325
1343
|
readonly records: Readonly<Records>;
|
|
1326
1344
|
annotations(annotations: Annotations.Schema<Simplify<TypeLiteral.Type<Fields, Records>>>): TypeLiteral<Fields, Records>;
|
|
1327
1345
|
make(props: RequiredKeys<TypeLiteral.Constructor<Fields, Records>> extends never ? void | Simplify<TypeLiteral.Constructor<Fields, Records>> : Simplify<TypeLiteral.Constructor<Fields, Records>>, options?: MakeOptions): Simplify<TypeLiteral.Type<Fields, Records>>;
|
|
@@ -1330,7 +1348,10 @@ export interface TypeLiteral<Fields extends Struct.Fields, Records extends Index
|
|
|
1330
1348
|
* @category api interface
|
|
1331
1349
|
* @since 3.10.0
|
|
1332
1350
|
*/
|
|
1333
|
-
export interface Struct<Fields extends Struct.Fields> extends
|
|
1351
|
+
export interface Struct<Fields extends Struct.Fields> extends AnnotableClass<Struct<Fields>, Simplify<Struct.Type<Fields>>, Simplify<Struct.Encoded<Fields>>, Struct.Context<Fields>> {
|
|
1352
|
+
readonly fields: Readonly<Fields>;
|
|
1353
|
+
readonly records: readonly [];
|
|
1354
|
+
make(props: RequiredKeys<Struct.Constructor<Fields>> extends never ? void | Simplify<Struct.Constructor<Fields>> : Simplify<Struct.Constructor<Fields>>, options?: MakeOptions): Simplify<Struct.Type<Fields>>;
|
|
1334
1355
|
annotations(annotations: Annotations.Schema<Simplify<Struct.Type<Fields>>>): Struct<Fields>;
|
|
1335
1356
|
pick<Keys extends ReadonlyArray<keyof Fields>>(...keys: Keys): Struct<Simplify<Pick<Fields, Keys[number]>>>;
|
|
1336
1357
|
omit<Keys extends ReadonlyArray<keyof Fields>>(...keys: Keys): Struct<Simplify<Omit<Fields, Keys[number]>>>;
|
|
@@ -1352,8 +1373,6 @@ export interface tag<Tag extends AST.LiteralValue> extends PropertySignature<":"
|
|
|
1352
1373
|
* A tag is a literal value that is used to distinguish between different types of objects.
|
|
1353
1374
|
* The tag is optional when using the `make` method.
|
|
1354
1375
|
*
|
|
1355
|
-
* @see {@link TaggedStruct}
|
|
1356
|
-
*
|
|
1357
1376
|
* @example
|
|
1358
1377
|
* ```ts
|
|
1359
1378
|
* import * as assert from "node:assert"
|
|
@@ -1368,6 +1387,8 @@ export interface tag<Tag extends AST.LiteralValue> extends PropertySignature<":"
|
|
|
1368
1387
|
* assert.deepStrictEqual(User.make({ name: "John", age: 44 }), { _tag: "User", name: "John", age: 44 })
|
|
1369
1388
|
* ```
|
|
1370
1389
|
*
|
|
1390
|
+
* @see {@link TaggedStruct}
|
|
1391
|
+
*
|
|
1371
1392
|
* @since 3.10.0
|
|
1372
1393
|
*/
|
|
1373
1394
|
export declare const tag: <Tag extends AST.LiteralValue>(tag: Tag) => tag<Tag>;
|
|
@@ -1404,16 +1425,26 @@ export declare const TaggedStruct: <Tag extends AST.LiteralValue, Fields extends
|
|
|
1404
1425
|
* @category api interface
|
|
1405
1426
|
* @since 3.10.0
|
|
1406
1427
|
*/
|
|
1407
|
-
export interface Record$<K extends Schema.All, V extends Schema.All> extends
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1428
|
+
export interface Record$<K extends Schema.All, V extends Schema.All> extends AnnotableClass<Record$<K, V>, {
|
|
1429
|
+
readonly [P in Schema.Type<K>]: Schema.Type<V>;
|
|
1430
|
+
}, {
|
|
1431
|
+
readonly [P in Schema.Encoded<K>]: Schema.Encoded<V>;
|
|
1432
|
+
}, Schema.Context<K> | Schema.Context<V>> {
|
|
1433
|
+
readonly fields: {};
|
|
1434
|
+
readonly records: readonly [{
|
|
1435
|
+
readonly key: K;
|
|
1436
|
+
readonly value: V;
|
|
1437
|
+
}];
|
|
1411
1438
|
readonly key: K;
|
|
1412
1439
|
readonly value: V;
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1440
|
+
make(props: void | {
|
|
1441
|
+
readonly [P in Schema.Type<K>]: Schema.Type<V>;
|
|
1442
|
+
}, options?: MakeOptions): {
|
|
1443
|
+
readonly [P in Schema.Type<K>]: Schema.Type<V>;
|
|
1444
|
+
};
|
|
1445
|
+
annotations(annotations: Annotations.Schema<{
|
|
1446
|
+
readonly [P in Schema.Type<K>]: Schema.Type<V>;
|
|
1447
|
+
}>): Record$<K, V>;
|
|
1417
1448
|
}
|
|
1418
1449
|
/**
|
|
1419
1450
|
* @category constructors
|
|
@@ -4681,6 +4712,7 @@ declare const BooleanFromUnknown_base: transform<typeof Unknown, typeof Boolean$
|
|
|
4681
4712
|
* Uses `!!val` to coerce the value to a `boolean`.
|
|
4682
4713
|
*
|
|
4683
4714
|
* @see https://developer.mozilla.org/docs/Glossary/Truthy
|
|
4715
|
+
*
|
|
4684
4716
|
* @category boolean constructors
|
|
4685
4717
|
* @since 3.10.0
|
|
4686
4718
|
*/
|