@descryy/adapter-kotlin 0.4.1 → 0.5.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 (50) hide show
  1. package/dist/adapter.d.ts.map +1 -1
  2. package/dist/adapter.js +86 -14
  3. package/dist/adapter.js.map +1 -1
  4. package/dist/client-base.d.ts +114 -0
  5. package/dist/client-base.d.ts.map +1 -0
  6. package/dist/client-base.js +102 -0
  7. package/dist/client-base.js.map +1 -0
  8. package/dist/client.d.ts +23 -1
  9. package/dist/client.d.ts.map +1 -1
  10. package/dist/client.js +207 -13
  11. package/dist/client.js.map +1 -1
  12. package/dist/external.d.ts +149 -0
  13. package/dist/external.d.ts.map +1 -0
  14. package/dist/external.js +226 -0
  15. package/dist/external.js.map +1 -0
  16. package/dist/extract.d.ts +34 -0
  17. package/dist/extract.d.ts.map +1 -1
  18. package/dist/extract.js +476 -47
  19. package/dist/extract.js.map +1 -1
  20. package/dist/jpa-reads.d.ts +26 -0
  21. package/dist/jpa-reads.d.ts.map +1 -0
  22. package/dist/jpa-reads.js +35 -0
  23. package/dist/jpa-reads.js.map +1 -0
  24. package/dist/jpa.d.ts +147 -0
  25. package/dist/jpa.d.ts.map +1 -0
  26. package/dist/jpa.js +415 -0
  27. package/dist/jpa.js.map +1 -0
  28. package/dist/parse.d.ts +44 -0
  29. package/dist/parse.d.ts.map +1 -1
  30. package/dist/parse.js +106 -9
  31. package/dist/parse.js.map +1 -1
  32. package/dist/retrofit.d.ts +12 -0
  33. package/dist/retrofit.d.ts.map +1 -1
  34. package/dist/retrofit.js +53 -0
  35. package/dist/retrofit.js.map +1 -1
  36. package/dist/routes.d.ts +15 -0
  37. package/dist/routes.d.ts.map +1 -1
  38. package/dist/routes.js.map +1 -1
  39. package/dist/serialization.d.ts +47 -0
  40. package/dist/serialization.d.ts.map +1 -0
  41. package/dist/serialization.js +55 -0
  42. package/dist/serialization.js.map +1 -0
  43. package/dist/shape-reach.d.ts +97 -0
  44. package/dist/shape-reach.d.ts.map +1 -0
  45. package/dist/shape-reach.js +156 -0
  46. package/dist/shape-reach.js.map +1 -0
  47. package/dist/spring.d.ts.map +1 -1
  48. package/dist/spring.js +28 -6
  49. package/dist/spring.js.map +1 -1
  50. package/package.json +7 -7
package/dist/parse.js CHANGED
@@ -28,6 +28,45 @@ import { readKtorRoutes } from "./routes.js";
28
28
  import { readKtorClientCalls } from "./client.js";
29
29
  import { readSpringRoutes } from "./spring.js";
30
30
  import { readRetrofitEndpoints } from "./retrofit.js";
31
+ import { readJpaDeclarations } from "./jpa.js";
32
+ /**
33
+ * Jetpack Compose's own definition of a UI element, read as a declaration.
34
+ *
35
+ * Two halves, both written down rather than inferred:
36
+ *
37
+ * 1. `@Composable`, and an `androidx.compose` import that says which
38
+ * `Composable` that is. Same provenance rule `testStyleOf` applies to
39
+ * `@Test` — the annotation's simple name is not, by itself, evidence.
40
+ * 2. Compose's API guidelines split `@Composable` functions in two: those
41
+ * returning `Unit` emit UI, those returning a value are state factories
42
+ * (`rememberFoo()`). Only the first is a `COMPONENT`.
43
+ *
44
+ * Kotlin infers return types, so only what is written is read. A `@Composable`
45
+ * with an **expression body and no written return type** has an inferred type
46
+ * this adapter cannot see below R3, and is refused — left a `FUNCTION` rather
47
+ * than guessed into a `COMPONENT`. Rule 2: the missing node is a disclosed
48
+ * gap, a wrong one is a false claim every finding above it inherits.
49
+ */
50
+ function composableOf(node, annotations, imports) {
51
+ if (!annotations.includes("Composable"))
52
+ return false;
53
+ if (!imports.some((i) => i.path.startsWith("androidx.compose")))
54
+ return false;
55
+ // The written return type: the node after the `:` that follows the parameter
56
+ // list. Absent means the declaration states nothing.
57
+ const children = childrenOf(node);
58
+ const colon = children.findIndex((c) => !c.isNamed && c.type === ":");
59
+ if (colon !== -1) {
60
+ const written = children[colon + 1];
61
+ return written !== undefined && typeNameOf(written) === "Unit";
62
+ }
63
+ // No written type. A block body returns `Unit`; an expression body's type is
64
+ // inferred and unknowable here.
65
+ const body = firstOfType(node, "function_body");
66
+ if (body === undefined)
67
+ return false;
68
+ return childrenOf(body).some((c) => !c.isNamed && c.type === "{");
69
+ }
31
70
  const lineOf = (node) => node.startPosition.row + 1;
32
71
  const namedChildren = (node) => {
33
72
  const out = [];
@@ -82,6 +121,15 @@ function modifiersOf(node) {
82
121
  .concat(childrenOf(block).flatMap((c) => childrenOf(c).map((k) => k.text)))
83
122
  .filter((t) => t !== "");
84
123
  }
124
+ /** Annotations as raw source text, so a reader can see their arguments. */
125
+ function annotationTextsOf(node) {
126
+ const block = firstOfType(node, "modifiers");
127
+ if (block === undefined)
128
+ return [];
129
+ return namedChildren(block)
130
+ .filter((m) => m.type.includes("annotation"))
131
+ .map((m) => m.text);
132
+ }
85
133
  /** Annotation names on a declaration — `@Test`, `@Deprecated`. */
86
134
  function annotationsOf(node) {
87
135
  const block = firstOfType(node, "modifiers");
@@ -215,12 +263,21 @@ function testStyleOf(annotations, imports) {
215
263
  // larger population, and the style is a label rather than an identity input.
216
264
  return "junit";
217
265
  }
218
- /** The written type of a `val`/`var`, when one is stated. Kotlin infers a lot. */
266
+ /**
267
+ * The written type of a `val`/`var`, when one is stated. Kotlin infers a lot.
268
+ *
269
+ * `T?` is a `nullable_type` wrapping the `user_type`, so a lookup for a direct
270
+ * `user_type` child finds nothing and the property reports its type as *not
271
+ * written* — which is a different and false claim. Measured on the conformance
272
+ * fixture: `discountCode: String?` was the one property of three whose type
273
+ * was lost. The nullability itself is `jpa.ts`'s to read; this is only the
274
+ * element type, and it is the same `String` either way.
275
+ */
219
276
  function propertyTypeOf(node) {
220
- const declaration = firstOfType(node, "variable_declaration");
221
- if (declaration === undefined)
222
- return typeNameOf(firstOfType(node, "user_type"));
223
- return typeNameOf(firstOfType(declaration, "user_type"));
277
+ const declaration = firstOfType(node, "variable_declaration") ?? node;
278
+ const nullable = firstOfType(declaration, "nullable_type");
279
+ const holder = nullable ?? declaration;
280
+ return typeNameOf(firstOfType(holder, "user_type"));
224
281
  }
225
282
  function propertyNameOf(node) {
226
283
  const declaration = firstOfType(node, "variable_declaration");
@@ -295,13 +352,24 @@ function readTypeRefs(node, refs) {
295
352
  * (`repository.findById(id)` is read by `readCall`, not this) — avoids
296
353
  * double-reporting one reference through two mechanisms.
297
354
  */
298
- function readValueRefs(node, callHeads, refs) {
355
+ function readValueRefs(node, callHeads, refs, scope, fieldReads) {
299
356
  for (const nav of descendants(node, "navigation_expression")) {
300
357
  if (callHeads.has(nav))
301
358
  continue;
302
359
  const target = namedChildren(nav)[0];
303
360
  if (target?.type !== "simple_identifier")
304
361
  continue;
362
+ // `order.totalAmount` where a binding WROTE `order`'s type. A navigation
363
+ // that is not a call's callee is a property read; the receiver's type is
364
+ // the half Kotlin usually leaves to inference, so only a written one counts.
365
+ if (scope !== undefined && fieldReads !== undefined) {
366
+ const receiverType = scope.locals.get(target.text);
367
+ const suffix = namedChildren(nav).find((c) => c.type === "navigation_suffix");
368
+ const member = suffix === undefined ? undefined : firstOfType(suffix, "simple_identifier")?.text;
369
+ if (receiverType !== undefined && member !== undefined) {
370
+ fieldReads.push({ receiverType, field: member, line: lineOf(nav) });
371
+ }
372
+ }
305
373
  refs.push({
306
374
  kind: "type",
307
375
  name: target.text,
@@ -319,6 +387,12 @@ function readValueRefs(node, callHeads, refs) {
319
387
  * companion's `const val MAX` was recorded twice (class and companion). A
320
388
  * member is a **direct** child of its body.
321
389
  */
390
+ /** Did the written type end in `?` — Kotlin's declaration of nullability. */
391
+ function nullableTypeOf(node) {
392
+ if (node === undefined)
393
+ return undefined;
394
+ return firstOfType(node, "nullable_type") !== undefined;
395
+ }
322
396
  function ownProperties(body) {
323
397
  return namedChildren(body).filter((c) => c.type === "property_declaration");
324
398
  }
@@ -353,6 +427,7 @@ function readFunction(node, scope, walk, imports) {
353
427
  const annotations = annotationsOf(node);
354
428
  const testStyle = testStyleOf(annotations, imports);
355
429
  const refs = [];
430
+ const fieldReads = [];
356
431
  const inner = { owners: scope.owners, locals: new Map(scope.locals) };
357
432
  // Seeded before the body is walked: Kotlin allows using a property declared
358
433
  // below it, and a forward-only pass would make resolution depend on source
@@ -365,7 +440,7 @@ function readFunction(node, scope, walk, imports) {
365
440
  for (const call of calls)
366
441
  readCall(call, inner, refs);
367
442
  readTypeRefs(body, refs);
368
- readValueRefs(body, callHeads, refs);
443
+ readValueRefs(body, callHeads, refs, inner, fieldReads);
369
444
  }
370
445
  const parameters = firstOfType(node, "function_value_parameters");
371
446
  if (parameters !== undefined)
@@ -373,8 +448,10 @@ function readFunction(node, scope, walk, imports) {
373
448
  walk.funcs.push({
374
449
  name,
375
450
  owners: scope.owners,
451
+ fieldReads,
376
452
  isTest: testStyle !== undefined,
377
453
  testStyle,
454
+ isComposable: testStyle === undefined && composableOf(node, annotations, imports),
378
455
  startLine: lineOf(node),
379
456
  endLine: node.endPosition.row + 1,
380
457
  refs,
@@ -400,6 +477,8 @@ function walkNode(node, scope, walk, imports) {
400
477
  walk.decls.push({
401
478
  kind,
402
479
  name,
480
+ annotations: annotationsOf(child),
481
+ annotationTexts: annotationTextsOf(child),
403
482
  owners: scope.owners,
404
483
  supertypes,
405
484
  startLine: lineOf(child),
@@ -425,7 +504,9 @@ function walkNode(node, scope, walk, imports) {
425
504
  walk.properties.push({
426
505
  name: propertyName,
427
506
  owners: inner.owners,
428
- type: typeNameOf(firstOfType(parameter, "user_type")),
507
+ type: propertyTypeOf(parameter),
508
+ nullable: nullableTypeOf(parameter),
509
+ annotationTexts: annotationTextsOf(parameter),
429
510
  line: lineOf(parameter),
430
511
  });
431
512
  }
@@ -441,6 +522,8 @@ function walkNode(node, scope, walk, imports) {
441
522
  name: propertyName,
442
523
  owners: inner.owners,
443
524
  type: propertyTypeOf(property),
525
+ nullable: nullableTypeOf(property),
526
+ annotationTexts: annotationTextsOf(property),
444
527
  line: lineOf(property),
445
528
  });
446
529
  }
@@ -498,9 +581,22 @@ export function readKotlinFile(file, tree) {
498
581
  // After the walk: provenance is decided by the import table, and the import
499
582
  // may sit anywhere above the routing block that needs it.
500
583
  const routes = readKtorRoutes(root, walk.imports);
501
- const client = readKtorClientCalls(root, walk.imports);
584
+ // ONE WALK, READ TWICE — DEC-164's origin rule needs every base in the file
585
+ // before any single call site can be judged. `client-base.ts` admits an
586
+ // absolute call path only at an origin some base in this same file resolves
587
+ // to. The first read collects those origins; the second judges with them in
588
+ // hand. With no absolute base anywhere the set stays empty and the second
589
+ // read never runs.
590
+ const firstClientPass = readKtorClientCalls(root, walk.imports);
591
+ const knownOrigins = new Set();
592
+ for (const call of firstClientPass.calls) {
593
+ if (call.baseOrigin !== undefined)
594
+ knownOrigins.add(call.baseOrigin);
595
+ }
596
+ const client = knownOrigins.size === 0 ? firstClientPass : readKtorClientCalls(root, walk.imports, knownOrigins);
502
597
  const springRoutes = readSpringRoutes(root, walk.imports);
503
598
  const retrofit = readRetrofitEndpoints(root, walk.imports);
599
+ const jpaDeclarations = readJpaDeclarations(root, walk.imports);
504
600
  return {
505
601
  file,
506
602
  hasError: hasErrorSubtree(root),
@@ -518,6 +614,7 @@ export function readKotlinFile(file, tree) {
518
614
  clientRefusals: client.refusals,
519
615
  retrofitEndpoints: retrofit.declarations,
520
616
  retrofitRefusals: retrofit.refusals,
617
+ jpaDeclarations,
521
618
  };
522
619
  }
523
620
  //# sourceMappingURL=parse.js.map
package/dist/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,18 @@ export interface KotlinRetrofitEndpoint {
37
37
  readonly owners: readonly string[];
38
38
  readonly funcName: string;
39
39
  readonly line: number;
40
+ /**
41
+ * The written base name of the function's declared response shape, when
42
+ * one is stated — `OrderResponse` from a direct `suspend fun ...:
43
+ * OrderResponse`, or from Retrofit's own wrapper forms
44
+ * `Call<OrderResponse>`/`Response<OrderResponse>`/`Deferred<OrderResponse>`.
45
+ * `undefined` for no return type, an un-generic wrapper, or a built-in —
46
+ * see {@link returnTypeOf}. Still just a NAME: `extract.ts` resolves it
47
+ * and decides, from that declaration's own evidence, whether it earns
48
+ * `responseType`/`shapeResolution` on the `USES_API` edge
49
+ * (`DEC-NEXT-dto-shape-evidence-for-api-contracts`).
50
+ */
51
+ readonly returnTypeWritten?: string;
40
52
  }
41
53
  export interface KotlinRetrofitRefusal {
42
54
  readonly rawTarget: string;
@@ -1 +1 @@
1
- {"version":3,"file":"retrofit.d.ts","sourceRoot":"","sources":["../src/retrofit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAe/C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACrD;AAqED,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,uBAAuB,CA4E3G"}
1
+ {"version":3,"file":"retrofit.d.ts","sourceRoot":"","sources":["../src/retrofit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAe/C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACrD;AAwHD,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,uBAAuB,CA8E3G"}
package/dist/retrofit.js CHANGED
@@ -87,6 +87,57 @@ function verbAnnotationOf(node) {
87
87
  }
88
88
  return undefined;
89
89
  }
90
+ /**
91
+ * Retrofit's own generic wrappers around a real response shape — unwrapped
92
+ * to their sole type argument, never treated as the shape themselves. A
93
+ * direct `suspend fun` return skips this entirely, which is the modern,
94
+ * dominant Retrofit style and why it is read first, not as a fallback.
95
+ */
96
+ const RESPONSE_WRAPPER_TYPES = new Set(["Call", "Response", "Deferred"]);
97
+ /**
98
+ * Framework plumbing and built-ins a return type reader must refuse rather
99
+ * than mint as a shape — mirrors `adapter-java`/`adapter-csharp`'s own
100
+ * `NOT_A_SHAPE` sets, narrowed to what Retrofit signatures actually return.
101
+ */
102
+ const RETURN_NOT_A_SHAPE = new Set([
103
+ "Unit", "Void", "String", "ResponseBody", "Any", "Boolean", "Int", "Long",
104
+ "Double", "Float", "ByteArray",
105
+ ]);
106
+ /**
107
+ * The written base name of `fn`'s declared response shape, or `undefined`.
108
+ * Grammar exposes no `type`/`name` fields on `function_declaration` here
109
+ * (confirmed against the compiled grammar — every reader in this file walks
110
+ * named children positionally), so the return type is read positionally:
111
+ * Kotlin's own grammar always places it as the named child immediately after
112
+ * `function_value_parameters` when one is written at all. `Call<T>`/
113
+ * `Response<T>`/`Deferred<T>` unwrap to `T`; anything else un-generic is
114
+ * taken directly, refused when it names no real shape ({@link
115
+ * RETURN_NOT_A_SHAPE}) or resolves to no declaration at all (`extract.ts`'s
116
+ * job, not this file's).
117
+ */
118
+ function returnTypeOf(fn) {
119
+ const kids = namedChildren(fn);
120
+ const paramsIndex = kids.findIndex((child) => child.type === "function_value_parameters");
121
+ if (paramsIndex === -1)
122
+ return undefined;
123
+ const typeNode = kids[paramsIndex + 1];
124
+ if (typeNode === undefined)
125
+ return undefined;
126
+ const unwrapped = typeNode.type === "nullable_type" ? (firstOfType(typeNode, "user_type") ?? typeNode) : typeNode;
127
+ if (unwrapped.type !== "user_type")
128
+ return undefined;
129
+ const outerName = firstOfType(unwrapped, "type_identifier")?.text;
130
+ if (outerName === undefined)
131
+ return undefined;
132
+ if (RESPONSE_WRAPPER_TYPES.has(outerName)) {
133
+ const typeArgs = firstOfType(unwrapped, "type_arguments");
134
+ const projection = typeArgs === undefined ? undefined : firstOfType(typeArgs, "type_projection");
135
+ const inner = projection === undefined ? undefined : firstOfType(projection, "user_type");
136
+ const innerName = inner === undefined ? undefined : firstOfType(inner, "type_identifier")?.text;
137
+ return innerName === undefined || RETURN_NOT_A_SHAPE.has(innerName) ? undefined : innerName;
138
+ }
139
+ return RETURN_NOT_A_SHAPE.has(outerName) ? undefined : outerName;
140
+ }
90
141
  /** `pokemon/{name}` -> `/pokemon/{name}` — Retrofit's own paths are written relative with no leading slash. */
91
142
  function withLeadingSlash(path) {
92
143
  return path.startsWith("/") ? path : `/${path}`;
@@ -149,6 +200,7 @@ export function readRetrofitEndpoints(root, imports) {
149
200
  });
150
201
  continue;
151
202
  }
203
+ const returnType = returnTypeOf(child);
152
204
  declarations.push({
153
205
  method: verbAnnotation.verb,
154
206
  path: withLeadingSlash(raw),
@@ -156,6 +208,7 @@ export function readRetrofitEndpoints(root, imports) {
156
208
  owners,
157
209
  funcName,
158
210
  line: verbAnnotation.line,
211
+ ...(returnType === undefined ? {} : { returnTypeWritten: returnType }),
159
212
  });
160
213
  continue;
161
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retrofit.js","sourceRoot":"","sources":["../src/retrofit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrofit.js","sourceRoot":"","sources":["../src/retrofit.ts"],"names":[],"mappings":"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"}
package/dist/routes.d.ts CHANGED
@@ -46,6 +46,21 @@ export interface KotlinRoute {
46
46
  readonly startLine: number;
47
47
  readonly endLine: number;
48
48
  };
49
+ /**
50
+ * The Spring-annotated method that serves this route, resolved directly at the point the
51
+ * route is read — the function's own owner chain and name, ready to key `extract.ts`'s
52
+ * `funcsByKey`.
53
+ *
54
+ * Spring's handler carries none of Ktor's ambiguity: the annotated method IS the handler
55
+ * unconditionally, no lambda dispatch to resolve one hop further in, so this identifies the
56
+ * function directly rather than a line span for a second pass to re-derive. `undefined` for a
57
+ * Ktor route, and defensively for a Spring route whose handler's own name this reader could
58
+ * not read (an unnamed declaration the grammar could not place).
59
+ */
60
+ readonly handler?: {
61
+ readonly owners: readonly string[];
62
+ readonly name: string;
63
+ };
49
64
  }
50
65
  export interface KotlinRouteRefusal {
51
66
  readonly rawTarget: string;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgB/C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAClD;AAwGD,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,CAiGzF"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgB/C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAChF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAClD;AAwGD,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,CAiGzF"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * kotlinx.serialization shape evidence for Kotlin `USES_API` edges —
3
+ * `DEC-NEXT-dto-shape-evidence-for-api-contracts`.
4
+ *
5
+ * ## What this answers, and what it deliberately doesn't
6
+ *
7
+ * The ruling: a plain class's property list is NOT R3-grade shape evidence
8
+ * (it can drift from the actual wire format — a custom `KSerializer`, a
9
+ * property excluded by a manual `Encoder`/`Decoder`, reflection-based
10
+ * serialization with its own rename rules — in ways the class body itself
11
+ * never states). A genuine serialization-schema signal is. For Kotlin that
12
+ * signal is kotlinx.serialization's `@Serializable` — unlike Jackson or
13
+ * `System.Text.Json`, this one is not optional decoration: the compiler
14
+ * plugin generates a class's `KSerializer` ONLY when it carries this
15
+ * annotation, so `@Serializable` alone is already the load-bearing
16
+ * declaration this ruling asks for, and `@SerialName` (an individual
17
+ * property's declared wire name) is real but supplementary evidence on top
18
+ * of it, not required for the gate to fire.
19
+ *
20
+ * This file answers exactly one question — does a given declaration carry
21
+ * that evidence — and does not decide which types get asked; `extract.ts`
22
+ * decides that, mirroring `adapter-java`'s `jackson.ts` and
23
+ * `adapter-csharp`'s `json.ts`.
24
+ *
25
+ * ## Provenance, same reason `retrofit.ts` requires an import
26
+ *
27
+ * `@Serializable` is not a reserved word — nothing stops a project from
28
+ * declaring its own annotation of the same simple name. Trusting the bare
29
+ * name alone would let a same-named lookalike forge R3 evidence this adapter
30
+ * never actually verified. So, exactly as `retrofit.ts`'s
31
+ * `importsRetrofitHttp` requires a `retrofit2.http` import before trusting a
32
+ * verb annotation, this file requires the FILE to import `kotlinx.serialization`
33
+ * before trusting `@Serializable`.
34
+ */
35
+ import type { KotlinDecl, KotlinFile } from "./parse.ts";
36
+ /**
37
+ * Does `decl` (declared in `file`) carry real, provenance-verified
38
+ * kotlinx.serialization shape evidence — `@Serializable` on the declaration
39
+ * itself?
40
+ *
41
+ * A declaration without it returns `false` — it stays capped below R3,
42
+ * exactly as one with no schema backing at all does, and this function does
43
+ * not distinguish "no kotlinx.serialization evidence" from "not a shape at
44
+ * all"; the caller (`extract.ts`) already knows which question it's asking.
45
+ */
46
+ export declare function hasSerializationEvidence(file: KotlinFile, decl: KotlinDecl): boolean;
47
+ //# sourceMappingURL=serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWzD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAGpF"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * kotlinx.serialization shape evidence for Kotlin `USES_API` edges —
3
+ * `DEC-NEXT-dto-shape-evidence-for-api-contracts`.
4
+ *
5
+ * ## What this answers, and what it deliberately doesn't
6
+ *
7
+ * The ruling: a plain class's property list is NOT R3-grade shape evidence
8
+ * (it can drift from the actual wire format — a custom `KSerializer`, a
9
+ * property excluded by a manual `Encoder`/`Decoder`, reflection-based
10
+ * serialization with its own rename rules — in ways the class body itself
11
+ * never states). A genuine serialization-schema signal is. For Kotlin that
12
+ * signal is kotlinx.serialization's `@Serializable` — unlike Jackson or
13
+ * `System.Text.Json`, this one is not optional decoration: the compiler
14
+ * plugin generates a class's `KSerializer` ONLY when it carries this
15
+ * annotation, so `@Serializable` alone is already the load-bearing
16
+ * declaration this ruling asks for, and `@SerialName` (an individual
17
+ * property's declared wire name) is real but supplementary evidence on top
18
+ * of it, not required for the gate to fire.
19
+ *
20
+ * This file answers exactly one question — does a given declaration carry
21
+ * that evidence — and does not decide which types get asked; `extract.ts`
22
+ * decides that, mirroring `adapter-java`'s `jackson.ts` and
23
+ * `adapter-csharp`'s `json.ts`.
24
+ *
25
+ * ## Provenance, same reason `retrofit.ts` requires an import
26
+ *
27
+ * `@Serializable` is not a reserved word — nothing stops a project from
28
+ * declaring its own annotation of the same simple name. Trusting the bare
29
+ * name alone would let a same-named lookalike forge R3 evidence this adapter
30
+ * never actually verified. So, exactly as `retrofit.ts`'s
31
+ * `importsRetrofitHttp` requires a `retrofit2.http` import before trusting a
32
+ * verb annotation, this file requires the FILE to import `kotlinx.serialization`
33
+ * before trusting `@Serializable`.
34
+ */
35
+ const SERIALIZATION_PACKAGE = "kotlinx.serialization";
36
+ /** Does this file import kotlinx.serialization at all? File-local only, mirroring `retrofit.ts`. */
37
+ function importsKotlinxSerialization(file) {
38
+ return file.imports.some((i) => i.isWildcard ? i.path === SERIALIZATION_PACKAGE : i.path.startsWith(`${SERIALIZATION_PACKAGE}.`));
39
+ }
40
+ /**
41
+ * Does `decl` (declared in `file`) carry real, provenance-verified
42
+ * kotlinx.serialization shape evidence — `@Serializable` on the declaration
43
+ * itself?
44
+ *
45
+ * A declaration without it returns `false` — it stays capped below R3,
46
+ * exactly as one with no schema backing at all does, and this function does
47
+ * not distinguish "no kotlinx.serialization evidence" from "not a shape at
48
+ * all"; the caller (`extract.ts`) already knows which question it's asking.
49
+ */
50
+ export function hasSerializationEvidence(file, decl) {
51
+ if (!importsKotlinxSerialization(file))
52
+ return false;
53
+ return decl.annotations.includes("Serializable");
54
+ }
55
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,oGAAoG;AACpG,SAAS,2BAA2B,CAAC,IAAgB;IACnD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,qBAAqB,GAAG,CAAC,CACjG,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAgB,EAAE,IAAgB;IACzE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACnD,CAAC"}