@zmdb/web 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +49 -0
  3. package/dist/app/bridge.d.ts +12 -0
  4. package/dist/app/bridge.d.ts.map +1 -0
  5. package/dist/app/bridge.js +16 -0
  6. package/dist/app/bridge.js.map +1 -0
  7. package/dist/app/index.d.ts +23 -0
  8. package/dist/app/index.d.ts.map +1 -0
  9. package/dist/app/index.js +47 -0
  10. package/dist/app/index.js.map +1 -0
  11. package/dist/bench/index.d.ts +68 -0
  12. package/dist/bench/index.d.ts.map +1 -0
  13. package/dist/bench/index.js +250 -0
  14. package/dist/bench/index.js.map +1 -0
  15. package/dist/compression/index.d.ts +13 -0
  16. package/dist/compression/index.d.ts.map +1 -0
  17. package/dist/compression/index.js +211 -0
  18. package/dist/compression/index.js.map +1 -0
  19. package/dist/context/index.d.ts +74 -0
  20. package/dist/context/index.d.ts.map +1 -0
  21. package/dist/context/index.js +118 -0
  22. package/dist/context/index.js.map +1 -0
  23. package/dist/contract/__fixtures__/http-client.generated.d.ts +70 -0
  24. package/dist/contract/__fixtures__/http-client.generated.d.ts.map +1 -0
  25. package/dist/contract/__fixtures__/http-client.generated.js +86 -0
  26. package/dist/contract/__fixtures__/http-client.generated.js.map +1 -0
  27. package/dist/contract/__fixtures__/http-convergence.d.ts +396 -0
  28. package/dist/contract/__fixtures__/http-convergence.d.ts.map +1 -0
  29. package/dist/contract/__fixtures__/http-convergence.js +425 -0
  30. package/dist/contract/__fixtures__/http-convergence.js.map +1 -0
  31. package/dist/contract/compiler/client.d.ts +12 -0
  32. package/dist/contract/compiler/client.d.ts.map +1 -0
  33. package/dist/contract/compiler/client.js +1293 -0
  34. package/dist/contract/compiler/client.js.map +1 -0
  35. package/dist/contract/compiler/index.d.ts +18 -0
  36. package/dist/contract/compiler/index.d.ts.map +1 -0
  37. package/dist/contract/compiler/index.js +1058 -0
  38. package/dist/contract/compiler/index.js.map +1 -0
  39. package/dist/contract/index.d.ts +237 -0
  40. package/dist/contract/index.d.ts.map +1 -0
  41. package/dist/contract/index.js +22 -0
  42. package/dist/contract/index.js.map +1 -0
  43. package/dist/csrf/index.d.ts +15 -0
  44. package/dist/csrf/index.d.ts.map +1 -0
  45. package/dist/csrf/index.js +218 -0
  46. package/dist/csrf/index.js.map +1 -0
  47. package/dist/data/index.d.ts +35 -0
  48. package/dist/data/index.d.ts.map +1 -0
  49. package/dist/data/index.js +58 -0
  50. package/dist/data/index.js.map +1 -0
  51. package/dist/devtools/index.d.ts +74 -0
  52. package/dist/devtools/index.d.ts.map +1 -0
  53. package/dist/devtools/index.js +552 -0
  54. package/dist/devtools/index.js.map +1 -0
  55. package/dist/dto-pipes/index.d.ts +45 -0
  56. package/dist/dto-pipes/index.d.ts.map +1 -0
  57. package/dist/dto-pipes/index.js +78 -0
  58. package/dist/dto-pipes/index.js.map +1 -0
  59. package/dist/gateways/index.d.ts +31 -0
  60. package/dist/gateways/index.d.ts.map +1 -0
  61. package/dist/gateways/index.js +138 -0
  62. package/dist/gateways/index.js.map +1 -0
  63. package/dist/health/index.d.ts +20 -0
  64. package/dist/health/index.d.ts.map +1 -0
  65. package/dist/health/index.js +148 -0
  66. package/dist/health/index.js.map +1 -0
  67. package/dist/http-token.d.ts +2 -0
  68. package/dist/http-token.d.ts.map +1 -0
  69. package/dist/http-token.js +21 -0
  70. package/dist/http-token.js.map +1 -0
  71. package/dist/index.d.ts +18 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +40 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/integrations/index.d.ts +11 -0
  76. package/dist/integrations/index.d.ts.map +1 -0
  77. package/dist/integrations/index.js +39 -0
  78. package/dist/integrations/index.js.map +1 -0
  79. package/dist/middleware/errors.d.ts +14 -0
  80. package/dist/middleware/errors.d.ts.map +1 -0
  81. package/dist/middleware/errors.js +18 -0
  82. package/dist/middleware/errors.js.map +1 -0
  83. package/dist/middleware/index.d.ts +46 -0
  84. package/dist/middleware/index.d.ts.map +1 -0
  85. package/dist/middleware/index.js +64 -0
  86. package/dist/middleware/index.js.map +1 -0
  87. package/dist/modules/__fixtures__/large-graph.d.ts +239 -0
  88. package/dist/modules/__fixtures__/large-graph.d.ts.map +1 -0
  89. package/dist/modules/__fixtures__/large-graph.js +483 -0
  90. package/dist/modules/__fixtures__/large-graph.js.map +1 -0
  91. package/dist/openapi/__fixtures__/entities.d.ts +8 -0
  92. package/dist/openapi/__fixtures__/entities.d.ts.map +1 -0
  93. package/dist/openapi/__fixtures__/entities.js +4 -0
  94. package/dist/openapi/__fixtures__/entities.js.map +1 -0
  95. package/dist/openapi/__fixtures__/openapi-tools.fixture.d.ts +38 -0
  96. package/dist/openapi/__fixtures__/openapi-tools.fixture.d.ts.map +1 -0
  97. package/dist/openapi/__fixtures__/openapi-tools.fixture.js +172 -0
  98. package/dist/openapi/__fixtures__/openapi-tools.fixture.js.map +1 -0
  99. package/dist/openapi/__fixtures__/route-schemas.d.ts +2 -0
  100. package/dist/openapi/__fixtures__/route-schemas.d.ts.map +1 -0
  101. package/dist/openapi/__fixtures__/route-schemas.js +17 -0
  102. package/dist/openapi/__fixtures__/route-schemas.js.map +1 -0
  103. package/dist/openapi/index.d.ts +61 -0
  104. package/dist/openapi/index.d.ts.map +1 -0
  105. package/dist/openapi/index.js +314 -0
  106. package/dist/openapi/index.js.map +1 -0
  107. package/dist/pipeline/guards.d.ts +9 -0
  108. package/dist/pipeline/guards.d.ts.map +1 -0
  109. package/dist/pipeline/guards.js +11 -0
  110. package/dist/pipeline/guards.js.map +1 -0
  111. package/dist/pipeline/index.d.ts +141 -0
  112. package/dist/pipeline/index.d.ts.map +1 -0
  113. package/dist/pipeline/index.js +1624 -0
  114. package/dist/pipeline/index.js.map +1 -0
  115. package/dist/routing/index.d.ts +40 -0
  116. package/dist/routing/index.d.ts.map +1 -0
  117. package/dist/routing/index.js +162 -0
  118. package/dist/routing/index.js.map +1 -0
  119. package/dist/static/index.d.ts +14 -0
  120. package/dist/static/index.d.ts.map +1 -0
  121. package/dist/static/index.js +348 -0
  122. package/dist/static/index.js.map +1 -0
  123. package/dist/testing/index.d.ts +20 -0
  124. package/dist/testing/index.d.ts.map +1 -0
  125. package/dist/testing/index.js +32 -0
  126. package/dist/testing/index.js.map +1 -0
  127. package/dist/traced-router.d.ts +5 -0
  128. package/dist/traced-router.d.ts.map +1 -0
  129. package/dist/traced-router.js +6 -0
  130. package/dist/traced-router.js.map +1 -0
  131. package/dist/upload/index.d.ts +28 -0
  132. package/dist/upload/index.d.ts.map +1 -0
  133. package/dist/upload/index.js +410 -0
  134. package/dist/upload/index.js.map +1 -0
  135. package/dist/versioning/index.d.ts +35 -0
  136. package/dist/versioning/index.d.ts.map +1 -0
  137. package/dist/versioning/index.js +66 -0
  138. package/dist/versioning/index.js.map +1 -0
  139. package/dist/versioning/runtime.d.ts +5 -0
  140. package/dist/versioning/runtime.d.ts.map +1 -0
  141. package/dist/versioning/runtime.js +34 -0
  142. package/dist/versioning/runtime.js.map +1 -0
  143. package/package.json +143 -0
  144. package/src/app/bridge.ts +39 -0
  145. package/src/app/index.ts +76 -0
  146. package/src/bench/index.ts +329 -0
  147. package/src/compression/index.ts +255 -0
  148. package/src/context/index.ts +181 -0
  149. package/src/contract/__fixtures__/http-client.generated.ts +73 -0
  150. package/src/contract/__fixtures__/http-client.generated.ts.map +1 -0
  151. package/src/contract/__fixtures__/http-convergence.ts +564 -0
  152. package/src/contract/compiler/client.ts +1518 -0
  153. package/src/contract/compiler/index.ts +1457 -0
  154. package/src/contract/index.ts +266 -0
  155. package/src/csrf/index.ts +264 -0
  156. package/src/data/index.ts +65 -0
  157. package/src/devtools/index.ts +727 -0
  158. package/src/dto-pipes/index.ts +93 -0
  159. package/src/gateways/index.ts +180 -0
  160. package/src/health/index.ts +198 -0
  161. package/src/http-token.ts +22 -0
  162. package/src/index.ts +167 -0
  163. package/src/integrations/index.ts +50 -0
  164. package/src/middleware/errors.ts +17 -0
  165. package/src/middleware/index.ts +108 -0
  166. package/src/modules/__fixtures__/large-graph.ts +540 -0
  167. package/src/openapi/__fixtures__/entities.ts +19 -0
  168. package/src/openapi/__fixtures__/openapi-tools.fixture.ts +212 -0
  169. package/src/openapi/__fixtures__/route-schemas.ts +27 -0
  170. package/src/openapi/index.ts +483 -0
  171. package/src/pipeline/guards.ts +23 -0
  172. package/src/pipeline/index.ts +2041 -0
  173. package/src/routing/index.ts +201 -0
  174. package/src/static/index.ts +443 -0
  175. package/src/testing/index.ts +58 -0
  176. package/src/traced-router.ts +8 -0
  177. package/src/upload/index.ts +489 -0
  178. package/src/versioning/index.ts +106 -0
  179. package/src/versioning/runtime.ts +38 -0
@@ -0,0 +1,396 @@
1
+ interface UpdateMetadata {
2
+ readonly source: string;
3
+ }
4
+ interface UpdateAccountBody {
5
+ readonly displayName: string;
6
+ readonly metadata: UpdateMetadata | null;
7
+ }
8
+ interface Account {
9
+ readonly id: string;
10
+ readonly displayName: string;
11
+ }
12
+ interface AcceptedUpdate {
13
+ readonly jobId: string;
14
+ }
15
+ interface Problem {
16
+ readonly code: string;
17
+ readonly message: string;
18
+ }
19
+ interface UpdateAccountOperation {
20
+ readonly path: {
21
+ readonly accountId: string;
22
+ };
23
+ readonly query: {
24
+ readonly include?: readonly string[];
25
+ readonly dryRun?: boolean;
26
+ };
27
+ readonly headers: {
28
+ readonly requestId?: string;
29
+ };
30
+ readonly cookies: {
31
+ readonly session: string;
32
+ };
33
+ readonly body: UpdateAccountBody;
34
+ readonly responses: {
35
+ readonly 200: {
36
+ readonly body: Account;
37
+ readonly headers: {
38
+ readonly etag: string;
39
+ };
40
+ };
41
+ readonly 202: {
42
+ readonly body: AcceptedUpdate;
43
+ };
44
+ readonly 204: {
45
+ readonly body: void;
46
+ };
47
+ readonly 404: {
48
+ readonly body: Problem;
49
+ };
50
+ };
51
+ }
52
+ export declare class AccountsController {
53
+ update(): {
54
+ updated: boolean;
55
+ };
56
+ }
57
+ export declare const HTTP_CONTRACT: import("../index.js").HttpContractDeclaration<{
58
+ readonly patch_accounts_accountId: import("../index.js").HttpOperationDeclaration<UpdateAccountOperation, import("../index.js").HttpController, string>;
59
+ }>;
60
+ interface ReadSharedOperation {
61
+ readonly path: {
62
+ readonly id: string;
63
+ };
64
+ readonly responses: {
65
+ readonly 200: {
66
+ readonly body: Account;
67
+ };
68
+ };
69
+ }
70
+ interface WriteSharedOperation {
71
+ readonly path: {
72
+ readonly id: string;
73
+ };
74
+ readonly responses: {
75
+ readonly 202: {
76
+ readonly body: AcceptedUpdate;
77
+ };
78
+ };
79
+ }
80
+ export declare class SharedPathController {
81
+ read(): {
82
+ id: string;
83
+ displayName: string;
84
+ };
85
+ write(): {
86
+ jobId: string;
87
+ };
88
+ }
89
+ export declare const SHARED_PATH_CONTRACT: import("../index.js").HttpContractDeclaration<{
90
+ readonly post_shared_id: import("../index.js").HttpOperationDeclaration<WriteSharedOperation, import("../index.js").HttpController, string>;
91
+ readonly get_shared_id: import("../index.js").HttpOperationDeclaration<ReadSharedOperation, import("../index.js").HttpController, string>;
92
+ }>;
93
+ interface CollisionOperation {
94
+ readonly path: {
95
+ readonly id: string;
96
+ };
97
+ readonly responses: {
98
+ readonly 200: {
99
+ readonly body: Account;
100
+ };
101
+ };
102
+ }
103
+ export declare class CollisionController {
104
+ first(): {
105
+ id: string;
106
+ displayName: string;
107
+ };
108
+ second(): {
109
+ id: string;
110
+ displayName: string;
111
+ };
112
+ }
113
+ export declare const COLLIDING_ROUTE_CONTRACT: import("../index.js").HttpContractDeclaration<{
114
+ readonly z_collision_first: import("../index.js").HttpOperationDeclaration<CollisionOperation, import("../index.js").HttpController, string>;
115
+ readonly a_collision_second: import("../index.js").HttpOperationDeclaration<CollisionOperation, import("../index.js").HttpController, string>;
116
+ }>;
117
+ export declare class DynamicController {
118
+ read(): {
119
+ id: string;
120
+ displayName: string;
121
+ };
122
+ }
123
+ export declare const DYNAMIC_METADATA_CONTRACT: import("../index.js").HttpContractDeclaration<{
124
+ readonly get_dynamic_id: import("../index.js").HttpOperationDeclaration<CollisionOperation, import("../index.js").HttpController, string>;
125
+ }>;
126
+ export declare const REQUEST_BODY_SCHEMA: {
127
+ type: string;
128
+ required: string[];
129
+ properties: {
130
+ displayName: {
131
+ type: string;
132
+ };
133
+ metadata: {
134
+ type: string[];
135
+ additionalProperties: true;
136
+ };
137
+ };
138
+ };
139
+ export declare const SUCCESS_BODY_SCHEMA: {
140
+ type: string;
141
+ required: string[];
142
+ properties: {
143
+ id: {
144
+ type: string;
145
+ };
146
+ displayName: {
147
+ type: string;
148
+ };
149
+ };
150
+ };
151
+ export declare const HTTP_CONVERGENCE_FIXTURE: {
152
+ readonly contract: {
153
+ format: 1;
154
+ types: {
155
+ 'patch_accounts_accountId/parameter/path/accountId': {
156
+ type: import("@zmdb/schema/ir").ScalarIR;
157
+ openApi: {
158
+ type: string;
159
+ };
160
+ };
161
+ 'patch_accounts_accountId/parameter/query/include': {
162
+ type: import("@zmdb/schema/ir").ArrayIR;
163
+ openApi: {
164
+ type: string;
165
+ items: {
166
+ type: string;
167
+ };
168
+ };
169
+ };
170
+ 'patch_accounts_accountId/parameter/query/dryRun': {
171
+ type: import("@zmdb/schema/ir").ScalarIR;
172
+ openApi: {
173
+ type: string;
174
+ };
175
+ };
176
+ 'patch_accounts_accountId/parameter/header/requestId': {
177
+ type: import("@zmdb/schema/ir").ScalarIR;
178
+ openApi: {
179
+ type: string;
180
+ };
181
+ };
182
+ 'patch_accounts_accountId/parameter/cookie/session': {
183
+ type: import("@zmdb/schema/ir").ScalarIR;
184
+ openApi: {
185
+ type: string;
186
+ };
187
+ };
188
+ 'patch_accounts_accountId/request/body': {
189
+ type: import("@zmdb/schema/ir").ObjectIR;
190
+ openApi: {
191
+ type: string;
192
+ required: string[];
193
+ properties: {
194
+ displayName: {
195
+ type: string;
196
+ };
197
+ metadata: {
198
+ type: string[];
199
+ additionalProperties: true;
200
+ };
201
+ };
202
+ };
203
+ };
204
+ 'patch_accounts_accountId/response/200/body': {
205
+ type: import("@zmdb/schema/ir").ObjectIR;
206
+ openApi: {
207
+ type: string;
208
+ required: string[];
209
+ properties: {
210
+ id: {
211
+ type: string;
212
+ };
213
+ displayName: {
214
+ type: string;
215
+ };
216
+ };
217
+ };
218
+ };
219
+ 'patch_accounts_accountId/response/200/header/etag': {
220
+ type: import("@zmdb/schema/ir").ScalarIR;
221
+ openApi: {
222
+ type: string;
223
+ };
224
+ };
225
+ 'patch_accounts_accountId/response/202/body': {
226
+ type: import("@zmdb/schema/ir").ObjectIR;
227
+ openApi: {
228
+ type: string;
229
+ required: string[];
230
+ properties: {
231
+ jobId: {
232
+ type: string;
233
+ };
234
+ };
235
+ };
236
+ };
237
+ 'patch_accounts_accountId/response/404/body': {
238
+ type: import("@zmdb/schema/ir").ObjectIR;
239
+ openApi: {
240
+ type: string;
241
+ required: string[];
242
+ properties: {
243
+ code: {
244
+ type: string;
245
+ };
246
+ message: {
247
+ type: string;
248
+ };
249
+ };
250
+ };
251
+ };
252
+ };
253
+ operations: [{
254
+ operationId: "patch_accounts_accountId";
255
+ controller: "AccountsController";
256
+ handler: "update";
257
+ method: "PATCH";
258
+ path: "/accounts/:accountId";
259
+ parameters: ({
260
+ property: string;
261
+ name: string;
262
+ in: "path";
263
+ required: true;
264
+ typeId: string;
265
+ } | {
266
+ property: string;
267
+ name: string;
268
+ in: "query";
269
+ required: false;
270
+ typeId: string;
271
+ } | {
272
+ property: string;
273
+ name: string;
274
+ in: "header";
275
+ required: false;
276
+ typeId: string;
277
+ } | {
278
+ property: string;
279
+ name: string;
280
+ in: "cookie";
281
+ required: true;
282
+ typeId: string;
283
+ })[];
284
+ requestBody: {
285
+ kind: "json";
286
+ mediaType: "application/json";
287
+ typeId: "patch_accounts_accountId/request/body";
288
+ required: true;
289
+ };
290
+ responses: ({
291
+ status: number;
292
+ description: string;
293
+ headers: {
294
+ property: string;
295
+ name: string;
296
+ required: true;
297
+ typeId: string;
298
+ }[];
299
+ body: {
300
+ kind: "json";
301
+ mediaType: string;
302
+ typeId: string;
303
+ };
304
+ } | {
305
+ status: number;
306
+ description: string;
307
+ headers: never[];
308
+ body: {
309
+ mediaType?: never;
310
+ typeId?: never;
311
+ kind: "empty";
312
+ };
313
+ })[];
314
+ security: [{
315
+ bearerAuth: never[];
316
+ }, {
317
+ apiKeyAuth: never[];
318
+ }];
319
+ version: {
320
+ kind: "header";
321
+ name: "accept-version";
322
+ values: ["1", "2"];
323
+ default: "1";
324
+ };
325
+ deprecated: true;
326
+ }];
327
+ securitySchemes: {
328
+ bearerAuth: {
329
+ type: "http";
330
+ scheme: "bearer";
331
+ };
332
+ apiKeyAuth: {
333
+ type: "apiKey";
334
+ in: "header";
335
+ name: "x-api-key";
336
+ };
337
+ };
338
+ };
339
+ readonly input: {
340
+ readonly path: {
341
+ readonly accountId: 'acct/blue?draft#1';
342
+ };
343
+ readonly query: {
344
+ readonly include: readonly ['roles & permissions', 'teams'];
345
+ readonly dryRun: undefined;
346
+ };
347
+ readonly headers: {
348
+ readonly requestId: 'request-680';
349
+ };
350
+ readonly cookies: {
351
+ readonly session: 'session value';
352
+ };
353
+ readonly body: {
354
+ readonly displayName: 'Ada';
355
+ readonly metadata: null;
356
+ };
357
+ };
358
+ readonly expectedRequest: {
359
+ readonly path: '/accounts/acct%2Fblue%3Fdraft%231';
360
+ readonly query: readonly [{
361
+ readonly name: 'include';
362
+ readonly value: 'roles & permissions';
363
+ }, {
364
+ readonly name: 'include';
365
+ readonly value: 'teams';
366
+ }];
367
+ readonly headers: {
368
+ readonly 'x-request-id': 'request-680';
369
+ };
370
+ readonly cookies: readonly [{
371
+ readonly name: 'session';
372
+ readonly value: 'session value';
373
+ }];
374
+ readonly body: '{"displayName":"Ada","metadata":null}';
375
+ readonly version: '2';
376
+ };
377
+ readonly bodyKinds: readonly [{
378
+ readonly kind: 'json';
379
+ readonly mediaType: 'application/json';
380
+ }, {
381
+ readonly kind: 'text';
382
+ readonly mediaType: 'text/plain';
383
+ }, {
384
+ readonly kind: 'bytes';
385
+ readonly mediaType: 'application/octet-stream';
386
+ }, {
387
+ readonly kind: 'stream';
388
+ readonly mediaType: 'application/x-ndjson';
389
+ }, {
390
+ readonly kind: 'empty';
391
+ }];
392
+ };
393
+ export type FrozenHttpContract = typeof HTTP_CONVERGENCE_FIXTURE.contract;
394
+ export type FrozenHttpOperation = FrozenHttpContract['operations'][number];
395
+ export {};
396
+ //# sourceMappingURL=http-convergence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-convergence.d.ts","sourceRoot":"","sources":["../../../src/contract/__fixtures__/http-convergence.ts"],"names":[],"mappings":"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"}