@descryy/adapter-csharp 0.2.0 → 0.3.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.
- package/LICENSE +8 -0
- package/dist/adapter.d.ts +3 -8
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +57 -65
- package/dist/adapter.js.map +1 -1
- package/dist/aspnetcore.d.ts +53 -95
- package/dist/aspnetcore.d.ts.map +1 -1
- package/dist/aspnetcore.js +56 -101
- package/dist/aspnetcore.js.map +1 -1
- package/dist/client-base.d.ts +51 -88
- package/dist/client-base.d.ts.map +1 -1
- package/dist/client-base.js +46 -79
- package/dist/client-base.js.map +1 -1
- package/dist/client.d.ts +42 -106
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +83 -172
- package/dist/client.js.map +1 -1
- package/dist/efcore.d.ts +59 -113
- package/dist/efcore.d.ts.map +1 -1
- package/dist/efcore.js +119 -204
- package/dist/efcore.js.map +1 -1
- package/dist/extract.d.ts +27 -50
- package/dist/extract.d.ts.map +1 -1
- package/dist/extract.js +154 -248
- package/dist/extract.js.map +1 -1
- package/dist/nullability.d.ts +46 -78
- package/dist/nullability.d.ts.map +1 -1
- package/dist/nullability.js +47 -80
- package/dist/nullability.js.map +1 -1
- package/dist/parse.d.ts +62 -102
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +60 -101
- package/dist/parse.js.map +1 -1
- package/dist/projects.d.ts +24 -40
- package/dist/projects.d.ts.map +1 -1
- package/dist/projects.js +38 -65
- package/dist/projects.js.map +1 -1
- package/package.json +15 -6
package/dist/efcore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"efcore.d.ts","sourceRoot":"","sources":["../src/efcore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"efcore.d.ts","sourceRoot":"","sources":["../src/efcore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/E,8EAA8E;AAC9E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,YAAY,EACjB,QAAQ,GACR,YAAY,GACZ,YAAY,GACZ,qBAAqB,GACrB,gBAAgB,GAChB,YAAY,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,CAAC;IACrF,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,2FAA2F;AAC3F,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACvF;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACrE;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CACvE;AA4BD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGrG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKjE;AA6LD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChF,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,CAAC;CACvD;AAuCD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAyOjD"}
|
package/dist/efcore.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The ORM framework extractor for C# — Entity Framework Core.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* DEC-
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* way — written from how EF Core is documented rather than from how the corpus
|
|
9
|
-
* is spelled. That is how a rule acquires zero witnesses.
|
|
4
|
+
* A `MODEL` is a framework claim, earned here. DEC-128 set the rules before
|
|
5
|
+
* extraction; DEC-180 amended four of them after counting the corpus — all
|
|
6
|
+
* four were written from EF Core's docs rather than from how the corpus is
|
|
7
|
+
* actually spelled, hence zero witnesses.
|
|
10
8
|
*
|
|
11
|
-
*
|
|
9
|
+
* Admission evidence:
|
|
12
10
|
*
|
|
13
11
|
* | evidence | jellyfin | Ocelot | eShopOnWeb | CleanArchitecture |
|
|
14
12
|
* | --- | --- | --- | --- | --- |
|
|
@@ -17,58 +15,38 @@
|
|
|
17
15
|
* | `modelBuilder.Entity<` | **0** | **0** | **0** | **0** |
|
|
18
16
|
* | `[Table(` | **0** | **0** | **0** | **0** |
|
|
19
17
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* in
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* `// <auto-generated />` header, and 50 of `eShopOnWeb`'s 51. Those files are
|
|
41
|
-
* EF Core's serialised model from whenever someone last scaffolded a migration —
|
|
42
|
-
* an artefact of an operation, read as evidence about the world.
|
|
43
|
-
*
|
|
44
|
-
* An extractor reading them without excluding them is, to three significant
|
|
45
|
-
* figures, reading **only** generated code. So they are excluded — and the count
|
|
46
|
-
* is **reported**, because a silent exclusion of 1,338 of 1,339 is a correct
|
|
47
|
-
* decision that looks identical to a reader that never found them.
|
|
48
|
-
*
|
|
49
|
-
* ## No corpus can exercise the provenance rule
|
|
50
|
-
*
|
|
51
|
-
* `Dapper`, `NHibernate` and `linq2db` occur **zero** times across all four
|
|
52
|
-
* corpora. There is no C# repository here in which a rival ORM's types are
|
|
53
|
-
* present for these rules to correctly refuse — the identical hole the Java
|
|
54
|
-
* control set has. Stated before extraction rather than discovered after a green
|
|
55
|
-
* run, and every report carries the EF negative control as `0 of 0 — undefined`.
|
|
18
|
+
* Admission grounds:
|
|
19
|
+
* 1. `DbSet<T>` on a `DbContext` — primary, witnessed in 3 of 4 corpora.
|
|
20
|
+
* 2. `IEntityTypeConfiguration<T>` — replaces DEC-128's `modelBuilder.Entity<T>()`,
|
|
21
|
+
* the same fact in a form the corpus doesn't contain.
|
|
22
|
+
* 3. `[Table]` and `modelBuilder.Entity<T>()` are still read where they
|
|
23
|
+
* appear but reported unwitnessed (`0 of 0`) — a rule with zero witnesses
|
|
24
|
+
* can't be shown to work or fail.
|
|
25
|
+
*
|
|
26
|
+
* Refused: a type in a `Models`/`Entities` namespace with no mapping evidence
|
|
27
|
+
* (the `IFoo` guess this project forbids), and an owned type via `OwnsOne`
|
|
28
|
+
* (shares its owner's table, has none of its own).
|
|
29
|
+
*
|
|
30
|
+
* Generated migrations are excluded and the exclusion counted: 1,338 of
|
|
31
|
+
* jellyfin's 1,339 `ToTable` calls, and 50 of eShopOnWeb's 51, are inside
|
|
32
|
+
* `Migrations/` under `<auto-generated />` — reading them unexcluded is
|
|
33
|
+
* reading almost only generated code.
|
|
34
|
+
*
|
|
35
|
+
* No corpus exercises the provenance rule: `Dapper`, `NHibernate`, `linq2db`
|
|
36
|
+
* occur zero times across all four corpora (same hole as the Java control
|
|
37
|
+
* set) — every report carries the EF negative control as `0 of 0 — undefined`.
|
|
56
38
|
*/
|
|
57
39
|
import { referenceTypeNullable } from "./nullability.js";
|
|
58
40
|
const EF_NAMESPACES = ["Microsoft.EntityFrameworkCore"];
|
|
59
41
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* `
|
|
68
|
-
*
|
|
69
|
-
* A user-declared `struct` or `enum` is also a value type — `CleanArchitecture`'s
|
|
70
|
-
* `PriorityLevel` is the witnessed case — and is resolved from the repository's
|
|
71
|
-
* own declarations rather than guessed from its name.
|
|
42
|
+
* Built-in value types, never null without a `?`. Counted from the corpora,
|
|
43
|
+
* not copied from the language reference (DEC-128's ORM half is what happens
|
|
44
|
+
* without that). Declared property types across jellyfin/eShopOnWeb/CleanArchitecture:
|
|
45
|
+
* `string` 786, `bool` 539, `string?` 508, `int?` 332, `int` 218, `bool?` 156,
|
|
46
|
+
* `Guid` 111, `DateTime?` 69, `DateTime` 68, `long` 59, `Guid?` 51, `decimal`, `DateTimeOffset`.
|
|
47
|
+
*
|
|
48
|
+
* A user-declared `struct`/`enum` is also a value type (`CleanArchitecture`'s
|
|
49
|
+
* `PriorityLevel`), resolved from the repo's own declarations, not by name.
|
|
72
50
|
*/
|
|
73
51
|
const VALUE_TYPES = new Set([
|
|
74
52
|
"int", "uint", "long", "ulong", "short", "ushort", "byte", "sbyte",
|
|
@@ -79,23 +57,13 @@ const VALUE_TYPES = new Set([
|
|
|
79
57
|
const importsIn = (file, namespaces, onlyGlobal = false) => file.usings.some((using) => (!onlyGlobal || using.isGlobal) &&
|
|
80
58
|
namespaces.some((ns) => using.target === ns || using.target.startsWith(`${ns}.`)));
|
|
81
59
|
/**
|
|
82
|
-
* Does this file import EF Core at all?
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* nine, silently.
|
|
90
|
-
*
|
|
91
|
-
* `parse.ts` already says a `global using` is *"in force for every file in the
|
|
92
|
-
* project, not just this one"* and models the flag. This is the first consumer
|
|
93
|
-
* to act on it. Modern C# leans on it heavily — .NET 6 onward emits an implicit
|
|
94
|
-
* global-usings file per project — so a reader that ignores it fails on new
|
|
95
|
-
* codebases specifically.
|
|
96
|
-
*
|
|
97
|
-
* Scoped by **assembly**, because that is what a project is. A global using in
|
|
98
|
-
* one project does not reach another.
|
|
60
|
+
* Does this file import EF Core at all? A `global using` counts, in force
|
|
61
|
+
* across the whole assembly — not an edge case: `eShop`'s `OrderingContext`
|
|
62
|
+
* declares nine `DbSet<T>` with `Microsoft.EntityFrameworkCore` arriving via
|
|
63
|
+
* `GlobalUsings.cs` three files away; file-local-only usings read zero models
|
|
64
|
+
* from a corpus with nine. Modern C# (.NET 6+ implicit global usings) leans
|
|
65
|
+
* on this heavily. Scoped by assembly — a global using in one project doesn't
|
|
66
|
+
* reach another.
|
|
99
67
|
*/
|
|
100
68
|
export function importsEfCore(file, globalsByAssembly) {
|
|
101
69
|
if (importsIn(file, EF_NAMESPACES))
|
|
@@ -103,18 +71,16 @@ export function importsEfCore(file, globalsByAssembly) {
|
|
|
103
71
|
return globalsByAssembly?.get(file.assembly) === true;
|
|
104
72
|
}
|
|
105
73
|
/**
|
|
106
|
-
* Is this file generated?
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
* `Migrations/` path catches the migration classes beside the snapshot, which
|
|
111
|
-
* carry no header of their own in every version.
|
|
74
|
+
* Is this file generated? Two signals needed: `// <auto-generated />` (the
|
|
75
|
+
* language convention, EF Core's scaffolder emits it) and the `Migrations/`
|
|
76
|
+
* path (catches migration classes beside the snapshot, which lack the header
|
|
77
|
+
* in every version).
|
|
112
78
|
*/
|
|
113
79
|
export function isGenerated(path, source) {
|
|
114
80
|
if (/(^|\/)Migrations\//.test(path))
|
|
115
81
|
return true;
|
|
116
|
-
//
|
|
117
|
-
//
|
|
82
|
+
// Opening of the file only — a mention deeper in is a comment about
|
|
83
|
+
// generated code, not a claim to be one.
|
|
118
84
|
return /<auto-generated/i.test(source.slice(0, 400));
|
|
119
85
|
}
|
|
120
86
|
/** `Foo<Bar>` -> `Bar`, for the single-argument generic forms read here. */
|
|
@@ -123,12 +89,10 @@ function typeArgument(written, generic) {
|
|
|
123
89
|
return match?.[1]?.split(".").pop();
|
|
124
90
|
}
|
|
125
91
|
/**
|
|
126
|
-
* Every type named inside a written type,
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
* Reading the outer name alone published `OrderItems` and `Items` as columns —
|
|
131
|
-
* a column per collection navigation, on a table that has no such column.
|
|
92
|
+
* Every type named inside a written type, outer and arguments both.
|
|
93
|
+
* `IReadOnlyCollection<OrderItem>` names both, and only `OrderItem` decides
|
|
94
|
+
* whether the property is a navigation — outer-name-only published collection
|
|
95
|
+
* navigations as columns on tables with no such column.
|
|
132
96
|
*/
|
|
133
97
|
function namesIn(written) {
|
|
134
98
|
return (written.match(/[A-Za-z_][A-Za-z0-9_.]*/g) ?? []).map((each) => each.split(".").pop());
|
|
@@ -138,13 +102,10 @@ function baseOf(written) {
|
|
|
138
102
|
return written.replace(/\?+\s*$/, "").replace(/<.*$/, "").replace(/\[\]\s*$/, "").split(".").pop() ?? "";
|
|
139
103
|
}
|
|
140
104
|
/**
|
|
141
|
-
* Is a written type
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* hand the question to the NRT context, which answers confidently. The lane's
|
|
146
|
-
* standing rule — a stated answer read as its opposite is worse than an unread
|
|
147
|
-
* one — applies to the type just as it does to the annotation.
|
|
105
|
+
* Is a written type value, reference, or not decidable here? `undefined` is
|
|
106
|
+
* the one that matters: an unread `struct` guessed as reference would hand
|
|
107
|
+
* the question to the NRT context, which answers confidently and wrongly —
|
|
108
|
+
* a stated answer read as its opposite is worse than an unread one.
|
|
148
109
|
*/
|
|
149
110
|
function isValueType(written, declaredForms) {
|
|
150
111
|
const base = baseOf(written);
|
|
@@ -169,19 +130,15 @@ const EMPTY_FACTS = {
|
|
|
169
130
|
keys: new Set(),
|
|
170
131
|
};
|
|
171
132
|
/**
|
|
172
|
-
* Read `builder.Property(x => x.Name).IsRequired()` and friends from source
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
* `.IsRequired(false)` is read as *optional*, not skipped — it is the one form
|
|
182
|
-
* where the same call means the opposite thing, and dropping it would let the
|
|
183
|
-
* `[Required]` rule below answer for a member the Fluent API has explicitly made
|
|
184
|
-
* optional.
|
|
133
|
+
* Read `builder.Property(x => x.Name).IsRequired()` and friends from source
|
|
134
|
+
* text. Deliberately textual and narrow — a syntax walk would need to model
|
|
135
|
+
* the whole chained builder, and a partial walk silently dropping a link is a
|
|
136
|
+
* recall hole already paid for once. A regex answers DEC-128 §3's four
|
|
137
|
+
* questions and refuses everything else.
|
|
138
|
+
*
|
|
139
|
+
* `.IsRequired(false)` reads as optional, not skipped — the one form where
|
|
140
|
+
* the same call means the opposite; dropping it would let `[Required]` below
|
|
141
|
+
* answer for a member Fluent has explicitly made optional.
|
|
185
142
|
*/
|
|
186
143
|
function fluentFacts(source) {
|
|
187
144
|
const required = new Set();
|
|
@@ -209,34 +166,24 @@ function fluentFacts(source) {
|
|
|
209
166
|
/**
|
|
210
167
|
* The properties an entity inherits from non-entity ancestors.
|
|
211
168
|
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
* ## An entity ancestor stops the walk
|
|
225
|
-
*
|
|
226
|
-
* A base that is itself an admitted entity is an EF inheritance strategy —
|
|
227
|
-
* table-per-hierarchy, table-per-type, table-per-concrete — and which one applies
|
|
228
|
-
* decides whether the parent's properties are columns on this table, on a joined
|
|
229
|
-
* table, or on neither. That is a `HasDiscriminator`/`UseTptMappingStrategy` fact
|
|
230
|
-
* this does not read, so the walk stops rather than guessing. The identical rule
|
|
231
|
-
* `jpa.ts` applies to an `@Entity` parent, for the identical reason.
|
|
169
|
+
* Same construct class as JPA's `@MappedSuperclass` (cost a third of an
|
|
170
|
+
* entity population) and ASP.NET's base controller (cost 98% of a corpus):
|
|
171
|
+
* evidence on an ancestor, subject the descendant. `eShopOnWeb` declares
|
|
172
|
+
* every entity as `class BasketItem : BaseEntity` where `BaseEntity` alone
|
|
173
|
+
* declares `Id` — so every model was missing its primary key column without this.
|
|
174
|
+
*
|
|
175
|
+
* An entity ancestor stops the walk: which EF inheritance strategy applies
|
|
176
|
+
* (table-per-hierarchy/type/concrete) decides whether the parent's properties
|
|
177
|
+
* land on this table, a joined table, or neither — a `HasDiscriminator`/
|
|
178
|
+
* `UseTptMappingStrategy` fact not read here, so the walk stops rather than
|
|
179
|
+
* guesses. Same rule `jpa.ts` applies to an `@Entity` parent.
|
|
232
180
|
*/
|
|
233
181
|
function inheritedProperties(type, file, byName, isEntity) {
|
|
234
182
|
const chain = [];
|
|
235
183
|
const seen = new Set([`${file.file}::${type.path.join(".")}`]);
|
|
236
184
|
let current = { type, file };
|
|
237
|
-
//
|
|
238
|
-
//
|
|
239
|
-
// `IFoo` convention is never read.
|
|
185
|
+
// Single class inheritance, so this is a chain, not a search — base class
|
|
186
|
+
// is the FIRST entry by DEC-084, `IFoo` is never read.
|
|
240
187
|
for (;;) {
|
|
241
188
|
const base = current.type.baseList[0];
|
|
242
189
|
if (base === undefined)
|
|
@@ -254,9 +201,8 @@ function inheritedProperties(type, file, byName, isEntity) {
|
|
|
254
201
|
seen.add(key);
|
|
255
202
|
if (isEntity(parent.type.name))
|
|
256
203
|
break;
|
|
257
|
-
// Nearest ancestor last, so the deepest base's `Id` sits at the far end
|
|
258
|
-
//
|
|
259
|
-
// is what a node's `attrs` has to be across runs.
|
|
204
|
+
// Nearest ancestor last, so the deepest base's `Id` sits at the far end —
|
|
205
|
+
// deterministic across runs, which `attrs` must be.
|
|
260
206
|
chain.unshift(...parent.type.properties);
|
|
261
207
|
current = parent;
|
|
262
208
|
}
|
|
@@ -274,13 +220,10 @@ function isPersistent(property, facts) {
|
|
|
274
220
|
return !facts.ignored.has(property.name);
|
|
275
221
|
}
|
|
276
222
|
/**
|
|
277
|
-
* Nullability, in DEC-128 §3's precedence order.
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
* under `off`, `absent` or `unreadable` it is `unresolved` and counted, because
|
|
282
|
-
* unknown is not false and publishing `false` there is a definite claim against
|
|
283
|
-
* a source that has said the compiler is not tracking.
|
|
223
|
+
* Nullability, in DEC-128 §3's precedence order. Rule 5, rewritten by
|
|
224
|
+
* DEC-180, decides most of a real corpus: a bare reference type answers only
|
|
225
|
+
* under an enabled NRT context; under `off`/`absent`/`unreadable` it's
|
|
226
|
+
* `unresolved` and counted — unknown is not false.
|
|
284
227
|
*/
|
|
285
228
|
function nullabilityOf(property, facts, context, declaredForms) {
|
|
286
229
|
if (facts.required.has(property.name))
|
|
@@ -296,9 +239,9 @@ function nullabilityOf(property, facts, context, declaredForms) {
|
|
|
296
239
|
const value = isValueType(written, declaredForms);
|
|
297
240
|
const optionalMark = written.endsWith("?");
|
|
298
241
|
if (value === true) {
|
|
299
|
-
// `int?` is `Nullable<int
|
|
300
|
-
//
|
|
301
|
-
//
|
|
242
|
+
// `int?` is `Nullable<int>`, nullable regardless of NRT context — a type,
|
|
243
|
+
// not an annotation. A reader routing every `?` through NRT gets this
|
|
244
|
+
// wrong when NRT is disabled.
|
|
302
245
|
return optionalMark
|
|
303
246
|
? { nullable: true, from: "nullable-value-type" }
|
|
304
247
|
: { nullable: false, from: "value-type" };
|
|
@@ -315,38 +258,22 @@ function nullabilityOf(property, facts, context, declaredForms) {
|
|
|
315
258
|
}
|
|
316
259
|
/**
|
|
317
260
|
* Every EF Core model the batch declares, with the exclusions counted.
|
|
318
|
-
*
|
|
319
|
-
*
|
|
320
|
-
* declared somewhere else. Same shape as JPA's mapped-superclass walk.
|
|
261
|
+
* Cross-file by necessity: a `DbSet<Order>` names `Order`, declared
|
|
262
|
+
* elsewhere. Same shape as JPA's mapped-superclass walk.
|
|
321
263
|
*/
|
|
322
264
|
/**
|
|
323
|
-
* Which of several same-named declarations a bare name can mean, from one
|
|
324
|
-
*
|
|
325
|
-
*
|
|
326
|
-
*
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
330
|
-
*
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
* which the `DbContext` does not import; `jellyfin`'s four are an entity beside a
|
|
336
|
-
* transfer object in a namespace the context does not import either.
|
|
337
|
-
*
|
|
338
|
-
* **A rule stated in a comment and not implemented in code** — found by Lane E
|
|
339
|
-
* in a review of my classification, having just found three of the same in their
|
|
340
|
-
* own instrument. The countermeasure I wrote for theirs did not catch mine,
|
|
341
|
-
* which is the argument for a second reader rather than a better checklist.
|
|
342
|
-
*
|
|
343
|
-
* Visible namespaces are the file's own and each ancestor of it, plus every
|
|
344
|
-
* plain `using`, plus the assembly's `global using`s. A nested namespace is
|
|
345
|
-
* **not** visible from its parent by a bare name, which is why the enclosing
|
|
346
|
-
* walk alone does not admit `…Entities.Chapter` from `…Implementations`.
|
|
347
|
-
*
|
|
348
|
-
* Returns every reachable candidate. One is resolved; zero or several is an
|
|
349
|
-
* ambiguity, and the caller refuses exactly as before.
|
|
265
|
+
* Which of several same-named declarations a bare name can mean, from one
|
|
266
|
+
* file. C# doesn't resolve on the simple name; `parse.ts`'s documented rule
|
|
267
|
+
* (ambiguity is disclosed, not tie-broken) wasn't implemented here — this
|
|
268
|
+
* refused on any repo-wide simple-name collision instead, strictly more
|
|
269
|
+
* conservative and not the same rule. Cost eight resolvable entities across
|
|
270
|
+
* two corpora (an entity beside a same-named Blazor DTO / transfer object in
|
|
271
|
+
* a namespace the `DbContext` doesn't import).
|
|
272
|
+
*
|
|
273
|
+
* Visible namespaces: the file's own and each ancestor, every plain `using`,
|
|
274
|
+
* the assembly's `global using`s. A nested namespace is not visible from its
|
|
275
|
+
* parent by bare name. Returns every reachable candidate — one resolves,
|
|
276
|
+
* zero or several is an ambiguity the caller refuses as before.
|
|
350
277
|
*/
|
|
351
278
|
function reachableFrom(candidates, from, globalUsings) {
|
|
352
279
|
if (from === undefined)
|
|
@@ -480,12 +407,10 @@ export function efModels(input) {
|
|
|
480
407
|
owned.add(match[1].split(".").pop());
|
|
481
408
|
}
|
|
482
409
|
}
|
|
483
|
-
// Precedence
|
|
484
|
-
//
|
|
485
|
-
//
|
|
486
|
-
//
|
|
487
|
-
// configuration and `jellyfin` by DbSet for no reason in the source — a
|
|
488
|
-
// difference between two corpora produced entirely by the reader.
|
|
410
|
+
// Precedence settled here, after all evidence is in, not by file read order.
|
|
411
|
+
// The first version let file order decide, so `eShopOnWeb` reported models
|
|
412
|
+
// admitted by configuration and `jellyfin` by DbSet for no reason in the
|
|
413
|
+
// source — a difference produced entirely by the reader.
|
|
489
414
|
const PRECEDENCE = ["dbset", "configuration", "table-attribute", "model-builder"];
|
|
490
415
|
for (const name of admitted.keys()) {
|
|
491
416
|
for (const rule of PRECEDENCE) {
|
|
@@ -509,9 +434,8 @@ export function efModels(input) {
|
|
|
509
434
|
continue; // Named, not analysed.
|
|
510
435
|
const candidates = all.length === 1 ? all : reachableFrom(all, admittedIn.get(name), globalUsingsByAssembly);
|
|
511
436
|
if (candidates.length !== 1) {
|
|
512
|
-
// Ambiguous
|
|
513
|
-
//
|
|
514
|
-
// another type's columns under this entity's name.
|
|
437
|
+
// Ambiguous after resolution, or reachable from nowhere — either way,
|
|
438
|
+
// picking one would publish another type's columns under this name.
|
|
515
439
|
ambiguousEntityNames.push(name);
|
|
516
440
|
if (all.length > 1)
|
|
517
441
|
resolvedByNamespace.unresolved += 1;
|
|
@@ -530,31 +454,22 @@ export function efModels(input) {
|
|
|
530
454
|
for (const property of [...found.type.properties, ...inherited]) {
|
|
531
455
|
if (!isPersistent(property, facts))
|
|
532
456
|
continue;
|
|
533
|
-
// A navigation is a relationship, not a scalar column
|
|
534
|
-
// precision
|
|
535
|
-
// published a column
|
|
536
|
-
//
|
|
537
|
-
//
|
|
538
|
-
//
|
|
539
|
-
//
|
|
540
|
-
//
|
|
541
|
-
//
|
|
542
|
-
//
|
|
543
|
-
// string, an enum, a struct or a byte array. Anything whose declared type
|
|
544
|
-
// resolves to a class, record or interface DECLARED IN THIS REPOSITORY is
|
|
545
|
-
// a navigation or an owned type, and is not one column.
|
|
457
|
+
// A navigation is a relationship, not a scalar column: refusing it is
|
|
458
|
+
// precision, not caution — `IReadOnlyCollection<OrderItem> Items`
|
|
459
|
+
// otherwise published a column `Items` on a table with no such column.
|
|
460
|
+
// Both a reference and a collection-of count, so every name inside the
|
|
461
|
+
// written type is checked, not just the outer. Owned types are refused
|
|
462
|
+
// by a different mechanism, same reason (EF spreads them across several
|
|
463
|
+
// columns this reader can't name — see `navigationsRefused`). A scalar
|
|
464
|
+
// column's type is a primitive, string, enum, struct or byte array;
|
|
465
|
+
// anything resolving to a repo-declared class/record/interface is a
|
|
466
|
+
// navigation or owned type.
|
|
546
467
|
const referenced = namesIn(property.written);
|
|
547
468
|
const isNavigation = referenced.some((each) => {
|
|
548
|
-
//
|
|
549
|
-
//
|
|
550
|
-
//
|
|
551
|
-
//
|
|
552
|
-
// describes, exempted by the one case the rule did not think of.
|
|
553
|
-
//
|
|
554
|
-
// The guard was there so a property whose type is the entity itself did
|
|
555
|
-
// not refuse the entity; but that is the navigation case, not an
|
|
556
|
-
// exception to it. Kept only for the *name* the model is keyed by when
|
|
557
|
-
// the property type is not a reference at all.
|
|
469
|
+
// Self-reference is still a navigation: `BaseItemEntity` declares
|
|
470
|
+
// `ICollection<BaseItemEntity>? Extras`, and this guard once
|
|
471
|
+
// published it as a column named `Extras`. Kept only for the case
|
|
472
|
+
// where the property type isn't a reference at all.
|
|
558
473
|
if (each === name)
|
|
559
474
|
return property.written.includes("<") || property.written.replace(/[?\s]/g, "") === name;
|
|
560
475
|
if (admitted.has(each) || owned.has(each))
|
package/dist/efcore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"efcore.js","sourceRoot":"","sources":["../src/efcore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"efcore.js","sourceRoot":"","sources":["../src/efcore.ts"],"names":[],"mappings":"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"}
|