cloesce 0.0.5-unstable.17 → 0.0.5-unstable.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/extractor/extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EACP,IAAI,EACJ,UAAU,EAIV,gBAAgB,EAIjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,UAAU,EACV,QAAQ,EAQR,WAAW,EAQZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAsB,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAuBtC,qBAAa,aAAa;IAEtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,aAAa;IAFvB,OAAO;IAKP,MAAM,CAAC,OAAO,CACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC;IAiHrC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,IAAI;IAuEnB,OAAO,CAAC,KAAK;IAwSb,OAAO,CAAC,OAAO;IAmEf,OAAO,CAAC,MAAM;IAuGd,OAAO,CAAC,GAAG;IAuEX,MAAM,CAAC,GAAG,CACR,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,UAAU,GACrB,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC;IAwDtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAUjC;IAGF,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,OAAe,GACtB,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC;IA2InC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CA0N5B"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/extractor/extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EACP,IAAI,EACJ,UAAU,EAIV,gBAAgB,EAIjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,UAAU,EACV,QAAQ,EAQR,WAAW,EAQZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAsB,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAuBtC,qBAAa,aAAa;IAEtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,aAAa;IAFvB,OAAO;IAKP,MAAM,CAAC,OAAO,CACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC;IAiHrC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,IAAI;IAuEnB,OAAO,CAAC,KAAK;IAqTb,OAAO,CAAC,OAAO;IAmEf,OAAO,CAAC,MAAM;IAuGd,OAAO,CAAC,GAAG;IAuEX,MAAM,CAAC,GAAG,CACR,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,UAAU,GACrB,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC;IAwDtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAUjC;IAGF,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,OAAe,GACtB,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC;IA2InC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CA0N5B"}
@@ -255,6 +255,7 @@ export class CidlExtractor {
255
255
  }
256
256
  const decorator = decorators[0];
257
257
  const decoratorName = getDecoratorName(decorator);
258
+ const model_reference = getObjectName(cidl_type);
258
259
  // Process decorator
259
260
  switch (decoratorName) {
260
261
  case PropertyDecoratorKind.PrimaryKey: {
@@ -282,9 +283,8 @@ export class CidlExtractor {
282
283
  e.context = prop.getName();
283
284
  });
284
285
  }
285
- const model_name = getObjectName(cidl_type);
286
286
  // Error: navigation properties require a model reference
287
- if (!model_name) {
287
+ if (!model_reference) {
288
288
  return err(ExtractorErrorCode.InvalidSelectorSyntax, (e) => {
289
289
  e.snippet = prop.getText();
290
290
  e.context = prop.getName();
@@ -292,7 +292,7 @@ export class CidlExtractor {
292
292
  }
293
293
  navigation_properties.push({
294
294
  var_name: prop.getName(),
295
- model_reference: model_name,
295
+ model_reference,
296
296
  kind: { OneToOne: { column_reference: selector.unwrap() } },
297
297
  });
298
298
  break;
@@ -305,9 +305,8 @@ export class CidlExtractor {
305
305
  e.context = prop.getName();
306
306
  });
307
307
  }
308
- let model_name = getObjectName(cidl_type);
309
308
  // Error: navigation properties require a model reference
310
- if (!model_name) {
309
+ if (!model_reference) {
311
310
  return err(ExtractorErrorCode.InvalidNavigationProperty, (e) => {
312
311
  e.snippet = prop.getText();
313
312
  e.context = prop.getName();
@@ -315,15 +314,14 @@ export class CidlExtractor {
315
314
  }
316
315
  navigation_properties.push({
317
316
  var_name: prop.getName(),
318
- model_reference: model_name,
317
+ model_reference,
319
318
  kind: { OneToMany: { column_reference: selector.unwrap() } },
320
319
  });
321
320
  break;
322
321
  }
323
322
  case PropertyDecoratorKind.ManyToMany: {
324
323
  // Error: navigation properties require a model reference
325
- let model_name = getObjectName(cidl_type);
326
- if (!model_name) {
324
+ if (!model_reference) {
327
325
  return err(ExtractorErrorCode.InvalidNavigationProperty, (e) => {
328
326
  e.snippet = prop.getText();
329
327
  e.context = prop.getName();
@@ -331,7 +329,7 @@ export class CidlExtractor {
331
329
  }
332
330
  navigation_properties.push({
333
331
  var_name: prop.getName(),
334
- model_reference: model_name,
332
+ model_reference,
335
333
  kind: "ManyToMany",
336
334
  });
337
335
  break;
@@ -361,6 +359,16 @@ export class CidlExtractor {
361
359
  e.context = prop.getName();
362
360
  });
363
361
  }
362
+ if (model_reference) {
363
+ if (!this.extractedPoos.has(model_reference) &&
364
+ !this.modelDecls.has(model_reference)) {
365
+ const res = this.poo(classDecl.getSourceFile().getClassOrThrow(model_reference), classDecl.getSourceFile());
366
+ if (res.isLeft()) {
367
+ res.value.addContext((prev) => `${prop.getName()}.${prev}`);
368
+ return res;
369
+ }
370
+ }
371
+ }
364
372
  kv_objects.push({
365
373
  format,
366
374
  namespace_binding,
Binary file
@@ -99,7 +99,13 @@ export declare class CloesceApp {
99
99
  onMethod<T>(ctor: new () => T, method: KeysOfType<T, (...args: any) => any> | CrudKind, m: MiddlewareFn): void;
100
100
  private router;
101
101
  /**
102
- * Runs the Cloesce app. Intended to be called from the generated workers code.
102
+ * Runs the Cloesce Router, handling dependency injection, routing, validation,
103
+ * hydration, and method dispatch.
104
+ *
105
+ * @param request - The incoming Request object.
106
+ * @param env - The Wrangler environment bindings.
107
+ *
108
+ * @returns A Response object representing the result of the request.
103
109
  */
104
110
  run(request: Request, env: any): Promise<Response>;
105
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
@@ -163,7 +163,13 @@ export class CloesceApp {
163
163
  return await methodDispatch(hydrated.unwrap(), di, route, params);
164
164
  }
165
165
  /**
166
- * Runs the Cloesce app. Intended to be called from the generated workers code.
166
+ * Runs the Cloesce Router, handling dependency injection, routing, validation,
167
+ * hydration, and method dispatch.
168
+ *
169
+ * @param request - The incoming Request object.
170
+ * @param env - The Wrangler environment bindings.
171
+ *
172
+ * @returns A Response object representing the result of the request.
167
173
  */
168
174
  async run(request, env) {
169
175
  const { ast, constructorRegistry: ctorReg } = RuntimeContainer.get();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloesce",
3
- "version": "0.0.5-unstable.17",
3
+ "version": "0.0.5-unstable.19",
4
4
  "description": "A tool to extract and compile TypeScript code into something wrangler can consume and deploy for D1 Databases and Cloudflare Workers",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -63,4 +63,4 @@
63
63
  "orm",
64
64
  "cli"
65
65
  ]
66
- }
66
+ }