@dxos/effect 0.8.4-main.67995b8 → 0.8.4-main.69d29f4

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 (75) hide show
  1. package/dist/lib/browser/chunk-CGS2ULMK.mjs +11 -0
  2. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +418 -230
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing.mjs +38 -0
  7. package/dist/lib/browser/testing.mjs.map +7 -0
  8. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  9. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +418 -230
  11. package/dist/lib/node-esm/index.mjs.map +4 -4
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/testing.mjs +38 -0
  14. package/dist/lib/node-esm/testing.mjs.map +7 -0
  15. package/dist/types/src/RuntimeProvider.d.ts +21 -0
  16. package/dist/types/src/RuntimeProvider.d.ts.map +1 -0
  17. package/dist/types/src/ast.d.ts +36 -22
  18. package/dist/types/src/ast.d.ts.map +1 -1
  19. package/dist/types/src/atom-kvs.d.ts +19 -0
  20. package/dist/types/src/atom-kvs.d.ts.map +1 -0
  21. package/dist/types/src/context.d.ts +2 -1
  22. package/dist/types/src/context.d.ts.map +1 -1
  23. package/dist/types/src/dynamic-runtime.d.ts +56 -0
  24. package/dist/types/src/dynamic-runtime.d.ts.map +1 -0
  25. package/dist/types/src/dynamic-runtime.test.d.ts +2 -0
  26. package/dist/types/src/dynamic-runtime.test.d.ts.map +1 -0
  27. package/dist/types/src/errors.d.ts +35 -1
  28. package/dist/types/src/errors.d.ts.map +1 -1
  29. package/dist/types/src/index.d.ts +5 -3
  30. package/dist/types/src/index.d.ts.map +1 -1
  31. package/dist/types/src/interrupt.test.d.ts +2 -0
  32. package/dist/types/src/interrupt.test.d.ts.map +1 -0
  33. package/dist/types/src/{jsonPath.d.ts → json-path.d.ts} +12 -4
  34. package/dist/types/src/json-path.d.ts.map +1 -0
  35. package/dist/types/src/json-path.test.d.ts +2 -0
  36. package/dist/types/src/json-path.test.d.ts.map +1 -0
  37. package/dist/types/src/layers.test.d.ts +2 -0
  38. package/dist/types/src/layers.test.d.ts.map +1 -0
  39. package/dist/types/src/otel.d.ts +17 -0
  40. package/dist/types/src/otel.d.ts.map +1 -0
  41. package/dist/types/src/otel.test.d.ts +2 -0
  42. package/dist/types/src/otel.test.d.ts.map +1 -0
  43. package/dist/types/src/resource.d.ts +6 -2
  44. package/dist/types/src/resource.d.ts.map +1 -1
  45. package/dist/types/src/testing.d.ts +33 -1
  46. package/dist/types/src/testing.d.ts.map +1 -1
  47. package/dist/types/src/url.d.ts +3 -1
  48. package/dist/types/src/url.d.ts.map +1 -1
  49. package/dist/types/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +35 -11
  51. package/src/RuntimeProvider.ts +35 -0
  52. package/src/ast.test.ts +14 -11
  53. package/src/ast.ts +119 -92
  54. package/src/atom-kvs.ts +35 -0
  55. package/src/context.ts +2 -1
  56. package/src/dynamic-runtime.test.ts +465 -0
  57. package/src/dynamic-runtime.ts +195 -0
  58. package/src/errors.test.ts +1 -1
  59. package/src/errors.ts +90 -22
  60. package/src/index.ts +5 -3
  61. package/src/interrupt.test.ts +35 -0
  62. package/src/{jsonPath.test.ts → json-path.test.ts} +47 -8
  63. package/src/{jsonPath.ts → json-path.ts} +29 -4
  64. package/src/layers.test.ts +112 -0
  65. package/src/otel.test.ts +126 -0
  66. package/src/otel.ts +45 -0
  67. package/src/resource.test.ts +5 -4
  68. package/src/resource.ts +10 -5
  69. package/src/sanity.test.ts +30 -15
  70. package/src/testing.ts +53 -1
  71. package/src/url.test.ts +1 -1
  72. package/src/url.ts +5 -2
  73. package/dist/types/src/jsonPath.d.ts.map +0 -1
  74. package/dist/types/src/jsonPath.test.d.ts +0 -2
  75. package/dist/types/src/jsonPath.test.d.ts.map +0 -1
@@ -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,4 +1,30 @@
1
- import { Effect } from 'effect';
1
+ import * as Cause from 'effect/Cause';
2
+ import * as Effect from 'effect/Effect';
3
+ import * as Exit from 'effect/Exit';
4
+ import * as Runtime from 'effect/Runtime';
5
+ /**
6
+ * Converts a cause to an error.
7
+ * Inserts effect spans as stack frames.
8
+ * The error will have stack frames of where the effect was run (if stack trace limit allows).
9
+ * Removes effect runtime internal stack frames.
10
+ *
11
+ * To be used in place of `Effect.runPromise`.
12
+ *
13
+ * @throws AggregateError if there are multiple errors.
14
+ */
15
+ export declare const causeToError: (cause: Cause.Cause<any>) => Error;
16
+ /**
17
+ * Throws an error based on the cause.
18
+ * Inserts effect spans as stack frames.
19
+ * The error will have stack frames of where the effect was run (if stack trace limit allows).
20
+ * Removes effect runtime internal stack frames.
21
+ *
22
+ * To be used in place of `Effect.runPromise`.
23
+ *
24
+ * @throws AggregateError if there are multiple errors.
25
+ */
26
+ export declare const throwCause: (cause: Cause.Cause<any>) => never;
27
+ export declare const unwrapExit: <A>(exit: Exit.Exit<A, any>) => A;
2
28
  /**
3
29
  * Runs the embedded effect asynchronously and throws any failures and defects as errors.
4
30
  * Inserts effect spans as stack frames.
@@ -12,4 +38,12 @@ import { Effect } from 'effect';
12
38
  export declare const runAndForwardErrors: <A, E>(effect: Effect.Effect<A, E, never>, options?: {
13
39
  signal?: AbortSignal;
14
40
  }) => Promise<A>;
41
+ export declare const runInRuntime: <A, E, R>(runtime: Runtime.Runtime<R>, effect: Effect.Effect<A, E, R>, options?: {
42
+ signal?: AbortSignal;
43
+ }) => Promise<A>;
44
+ /**
45
+ * Like `Effect.promise` but also caputes spans for defects.
46
+ * Workaround for: https://github.com/Effect-TS/effect/issues/5436
47
+ */
48
+ export declare const promiseWithCauseCapture: <A>(evaluate: (signal: AbortSignal) => PromiseLike<A>) => Effect.Effect<A>;
15
49
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,MAAM,EAA6B,MAAM,QAAQ,CAAC;AA4FzE;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,GAAU,CAAC,EAAE,CAAC,EAC5C,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAClC,UAAU;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KACjC,OAAO,CAAC,CAAC,CA4BX,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/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;AAgG1C;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,KAwBtD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,KAEpD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,KAAG,CAMvD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,GAAU,CAAC,EAAE,CAAC,EAC5C,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAClC,UAAU;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KACjC,OAAO,CAAC,CAAC,CAGX,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EACxC,SAAS,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAC3B,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,UAAU;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KACjC,OAAO,CAAC,CAAC,CAGX,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"}
@@ -1,8 +1,10 @@
1
1
  export * from './ast';
2
- export * from './jsonPath';
3
- export * from './url';
2
+ export * from './atom-kvs';
4
3
  export * from './context';
4
+ export * as DynamicRuntime from './dynamic-runtime';
5
5
  export * from './errors';
6
- export * from './testing';
6
+ export * from './json-path';
7
7
  export * from './resource';
8
+ export * from './url';
9
+ export * as RuntimeProvider from './RuntimeProvider';
8
10
  //# 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,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interrupt.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interrupt.test.d.ts","sourceRoot":"","sources":["../../../src/interrupt.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { Schema } from 'effect';
1
+ import * as Schema from 'effect/Schema';
2
2
  export type JsonProp = string & {
3
3
  __JsonPath: true;
4
4
  __JsonProp: true;
@@ -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/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,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QAEpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAG,QAanE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,YAAY,MAAM,KAAG,QAK7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,QAAQ,KAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAc/D,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,QAAQ,GAAI,QAAQ,GAAG,EAAE,MAAM,QAAQ,KAAG,GAGtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,QAAQ,KAAG,GAEnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,QAAQ,EAAE,OAAO,GAAG,KAAG,CAE/E,CAAC"}
@@ -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":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=layers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layers.test.d.ts","sourceRoot":"","sources":["../../../src/layers.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import * as Resource from '@effect/opentelemetry/Resource';
2
+ import { type Attributes } from '@opentelemetry/api';
3
+ import * as Effect from 'effect/Effect';
4
+ import type * as Function from 'effect/Function';
5
+ import * as Layer from 'effect/Layer';
6
+ export interface Configuration {
7
+ readonly resource?: {
8
+ readonly serviceName: string;
9
+ readonly serviceVersion?: string;
10
+ readonly attributes?: Attributes;
11
+ } | undefined;
12
+ }
13
+ export declare const layerOtel: {
14
+ (evaluate: Function.LazyArg<Configuration>): Layer.Layer<Resource.Resource>;
15
+ <R, E>(evaluate: Effect.Effect<Configuration, E, R>): Layer.Layer<Resource.Resource, E, R>;
16
+ };
17
+ //# sourceMappingURL=otel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../../src/otel.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,KAAK,UAAU,EAAS,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EACd;QACE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;KAClC,GACD,SAAS,CAAC;CACf;AAGD,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAoB1F,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=otel.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.test.d.ts","sourceRoot":"","sources":["../../../src/otel.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,8 @@
1
- import { Effect } from 'effect';
1
+ import * as Effect from 'effect/Effect';
2
+ import type * as Scope from 'effect/Scope';
2
3
  import type { Lifecycle } from '@dxos/context';
3
- export declare const accuireReleaseResource: <T extends Lifecycle>(getResource: () => T) => Effect.Effect<T, never, import("effect/Scope").Scope>;
4
+ /**
5
+ * Acquires a resource and releases it when the scope is closed.
6
+ */
7
+ export declare const acquireReleaseResource: <T extends Lifecycle>(getResource: () => T) => Effect.Effect<T, never, Scope.Scope>;
4
8
  //# sourceMappingURL=resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/resource.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,EAAE,aAAa,MAAM,CAAC,0DAe7E,CAAC"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/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,EACxD,aAAa,MAAM,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAenC,CAAC"}
@@ -1,5 +1,7 @@
1
- import { Effect } from 'effect';
1
+ import * as Context from 'effect/Context';
2
+ import * as Effect from 'effect/Effect';
2
3
  import type { TestContext } from 'vitest';
4
+ export type TestTag = 'flaky' | 'llm' | 'sync';
3
5
  export declare namespace TestHelpers {
4
6
  /**
5
7
  * Skip the test if the condition is false.
@@ -31,5 +33,35 @@ export declare namespace TestHelpers {
31
33
  * ```
32
34
  */
33
35
  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
+ /**
45
+ * Provide TestContext from test parameters.
46
+ *
47
+ * Exmaple:
48
+ * ```ts
49
+ * it.effect(
50
+ * 'with context',
51
+ * Effect.fn(function* ({ expect }) {
52
+ * const ctx = yield* TestContextService;
53
+ * }),
54
+ * TestHelpers.provideTestContext,
55
+ * );
56
+ * ```
57
+ */
58
+ const provideTestContext: <A, E, R>(effect: Effect.Effect<A, E, R>, ctx: TestContext) => Effect.Effect<A, E, Exclude<R, TestContextService>>;
59
+ }
60
+ declare const TestContextService_base: Context.TagClass<TestContextService, "@dxos/effect/TestContextService", TestContext>;
61
+ /**
62
+ * Exposes vitest test context as an effect service.
63
+ */
64
+ export declare class TestContextService extends TestContextService_base {
34
65
  }
66
+ export {};
35
67
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/testing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,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;CACR"}
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,4 +1,6 @@
1
- import { SchemaAST, type Schema, Option } from 'effect';
1
+ import * as Option from 'effect/Option';
2
+ import type * as Schema from 'effect/Schema';
3
+ import * as SchemaAST from 'effect/SchemaAST';
2
4
  type ParamKeyAnnotationValue = {
3
5
  key: string;
4
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/url.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAM9D,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,GAC5B,OAAO,uBAAuB,MAC9B,CAAC,SAAS,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,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;gBAAP,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtD;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC;IAsBtB;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG;CAoBrC"}
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/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,GAC5B,OAAO,uBAAuB,MAC9B,CAAC,SAAS,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,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;gBAAP,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtD;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC;IAsBtB;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG;CAoBrC"}