@descryy/adapter-java 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { createJavaAdapter, hashOf, ADAPTER_ID, ADAPTER_VERSION, DEFAULT_JAVA_GLOBS, LANGUAGE, type JavaAdapter, type JavaAdapterOptions, } from "./adapter.ts";
2
+ export { DEFAULT_PACKAGE, type ExtractInput, type Extraction } from "./extract.ts";
3
+ export { readUnit, type JavaUnit, type JavaType, type JavaMethod, type JavaRef } from "./parse.ts";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,MAAM,EACN,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { createJavaAdapter, hashOf, ADAPTER_ID, ADAPTER_VERSION, DEFAULT_JAVA_GLOBS, LANGUAGE, } from "./adapter.js";
2
+ export { DEFAULT_PACKAGE } from "./extract.js";
3
+ export { readUnit } from "./parse.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,MAAM,EACN,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,QAAQ,GAGT,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAsC,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAA+D,MAAM,YAAY,CAAC"}
package/dist/jpa.d.ts ADDED
@@ -0,0 +1,107 @@
1
+ /**
2
+ * The ORM framework extractor for Java — JPA/Hibernate and Spring Data
3
+ * MongoDB.
4
+ *
5
+ * **A `MODEL` is a framework claim, and this file is where it is earned.**
6
+ * DEC-127 fixed the rules before any of this was written.
7
+ *
8
+ * ## The admission rule is one annotation, and that is deliberate
9
+ *
10
+ * A `MODEL` is a class annotated `@Entity` (JPA) or `@Document` (Spring Data
11
+ * MongoDB). Nothing else. Golden 07's note is explicit that in the
12
+ * conformance corpus `Order` and `CreateOrderRequest` are **structurally
13
+ * identical** — same fields, same syntax — and separable only by their
14
+ * names. So no structural rule may distinguish them, and a name rule is what
15
+ * golden pattern 12 exists to punish. The annotation is the only evidence
16
+ * there is, and it is enough. `@Document` was added under the identical
17
+ * rule after `language-problems.md` §3 found it entirely unrecognised — a
18
+ * reactive-Spring codebase's whole persistence layer producing zero `MODEL`
19
+ * nodes, indistinguishable from a repository with no entities at all.
20
+ *
21
+ * Explicitly refused, per DEC-127 §2: `@Embeddable` (a value type inlined into
22
+ * another table, with no table of its own), `@MappedSuperclass` (§4 below), a
23
+ * Spring Data `Repository` interface, and any class in a package named `model`
24
+ * or `entity` carrying no annotation at all.
25
+ *
26
+ * ## Nullability is the assertion that matters
27
+ *
28
+ * Golden 06 **fails an adapter that reports three fields and loses
29
+ * `nullable`**, so the precedence is spelled out rather than left to whichever
30
+ * annotation is read first:
31
+ *
32
+ * | # | evidence | verdict | `nullableFrom` |
33
+ * | --- | --- | --- | --- |
34
+ * | 1 | `@Column(nullable = false)` / `= true` | as written | `declared` |
35
+ * | 2 | `@Id` | not nullable | `annotation` |
36
+ * | 3 | `@NotNull` | not nullable | `annotation` |
37
+ * | 4 | a **primitive** type | not nullable | `primitive-type` |
38
+ * | 5 | anything else | nullable | `framework-default` |
39
+ *
40
+ * **Rule 4 is the hazard DEC-127 named and it is why the parse now carries
41
+ * `primitive`.** `long totalAmount` is a NOT NULL column with no annotation
42
+ * anywhere saying so, and `Long totalAmount` is nullable — the same field
43
+ * spelled with one character's difference. An extractor reading the type as
44
+ * text without the boxing distinction gets golden 06 wrong in exactly the
45
+ * direction the pattern was written to catch. The Java conformance fixture uses
46
+ * a primitive for precisely this field, so an extractor that skips rule 4 fails
47
+ * on the corpus rather than in the field.
48
+ *
49
+ * ## Annotation arrays were swept before measuring, not after
50
+ *
51
+ * The Spring extractor lost **140 of `shopizer`'s 356 mappings** to an
52
+ * annotation array read through the wrong tree-sitter node name — silently, with
53
+ * every control green, because a recall hole produces no admissions and the
54
+ * whole precision apparatus is blind to it. JPA is denser in arrays than Spring
55
+ * is: `@Table(indexes = {…})`, `@UniqueConstraint(columnNames = {…})`,
56
+ * `@NamedQueries({…})`, `@SecondaryTables({…})`.
57
+ *
58
+ * So every array-valued argument this file reads goes through the same
59
+ * `JavaAnnotation.values` / `named` lists the parse now builds, which handle
60
+ * `element_value_array_initializer`. Nothing here reads an argument node
61
+ * directly.
62
+ */
63
+ import type { JavaType, JavaUnit } from "./parse.ts";
64
+ /**
65
+ * Resolve a supertype name as written, or `undefined` when it is not analysable.
66
+ *
67
+ * Supplied by `extract.ts` so this file does not carry a second copy of Java's
68
+ * scope rules. A `@MappedSuperclass` in another compilation unit is the normal
69
+ * case — `spring-petclinic` declares every one of its ids on a base class three
70
+ * files away — so a same-file-only rule finds none of them.
71
+ */
72
+ export type ResolveSuper = (unit: JavaUnit, written: string) => {
73
+ type: JavaType;
74
+ unit: JavaUnit;
75
+ } | undefined;
76
+ /** Mirrors `adapter-python`'s `OrmField` so one shape crosses both languages. */
77
+ export interface JpaField {
78
+ readonly name: string;
79
+ readonly nullable: boolean;
80
+ /**
81
+ * Where the answer came from, so a default can be told from a declaration.
82
+ *
83
+ * `primitive-type` is one value wider than the Python adapter's set, because
84
+ * Java has a source of nullability that Python does not: the type itself.
85
+ * `attrs` is where language-specific detail belongs and nothing above the IR
86
+ * reads it, so widening here costs nothing above the boundary.
87
+ */
88
+ readonly nullableFrom: "declared" | "annotation" | "primitive-type" | "framework-default";
89
+ }
90
+ export interface JpaModel {
91
+ readonly className: string;
92
+ readonly fqn: string;
93
+ /** The mapped table where the source names one; `null` when only a strategy would give it. */
94
+ readonly table: string | null;
95
+ readonly fields: readonly JpaField[];
96
+ readonly line: number;
97
+ /** Fields whose nullability is written in a form this reader cannot evaluate. */
98
+ readonly undecided: readonly string[];
99
+ }
100
+ /**
101
+ * Every JPA entity this compilation unit declares.
102
+ *
103
+ * `resolve` reaches declarations in *other* units, so this is called once per
104
+ * unit but reads across the whole batch. See {@link inheritedFields}.
105
+ */
106
+ export declare function jpaModels(unit: JavaUnit, resolve: ResolveSuper): JpaModel[];
107
+ //# sourceMappingURL=jpa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jpa.d.ts","sourceRoot":"","sources":["../src/jpa.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,OAAO,KAAK,EAA6B,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,SAAS,CAAC;AAE/G,iFAAiF;AACjF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,EAAE,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;CAC3F;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AA2KD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,GAAG,QAAQ,EAAE,CA6E3E"}
package/dist/jpa.js ADDED
@@ -0,0 +1,312 @@
1
+ /**
2
+ * The ORM framework extractor for Java — JPA/Hibernate and Spring Data
3
+ * MongoDB.
4
+ *
5
+ * **A `MODEL` is a framework claim, and this file is where it is earned.**
6
+ * DEC-127 fixed the rules before any of this was written.
7
+ *
8
+ * ## The admission rule is one annotation, and that is deliberate
9
+ *
10
+ * A `MODEL` is a class annotated `@Entity` (JPA) or `@Document` (Spring Data
11
+ * MongoDB). Nothing else. Golden 07's note is explicit that in the
12
+ * conformance corpus `Order` and `CreateOrderRequest` are **structurally
13
+ * identical** — same fields, same syntax — and separable only by their
14
+ * names. So no structural rule may distinguish them, and a name rule is what
15
+ * golden pattern 12 exists to punish. The annotation is the only evidence
16
+ * there is, and it is enough. `@Document` was added under the identical
17
+ * rule after `language-problems.md` §3 found it entirely unrecognised — a
18
+ * reactive-Spring codebase's whole persistence layer producing zero `MODEL`
19
+ * nodes, indistinguishable from a repository with no entities at all.
20
+ *
21
+ * Explicitly refused, per DEC-127 §2: `@Embeddable` (a value type inlined into
22
+ * another table, with no table of its own), `@MappedSuperclass` (§4 below), a
23
+ * Spring Data `Repository` interface, and any class in a package named `model`
24
+ * or `entity` carrying no annotation at all.
25
+ *
26
+ * ## Nullability is the assertion that matters
27
+ *
28
+ * Golden 06 **fails an adapter that reports three fields and loses
29
+ * `nullable`**, so the precedence is spelled out rather than left to whichever
30
+ * annotation is read first:
31
+ *
32
+ * | # | evidence | verdict | `nullableFrom` |
33
+ * | --- | --- | --- | --- |
34
+ * | 1 | `@Column(nullable = false)` / `= true` | as written | `declared` |
35
+ * | 2 | `@Id` | not nullable | `annotation` |
36
+ * | 3 | `@NotNull` | not nullable | `annotation` |
37
+ * | 4 | a **primitive** type | not nullable | `primitive-type` |
38
+ * | 5 | anything else | nullable | `framework-default` |
39
+ *
40
+ * **Rule 4 is the hazard DEC-127 named and it is why the parse now carries
41
+ * `primitive`.** `long totalAmount` is a NOT NULL column with no annotation
42
+ * anywhere saying so, and `Long totalAmount` is nullable — the same field
43
+ * spelled with one character's difference. An extractor reading the type as
44
+ * text without the boxing distinction gets golden 06 wrong in exactly the
45
+ * direction the pattern was written to catch. The Java conformance fixture uses
46
+ * a primitive for precisely this field, so an extractor that skips rule 4 fails
47
+ * on the corpus rather than in the field.
48
+ *
49
+ * ## Annotation arrays were swept before measuring, not after
50
+ *
51
+ * The Spring extractor lost **140 of `shopizer`'s 356 mappings** to an
52
+ * annotation array read through the wrong tree-sitter node name — silently, with
53
+ * every control green, because a recall hole produces no admissions and the
54
+ * whole precision apparatus is blind to it. JPA is denser in arrays than Spring
55
+ * is: `@Table(indexes = {…})`, `@UniqueConstraint(columnNames = {…})`,
56
+ * `@NamedQueries({…})`, `@SecondaryTables({…})`.
57
+ *
58
+ * So every array-valued argument this file reads goes through the same
59
+ * `JavaAnnotation.values` / `named` lists the parse now builds, which handle
60
+ * `element_value_array_initializer`. Nothing here reads an argument node
61
+ * directly.
62
+ */
63
+ const JPA_PACKAGES = ["jakarta.persistence", "javax.persistence"];
64
+ /**
65
+ * Spring Data MongoDB's own mapping package — `@Document`, `@Field`. Kept
66
+ * separate from {@link JPA_PACKAGES} rather than merged into one list: the two
67
+ * frameworks' provenance is checked for the same reason (an `@Document` or
68
+ * `@Entity` in a file importing neither is somebody else's annotation of the
69
+ * same name), but a unit can import one without the other, and merging the
70
+ * lists would let a JPA-only file's `@Document`-shaped lookalike through on
71
+ * JPA's provenance and vice versa.
72
+ *
73
+ * §3 of `language-problems.md`, ledger row 2: `@Document` was **entirely
74
+ * invisible** before this — `isEntity` only ever asked about `@Entity`, so a
75
+ * reactive-Spring codebase's whole persistence layer produced zero `MODEL`
76
+ * nodes and nothing in the ledger to say why, indistinguishable from a
77
+ * repository with no entities at all.
78
+ */
79
+ const MONGO_PACKAGES = ["org.springframework.data.mongodb"];
80
+ /**
81
+ * Does this unit import JPA or Spring Data MongoDB?
82
+ *
83
+ * Provenance, the same rule the Spring extractor holds to: a class annotated
84
+ * `@Entity`/`@Document` in a file importing no persistence package is not an
85
+ * entity of that framework. Both annotation names are common enough that
86
+ * other libraries define lookalikes.
87
+ */
88
+ function importsPersistenceFramework(unit) {
89
+ const packages = [...JPA_PACKAGES, ...MONGO_PACKAGES];
90
+ for (const fqn of unit.singleTypeImports.values()) {
91
+ if (packages.some((pkg) => fqn.startsWith(`${pkg}.`)))
92
+ return true;
93
+ }
94
+ return unit.wildcardImports.some((pkg) => packages.includes(pkg));
95
+ }
96
+ const named = (annotations, name) => annotations.find((each) => each.name === name);
97
+ /**
98
+ * `nullable = false` written as a boolean, read from the raw argument text.
99
+ *
100
+ * A boolean is not a string literal, so it does not reach `values` or `named` —
101
+ * the same treatment `method = RequestMethod.GET` gets in the Spring extractor,
102
+ * and for the same reason: the parse does not special-case a framework's
103
+ * vocabulary, so anything that is not a literal is read by the extractor that
104
+ * understands it.
105
+ *
106
+ * Returns `undefined` when `nullable` is absent, and **`null` when it is present
107
+ * in a form this cannot evaluate** — `nullable = FLAG`, a constant reference.
108
+ * That third state is the point: a stated answer this reader failed to read must
109
+ * not fall through to the framework default, which would report the opposite of
110
+ * the source as a fact.
111
+ */
112
+ function declaredNullable(column) {
113
+ for (const raw of column.rawArguments) {
114
+ const match = /^\s*nullable\s*=\s*(.+?)\s*$/s.exec(raw);
115
+ if (match === null)
116
+ continue;
117
+ const value = match[1];
118
+ if (value === "false")
119
+ return false;
120
+ if (value === "true")
121
+ return true;
122
+ return null;
123
+ }
124
+ return undefined;
125
+ }
126
+ /**
127
+ * The table or collection a class maps to, or `null` when only a naming
128
+ * strategy would say.
129
+ *
130
+ * `@Document`'s attribute is named `collection`, not `name` — its own
131
+ * counterpart to `@Table(name = ...)` — so both keys are read here rather
132
+ * than adding a second, near-identical function for Mongo.
133
+ */
134
+ function tableOf(type) {
135
+ const table = named(type.annotations, "Table") ?? named(type.annotations, "Document");
136
+ if (table === undefined)
137
+ return null;
138
+ // `@Table(name = "orders")`/`@Document(collection = "orders")` and
139
+ // `@Table("orders")`/`@Document("orders")` — both through the literal
140
+ // lists, so an array-valued form cannot silently read as absent.
141
+ const fromNamed = table.named.get("name") ?? table.named.get("collection");
142
+ if (fromNamed !== undefined && fromNamed.length > 0)
143
+ return fromNamed[0];
144
+ if (table.values.length > 0)
145
+ return table.values[0];
146
+ // A `@Table`/`@Document` naming no table/collection means the strategy
147
+ // decides, and the strategy is a configuration fact rather than a language
148
+ // one. DEC-127 §2: unresolved rather than guessed, because Hibernate's
149
+ // default and Spring Data MongoDB's differ from each other in turn.
150
+ return null;
151
+ }
152
+ /**
153
+ * Is this class a JPA entity or a Spring Data MongoDB document, and not one
154
+ * of the shapes DEC-127 §2 refuses?
155
+ *
156
+ * `@Document` is admitted the same way `@Entity` is — one annotation, no
157
+ * structural rule — for the identical reason DEC-127 gives for JPA: nothing
158
+ * else tells a document class from a plain DTO with the same fields.
159
+ */
160
+ function isEntity(type) {
161
+ const names = new Set(type.annotations.map((each) => each.name));
162
+ if (!names.has("Entity") && !names.has("Document"))
163
+ return false;
164
+ // A table of its own is what makes a MODEL. Neither of these has one.
165
+ if (names.has("Embeddable") || names.has("MappedSuperclass"))
166
+ return false;
167
+ return true;
168
+ }
169
+ /**
170
+ * The field declarations an entity inherits, nearest ancestor last.
171
+ *
172
+ * ## DEC-127 §4, and what leaving it unimplemented actually cost
173
+ *
174
+ * A field on a `@MappedSuperclass` is a column on **every subclass table**. The
175
+ * superclass itself is correctly refused as a MODEL — it has no table — so
176
+ * without this walk its columns exist nowhere.
177
+ *
178
+ * The first disclosure of this gap said `spring-petclinic`'s 4 models were each
179
+ * missing the `id` they inherit from `BaseEntity`. **That understated it, and the
180
+ * census is what showed the true number.** petclinic declares **6** `@Entity`
181
+ * classes and the extractor emitted 4. `PetType` and `Specialty` declare *no
182
+ * fields of their own at all* — every column they have is inherited — so the
183
+ * no-fields guard below dropped them outright. The gap was not thin models, it
184
+ * was **a third of the entity population missing**, and the disclosure I wrote
185
+ * described the smaller half of it.
186
+ *
187
+ * ## Only `@MappedSuperclass` contributes, and an `@Entity` parent stops the walk
188
+ *
189
+ * An entity extending another *entity* is a JPA inheritance strategy —
190
+ * single-table, joined, or table-per-class — and which one it is decides whether
191
+ * the parent's fields are columns on this table, on a joined table, or on
192
+ * neither. That is a different question with a different answer per strategy, and
193
+ * DEC-127 §2's rule holds: a shape whose mapping this cannot read is refused
194
+ * rather than guessed. The walk stops there and the subclass keeps only what it
195
+ * and its mapped superclasses declare.
196
+ */
197
+ function inheritedFields(type, unit, resolve) {
198
+ const chain = [];
199
+ const seen = new Set([`${unit.identityPackage}::${type.fqn}`]);
200
+ let current = { type, unit };
201
+ // Java has single class inheritance, so this is a chain and not a search.
202
+ for (;;) {
203
+ const written = current.type.extendsNames[0];
204
+ if (written === undefined)
205
+ break;
206
+ const parent = resolve(current.unit, written);
207
+ if (parent === undefined)
208
+ break;
209
+ const key = `${parent.unit.identityPackage}::${parent.type.fqn}`;
210
+ if (seen.has(key))
211
+ break;
212
+ seen.add(key);
213
+ const names = new Set(parent.type.annotations.map((each) => each.name));
214
+ // An entity/document parent is an inheritance strategy this cannot read. Stop.
215
+ if (names.has("Entity") || names.has("Document"))
216
+ break;
217
+ // A plain superclass carrying no JPA mapping contributes no columns, but it
218
+ // may itself extend one that does — `Vet extends Person extends BaseEntity`.
219
+ if (names.has("MappedSuperclass")) {
220
+ // Deepest ancestor first, which is the order the table is built in: the
221
+ // base's `id` leads, then each layer down to the immediate parent. The
222
+ // entity's own fields still precede all of them. Deterministic, which is
223
+ // what a node's `attrs` has to be across runs.
224
+ chain.unshift(...parent.type.fieldDeclarations.map((field) => ({ field, unit: parent.unit })));
225
+ }
226
+ current = parent;
227
+ }
228
+ return chain;
229
+ }
230
+ /**
231
+ * Every JPA entity this compilation unit declares.
232
+ *
233
+ * `resolve` reaches declarations in *other* units, so this is called once per
234
+ * unit but reads across the whole batch. See {@link inheritedFields}.
235
+ */
236
+ export function jpaModels(unit, resolve) {
237
+ if (!importsPersistenceFramework(unit))
238
+ return [];
239
+ const models = [];
240
+ for (const type of unit.types) {
241
+ if (!isEntity(type))
242
+ continue;
243
+ const fields = [];
244
+ const undecided = [];
245
+ const declaredHere = type.fieldDeclarations.map((field) => ({ field, unit }));
246
+ // A subclass may redeclare an inherited field, and its own declaration wins.
247
+ // `@AttributeOverride` can also rename the *column* without redeclaring the
248
+ // field; that is not read here, and it changes the column's name rather than
249
+ // its existence.
250
+ const own = new Set(type.fieldDeclarations.map((each) => each.name));
251
+ const inherited = inheritedFields(type, unit, resolve).filter((each) => !own.has(each.field.name));
252
+ for (const { field } of [...declaredHere, ...inherited]) {
253
+ const names = new Set(field.annotations.map((each) => each.name));
254
+ // A field the framework does not persist is not a column.
255
+ //
256
+ // `@Transient` is the annotation form and was the only one read. The
257
+ // *modifier* form is far more common and was emitted as columns
258
+ // throughout: JPA persists no `static` and no `transient` field, and
259
+ // `private static final long serialVersionUID = 1L;` is on nearly every
260
+ // entity written against a real Java codebase. 20 of a 200-column draw on
261
+ // `shopizer` were this — the entire remaining defect after the reader's
262
+ // own faults were removed, and each one a plausible-looking column name
263
+ // that no census or refusal count was shaped to notice.
264
+ if (names.has("Transient"))
265
+ continue;
266
+ if (field.modifiers.includes("static") || field.modifiers.includes("transient"))
267
+ continue;
268
+ const column = named(field.annotations, "Column");
269
+ const declared = column === undefined ? undefined : declaredNullable(column);
270
+ if (declared === null) {
271
+ // Stated, and unreadable. Listed rather than guessed AND rather than
272
+ // dropped: letting the framework default stand in for a stated answer
273
+ // would report the opposite of the source as fact.
274
+ undecided.push(field.name);
275
+ continue;
276
+ }
277
+ let nullable;
278
+ let nullableFrom;
279
+ if (declared !== undefined) {
280
+ nullable = declared;
281
+ nullableFrom = "declared";
282
+ }
283
+ else if (names.has("Id") || names.has("NotNull")) {
284
+ nullable = false;
285
+ nullableFrom = "annotation";
286
+ }
287
+ else if (field.primitive) {
288
+ nullable = false;
289
+ nullableFrom = "primitive-type";
290
+ }
291
+ else {
292
+ nullable = true;
293
+ nullableFrom = "framework-default";
294
+ }
295
+ fields.push({ name: field.name, nullable, nullableFrom });
296
+ }
297
+ // A MODEL with no fields is a claim about a table that does not exist —
298
+ // adapter-python's guard, and it holds here for the same reason.
299
+ if (fields.length === 0 && undecided.length === 0)
300
+ continue;
301
+ models.push({
302
+ className: type.simpleName,
303
+ fqn: type.fqn,
304
+ table: tableOf(type),
305
+ fields,
306
+ line: type.startLine,
307
+ undecided,
308
+ });
309
+ }
310
+ return models;
311
+ }
312
+ //# sourceMappingURL=jpa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jpa.js","sourceRoot":"","sources":["../src/jpa.ts"],"names":[],"mappings":"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"}