@primate/core 0.7.5 → 0.8.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 (124) hide show
  1. package/lib/private/App.d.ts +128 -65
  2. package/lib/private/Bag.d.ts +11 -0
  3. package/lib/private/Bag.js +31 -0
  4. package/lib/private/Flags.d.ts +5 -5
  5. package/lib/private/Flags.js +2 -1
  6. package/lib/private/app/Facade.client.d.ts +20 -0
  7. package/lib/private/app/Facade.client.js +30 -0
  8. package/lib/private/app/{Facade.d.ts → Facade.server.d.ts} +141 -72
  9. package/lib/private/app/{Facade.js → Facade.server.js} +12 -4
  10. package/lib/private/build/App.d.ts +0 -2
  11. package/lib/private/build/App.js +0 -7
  12. package/lib/private/build/client/index.js +29 -27
  13. package/lib/private/build/client/plugin/frontend.js +1 -1
  14. package/lib/private/build/client/plugin/routes.js +1 -1
  15. package/lib/private/build/hook.js +0 -3
  16. package/lib/private/build/server/index.js +5 -18
  17. package/lib/private/build/server/plugin/native-addons.d.ts +1 -1
  18. package/lib/private/build/server/plugin/native-addons.js +1 -1
  19. package/lib/private/build/shared/intercept.d.ts +1 -1
  20. package/lib/private/build/shared/intercept.js +4 -2
  21. package/lib/private/client/create-form.d.ts +13 -9
  22. package/lib/private/client/create-form.js +21 -4
  23. package/lib/private/config/index.d.ts +6 -2
  24. package/lib/private/config/schema.d.ts +28 -21
  25. package/lib/private/config/schema.js +5 -3
  26. package/lib/private/cookie.d.ts +5 -5
  27. package/lib/private/db/errors.d.ts +82 -82
  28. package/lib/private/db/migrate/store.d.ts +2 -2
  29. package/lib/private/db/primary.d.ts +1 -1
  30. package/lib/private/db/sql.d.ts +1 -1
  31. package/lib/private/errors.d.ts +80 -68
  32. package/lib/private/errors.js +23 -1
  33. package/lib/private/frontend.d.ts +7 -7
  34. package/lib/private/frontend.js +7 -10
  35. package/lib/private/i18n/API.d.ts +14 -18
  36. package/lib/private/i18n/config.client.d.ts +7 -0
  37. package/lib/private/i18n/config.client.js +130 -0
  38. package/lib/private/i18n/config.server.d.ts +7 -0
  39. package/lib/private/i18n/{index/server.js → config.server.js} +31 -23
  40. package/lib/private/i18n/constant/COOKIE_NAME.d.ts +1 -1
  41. package/lib/private/i18n/constant/DEFAULT_LOCALE.d.ts +1 -1
  42. package/lib/private/i18n/constant/DEFAULT_PERSIST_MODE.d.ts +1 -1
  43. package/lib/private/i18n/constant/PERSIST_HEADER.d.ts +1 -1
  44. package/lib/private/i18n/constant/PERSIST_METHOD.d.ts +1 -1
  45. package/lib/private/i18n/constant/PERSIST_STORAGE_KEY.d.ts +1 -1
  46. package/lib/private/i18n/index.d.ts +42 -0
  47. package/lib/private/i18n/index.js +6 -0
  48. package/lib/private/i18n/missing.d.ts +5 -0
  49. package/lib/private/i18n/missing.js +38 -0
  50. package/lib/private/i18n/module.js +36 -52
  51. package/lib/private/i18n/schema.d.ts +4 -4
  52. package/lib/private/loader.d.ts +5 -0
  53. package/lib/private/loader.js +28 -0
  54. package/lib/private/logger.d.ts +1 -1
  55. package/lib/private/request/RequestBag.d.ts +12 -13
  56. package/lib/private/request/RequestBag.js +5 -4
  57. package/lib/private/request/RequestView.d.ts +5 -5
  58. package/lib/private/request/RequestView.js +0 -1
  59. package/lib/private/response/view.d.ts +1 -0
  60. package/lib/private/response/view.js +0 -7
  61. package/lib/private/route/Handler.d.ts +1 -1
  62. package/lib/private/route/NarrowedRequest.d.ts +6 -1
  63. package/lib/private/route/Options.d.ts +2 -1
  64. package/lib/private/route/hook.d.ts +1 -2
  65. package/lib/private/route/router.d.ts +9 -9
  66. package/lib/private/route/router.js +9 -0
  67. package/lib/private/route.client.d.ts +20 -4
  68. package/lib/private/route.client.js +7 -3
  69. package/lib/private/route.d.ts +3 -0
  70. package/lib/private/route.js +2 -0
  71. package/lib/private/serve/App.d.ts +2 -13
  72. package/lib/private/serve/App.js +63 -46
  73. package/lib/private/serve/Init.d.ts +0 -3
  74. package/lib/private/server/TAG.d.ts +1 -1
  75. package/lib/private/session/{index.client.d.ts → config.client.d.ts} +1 -1
  76. package/lib/private/session/{index.client.js → config.client.js} +1 -1
  77. package/lib/private/session/config.server.d.ts +15 -0
  78. package/lib/private/session/config.server.js +44 -0
  79. package/lib/private/session/index.d.ts +2 -14
  80. package/lib/private/session/index.js +2 -43
  81. package/lib/private/session/module.js +1 -1
  82. package/lib/private/session/schema.d.ts +5 -5
  83. package/lib/private/store/PrimaryKey.d.ts +1 -1
  84. package/lib/private/store.client.d.ts +2 -0
  85. package/lib/private/store.d.ts +2 -0
  86. package/lib/private/target/Manager.d.ts +2 -0
  87. package/lib/private/target/Manager.js +29 -5
  88. package/lib/private/target/Target.d.ts +2 -0
  89. package/lib/public/i18n.d.ts +3 -0
  90. package/lib/public/{i18n/config.js → i18n.js} +1 -1
  91. package/lib/public/loader.d.ts +2 -0
  92. package/lib/public/loader.js +2 -0
  93. package/lib/public/response.d.ts +1 -1
  94. package/lib/public/{session/config.d.ts → session.d.ts} +1 -1
  95. package/lib/public/{session/config.js → session.js} +1 -1
  96. package/package.json +27 -18
  97. package/lib/private/app/Facade.browser.d.ts +0 -11
  98. package/lib/private/app/Facade.browser.js +0 -19
  99. package/lib/private/build/server/plugin/store.d.ts +0 -4
  100. package/lib/private/build/server/plugin/store.js +0 -25
  101. package/lib/private/build/server/plugin/stores.d.ts +0 -4
  102. package/lib/private/build/server/plugin/stores.js +0 -28
  103. package/lib/private/i18n/index/client.d.ts +0 -9
  104. package/lib/private/i18n/index/client.js +0 -152
  105. package/lib/private/i18n/index/server.d.ts +0 -9
  106. package/lib/private/i18n/symbol/internal.d.ts +0 -3
  107. package/lib/private/i18n/symbol/internal.js +0 -3
  108. package/lib/public/i18n/API.d.ts +0 -2
  109. package/lib/public/i18n/API.js +0 -2
  110. package/lib/public/i18n/Catalogs.d.ts +0 -2
  111. package/lib/public/i18n/Catalogs.js +0 -2
  112. package/lib/public/i18n/ContextData.d.ts +0 -2
  113. package/lib/public/i18n/ContextData.js +0 -2
  114. package/lib/public/i18n/config.d.ts +0 -2
  115. package/lib/public/i18n/locale.d.ts +0 -2
  116. package/lib/public/i18n/locale.js +0 -2
  117. package/lib/public/i18n/sInternal.d.ts +0 -2
  118. package/lib/public/i18n/sInternal.js +0 -2
  119. package/lib/public/route/hook.d.ts +0 -2
  120. package/lib/public/route/hook.js +0 -2
  121. package/lib/public/session/config.client.d.ts +0 -2
  122. package/lib/public/session/config.client.js +0 -2
  123. /package/lib/private/i18n/{index/types.d.ts → types.d.ts} +0 -0
  124. /package/lib/private/i18n/{index/types.js → types.js} +0 -0
@@ -61,7 +61,7 @@ export default class App {
61
61
  };
62
62
  get<T>(key: symbol): T;
63
63
  set(key: symbol, value: unknown): void;
64
- config<P extends string>(path: P): P extends `${infer P1}.${infer Rest}` ? P1 extends "http" | "livereload" | "db" | "env" | "conditions" | "modules" ? (Rest extends `${infer P1}.${infer Rest}` ? P1 extends keyof Exclude<{
64
+ config<P extends string>(path: P): P extends `${infer P1}.${infer Rest}` ? P1 extends "conditions" | "db" | "entrypoints" | "env" | "http" | "i18n" | "livereload" | "loaders" | "modules" ? (Rest extends `${infer P1}.${infer Rest}` ? P1 extends keyof Exclude<{
65
65
  conditions: string[];
66
66
  http: {
67
67
  csp: Record<string, string[]> | undefined;
@@ -69,8 +69,8 @@ export default class App {
69
69
  host: string;
70
70
  port: number;
71
71
  ssl: {
72
- cert: string | FileRef | undefined;
73
- key: string | FileRef | undefined;
72
+ cert: string | undefined;
73
+ key: string | undefined;
74
74
  };
75
75
  static: {
76
76
  root: string;
@@ -88,10 +88,13 @@ export default class App {
88
88
  } | undefined;
89
89
  };
90
90
  env: {
91
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
91
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
92
92
  [x: string]: unknown;
93
93
  }> | undefined;
94
94
  };
95
+ i18n: import("./i18n/Config.js").default | undefined;
96
+ loaders: Record<string, "file"> | undefined;
97
+ entrypoints: Record<string, string> | undefined;
95
98
  modules: import("./Module.js").default[];
96
99
  }[P1], undefined> ? (Rest extends `${infer P1}.${infer Rest}` ? P1 extends keyof Exclude<Exclude<{
97
100
  conditions: string[];
@@ -101,8 +104,8 @@ export default class App {
101
104
  host: string;
102
105
  port: number;
103
106
  ssl: {
104
- cert: string | FileRef | undefined;
105
- key: string | FileRef | undefined;
107
+ cert: string | undefined;
108
+ key: string | undefined;
106
109
  };
107
110
  static: {
108
111
  root: string;
@@ -120,10 +123,13 @@ export default class App {
120
123
  } | undefined;
121
124
  };
122
125
  env: {
123
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
126
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
124
127
  [x: string]: unknown;
125
128
  }> | undefined;
126
129
  };
130
+ i18n: import("./i18n/Config.js").default | undefined;
131
+ loaders: Record<string, "file"> | undefined;
132
+ entrypoints: Record<string, string> | undefined;
127
133
  modules: import("./Module.js").default[];
128
134
  }[P1], undefined>[P1], undefined> ? (Rest extends `${infer P1}.${infer Rest}` ? P1 extends keyof Exclude<Exclude<Exclude<{
129
135
  conditions: string[];
@@ -133,8 +139,8 @@ export default class App {
133
139
  host: string;
134
140
  port: number;
135
141
  ssl: {
136
- cert: string | FileRef | undefined;
137
- key: string | FileRef | undefined;
142
+ cert: string | undefined;
143
+ key: string | undefined;
138
144
  };
139
145
  static: {
140
146
  root: string;
@@ -152,10 +158,13 @@ export default class App {
152
158
  } | undefined;
153
159
  };
154
160
  env: {
155
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
161
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
156
162
  [x: string]: unknown;
157
163
  }> | undefined;
158
164
  };
165
+ i18n: import("./i18n/Config.js").default | undefined;
166
+ loaders: Record<string, "file"> | undefined;
167
+ entrypoints: Record<string, string> | undefined;
159
168
  modules: import("./Module.js").default[];
160
169
  }[P1], undefined>[P1], undefined>[P1], undefined> ? (Rest extends `${infer P1}.${infer Rest}` ? P1 extends keyof Exclude<Exclude<Exclude<Exclude<{
161
170
  conditions: string[];
@@ -165,8 +174,8 @@ export default class App {
165
174
  host: string;
166
175
  port: number;
167
176
  ssl: {
168
- cert: string | FileRef | undefined;
169
- key: string | FileRef | undefined;
177
+ cert: string | undefined;
178
+ key: string | undefined;
170
179
  };
171
180
  static: {
172
181
  root: string;
@@ -184,10 +193,13 @@ export default class App {
184
193
  } | undefined;
185
194
  };
186
195
  env: {
187
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
196
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
188
197
  [x: string]: unknown;
189
198
  }> | undefined;
190
199
  };
200
+ i18n: import("./i18n/Config.js").default | undefined;
201
+ loaders: Record<string, "file"> | undefined;
202
+ entrypoints: Record<string, string> | undefined;
191
203
  modules: import("./Module.js").default[];
192
204
  }[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined> ? (Rest extends `${infer P1}.${infer Rest}` ? P1 extends keyof Exclude<Exclude<Exclude<Exclude<Exclude<{
193
205
  conditions: string[];
@@ -197,8 +209,8 @@ export default class App {
197
209
  host: string;
198
210
  port: number;
199
211
  ssl: {
200
- cert: string | FileRef | undefined;
201
- key: string | FileRef | undefined;
212
+ cert: string | undefined;
213
+ key: string | undefined;
202
214
  };
203
215
  static: {
204
216
  root: string;
@@ -216,10 +228,13 @@ export default class App {
216
228
  } | undefined;
217
229
  };
218
230
  env: {
219
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
231
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
220
232
  [x: string]: unknown;
221
233
  }> | undefined;
222
234
  };
235
+ i18n: import("./i18n/Config.js").default | undefined;
236
+ loaders: Record<string, "file"> | undefined;
237
+ entrypoints: Record<string, string> | undefined;
223
238
  modules: import("./Module.js").default[];
224
239
  }[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined> ? unknown : undefined : Rest extends keyof Exclude<Exclude<Exclude<Exclude<Exclude<{
225
240
  conditions: string[];
@@ -229,8 +244,8 @@ export default class App {
229
244
  host: string;
230
245
  port: number;
231
246
  ssl: {
232
- cert: string | FileRef | undefined;
233
- key: string | FileRef | undefined;
247
+ cert: string | undefined;
248
+ key: string | undefined;
234
249
  };
235
250
  static: {
236
251
  root: string;
@@ -248,10 +263,13 @@ export default class App {
248
263
  } | undefined;
249
264
  };
250
265
  env: {
251
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
266
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
252
267
  [x: string]: unknown;
253
268
  }> | undefined;
254
269
  };
270
+ i18n: import("./i18n/Config.js").default | undefined;
271
+ loaders: Record<string, "file"> | undefined;
272
+ entrypoints: Record<string, string> | undefined;
255
273
  modules: import("./Module.js").default[];
256
274
  }[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined> ? Exclude<Exclude<Exclude<Exclude<Exclude<{
257
275
  conditions: string[];
@@ -261,8 +279,8 @@ export default class App {
261
279
  host: string;
262
280
  port: number;
263
281
  ssl: {
264
- cert: string | FileRef | undefined;
265
- key: string | FileRef | undefined;
282
+ cert: string | undefined;
283
+ key: string | undefined;
266
284
  };
267
285
  static: {
268
286
  root: string;
@@ -280,10 +298,13 @@ export default class App {
280
298
  } | undefined;
281
299
  };
282
300
  env: {
283
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
301
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
284
302
  [x: string]: unknown;
285
303
  }> | undefined;
286
304
  };
305
+ i18n: import("./i18n/Config.js").default | undefined;
306
+ loaders: Record<string, "file"> | undefined;
307
+ entrypoints: Record<string, string> | undefined;
287
308
  modules: import("./Module.js").default[];
288
309
  }[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined>[Rest] : undefined) | (Exclude<Exclude<Exclude<Exclude<{
289
310
  conditions: string[];
@@ -293,8 +314,8 @@ export default class App {
293
314
  host: string;
294
315
  port: number;
295
316
  ssl: {
296
- cert: string | FileRef | undefined;
297
- key: string | FileRef | undefined;
317
+ cert: string | undefined;
318
+ key: string | undefined;
298
319
  };
299
320
  static: {
300
321
  root: string;
@@ -312,10 +333,13 @@ export default class App {
312
333
  } | undefined;
313
334
  };
314
335
  env: {
315
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
336
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
316
337
  [x: string]: unknown;
317
338
  }> | undefined;
318
339
  };
340
+ i18n: import("./i18n/Config.js").default | undefined;
341
+ loaders: Record<string, "file"> | undefined;
342
+ entrypoints: Record<string, string> | undefined;
319
343
  modules: import("./Module.js").default[];
320
344
  }[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined>[P1] & undefined) : undefined : Rest extends keyof Exclude<Exclude<Exclude<Exclude<{
321
345
  conditions: string[];
@@ -325,8 +349,8 @@ export default class App {
325
349
  host: string;
326
350
  port: number;
327
351
  ssl: {
328
- cert: string | FileRef | undefined;
329
- key: string | FileRef | undefined;
352
+ cert: string | undefined;
353
+ key: string | undefined;
330
354
  };
331
355
  static: {
332
356
  root: string;
@@ -344,10 +368,13 @@ export default class App {
344
368
  } | undefined;
345
369
  };
346
370
  env: {
347
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
371
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
348
372
  [x: string]: unknown;
349
373
  }> | undefined;
350
374
  };
375
+ i18n: import("./i18n/Config.js").default | undefined;
376
+ loaders: Record<string, "file"> | undefined;
377
+ entrypoints: Record<string, string> | undefined;
351
378
  modules: import("./Module.js").default[];
352
379
  }[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined> ? Exclude<Exclude<Exclude<Exclude<{
353
380
  conditions: string[];
@@ -357,8 +384,8 @@ export default class App {
357
384
  host: string;
358
385
  port: number;
359
386
  ssl: {
360
- cert: string | FileRef | undefined;
361
- key: string | FileRef | undefined;
387
+ cert: string | undefined;
388
+ key: string | undefined;
362
389
  };
363
390
  static: {
364
391
  root: string;
@@ -376,10 +403,13 @@ export default class App {
376
403
  } | undefined;
377
404
  };
378
405
  env: {
379
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
406
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
380
407
  [x: string]: unknown;
381
408
  }> | undefined;
382
409
  };
410
+ i18n: import("./i18n/Config.js").default | undefined;
411
+ loaders: Record<string, "file"> | undefined;
412
+ entrypoints: Record<string, string> | undefined;
383
413
  modules: import("./Module.js").default[];
384
414
  }[P1], undefined>[P1], undefined>[P1], undefined>[P1], undefined>[Rest] : undefined) | (Exclude<Exclude<Exclude<{
385
415
  conditions: string[];
@@ -389,8 +419,8 @@ export default class App {
389
419
  host: string;
390
420
  port: number;
391
421
  ssl: {
392
- cert: string | FileRef | undefined;
393
- key: string | FileRef | undefined;
422
+ cert: string | undefined;
423
+ key: string | undefined;
394
424
  };
395
425
  static: {
396
426
  root: string;
@@ -408,10 +438,13 @@ export default class App {
408
438
  } | undefined;
409
439
  };
410
440
  env: {
411
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
441
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
412
442
  [x: string]: unknown;
413
443
  }> | undefined;
414
444
  };
445
+ i18n: import("./i18n/Config.js").default | undefined;
446
+ loaders: Record<string, "file"> | undefined;
447
+ entrypoints: Record<string, string> | undefined;
415
448
  modules: import("./Module.js").default[];
416
449
  }[P1], undefined>[P1], undefined>[P1], undefined>[P1] & undefined) : undefined : Rest extends keyof Exclude<Exclude<Exclude<{
417
450
  conditions: string[];
@@ -421,8 +454,8 @@ export default class App {
421
454
  host: string;
422
455
  port: number;
423
456
  ssl: {
424
- cert: string | FileRef | undefined;
425
- key: string | FileRef | undefined;
457
+ cert: string | undefined;
458
+ key: string | undefined;
426
459
  };
427
460
  static: {
428
461
  root: string;
@@ -440,10 +473,13 @@ export default class App {
440
473
  } | undefined;
441
474
  };
442
475
  env: {
443
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
476
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
444
477
  [x: string]: unknown;
445
478
  }> | undefined;
446
479
  };
480
+ i18n: import("./i18n/Config.js").default | undefined;
481
+ loaders: Record<string, "file"> | undefined;
482
+ entrypoints: Record<string, string> | undefined;
447
483
  modules: import("./Module.js").default[];
448
484
  }[P1], undefined>[P1], undefined>[P1], undefined> ? Exclude<Exclude<Exclude<{
449
485
  conditions: string[];
@@ -453,8 +489,8 @@ export default class App {
453
489
  host: string;
454
490
  port: number;
455
491
  ssl: {
456
- cert: string | FileRef | undefined;
457
- key: string | FileRef | undefined;
492
+ cert: string | undefined;
493
+ key: string | undefined;
458
494
  };
459
495
  static: {
460
496
  root: string;
@@ -472,10 +508,13 @@ export default class App {
472
508
  } | undefined;
473
509
  };
474
510
  env: {
475
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
511
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
476
512
  [x: string]: unknown;
477
513
  }> | undefined;
478
514
  };
515
+ i18n: import("./i18n/Config.js").default | undefined;
516
+ loaders: Record<string, "file"> | undefined;
517
+ entrypoints: Record<string, string> | undefined;
479
518
  modules: import("./Module.js").default[];
480
519
  }[P1], undefined>[P1], undefined>[P1], undefined>[Rest] : undefined) | (Exclude<Exclude<{
481
520
  conditions: string[];
@@ -485,8 +524,8 @@ export default class App {
485
524
  host: string;
486
525
  port: number;
487
526
  ssl: {
488
- cert: string | FileRef | undefined;
489
- key: string | FileRef | undefined;
527
+ cert: string | undefined;
528
+ key: string | undefined;
490
529
  };
491
530
  static: {
492
531
  root: string;
@@ -504,10 +543,13 @@ export default class App {
504
543
  } | undefined;
505
544
  };
506
545
  env: {
507
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
546
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
508
547
  [x: string]: unknown;
509
548
  }> | undefined;
510
549
  };
550
+ i18n: import("./i18n/Config.js").default | undefined;
551
+ loaders: Record<string, "file"> | undefined;
552
+ entrypoints: Record<string, string> | undefined;
511
553
  modules: import("./Module.js").default[];
512
554
  }[P1], undefined>[P1], undefined>[P1] & undefined) : undefined : Rest extends keyof Exclude<Exclude<{
513
555
  conditions: string[];
@@ -517,8 +559,8 @@ export default class App {
517
559
  host: string;
518
560
  port: number;
519
561
  ssl: {
520
- cert: string | FileRef | undefined;
521
- key: string | FileRef | undefined;
562
+ cert: string | undefined;
563
+ key: string | undefined;
522
564
  };
523
565
  static: {
524
566
  root: string;
@@ -536,10 +578,13 @@ export default class App {
536
578
  } | undefined;
537
579
  };
538
580
  env: {
539
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
581
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
540
582
  [x: string]: unknown;
541
583
  }> | undefined;
542
584
  };
585
+ i18n: import("./i18n/Config.js").default | undefined;
586
+ loaders: Record<string, "file"> | undefined;
587
+ entrypoints: Record<string, string> | undefined;
543
588
  modules: import("./Module.js").default[];
544
589
  }[P1], undefined>[P1], undefined> ? Exclude<Exclude<{
545
590
  conditions: string[];
@@ -549,8 +594,8 @@ export default class App {
549
594
  host: string;
550
595
  port: number;
551
596
  ssl: {
552
- cert: string | FileRef | undefined;
553
- key: string | FileRef | undefined;
597
+ cert: string | undefined;
598
+ key: string | undefined;
554
599
  };
555
600
  static: {
556
601
  root: string;
@@ -568,10 +613,13 @@ export default class App {
568
613
  } | undefined;
569
614
  };
570
615
  env: {
571
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
616
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
572
617
  [x: string]: unknown;
573
618
  }> | undefined;
574
619
  };
620
+ i18n: import("./i18n/Config.js").default | undefined;
621
+ loaders: Record<string, "file"> | undefined;
622
+ entrypoints: Record<string, string> | undefined;
575
623
  modules: import("./Module.js").default[];
576
624
  }[P1], undefined>[P1], undefined>[Rest] : undefined) | (Exclude<{
577
625
  conditions: string[];
@@ -581,8 +629,8 @@ export default class App {
581
629
  host: string;
582
630
  port: number;
583
631
  ssl: {
584
- cert: string | FileRef | undefined;
585
- key: string | FileRef | undefined;
632
+ cert: string | undefined;
633
+ key: string | undefined;
586
634
  };
587
635
  static: {
588
636
  root: string;
@@ -600,10 +648,13 @@ export default class App {
600
648
  } | undefined;
601
649
  };
602
650
  env: {
603
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
651
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
604
652
  [x: string]: unknown;
605
653
  }> | undefined;
606
654
  };
655
+ i18n: import("./i18n/Config.js").default | undefined;
656
+ loaders: Record<string, "file"> | undefined;
657
+ entrypoints: Record<string, string> | undefined;
607
658
  modules: import("./Module.js").default[];
608
659
  }[P1], undefined>[P1] & undefined) : undefined : Rest extends keyof Exclude<{
609
660
  conditions: string[];
@@ -613,8 +664,8 @@ export default class App {
613
664
  host: string;
614
665
  port: number;
615
666
  ssl: {
616
- cert: string | FileRef | undefined;
617
- key: string | FileRef | undefined;
667
+ cert: string | undefined;
668
+ key: string | undefined;
618
669
  };
619
670
  static: {
620
671
  root: string;
@@ -632,10 +683,13 @@ export default class App {
632
683
  } | undefined;
633
684
  };
634
685
  env: {
635
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
686
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
636
687
  [x: string]: unknown;
637
688
  }> | undefined;
638
689
  };
690
+ i18n: import("./i18n/Config.js").default | undefined;
691
+ loaders: Record<string, "file"> | undefined;
692
+ entrypoints: Record<string, string> | undefined;
639
693
  modules: import("./Module.js").default[];
640
694
  }[P1], undefined> ? Exclude<{
641
695
  conditions: string[];
@@ -645,8 +699,8 @@ export default class App {
645
699
  host: string;
646
700
  port: number;
647
701
  ssl: {
648
- cert: string | FileRef | undefined;
649
- key: string | FileRef | undefined;
702
+ cert: string | undefined;
703
+ key: string | undefined;
650
704
  };
651
705
  static: {
652
706
  root: string;
@@ -664,10 +718,13 @@ export default class App {
664
718
  } | undefined;
665
719
  };
666
720
  env: {
667
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
721
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
668
722
  [x: string]: unknown;
669
723
  }> | undefined;
670
724
  };
725
+ i18n: import("./i18n/Config.js").default | undefined;
726
+ loaders: Record<string, "file"> | undefined;
727
+ entrypoints: Record<string, string> | undefined;
671
728
  modules: import("./Module.js").default[];
672
729
  }[P1], undefined>[Rest] : undefined) | ({
673
730
  conditions: string[];
@@ -677,8 +734,8 @@ export default class App {
677
734
  host: string;
678
735
  port: number;
679
736
  ssl: {
680
- cert: string | FileRef | undefined;
681
- key: string | FileRef | undefined;
737
+ cert: string | undefined;
738
+ key: string | undefined;
682
739
  };
683
740
  static: {
684
741
  root: string;
@@ -696,12 +753,15 @@ export default class App {
696
753
  } | undefined;
697
754
  };
698
755
  env: {
699
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
756
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
700
757
  [x: string]: unknown;
701
758
  }> | undefined;
702
759
  };
760
+ i18n: import("./i18n/Config.js").default | undefined;
761
+ loaders: Record<string, "file"> | undefined;
762
+ entrypoints: Record<string, string> | undefined;
703
763
  modules: import("./Module.js").default[];
704
- }[P1] & undefined) : undefined : P extends "http" | "livereload" | "db" | "env" | "conditions" | "modules" ? {
764
+ }[P1] & undefined) : undefined : P extends "conditions" | "db" | "entrypoints" | "env" | "http" | "i18n" | "livereload" | "loaders" | "modules" ? {
705
765
  conditions: string[];
706
766
  http: {
707
767
  csp: Record<string, string[]> | undefined;
@@ -709,8 +769,8 @@ export default class App {
709
769
  host: string;
710
770
  port: number;
711
771
  ssl: {
712
- cert: string | FileRef | undefined;
713
- key: string | FileRef | undefined;
772
+ cert: string | undefined;
773
+ key: string | undefined;
714
774
  };
715
775
  static: {
716
776
  root: string;
@@ -728,10 +788,13 @@ export default class App {
728
788
  } | undefined;
729
789
  };
730
790
  env: {
731
- schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, {
791
+ schema: import("pema").ObjectType<import("@rcompat/type").Dict<import("pema").Parsed<unknown>>, undefined, {
732
792
  [x: string]: unknown;
733
793
  }> | undefined;
734
794
  };
795
+ i18n: import("./i18n/Config.js").default | undefined;
796
+ loaders: Record<string, "file"> | undefined;
797
+ entrypoints: Record<string, string> | undefined;
735
798
  modules: import("./Module.js").default[];
736
799
  }[P] : undefined;
737
800
  runpath(...directories: string[]): FileRef;
@@ -0,0 +1,11 @@
1
+ export default class Bag {
2
+ #private;
3
+ constructor(entries: [string, unknown][], resolve: (name: string) => string);
4
+ get<T>(name: string): T;
5
+ try(name: string): unknown | undefined;
6
+ has(name: string): boolean;
7
+ keys(): string[];
8
+ values(): unknown[];
9
+ entries(): [string, unknown][];
10
+ }
11
+ //# sourceMappingURL=Bag.d.ts.map
@@ -0,0 +1,31 @@
1
+ import E from "#errors";
2
+ export default class Bag {
3
+ #entries;
4
+ #resolve;
5
+ constructor(entries, resolve) {
6
+ this.#entries = Object.fromEntries(entries);
7
+ this.#resolve = resolve;
8
+ }
9
+ get(name) {
10
+ const value = this.#entries[this.#resolve(name)];
11
+ if (value === undefined)
12
+ throw E.bag_value_missing(name);
13
+ return value;
14
+ }
15
+ try(name) {
16
+ return this.#entries[this.#resolve(name)];
17
+ }
18
+ has(name) {
19
+ return this.#resolve(name) in this.#entries;
20
+ }
21
+ keys() {
22
+ return Object.keys(this.#entries);
23
+ }
24
+ values() {
25
+ return Object.values(this.#entries);
26
+ }
27
+ entries() {
28
+ return Object.entries(this.#entries);
29
+ }
30
+ }
31
+ //# sourceMappingURL=Bag.js.map
@@ -1,13 +1,13 @@
1
1
  declare const _default: import("pema").ObjectType<import("pema").NormalizeSchemaObject<{
2
- readonly mode: import("pema").DefaultType<import("pema").UnionType<[import("pema").LiteralType<"production">, import("pema").LiteralType<"development">, import("pema").LiteralType<"testing">]>, "development" | "production" | "testing">;
3
- readonly target: import("pema").DefaultType<import("pema").StringType, "web">;
2
+ readonly mode: import("pema").DefaultType<import("pema").UnionType<[import("pema").LiteralType<"production", undefined>, import("pema").LiteralType<"development", undefined>, import("pema").LiteralType<"testing", undefined>], undefined>, "development" | "production" | "testing">;
3
+ readonly target: import("pema").DefaultType<import("pema").StringType, string>;
4
4
  readonly outdir: import("pema").DefaultType<import("pema").StringType, "build">;
5
- readonly log: import("pema").DefaultType<import("pema").UnionType<[import("pema").LiteralType<"error">, import("pema").LiteralType<"warn">, import("pema").LiteralType<"info">, import("pema").LiteralType<"trace">]>, "info" | "error" | "trace" | "warn">;
6
- }>, {
5
+ readonly log: import("pema").DefaultType<import("pema").UnionType<[import("pema").LiteralType<"error", undefined>, import("pema").LiteralType<"warn", undefined>, import("pema").LiteralType<"info", undefined>, import("pema").LiteralType<"trace", undefined>], undefined>, "error" | "info" | "trace" | "warn">;
6
+ }>, undefined, {
7
7
  mode: "development" | "production" | "testing";
8
8
  target: string;
9
9
  outdir: string;
10
- log: "info" | "error" | "trace" | "warn";
10
+ log: "error" | "info" | "trace" | "warn";
11
11
  }>;
12
12
  export default _default;
13
13
  //# sourceMappingURL=Flags.d.ts.map
@@ -1,8 +1,9 @@
1
1
  import { Schema as log } from "#logger";
2
+ import runtime from "@rcompat/runtime";
2
3
  import p from "pema";
3
4
  export default p({
4
5
  mode: p.union("production", "development", "testing").default("production"),
5
- target: p.string.default("web"),
6
+ target: p.string.default(runtime.name),
6
7
  outdir: p.string.default("build"),
7
8
  log,
8
9
  });
@@ -0,0 +1,20 @@
1
+ import type EnvSchema from "#app/EnvSchema";
2
+ import type Config from "#config/Config";
3
+ import create_i18n from "#i18n/config";
4
+ import type I18NConfig from "#i18n/Config";
5
+ type I18NRuntime<I extends I18NConfig | undefined> = I extends I18NConfig<infer C> ? ReturnType<typeof create_i18n<C>> : ReturnType<typeof create_i18n>;
6
+ /**
7
+ * Browser stub for AppFacade.
8
+ * env/config/root/log must never expose server-only data to clients.
9
+ */
10
+ export default class AppFacade<T extends EnvSchema = EnvSchema, I extends I18NConfig | undefined = undefined> {
11
+ #private;
12
+ constructor(config: Config);
13
+ get i18n(): I18NRuntime<I>;
14
+ config(_path: string): never;
15
+ env<K extends keyof T>(_key: K): T[K]["infer"];
16
+ get root(): never;
17
+ get log(): never;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=Facade.client.d.ts.map