@dxos/effect 0.8.4-main.fffef41 → 0.8.4-staging.60fe92afc8

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.
Files changed (86) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/browser/chunk-CGS2ULMK.mjs +11 -0
  4. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +530 -353
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/testing.mjs +31 -0
  9. package/dist/lib/browser/testing.mjs.map +7 -0
  10. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  11. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  12. package/dist/lib/node-esm/index.mjs +530 -353
  13. package/dist/lib/node-esm/index.mjs.map +4 -4
  14. package/dist/lib/node-esm/meta.json +1 -1
  15. package/dist/lib/node-esm/testing.mjs +31 -0
  16. package/dist/lib/node-esm/testing.mjs.map +7 -0
  17. package/dist/types/src/EffectEx.d.ts +5 -0
  18. package/dist/types/src/EffectEx.d.ts.map +1 -0
  19. package/dist/types/src/Performance.d.ts +25 -0
  20. package/dist/types/src/Performance.d.ts.map +1 -0
  21. package/dist/types/src/RuntimeProvider.d.ts +21 -0
  22. package/dist/types/src/RuntimeProvider.d.ts.map +1 -0
  23. package/dist/types/src/SchemaEx.d.ts +4 -0
  24. package/dist/types/src/SchemaEx.d.ts.map +1 -0
  25. package/dist/types/src/atom-kvs.d.ts +19 -0
  26. package/dist/types/src/atom-kvs.d.ts.map +1 -0
  27. package/dist/types/src/dynamic-runtime.d.ts +56 -0
  28. package/dist/types/src/dynamic-runtime.d.ts.map +1 -0
  29. package/dist/types/src/dynamic-runtime.test.d.ts +2 -0
  30. package/dist/types/src/dynamic-runtime.test.d.ts.map +1 -0
  31. package/dist/types/src/index.d.ts +8 -7
  32. package/dist/types/src/index.d.ts.map +1 -1
  33. package/dist/types/src/{ast.d.ts → internal/ast.d.ts} +45 -21
  34. package/dist/types/src/internal/ast.d.ts.map +1 -0
  35. package/dist/types/src/internal/async-task-tagging.d.ts +6 -0
  36. package/dist/types/src/internal/async-task-tagging.d.ts.map +1 -0
  37. package/dist/types/src/internal/context.d.ts.map +1 -0
  38. package/dist/types/src/{errors.d.ts → internal/errors.d.ts} +16 -0
  39. package/dist/types/src/internal/errors.d.ts.map +1 -0
  40. package/dist/types/src/{jsonPath.d.ts → internal/json-path.d.ts} +11 -3
  41. package/dist/types/src/internal/json-path.d.ts.map +1 -0
  42. package/dist/types/src/internal/resource.d.ts.map +1 -0
  43. package/dist/types/src/internal/url.d.ts.map +1 -0
  44. package/dist/types/src/json-path.test.d.ts +2 -0
  45. package/dist/types/src/json-path.test.d.ts.map +1 -0
  46. package/dist/types/src/testing.d.ts +5 -14
  47. package/dist/types/src/testing.d.ts.map +1 -1
  48. package/dist/types/src/types.d.ts +8 -0
  49. package/dist/types/src/types.d.ts.map +1 -0
  50. package/dist/types/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +33 -21
  52. package/src/EffectEx.ts +18 -0
  53. package/src/Performance.ts +45 -0
  54. package/src/RuntimeProvider.ts +35 -0
  55. package/src/SchemaEx.ts +46 -0
  56. package/src/ast.test.ts +36 -9
  57. package/src/atom-kvs.ts +35 -0
  58. package/src/dynamic-runtime.test.ts +465 -0
  59. package/src/dynamic-runtime.ts +195 -0
  60. package/src/index.ts +12 -7
  61. package/src/{ast.ts → internal/ast.ts} +121 -91
  62. package/src/internal/async-task-tagging.ts +51 -0
  63. package/src/{errors.ts → internal/errors.ts} +72 -8
  64. package/src/{jsonPath.ts → internal/json-path.ts} +26 -3
  65. package/src/{resource.ts → internal/resource.ts} +2 -2
  66. package/src/interrupt.test.ts +3 -1
  67. package/src/{jsonPath.test.ts → json-path.test.ts} +55 -8
  68. package/src/layers.test.ts +4 -2
  69. package/src/resource.test.ts +1 -1
  70. package/src/sanity.test.ts +6 -4
  71. package/src/testing.ts +5 -29
  72. package/src/types.ts +11 -0
  73. package/src/url.test.ts +1 -1
  74. package/dist/types/src/ast.d.ts.map +0 -1
  75. package/dist/types/src/context.d.ts.map +0 -1
  76. package/dist/types/src/errors.d.ts.map +0 -1
  77. package/dist/types/src/jsonPath.d.ts.map +0 -1
  78. package/dist/types/src/jsonPath.test.d.ts +0 -2
  79. package/dist/types/src/jsonPath.test.d.ts.map +0 -1
  80. package/dist/types/src/resource.d.ts.map +0 -1
  81. package/dist/types/src/url.d.ts.map +0 -1
  82. /package/dist/types/src/{context.d.ts → internal/context.d.ts} +0 -0
  83. /package/dist/types/src/{resource.d.ts → internal/resource.d.ts} +0 -0
  84. /package/dist/types/src/{url.d.ts → internal/url.d.ts} +0 -0
  85. /package/src/{context.ts → internal/context.ts} +0 -0
  86. /package/src/{url.ts → internal/url.ts} +0 -0
@@ -0,0 +1,56 @@
1
+ import * as Context from 'effect/Context';
2
+ import * as Effect from 'effect/Effect';
3
+ import * as Exit from 'effect/Exit';
4
+ import type * as Fiber from 'effect/Fiber';
5
+ import type * as ManagedRuntime from 'effect/ManagedRuntime';
6
+ import * as Runtime from 'effect/Runtime';
7
+ /**
8
+ * Helper type to construct a union of tag identifiers from an array of tags.
9
+ */
10
+ export type TagsToContext<Tags extends ReadonlyArray<Context.Tag<any, any>>> = Tags extends readonly [
11
+ infer Head,
12
+ ...infer Tail
13
+ ] ? Head extends Context.Tag<infer Id, any> ? Tail extends ReadonlyArray<Context.Tag<any, any>> ? Id | TagsToContext<Tail> : Id : never : never;
14
+ /**
15
+ * A runtime wrapper that validates required tags are available at runtime
16
+ * while providing type-level guarantees that effects require those tags.
17
+ */
18
+ export interface DynamicRuntime<Tags extends ReadonlyArray<Context.Tag<any, any>>> {
19
+ /**
20
+ * Run an effect as a promise that requires the specified tags.
21
+ */
22
+ readonly runPromise: <A, E>(effect: Effect.Effect<A, E, TagsToContext<Tags>>) => Promise<A>;
23
+ /**
24
+ * Run an effect synchronously that requires the specified tags.
25
+ */
26
+ readonly runSync: <A, E>(effect: Effect.Effect<A, E, TagsToContext<Tags>>) => A;
27
+ /**
28
+ * Run an effect synchronously returning exit that requires the specified tags.
29
+ */
30
+ readonly runSyncExit: <A, E>(effect: Effect.Effect<A, E, TagsToContext<Tags>>) => Exit.Exit<A, E>;
31
+ /**
32
+ * Run an effect as a promise returning exit that requires the specified tags.
33
+ */
34
+ readonly runPromiseExit: <A, E>(effect: Effect.Effect<A, E, TagsToContext<Tags>>) => Promise<Exit.Exit<A, E>>;
35
+ /**
36
+ * Fork an effect that requires the specified tags.
37
+ */
38
+ readonly runFork: <A, E>(effect: Effect.Effect<A, E, TagsToContext<Tags>>) => Fiber.RuntimeFiber<A, E>;
39
+ /**
40
+ * Get the runtime as an effect that requires the specified tags.
41
+ */
42
+ readonly runtimeEffect: Effect.Effect<Runtime.Runtime<TagsToContext<Tags>>, never, never>;
43
+ /**
44
+ * Dispose the underlying managed runtime.
45
+ */
46
+ readonly dispose: () => Promise<void>;
47
+ /**
48
+ * Get the underlying managed runtime.
49
+ */
50
+ readonly managedRuntime: ManagedRuntime.ManagedRuntime<any, any>;
51
+ }
52
+ /**
53
+ * Create a dynamic runtime from a managed runtime and validate required tags.
54
+ */
55
+ export declare function make<const Tags extends ReadonlyArray<Context.Tag<any, any>>>(managedRuntime: ManagedRuntime.ManagedRuntime<any, any> | ManagedRuntime.ManagedRuntime<never, never>, tags: Tags): DynamicRuntime<Tags>;
56
+ //# sourceMappingURL=dynamic-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-runtime.d.ts","sourceRoot":"","sources":["../../../src/dynamic-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dynamic-runtime.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-runtime.test.d.ts","sourceRoot":"","sources":["../../../src/dynamic-runtime.test.ts"],"names":[],"mappings":""}
@@ -1,8 +1,9 @@
1
- export * from './ast';
2
- export * from './jsonPath';
3
- export * from './url';
4
- export * from './context';
5
- export * from './errors';
6
- export * from './testing';
7
- export * from './resource';
1
+ export * from './atom-kvs';
2
+ export * from './types';
3
+ export * as DynamicRuntime from './dynamic-runtime';
4
+ export * as EffectEx from './EffectEx';
5
+ export * as Performance from './Performance';
6
+ export * as RuntimeProvider from './RuntimeProvider';
7
+ export * as SchemaEx from './SchemaEx';
8
+ export type { JsonPath, JsonProp } from './internal/json-path';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAKvC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,19 +1,23 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import * as SchemaAST from 'effect/SchemaAST';
3
- import { type JsonPath, type JsonProp } from './jsonPath';
4
- export type SimpleType = 'object' | 'string' | 'number' | 'boolean' | 'enum' | 'literal';
3
+ import { type JsonPath, type JsonProp } from './json-path';
5
4
  /**
6
- * Get the base type; e.g., traverse through refinements.
5
+ * Get the base type of a property.
6
+ *
7
+ * Unwraps refinements and optional unions.
7
8
  */
8
- export declare const getSimpleType: (node: SchemaAST.AST) => SimpleType | undefined;
9
- export declare const isSimpleType: (node: SchemaAST.AST) => boolean;
10
- export declare namespace SimpleType {
11
- /**
12
- * Returns the default empty value for a given SimpleType.
13
- * Used for initializing new array values etc.
14
- */
15
- const getDefaultValue: (type: SimpleType) => any;
16
- }
9
+ export declare const getBaseType: (prop: SchemaAST.PropertySignature | SchemaProperty) => {
10
+ type: SchemaAST.AST;
11
+ refinements: SchemaAST.Refinement['filter'][];
12
+ };
13
+ export type SchemaProperty = Pick<SchemaAST.PropertySignature, 'name' | 'type' | 'isOptional' | 'isReadonly'> & {
14
+ /** Can be used to validate the property to the spec of the initial AST. */
15
+ refinements: SchemaAST.Refinement['filter'][];
16
+ };
17
+ /**
18
+ * Get the property types of an AST.
19
+ */
20
+ export declare const getProperties: (ast: SchemaAST.AST) => SchemaProperty[];
17
21
  export declare enum VisitResult {
18
22
  CONTINUE = 0,
19
23
  /**
@@ -34,10 +38,7 @@ export type VisitorFn = (node: SchemaAST.AST, path: Path, depth: number) => void
34
38
  * - https://github.com/syntax-tree/unist-util-visit?tab=readme-ov-file#visitor
35
39
  * - https://github.com/syntax-tree/unist-util-is?tab=readme-ov-file#test
36
40
  */
37
- export declare const visit: {
38
- (node: SchemaAST.AST, visitor: VisitorFn): void;
39
- (node: SchemaAST.AST, test: TestFn, visitor: VisitorFn): void;
40
- };
41
+ export declare const visit: (node: SchemaAST.AST, testOrVisitor: TestFn | VisitorFn, visitor: VisitorFn) => void;
41
42
  /**
42
43
  * Recursively descend into AST to find first node that passes the test.
43
44
  */
@@ -64,7 +65,25 @@ export declare const isOption: (node: SchemaAST.AST) => boolean;
64
65
  /**
65
66
  * Determines if the node is a union of literal types.
66
67
  */
67
- export declare const isLiteralUnion: (node: SchemaAST.AST) => boolean;
68
+ export declare const isLiteralUnion: (node: SchemaAST.AST) => node is SchemaAST.Union<SchemaAST.Literal>;
69
+ /**
70
+ * Extracts the literal values from a schema that is a union of literals
71
+ * (e.g. `Schema.Literal('a', 'b')` or `Schema.Union(Schema.Literal('a'), Schema.Literal('b'))`).
72
+ * Returns an empty array if the schema is not a literal union.
73
+ */
74
+ export declare const getLiteralValues: <S extends Schema.Schema<any, any, any>>(schema: S) => ReadonlyArray<Schema.Schema.Type<S>>;
75
+ /**
76
+ * Determines if the node is an array type.
77
+ */
78
+ export declare const isArrayType: (node: SchemaAST.AST) => node is SchemaAST.TupleType;
79
+ /**
80
+ * Get the type of the array elements.
81
+ */
82
+ export declare const getArrayElementType: (node: SchemaAST.AST) => SchemaAST.AST | undefined;
83
+ /**
84
+ * Determines if the node is a tuple type.
85
+ */
86
+ export declare const isTupleType: (node: SchemaAST.AST) => boolean;
68
87
  /**
69
88
  * Determines if the node is a discriminated union.
70
89
  */
@@ -77,14 +96,19 @@ export declare const getDiscriminatingProps: (node: SchemaAST.AST) => string[] |
77
96
  * Get the discriminated type for the given value.
78
97
  */
79
98
  export declare const getDiscriminatedType: (node: SchemaAST.AST, value?: Record<string, any>) => SchemaAST.AST | undefined;
99
+ /**
100
+ * If a property signature is optional (T | undefined), returns the inner non-undefined AST node.
101
+ * Otherwise returns the property signature unchanged, preserving its annotations.
102
+ */
103
+ export declare const unwrapOptional: (property: SchemaAST.PropertySignature) => SchemaAST.PropertySignature | SchemaAST.AST;
104
+ /**
105
+ * Determines if the node is a nested object type.
106
+ */
107
+ export declare const isNestedType: (node: SchemaAST.AST) => boolean;
80
108
  /**
81
109
  * Maps AST nodes.
82
110
  * The user is responsible for recursively calling {@link mapAst} on the SchemaAST.
83
111
  * NOTE: Will evaluate suspended ASTs.
84
112
  */
85
113
  export declare const mapAst: (ast: SchemaAST.AST, f: (ast: SchemaAST.AST, key: keyof any | undefined) => SchemaAST.AST) => SchemaAST.AST;
86
- /**
87
- * @returns true if AST is for Array(T) or optional(Array(T)).
88
- */
89
- export declare const isArrayType: (node: SchemaAST.AST) => boolean;
90
114
  //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../src/internal/ast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import * as Layer from 'effect/Layer';
2
+ /**
3
+ * Traces effect frames using console.createTask so that the proper stack-trace is visible in Chrome Devtools debugger.
4
+ */
5
+ export declare const asyncTaskTaggingLayer: () => Layer.Layer<never, never, never>;
6
+ //# sourceMappingURL=async-task-tagging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-task-tagging.d.ts","sourceRoot":"","sources":["../../../../src/internal/async-task-tagging.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC;;GAEG;AACH,eAAO,MAAM,qBAAqB,wCAkCjC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/internal/context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,eAAO,MAAM,gBAAgB,QAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAKzE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as Cause from 'effect/Cause';
2
2
  import * as Effect from 'effect/Effect';
3
3
  import * as Exit from 'effect/Exit';
4
+ import * as Runtime from 'effect/Runtime';
4
5
  /**
5
6
  * Converts a cause to an error.
6
7
  * Inserts effect spans as stack frames.
@@ -37,6 +38,21 @@ export declare const unwrapExit: <A>(exit: Exit.Exit<A, any>) => A;
37
38
  export declare const runAndForwardErrors: <A, E>(effect: Effect.Effect<A, E, never>, options?: {
38
39
  signal?: AbortSignal;
39
40
  }) => Promise<A>;
41
+ /** Alias for {@link runAndForwardErrors} — preferred name when accessed via `EffectEx.runPromise`. */
42
+ export declare const runPromise: <A, E>(effect: Effect.Effect<A, E, never>, options?: {
43
+ signal?: AbortSignal;
44
+ }) => Promise<A>;
45
+ /**
46
+ * Runs the embedded effect asynchronously and throws any failures and defects as errors.
47
+ */
48
+ export declare const runInRuntime: {
49
+ <R>(runtime: Runtime.Runtime<R>): <A, E>(effect: Effect.Effect<A, E, R>, options?: {
50
+ signal?: AbortSignal;
51
+ } | undefined) => Promise<A>;
52
+ <R, A, E>(runtime: Runtime.Runtime<R>, effect: Effect.Effect<A, E, R>, options?: {
53
+ signal?: AbortSignal;
54
+ } | undefined): Promise<A>;
55
+ };
40
56
  /**
41
57
  * Like `Effect.promise` but also caputes spans for defects.
42
58
  * Workaround for: https://github.com/Effect-TS/effect/issues/5436
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/internal/errors.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAoH1C;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,UAAW,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,KAwBtD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,UAAW,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,KAEpD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,KAAG,CAMvD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,GAAU,CAAC,EAAE,CAAC,UACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,YACxB;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KACjC,OAAO,CAAC,CAAC,CAGX,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,UAAU,GATmB,CAAC,EAAE,CAAC,UACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,YACxB;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KACjC,OAAO,CAAC,CAAC,CAMiC,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE;IACzB,CAAC,CAAC,EACA,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACN,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,SAAS,GAC7C,OAAO,CAAC,CAAC,CAAC,CAAC;CAsBf,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAUtF,CAAC"}
@@ -31,7 +31,7 @@ export declare const isJsonPath: (value: unknown) => value is JsonPath;
31
31
  * @param path Array of string or number segments
32
32
  * @returns Valid JsonPath or undefined if invalid
33
33
  */
34
- export declare const createJsonPath: (path: (string | number)[]) => JsonPath;
34
+ export declare const createJsonPath: (path: readonly (string | number)[]) => JsonPath;
35
35
  /**
36
36
  * Converts Effect validation path format (e.g. "addresses.[0].zip")
37
37
  * to JsonPath format (e.g., "addresses[0].zip")
@@ -41,9 +41,17 @@ export declare const fromEffectValidationPath: (effectPath: string) => JsonPath;
41
41
  * Splits a JsonPath into its constituent parts.
42
42
  * Handles property access and array indexing.
43
43
  */
44
- export declare const splitJsonPath: (path: JsonPath) => string[];
44
+ export declare const splitJsonPath: (path: JsonPath) => (string | number)[];
45
45
  /**
46
46
  * Applies a JsonPath to an object.
47
47
  */
48
48
  export declare const getField: (object: any, path: JsonPath) => any;
49
- //# sourceMappingURL=jsonPath.d.ts.map
49
+ /**
50
+ * Get value from object using JsonPath.
51
+ */
52
+ export declare const getValue: <T extends object>(obj: T, path: JsonPath) => any;
53
+ /**
54
+ * Set value on object using JsonPath.
55
+ */
56
+ export declare const setValue: <T extends object>(obj: T, path: JsonPath, value: any) => T;
57
+ //# sourceMappingURL=json-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-path.d.ts","sourceRoot":"","sources":["../../../../src/internal/json-path.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,UAAU,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC;AACvE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC;AAQrD;;GAEG;AAEH,eAAO,MAAM,QAAQ,EAGR,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrC,eAAO,MAAM,QAAQ,EAIT,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpC,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,KAAK,IAAI,QAEpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,cAAc,SAAU,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAG,QAanE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAgB,MAAM,KAAG,QAK7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAU,QAAQ,KAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAc/D,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,QAAQ,WAAY,GAAG,QAAQ,QAAQ,KAAG,GAGtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,OAAO,CAAC,QAAQ,QAAQ,KAAG,GAEnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,OAAO,CAAC,QAAQ,QAAQ,SAAS,GAAG,KAAG,CAE/E,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../../src/internal/resource.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,eAC3C,MAAM,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAenC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/internal/url.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAM9C,KAAK,uBAAuB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,eAAO,MAAM,qBAAqB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,uBAAuB,CACrC,CAAC;AAEzE,eAAO,MAAM,kBAAkB,UACrB,uBAAuB,MAC9B,CAAC,SAAS,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACb,CAAC;AAExD;;;GAGG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAApC,YAA6B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAI;IAE1D;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAoBrB;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,CAmBnC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=json-path.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-path.test.d.ts","sourceRoot":"","sources":["../../../src/json-path.test.ts"],"names":[],"mappings":""}
@@ -1,19 +1,18 @@
1
1
  import * as Context from 'effect/Context';
2
2
  import * as Effect from 'effect/Effect';
3
3
  import type { TestContext } from 'vitest';
4
- export type TestTag = 'flaky' | 'llm' | 'sync';
5
4
  export declare namespace TestHelpers {
6
5
  /**
7
6
  * Skip the test if the condition is false.
8
7
  *
9
- * Exmaple:
8
+ * Example:
10
9
  * ```ts
11
10
  * it.effect(
12
11
  * 'should process an agentic loop using Claude',
13
12
  * Effect.fn(function* ({ expect }) {
14
13
  * // ...
15
14
  * }),
16
- * TestHelpers.runIf(process.env.ANTHROPIC_API_KEY),
15
+ * TestHelpers.runIf(process.env.DX_ANTHROPIC_API_KEY),
17
16
  * );
18
17
  * ```
19
18
  */
@@ -21,30 +20,22 @@ export declare namespace TestHelpers {
21
20
  /**
22
21
  * Skip the test if the condition is true.
23
22
  *
24
- * Exmaple:
23
+ * Example:
25
24
  * ```ts
26
25
  * it.effect(
27
26
  * 'should process an agentic loop using Claude',
28
27
  * Effect.fn(function* ({ expect }) {
29
28
  * // ...
30
29
  * }),
31
- * TestHelpers.skipIf(!process.env.ANTHROPIC_API_KEY),
30
+ * TestHelpers.skipIf(!process.env.DX_ANTHROPIC_API_KEY),
32
31
  * );
33
32
  * ```
34
33
  */
35
34
  const skipIf: (condition: unknown) => <A, E, R>(effect: Effect.Effect<A, E, R>, ctx: TestContext) => Effect.Effect<A, E, R>;
36
- /**
37
- * Skips this test if the tag is not in the list of tags to run.
38
- * Tags are specified in the `DX_TEST_TAGS` environment variable.
39
- *
40
- * @param tag
41
- * @returns
42
- */
43
- const taggedTest: (tag: TestTag) => <A, E, R>(effect: Effect.Effect<A, E, R>, ctx: TestContext) => Effect.Effect<A, E, R>;
44
35
  /**
45
36
  * Provide TestContext from test parameters.
46
37
  *
47
- * Exmaple:
38
+ * Example:
48
39
  * ```ts
49
40
  * it.effect(
50
41
  * 'with context',
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/testing.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,MAAM,MAAM,OAAO,GACf,OAAO,GACP,KAAK,GACL,MAAM,CAAC;AAEX,yBAAiB,WAAW,CAAC;IAC3B;;;;;;;;;;;;;OAaG;IACI,MAAM,KAAK,GACf,WAAW,OAAO,MAClB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,WAAW,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAO9E,CAAC;IAEP;;;;;;;;;;;;;OAaG;IACI,MAAM,MAAM,GAChB,WAAW,OAAO,MAClB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,WAAW,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAO9E,CAAC;IAEP;;;;;;OAMG;IACI,MAAM,UAAU,GACpB,KAAK,OAAO,MACZ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,WAAW,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAO9E,CAAC;IAEP;;;;;;;;;;;;;OAaG;IACI,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACxC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,KAAK,WAAW,KACf,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAA2D,CAAC;CAClH;;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,uBAGrC;CAAG"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/testing.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,yBAAiB,WAAW,CAAC,CAAC;IAC5B;;;;;;;;;;;;;OAaG;IACI,MAAM,KAAK,cACJ,OAAO,MAClB,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,WAAW,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAO9E,CAAC;IAEP;;;;;;;;;;;;;OAaG;IACI,MAAM,MAAM,cACL,OAAO,MAClB,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,WAAW,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAO9E,CAAC;IAEP;;;;;;;;;;;;;OAaG;IACI,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAChC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OACzB,WAAW,KACf,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAA2D,CAAC;CAClH;;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,uBAGrC;CAAG"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Flat intersection of up to five types. Behaves like `A & B & C & ...` but
3
+ * formats as a comma-separated tuple, which fits multi-line layouts more
4
+ * cleanly than chained `&` operators. Unused slots default to `unknown`,
5
+ * which is inert under intersection (`T & unknown = T`).
6
+ */
7
+ export type Merge<A, B = unknown, C = unknown, D = unknown, E = unknown> = A & B & C & D & E;
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}