@distilled.cloud/core 0.30.3 → 1.0.0-rc.10

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 (216) hide show
  1. package/LICENSE +201 -0
  2. package/lib/api.d.ts +165 -0
  3. package/lib/api.d.ts.map +1 -0
  4. package/lib/api.js +190 -0
  5. package/lib/api.js.map +1 -0
  6. package/lib/category.d.ts +4 -4
  7. package/lib/category.js +4 -4
  8. package/lib/codegen/boolean-string-enums.d.ts +36 -0
  9. package/lib/codegen/boolean-string-enums.d.ts.map +1 -0
  10. package/lib/codegen/boolean-string-enums.js +94 -0
  11. package/lib/codegen/boolean-string-enums.js.map +1 -0
  12. package/lib/codegen/boolean-string-enums.test.d.ts +2 -0
  13. package/lib/codegen/boolean-string-enums.test.d.ts.map +1 -0
  14. package/lib/codegen/boolean-string-enums.test.js +147 -0
  15. package/lib/codegen/boolean-string-enums.test.js.map +1 -0
  16. package/lib/codegen/cli.d.ts +79 -0
  17. package/lib/codegen/cli.d.ts.map +1 -0
  18. package/lib/codegen/cli.js +149 -0
  19. package/lib/codegen/cli.js.map +1 -0
  20. package/lib/codegen/emit.d.ts +125 -0
  21. package/lib/codegen/emit.d.ts.map +1 -0
  22. package/lib/codegen/emit.js +101 -0
  23. package/lib/codegen/emit.js.map +1 -0
  24. package/lib/codegen/format.d.ts +23 -0
  25. package/lib/codegen/format.d.ts.map +1 -0
  26. package/lib/codegen/format.js +28 -0
  27. package/lib/codegen/format.js.map +1 -0
  28. package/lib/codegen/generator.d.ts +334 -0
  29. package/lib/codegen/generator.d.ts.map +1 -0
  30. package/lib/codegen/generator.js +813 -0
  31. package/lib/codegen/generator.js.map +1 -0
  32. package/lib/codegen/graph.d.ts +36 -0
  33. package/lib/codegen/graph.d.ts.map +1 -0
  34. package/lib/codegen/graph.js +136 -0
  35. package/lib/codegen/graph.js.map +1 -0
  36. package/lib/codegen/graphql-client.d.ts +62 -0
  37. package/lib/codegen/graphql-client.d.ts.map +1 -0
  38. package/lib/codegen/graphql-client.js +294 -0
  39. package/lib/codegen/graphql-client.js.map +1 -0
  40. package/lib/codegen/graphql-client.test.d.ts +2 -0
  41. package/lib/codegen/graphql-client.test.d.ts.map +1 -0
  42. package/lib/codegen/graphql-client.test.js +311 -0
  43. package/lib/codegen/graphql-client.test.js.map +1 -0
  44. package/lib/codegen/graphql.d.ts +207 -0
  45. package/lib/codegen/graphql.d.ts.map +1 -0
  46. package/lib/codegen/graphql.js +799 -0
  47. package/lib/codegen/graphql.js.map +1 -0
  48. package/lib/codegen/members.d.ts +25 -0
  49. package/lib/codegen/members.d.ts.map +1 -0
  50. package/lib/codegen/members.js +55 -0
  51. package/lib/codegen/members.js.map +1 -0
  52. package/lib/codegen/naming.d.ts +29 -0
  53. package/lib/codegen/naming.d.ts.map +1 -0
  54. package/lib/codegen/naming.js +74 -0
  55. package/lib/codegen/naming.js.map +1 -0
  56. package/lib/codegen/openapi-cli.d.ts +52 -0
  57. package/lib/codegen/openapi-cli.d.ts.map +1 -0
  58. package/lib/codegen/openapi-cli.js +109 -0
  59. package/lib/codegen/openapi-cli.js.map +1 -0
  60. package/lib/codegen/openapi.d.ts +178 -0
  61. package/lib/codegen/openapi.d.ts.map +1 -0
  62. package/lib/codegen/openapi.js +1377 -0
  63. package/lib/codegen/openapi.js.map +1 -0
  64. package/lib/codegen/operations.d.ts +24 -0
  65. package/lib/codegen/operations.d.ts.map +1 -0
  66. package/lib/codegen/operations.js +56 -0
  67. package/lib/codegen/operations.js.map +1 -0
  68. package/lib/codegen/pagination.d.ts +39 -0
  69. package/lib/codegen/pagination.d.ts.map +1 -0
  70. package/lib/codegen/pagination.js +33 -0
  71. package/lib/codegen/pagination.js.map +1 -0
  72. package/lib/codegen/patches.d.ts +65 -0
  73. package/lib/codegen/patches.d.ts.map +1 -0
  74. package/lib/codegen/patches.js +236 -0
  75. package/lib/codegen/patches.js.map +1 -0
  76. package/lib/codegen/patches.test.d.ts +2 -0
  77. package/lib/codegen/patches.test.d.ts.map +1 -0
  78. package/lib/codegen/patches.test.js +105 -0
  79. package/lib/codegen/patches.test.js.map +1 -0
  80. package/lib/codegen/prelude.d.ts +15 -0
  81. package/lib/codegen/prelude.d.ts.map +1 -0
  82. package/lib/codegen/prelude.js +60 -0
  83. package/lib/codegen/prelude.js.map +1 -0
  84. package/lib/codegen/proto.d.ts +121 -0
  85. package/lib/codegen/proto.d.ts.map +1 -0
  86. package/lib/codegen/proto.js +962 -0
  87. package/lib/codegen/proto.js.map +1 -0
  88. package/lib/codegen/rewrite-operation-ids.d.ts +131 -0
  89. package/lib/codegen/rewrite-operation-ids.d.ts.map +1 -0
  90. package/lib/codegen/rewrite-operation-ids.js +1079 -0
  91. package/lib/codegen/rewrite-operation-ids.js.map +1 -0
  92. package/lib/codegen/rewrite-operation-ids.test.d.ts +2 -0
  93. package/lib/codegen/rewrite-operation-ids.test.d.ts.map +1 -0
  94. package/lib/codegen/rewrite-operation-ids.test.js +533 -0
  95. package/lib/codegen/rewrite-operation-ids.test.js.map +1 -0
  96. package/lib/codegen/spec-path.d.ts +16 -0
  97. package/lib/codegen/spec-path.d.ts.map +1 -0
  98. package/lib/codegen/spec-path.js +101 -0
  99. package/lib/codegen/spec-path.js.map +1 -0
  100. package/lib/error-category.d.ts +28 -0
  101. package/lib/error-category.d.ts.map +1 -0
  102. package/lib/error-category.js +46 -0
  103. package/lib/error-category.js.map +1 -0
  104. package/lib/errors.d.ts +1 -0
  105. package/lib/errors.d.ts.map +1 -1
  106. package/lib/errors.js +18 -13
  107. package/lib/errors.js.map +1 -1
  108. package/lib/graphql.d.ts +284 -0
  109. package/lib/graphql.d.ts.map +1 -0
  110. package/lib/graphql.fixture.d.ts +249 -0
  111. package/lib/graphql.fixture.d.ts.map +1 -0
  112. package/lib/graphql.fixture.js +240 -0
  113. package/lib/graphql.fixture.js.map +1 -0
  114. package/lib/graphql.js +718 -0
  115. package/lib/graphql.js.map +1 -0
  116. package/lib/graphql.test.d.ts +2 -0
  117. package/lib/graphql.test.d.ts.map +1 -0
  118. package/lib/graphql.test.js +780 -0
  119. package/lib/graphql.test.js.map +1 -0
  120. package/lib/graphql.types.d.ts +2 -0
  121. package/lib/graphql.types.d.ts.map +1 -0
  122. package/lib/graphql.types.js +45 -0
  123. package/lib/graphql.types.js.map +1 -0
  124. package/lib/json-patch.d.ts +30 -30
  125. package/lib/json-patch.d.ts.map +1 -1
  126. package/lib/json-patch.js +73 -107
  127. package/lib/json-patch.js.map +1 -1
  128. package/lib/pagination.d.ts +77 -51
  129. package/lib/pagination.d.ts.map +1 -1
  130. package/lib/pagination.js +162 -94
  131. package/lib/pagination.js.map +1 -1
  132. package/lib/protocol-http.d.ts +74 -0
  133. package/lib/protocol-http.d.ts.map +1 -0
  134. package/lib/protocol-http.js +590 -0
  135. package/lib/protocol-http.js.map +1 -0
  136. package/lib/protocol-http.test.d.ts +2 -0
  137. package/lib/protocol-http.test.d.ts.map +1 -0
  138. package/lib/protocol-http.test.js +88 -0
  139. package/lib/protocol-http.test.js.map +1 -0
  140. package/lib/protocol-rest.d.ts +134 -0
  141. package/lib/protocol-rest.d.ts.map +1 -0
  142. package/lib/protocol-rest.js +256 -0
  143. package/lib/protocol-rest.js.map +1 -0
  144. package/lib/retry.d.ts +8 -2
  145. package/lib/retry.d.ts.map +1 -1
  146. package/lib/retry.js +22 -16
  147. package/lib/retry.js.map +1 -1
  148. package/lib/schema.d.ts +8 -9
  149. package/lib/schema.d.ts.map +1 -1
  150. package/lib/schema.js +8 -9
  151. package/lib/schema.js.map +1 -1
  152. package/lib/trait.d.ts +174 -0
  153. package/lib/trait.d.ts.map +1 -0
  154. package/lib/trait.js +123 -0
  155. package/lib/trait.js.map +1 -0
  156. package/package.json +24 -78
  157. package/src/api.ts +460 -0
  158. package/src/category.ts +4 -4
  159. package/src/codegen/boolean-string-enums.test.ts +168 -0
  160. package/src/codegen/boolean-string-enums.ts +106 -0
  161. package/src/codegen/cli.ts +285 -0
  162. package/src/codegen/emit.ts +203 -0
  163. package/src/codegen/format.ts +47 -0
  164. package/src/codegen/generator.ts +1283 -0
  165. package/src/codegen/graph.ts +151 -0
  166. package/src/codegen/graphql-client.test.ts +386 -0
  167. package/src/codegen/graphql-client.ts +419 -0
  168. package/src/codegen/graphql.ts +1217 -0
  169. package/src/codegen/members.ts +71 -0
  170. package/src/codegen/naming.ts +86 -0
  171. package/src/codegen/openapi-cli.ts +182 -0
  172. package/src/codegen/openapi.ts +1689 -0
  173. package/src/codegen/operations.ts +76 -0
  174. package/src/codegen/pagination.ts +71 -0
  175. package/src/codegen/patches.test.ts +130 -0
  176. package/src/codegen/patches.ts +291 -0
  177. package/src/codegen/prelude.ts +70 -0
  178. package/src/codegen/proto.ts +1128 -0
  179. package/src/codegen/rewrite-operation-ids.test.ts +563 -0
  180. package/src/codegen/rewrite-operation-ids.ts +1206 -0
  181. package/src/codegen/spec-path.ts +115 -0
  182. package/src/error-category.ts +84 -0
  183. package/src/errors.ts +22 -25
  184. package/src/graphql.fixture.ts +371 -0
  185. package/src/graphql.test.ts +974 -0
  186. package/src/graphql.ts +1321 -0
  187. package/src/graphql.types.ts +185 -0
  188. package/src/json-patch.ts +95 -122
  189. package/src/pagination.ts +217 -146
  190. package/src/protocol-http.test.ts +107 -0
  191. package/src/protocol-http.ts +735 -0
  192. package/src/protocol-rest.ts +391 -0
  193. package/src/retry.ts +21 -22
  194. package/src/schema.ts +9 -10
  195. package/src/trait.ts +274 -0
  196. package/README.md +0 -30
  197. package/lib/client.d.ts +0 -167
  198. package/lib/client.d.ts.map +0 -1
  199. package/lib/client.js +0 -659
  200. package/lib/client.js.map +0 -1
  201. package/lib/schemas.d.ts +0 -60
  202. package/lib/schemas.d.ts.map +0 -1
  203. package/lib/schemas.js +0 -79
  204. package/lib/schemas.js.map +0 -1
  205. package/lib/sensitive.d.ts +0 -71
  206. package/lib/sensitive.d.ts.map +0 -1
  207. package/lib/sensitive.js +0 -96
  208. package/lib/sensitive.js.map +0 -1
  209. package/lib/traits.d.ts +0 -421
  210. package/lib/traits.d.ts.map +0 -1
  211. package/lib/traits.js +0 -737
  212. package/lib/traits.js.map +0 -1
  213. package/src/client.ts +0 -1177
  214. package/src/schemas.ts +0 -128
  215. package/src/sensitive.ts +0 -119
  216. package/src/traits.ts +0 -996
@@ -0,0 +1,284 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as S from "effect/Schema";
3
+ import * as Stream from "effect/Stream";
4
+ import type { GraphQLModel } from "./codegen/graphql-client.ts";
5
+ export type { GraphQLModel } from "./codegen/graphql-client.ts";
6
+ /** A generated field's arguments, GraphQL output reference, and error tags. */
7
+ export interface Field<Args, Ref extends string, E extends string = never> {
8
+ readonly args: Args;
9
+ readonly type: Ref;
10
+ readonly errors: E;
11
+ }
12
+ export interface Schema {
13
+ types: Record<string, Record<string, Field<any, string, string>>>;
14
+ scalars: Record<string, unknown>;
15
+ errors: Record<string, GraphQLIssue>;
16
+ possibleTypes: Record<string, string>;
17
+ query: string;
18
+ mutation: string;
19
+ subscription: string;
20
+ globalErrors: string;
21
+ }
22
+ type Named<T extends string> = T extends `${infer R}!` ? Named<R> : T extends `[${infer R}]` ? Named<R> : T;
23
+ type Fields<C extends Schema, N extends string> = N extends keyof C["types"] ? C["types"][N] : {};
24
+ type TypeOf<F> = F extends Field<any, infer T, any> ? T : never;
25
+ type ArgsOf<F> = F extends Field<infer A, any, any> ? A : never;
26
+ type TagsOf<F> = F extends Field<any, any, infer E> ? E : never;
27
+ type Where<A> = {} extends A ? {
28
+ readonly where?: A;
29
+ } : {
30
+ readonly where: A;
31
+ };
32
+ type Directives = {
33
+ readonly $include?: boolean;
34
+ readonly $skip?: boolean;
35
+ };
36
+ type FieldSelection<C extends Schema, F> = Named<TypeOf<F>> extends keyof C["scalars"] ? ({} extends ArgsOf<F> ? boolean : never) | (Where<ArgsOf<F>> & Directives & {
37
+ readonly select?: true;
38
+ }) : (keyof ArgsOf<F> extends never ? Selection<C, Named<TypeOf<F>>> : never) | (Where<ArgsOf<F>> & Directives & {
39
+ readonly select: Selection<C, Named<TypeOf<F>>>;
40
+ });
41
+ type Alias<C extends Schema, N extends string> = {
42
+ [K in keyof Fields<C, N>]: {
43
+ readonly [P in K]: FieldSelection<C, Fields<C, N>[K]>;
44
+ };
45
+ }[keyof Fields<C, N>];
46
+ /** Mobius-style field selection. Arguments are passed in `where`. */
47
+ export type Selection<C extends Schema, N extends string> = {
48
+ readonly [K in keyof Fields<C, N>]?: FieldSelection<C, Fields<C, N>[K]>;
49
+ } & {
50
+ readonly __typename?: boolean;
51
+ readonly __alias?: Readonly<Record<string, Alias<C, N>>>;
52
+ readonly __on?: N extends keyof C["possibleTypes"] ? {
53
+ readonly [K in C["possibleTypes"][N]]?: Selection<C, K>;
54
+ } : never;
55
+ };
56
+ type Selected<Q> = Q extends {
57
+ readonly select: infer P;
58
+ } ? P : Q;
59
+ type Keys<Q> = {
60
+ [K in keyof Q]: Q[K] extends false | undefined ? never : K;
61
+ }[keyof Q];
62
+ type Simplify<A> = {
63
+ [K in keyof A]: A[K];
64
+ };
65
+ type AliasValue<C extends Schema, N extends string, Q> = {
66
+ [K in Extract<Keys<Q>, keyof Fields<C, N>>]: Result<C, TypeOf<Fields<C, N>[K]>, Selected<Q[K]>>;
67
+ }[Extract<Keys<Q>, keyof Fields<C, N>>];
68
+ type AliasResult<C extends Schema, N extends string, Q> = Q extends {
69
+ readonly __alias: infer A;
70
+ } ? Simplify<{
71
+ [K in keyof A as Conditional<A[K][keyof A[K]]> extends true ? never : K]: AliasValue<C, N, A[K]>;
72
+ } & {
73
+ [K in keyof A as Conditional<A[K][keyof A[K]]> extends true ? K : never]?: AliasValue<C, N, A[K]>;
74
+ }> : {};
75
+ type Conditional<Q> = boolean extends Q ? true : Q extends {
76
+ readonly $include: infer I;
77
+ } ? [I] extends [true] ? Q extends {
78
+ readonly $skip: infer S;
79
+ } ? [S] extends [false] ? false : true : false : true : Q extends {
80
+ readonly $skip: infer S;
81
+ } ? [S] extends [false] ? false : true : false;
82
+ type ObjectFields<C extends Schema, N extends string, Q> = {
83
+ [K in Extract<Keys<Q>, keyof Fields<C, N>> as Conditional<Q[K]> extends true ? never : K]: Result<C, TypeOf<Fields<C, N>[K]>, Selected<Q[K]>>;
84
+ } & {
85
+ [K in Extract<Keys<Q>, keyof Fields<C, N>> as Conditional<Q[K]> extends true ? K : never]?: Result<C, TypeOf<Fields<C, N>[K]>, Selected<Q[K]>>;
86
+ };
87
+ type ObjectResult<C extends Schema, N extends string, Q> = Simplify<ObjectFields<C, N, Q> & (Q extends {
88
+ readonly __typename: true;
89
+ } ? {
90
+ __typename: N;
91
+ } : {}) & AliasResult<C, N, Q>>;
92
+ type Branch<C extends Schema, N extends string, Q, T extends string> = T extends unknown ? Simplify<Omit<ObjectResult<C, N, Q>, "__typename"> & (Q extends {
93
+ readonly __on: infer O;
94
+ } ? T extends keyof O ? ObjectResult<C, T, O[T]> : {} : {}) & {
95
+ __typename: T;
96
+ }> : never;
97
+ type Value<C extends Schema, T extends string, Q> = T extends `[${infer I}]` ? Array<Result<C, I, Q>> : T extends keyof C["scalars"] ? C["scalars"][T] : T extends keyof C["possibleTypes"] ? Branch<C, T, Q, C["possibleTypes"][T]> : ObjectResult<C, T, Q>;
98
+ /** Selected output, preserving list and nullable wrappers. */
99
+ export type Result<C extends Schema, Ref extends string, Q> = Ref extends `${infer T}!` ? Value<C, T, Q> : Value<C, Ref, Q> | null;
100
+ type SelectionTags<C extends Schema, N extends string, Q> = string extends N ? string : Q extends object ? {
101
+ [K in Extract<Keys<Q>, keyof Fields<C, N>>]: TagsOf<Fields<C, N>[K]> | SelectionTags<C, Named<TypeOf<Fields<C, N>[K]>>, Selected<Q[K]>>;
102
+ }[Extract<Keys<Q>, keyof Fields<C, N>>] | (Q extends {
103
+ readonly __on: infer O;
104
+ } ? {
105
+ [K in keyof O & string]: SelectionTags<C, K, O[K]>;
106
+ }[keyof O & string] : never) | (Q extends {
107
+ readonly __alias: infer A;
108
+ } ? {
109
+ [K in keyof A]: SelectionTags<C, N, A[K]>;
110
+ }[keyof A] : never) : never;
111
+ /** Known selected errors plus provider-wide errors and an honest fallback. */
112
+ export type Errors<C extends Schema, N extends string, Q> = (SelectionTags<C, N, Q> extends infer Tags ? C["errors"][Extract<C["globalErrors"] | Tags, keyof C["errors"]>] : never) | UnknownGraphQLError;
113
+ type Root<C extends Schema, K extends OperationKind> = K extends "query" ? C["query"] : C["mutation"];
114
+ type OperationSelection<C extends Schema, N extends string, K extends keyof Fields<C, N>, Q> = {
115
+ [P in K]: {
116
+ select: Q;
117
+ };
118
+ };
119
+ export declare const errorFields: {
120
+ message: S.String;
121
+ code: S.optional<S.String>;
122
+ path: S.optional<S.$Array<S.Union<readonly [S.String, S.Number]>>>;
123
+ locations: S.optional<S.$Array<S.Struct<{
124
+ readonly line: S.Number;
125
+ readonly column: S.Number;
126
+ }>>>;
127
+ extensions: S.optional<S.Unknown>;
128
+ traceId: S.optional<S.String>;
129
+ status: S.optional<S.Number>;
130
+ retryAfter: S.optional<S.Number>;
131
+ };
132
+ export interface GraphQLIssue {
133
+ readonly _tag: string;
134
+ readonly message: string;
135
+ readonly code?: string;
136
+ readonly path?: ReadonlyArray<string | number>;
137
+ readonly locations?: ReadonlyArray<{
138
+ readonly line: number;
139
+ readonly column: number;
140
+ }>;
141
+ readonly extensions?: unknown;
142
+ readonly traceId?: string;
143
+ readonly status?: number;
144
+ /** Server retry hint in seconds. */
145
+ readonly retryAfter?: number;
146
+ }
147
+ declare const UnknownGraphQLError_base: S.Class<UnknownGraphQLError, S.TaggedStruct<"UnknownGraphQLError", {
148
+ readonly message: S.String;
149
+ readonly code: S.optional<S.String>;
150
+ readonly path: S.optional<S.$Array<S.Union<readonly [S.String, S.Number]>>>;
151
+ readonly locations: S.optional<S.$Array<S.Struct<{
152
+ readonly line: S.Number;
153
+ readonly column: S.Number;
154
+ }>>>;
155
+ readonly extensions: S.optional<S.Unknown>;
156
+ readonly traceId: S.optional<S.String>;
157
+ readonly status: S.optional<S.Number>;
158
+ readonly retryAfter: S.optional<S.Number>;
159
+ readonly coordinate: S.optional<S.String>;
160
+ }>, import("effect/Cause").YieldableError>;
161
+ export declare class UnknownGraphQLError extends UnknownGraphQLError_base {
162
+ }
163
+ declare const GraphQLFailure_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
164
+ readonly _tag: "GraphQLFailure";
165
+ } & Readonly<A>;
166
+ /** All errors from one GraphQL execution, with the original partial response. */
167
+ export declare class GraphQLFailure<E extends GraphQLIssue = GraphQLIssue> extends GraphQLFailure_base<{
168
+ readonly errors: readonly [E, ...E[]];
169
+ readonly data: unknown;
170
+ readonly status: number;
171
+ }> {
172
+ get message(): string;
173
+ }
174
+ declare const GraphQLTransportError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
175
+ readonly _tag: "GraphQLTransportError";
176
+ } & Readonly<A>;
177
+ export declare class GraphQLTransportError extends GraphQLTransportError_base<{
178
+ readonly message: string;
179
+ readonly cause?: unknown;
180
+ readonly status?: number;
181
+ readonly retryAfter?: number;
182
+ }> {
183
+ }
184
+ declare const GraphQLDecodeError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
185
+ readonly _tag: "GraphQLDecodeError";
186
+ } & Readonly<A>;
187
+ export declare class GraphQLDecodeError extends GraphQLDecodeError_base<{
188
+ readonly message: string;
189
+ readonly path?: ReadonlyArray<string | number>;
190
+ readonly cause?: unknown;
191
+ }> {
192
+ }
193
+ declare const GraphQLRequestError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
194
+ readonly _tag: "GraphQLRequestError";
195
+ } & Readonly<A>;
196
+ export declare class GraphQLRequestError extends GraphQLRequestError_base<{
197
+ readonly message: string;
198
+ }> {
199
+ }
200
+ export type ClientError = GraphQLTransportError | GraphQLDecodeError | GraphQLRequestError;
201
+ /** True only when every issue has an allowed tag; mixed failures are never hidden. */
202
+ export declare const isErrorTag: (error: unknown, tags: string | readonly string[]) => boolean;
203
+ /** Recover only an aggregate whose every issue matches. The original aggregate is also supplied. */
204
+ export declare const catchTags: <const T extends readonly string[] | string, B, E2, R2>(tags: T, handler: (error: GraphQLIssue & {
205
+ readonly _tag: T extends string ? T : T[number];
206
+ }, failure: GraphQLFailure) => Effect.Effect<B, E2, R2>) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A | B, E | E2, R | R2>;
207
+ export type OperationKind = "query" | "mutation";
208
+ export interface GraphQLRequest {
209
+ readonly query: string;
210
+ readonly variables: Record<string, unknown>;
211
+ readonly operationName: string;
212
+ readonly kind: OperationKind;
213
+ }
214
+ export interface GraphQLResponse {
215
+ readonly body: unknown;
216
+ readonly status: number;
217
+ readonly headers: Readonly<Record<string, string | undefined>>;
218
+ }
219
+ export type Transport<R> = (request: GraphQLRequest) => Effect.Effect<GraphQLResponse, GraphQLTransportError | GraphQLDecodeError, R>;
220
+ interface Position {
221
+ readonly field: string;
222
+ readonly key: string;
223
+ readonly coordinate: string;
224
+ readonly type: string;
225
+ readonly errors: readonly string[];
226
+ readonly children: readonly Position[];
227
+ readonly branches: Readonly<Record<string, readonly Position[]>>;
228
+ readonly typename?: boolean;
229
+ readonly conditional: boolean;
230
+ }
231
+ export interface CompiledQuery extends GraphQLRequest {
232
+ readonly rootType: string;
233
+ readonly positions: readonly Position[];
234
+ }
235
+ /** Compile one selection to a GraphQL AST, variables, and an error/decoder path map. */
236
+ export declare const compile: (model: GraphQLModel, kind: OperationKind, selection: unknown, operationName?: string) => CompiledQuery;
237
+ type ErrorConstructor = new (args: any) => GraphQLIssue;
238
+ export interface Report<A, E extends GraphQLIssue> {
239
+ readonly data: A | null | undefined;
240
+ readonly errors: ReadonlyArray<E>;
241
+ readonly status: number;
242
+ readonly extensions?: unknown;
243
+ }
244
+ type Failure<C extends Schema, N extends string, Q> = ClientError | GraphQLFailure<Errors<C, N, Q>>;
245
+ type FieldAt<C extends Schema, N extends string, K extends string> = K extends keyof Fields<C, N> ? Fields<C, N>[K] : never;
246
+ type ConnectionEdge<C extends Schema, Ref extends string> = Named<TypeOf<FieldAt<C, Named<Ref>, "edges">>>;
247
+ type ConnectionNode<C extends Schema, Ref extends string> = TypeOf<FieldAt<C, ConnectionEdge<C, Ref>, "node">>;
248
+ export interface ObjectOperation<C extends Schema, K extends OperationKind, N extends keyof Fields<C, Root<C, K>> & string, R> {
249
+ <const Q extends Selection<C, Named<TypeOf<Fields<C, Root<C, K>>[N]>>>>(args: ArgsOf<Fields<C, Root<C, K>>[N]>, select: Q): Effect.Effect<Result<C, TypeOf<Fields<C, Root<C, K>>[N]>, Q>, Failure<C, Root<C, K>, OperationSelection<C, Root<C, K>, N, Q>>, R>;
250
+ }
251
+ export interface ScalarOperation<C extends Schema, K extends OperationKind, N extends keyof Fields<C, Root<C, K>> & string, R> {
252
+ (args: ArgsOf<Fields<C, Root<C, K>>[N]>): Effect.Effect<Result<C, TypeOf<Fields<C, Root<C, K>>[N]>, true>, Failure<C, Root<C, K>, OperationSelection<C, Root<C, K>, N, true>>, R>;
253
+ }
254
+ export interface Pagination<C extends Schema, K extends OperationKind, N extends keyof Fields<C, Root<C, K>> & string, R> {
255
+ pages<const Q extends Selection<C, Named<TypeOf<Fields<C, Root<C, K>>[N]>>>>(args: ArgsOf<Fields<C, Root<C, K>>[N]>, select: Q): Stream.Stream<Result<C, TypeOf<Fields<C, Root<C, K>>[N]>, Q>, ClientError | GraphQLFailure<Errors<C, Root<C, K>, OperationSelection<C, Root<C, K>, N, Q>> | Errors<C, Named<TypeOf<Fields<C, Root<C, K>>[N]>>, {
256
+ pageInfo: {
257
+ endCursor: true;
258
+ hasNextPage: true;
259
+ };
260
+ }>>, R>;
261
+ items<const Q extends Selection<C, Named<ConnectionNode<C, TypeOf<Fields<C, Root<C, K>>[N]>>>>>(args: ArgsOf<Fields<C, Root<C, K>>[N]>, select: Q): Stream.Stream<Result<C, ConnectionNode<C, TypeOf<Fields<C, Root<C, K>>[N]>>, Q>, Failure<C, Root<C, K>, OperationSelection<C, Root<C, K>, N, {
262
+ edges: {
263
+ node: Q;
264
+ };
265
+ pageInfo: {
266
+ endCursor: true;
267
+ hasNextPage: true;
268
+ };
269
+ }>>, R>;
270
+ }
271
+ export type Operation<C extends Schema, K extends OperationKind, N extends keyof Fields<C, Root<C, K>> & string, R> = Named<TypeOf<Fields<C, Root<C, K>>[N]>> extends keyof C["scalars"] ? ScalarOperation<C, K, N, R> : ObjectOperation<C, K, N, R> & (K extends "query" ? "after" extends keyof ArgsOf<Fields<C, Root<C, K>>[N]> ? [ConnectionNode<C, TypeOf<Fields<C, Root<C, K>>[N]>>] extends [
272
+ never
273
+ ] ? {} : Pagination<C, K, N, R> : {} : {});
274
+ /** Construct an Effect client; credentials and HTTP are resolved by the transport per call. */
275
+ export declare const makeClient: <C extends Schema, R>(model: GraphQLModel, transport: Transport<R>, classes: Readonly<Record<string, ErrorConstructor>>) => {
276
+ query: <const Q extends Selection<C, C["query"]>>(selection: Q) => Effect.Effect<Result<C, `${C["query"]}!`, Q>, Failure<C, C["query"], Q>, R>;
277
+ mutation: <const Q extends Selection<C, C["mutation"]>>(selection: Q) => Effect.Effect<Result<C, `${C["mutation"]}!`, Q>, Failure<C, C["mutation"], Q>, R>;
278
+ report: {
279
+ query: <const Q extends Selection<C, C["query"]>>(selection: Q) => Effect.Effect<Report<Result<C, `${C["query"]}!`, Q>, Errors<C, C["query"], Q>>, ClientError, R>;
280
+ mutation: <const Q extends Selection<C, C["mutation"]>>(selection: Q) => Effect.Effect<Report<Result<C, `${C["mutation"]}!`, Q>, Errors<C, C["mutation"], Q>>, ClientError, R>;
281
+ };
282
+ operation: <K extends OperationKind, N extends keyof Fields<C, Root<C, K>> & string>(kind: K, name: N) => Operation<C, K, N, R>;
283
+ };
284
+ //# sourceMappingURL=graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,249 @@
1
+ import * as Schema from "effect/Schema";
2
+ import * as G from "./graphql.ts";
3
+ import type { GraphQLModel } from "./codegen/graphql-client.ts";
4
+ declare const ProjectNotFound_base: Schema.Class<ProjectNotFound, Schema.TaggedStruct<"ProjectNotFound", {
5
+ message: Schema.String;
6
+ code: Schema.optional<Schema.String>;
7
+ path: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Number]>>>;
8
+ locations: Schema.optional<Schema.$Array<Schema.Struct<{
9
+ readonly line: Schema.Number;
10
+ readonly column: Schema.Number;
11
+ }>>>;
12
+ extensions: Schema.optional<Schema.Unknown>;
13
+ traceId: Schema.optional<Schema.String>;
14
+ status: Schema.optional<Schema.Number>;
15
+ retryAfter: Schema.optional<Schema.Number>;
16
+ }>, import("effect/Cause").YieldableError>;
17
+ export declare class ProjectNotFound extends ProjectNotFound_base {
18
+ }
19
+ declare const ServicesUnavailable_base: Schema.Class<ServicesUnavailable, Schema.TaggedStruct<"ServicesUnavailable", {
20
+ message: Schema.String;
21
+ code: Schema.optional<Schema.String>;
22
+ path: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Number]>>>;
23
+ locations: Schema.optional<Schema.$Array<Schema.Struct<{
24
+ readonly line: Schema.Number;
25
+ readonly column: Schema.Number;
26
+ }>>>;
27
+ extensions: Schema.optional<Schema.Unknown>;
28
+ traceId: Schema.optional<Schema.String>;
29
+ status: Schema.optional<Schema.Number>;
30
+ retryAfter: Schema.optional<Schema.Number>;
31
+ }>, import("effect/Cause").YieldableError>;
32
+ export declare class ServicesUnavailable extends ServicesUnavailable_base {
33
+ }
34
+ declare const Unauthorized_base: Schema.Class<Unauthorized, Schema.TaggedStruct<"Unauthorized", {
35
+ message: Schema.String;
36
+ code: Schema.optional<Schema.String>;
37
+ path: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Number]>>>;
38
+ locations: Schema.optional<Schema.$Array<Schema.Struct<{
39
+ readonly line: Schema.Number;
40
+ readonly column: Schema.Number;
41
+ }>>>;
42
+ extensions: Schema.optional<Schema.Unknown>;
43
+ traceId: Schema.optional<Schema.String>;
44
+ status: Schema.optional<Schema.Number>;
45
+ retryAfter: Schema.optional<Schema.Number>;
46
+ }>, import("effect/Cause").YieldableError>;
47
+ export declare class Unauthorized extends Unauthorized_base {
48
+ }
49
+ declare const ProjectDescriptionUnavailable_base: Schema.Class<ProjectDescriptionUnavailable, Schema.TaggedStruct<"ProjectDescriptionUnavailable", {
50
+ message: Schema.String;
51
+ code: Schema.optional<Schema.String>;
52
+ path: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Number]>>>;
53
+ locations: Schema.optional<Schema.$Array<Schema.Struct<{
54
+ readonly line: Schema.Number;
55
+ readonly column: Schema.Number;
56
+ }>>>;
57
+ extensions: Schema.optional<Schema.Unknown>;
58
+ traceId: Schema.optional<Schema.String>;
59
+ status: Schema.optional<Schema.Number>;
60
+ retryAfter: Schema.optional<Schema.Number>;
61
+ }>, import("effect/Cause").YieldableError>;
62
+ export declare class ProjectDescriptionUnavailable extends ProjectDescriptionUnavailable_base {
63
+ }
64
+ declare const ServiceDescriptionUnavailable_base: Schema.Class<ServiceDescriptionUnavailable, Schema.TaggedStruct<"ServiceDescriptionUnavailable", {
65
+ message: Schema.String;
66
+ code: Schema.optional<Schema.String>;
67
+ path: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Number]>>>;
68
+ locations: Schema.optional<Schema.$Array<Schema.Struct<{
69
+ readonly line: Schema.Number;
70
+ readonly column: Schema.Number;
71
+ }>>>;
72
+ extensions: Schema.optional<Schema.Unknown>;
73
+ traceId: Schema.optional<Schema.String>;
74
+ status: Schema.optional<Schema.Number>;
75
+ retryAfter: Schema.optional<Schema.Number>;
76
+ }>, import("effect/Cause").YieldableError>;
77
+ export declare class ServiceDescriptionUnavailable extends ServiceDescriptionUnavailable_base {
78
+ }
79
+ declare const PageInfoUnavailable_base: Schema.Class<PageInfoUnavailable, Schema.TaggedStruct<"PageInfoUnavailable", {
80
+ message: Schema.String;
81
+ code: Schema.optional<Schema.String>;
82
+ path: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Number]>>>;
83
+ locations: Schema.optional<Schema.$Array<Schema.Struct<{
84
+ readonly line: Schema.Number;
85
+ readonly column: Schema.Number;
86
+ }>>>;
87
+ extensions: Schema.optional<Schema.Unknown>;
88
+ traceId: Schema.optional<Schema.String>;
89
+ status: Schema.optional<Schema.Number>;
90
+ retryAfter: Schema.optional<Schema.Number>;
91
+ }>, import("effect/Cause").YieldableError>;
92
+ export declare class PageInfoUnavailable extends PageInfoUnavailable_base {
93
+ }
94
+ export declare const errorClasses: {
95
+ ProjectNotFound: typeof ProjectNotFound;
96
+ ServicesUnavailable: typeof ServicesUnavailable;
97
+ Unauthorized: typeof Unauthorized;
98
+ ProjectDescriptionUnavailable: typeof ProjectDescriptionUnavailable;
99
+ ServiceDescriptionUnavailable: typeof ServiceDescriptionUnavailable;
100
+ PageInfoUnavailable: typeof PageInfoUnavailable;
101
+ };
102
+ export type FixtureSchema = {
103
+ query: "Query";
104
+ mutation: "Mutation";
105
+ subscription: never;
106
+ globalErrors: "Unauthorized";
107
+ errors: {
108
+ ProjectNotFound: ProjectNotFound;
109
+ ServicesUnavailable: ServicesUnavailable;
110
+ Unauthorized: Unauthorized;
111
+ ProjectDescriptionUnavailable: ProjectDescriptionUnavailable;
112
+ ServiceDescriptionUnavailable: ServiceDescriptionUnavailable;
113
+ PageInfoUnavailable: PageInfoUnavailable;
114
+ };
115
+ scalars: {
116
+ ID: string;
117
+ String: string;
118
+ Int: number;
119
+ Boolean: boolean;
120
+ JSON: unknown;
121
+ Status: "ACTIVE" | "ARCHIVED";
122
+ };
123
+ possibleTypes: {
124
+ Node: "Project" | "Service";
125
+ SearchResult: "Project" | "Service";
126
+ };
127
+ types: {
128
+ Query: {
129
+ project: G.Field<{
130
+ id: string;
131
+ }, "Project", "ProjectNotFound">;
132
+ projects: G.Field<{
133
+ filter?: {
134
+ name?: string | null;
135
+ statuses?: Array<"ACTIVE" | "ARCHIVED"> | null;
136
+ metadata?: unknown;
137
+ } | null;
138
+ }, "[Project]!">;
139
+ node: G.Field<{
140
+ id: string;
141
+ }, "Node">;
142
+ search: G.Field<{
143
+ text: string;
144
+ }, "[SearchResult!]!">;
145
+ services: G.Field<{
146
+ first?: number | null;
147
+ after?: string | null;
148
+ }, "ServiceConnection!", "ServicesUnavailable">;
149
+ ping: G.Field<{}, "Boolean!">;
150
+ };
151
+ Mutation: {
152
+ editProject: G.Field<{
153
+ id: string;
154
+ name: string;
155
+ }, "Project!", "ProjectNotFound">;
156
+ deleteProject: G.Field<{
157
+ id: string;
158
+ }, "Boolean!", "ProjectNotFound">;
159
+ };
160
+ Project: {
161
+ id: G.Field<{}, "ID!">;
162
+ name: G.Field<{}, "String!">;
163
+ description: G.Field<{}, "String", "ProjectDescriptionUnavailable">;
164
+ parent: G.Field<{}, "Project">;
165
+ services: G.Field<{
166
+ first?: number | null;
167
+ after?: string | null;
168
+ filter?: {
169
+ name?: string | null;
170
+ } | null;
171
+ }, "ServiceConnection", "ServicesUnavailable">;
172
+ };
173
+ Service: {
174
+ id: G.Field<{}, "ID!">;
175
+ parent: G.Field<{}, "Project">;
176
+ name: G.Field<{}, "String!">;
177
+ description: G.Field<{}, "String", "ServiceDescriptionUnavailable">;
178
+ project: G.Field<{}, "Project!">;
179
+ status: G.Field<{}, "Status!">;
180
+ };
181
+ ServiceConnection: {
182
+ edges: G.Field<{}, "[ServiceEdge!]!">;
183
+ pageInfo: G.Field<{}, "PageInfo!">;
184
+ };
185
+ ServiceEdge: {
186
+ cursor: G.Field<{}, "String!">;
187
+ node: G.Field<{}, "Service!">;
188
+ };
189
+ PageInfo: {
190
+ endCursor: G.Field<{}, "String">;
191
+ hasNextPage: G.Field<{}, "Boolean!", "PageInfoUnavailable">;
192
+ };
193
+ Node: {
194
+ id: G.Field<{}, "ID!">;
195
+ parent: G.Field<{}, "Project">;
196
+ };
197
+ SearchResult: {};
198
+ };
199
+ };
200
+ export declare const fixtureModel: GraphQLModel;
201
+ /** A deliberately small recursive schema for GraphQL compiler/runtime tests. */
202
+ export declare const fixtureSDL = "\n scalar JSON\n\n enum Status {\n ACTIVE\n ARCHIVED\n }\n\n input ProjectFilter {\n name: String\n statuses: [Status!] = [ACTIVE]\n metadata: JSON\n }\n\n interface Node {\n id: ID!\n parent: Project\n }\n\n type Project implements Node {\n id: ID!\n name: String!\n description: String\n parent: Project\n services(\n first: Int = 20\n after: String\n filter: ProjectFilter\n ): ServiceConnection\n }\n\n type Service implements Node {\n id: ID!\n parent: Project\n name: String!\n description: String\n project: Project!\n status: Status!\n }\n\n type ServiceConnection {\n edges: [ServiceEdge!]!\n pageInfo: PageInfo!\n }\n\n type ServiceEdge {\n cursor: String!\n node: Service!\n }\n\n type PageInfo {\n endCursor: String\n hasNextPage: Boolean!\n }\n\n union SearchResult = Project | Service\n\n type Query {\n project(id: ID!): Project\n projects(filter: ProjectFilter): [Project]!\n node(id: ID!): Node\n search(text: String!): [SearchResult!]!\n services(first: Int = 20, after: String): ServiceConnection!\n ping: Boolean!\n }\n\n type Mutation {\n editProject(id: ID!, name: String!): Project!\n deleteProject(id: ID!): Boolean!\n }\n";
203
+ /** Includes characters that must travel in variables, never in GraphQL text. */
204
+ export declare const adversarialArgument = "quoted \"value\" \\ path\nline\t\0 \uD83D\uDE00";
205
+ export declare const partialProjectEnvelope: {
206
+ readonly data: {
207
+ readonly project: {
208
+ readonly id: "p1";
209
+ readonly services: null;
210
+ };
211
+ readonly ping: true;
212
+ };
213
+ readonly errors: readonly [{
214
+ readonly message: "Services temporarily unavailable";
215
+ readonly path: readonly ["project", "services"];
216
+ readonly locations: readonly [{
217
+ readonly line: 1;
218
+ readonly column: 25;
219
+ }];
220
+ readonly extensions: {
221
+ readonly code: "UNAVAILABLE";
222
+ readonly incident: "incident-1";
223
+ };
224
+ }];
225
+ };
226
+ export declare const multipleErrorEnvelope: {
227
+ readonly data: {
228
+ readonly production: null;
229
+ readonly staging: {
230
+ readonly id: "p2";
231
+ readonly services: null;
232
+ };
233
+ };
234
+ readonly errors: readonly [{
235
+ readonly message: "Project not found";
236
+ readonly path: readonly ["production"];
237
+ readonly extensions: {
238
+ readonly code: "NOT_FOUND";
239
+ };
240
+ }, {
241
+ readonly message: "Services temporarily unavailable";
242
+ readonly path: readonly ["staging", "services"];
243
+ readonly extensions: {
244
+ readonly code: "UNAVAILABLE";
245
+ };
246
+ }];
247
+ };
248
+ export {};
249
+ //# sourceMappingURL=graphql.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.fixture.d.ts","sourceRoot":"","sources":["../src/graphql.fixture.ts"],"names":[],"mappings":"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"}