@no22/dison 1.2.0 → 1.3.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.
package/README.md CHANGED
@@ -161,6 +161,14 @@ override UserService {
161
161
  }
162
162
  ```
163
163
 
164
+ An override targeting a base class also applies to instances of its
165
+ subclasses (new in 1.3.0) — consistent with the fact that `injectable`
166
+ properties are inherited. The most specific registration wins: if both
167
+ `override Service` and `override SubService` set the same property, a
168
+ `SubService` instance uses the latter. Across scopes the usual priority
169
+ (local > class > global) is checked first, so a local override targeting
170
+ a base class beats a global override targeting the subclass.
171
+
164
172
  `override` can also be written standalone (not wrapped in a
165
173
  `configuration`), which desugars to an immediate assignment — useful
166
174
  inside a function to capture a lexical variable:
@@ -1 +1 @@
1
- {"version":3,"file":"generated-runtime.d.ts","sourceRoot":"","sources":["../src/generated-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAOrD,KAAK,cAAc,GAAG,MAAM,GAAG,CAAC;AAChC,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC7C,UAAU,YAAY;IACpB,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;CAClC;AACD,eAAO,MAAM,WAAW,6CAAoD,CAAC;AAE7E,wBAAgB,mBAAmB,IAAI,YAAY,GAAG,SAAS,CAAmC;AAwBlG,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,KAAK,IAAI,GAClJ,YAAY,CAWd;AAKD,eAAO,MAAM,WAAW,mDAA0D,CAAC;AAEnF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAI3F;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAUnF;AAID,eAAO,MAAM,aAAa,iCAAwC,CAAC;AAKnE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAEvE;AAoBD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAS9E;AASD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAY9H;AAMD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,KAAK,IAAI,GAClJ;IAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;CAAE,CAa9B"}
1
+ {"version":3,"file":"generated-runtime.d.ts","sourceRoot":"","sources":["../src/generated-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAOrD,KAAK,cAAc,GAAG,MAAM,GAAG,CAAC;AAChC,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC7C,UAAU,YAAY;IACpB,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;CAClC;AACD,eAAO,MAAM,WAAW,6CAAoD,CAAC;AAE7E,wBAAgB,mBAAmB,IAAI,YAAY,GAAG,SAAS,CAAmC;AAwBlG,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,KAAK,IAAI,GAClJ,YAAY,CAWd;AAKD,eAAO,MAAM,WAAW,mDAA0D,CAAC;AAEnF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAI3F;AA2BD,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAWnF;AAID,eAAO,MAAM,aAAa,iCAAwC,CAAC;AAKnE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAEvE;AAoBD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAS9E;AASD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAY9H;AAMD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,KAAK,IAAI,GAClJ;IAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;CAAE,CAa9B"}
@@ -49,21 +49,44 @@ export function registerOverride(cls, prop, factory) {
49
49
  }
50
50
  entry[prop] = factory;
51
51
  }
52
+ // Override target matching walks the prototype chain of the receiver's class
53
+ // (child -> parent, child-wins): an override targeting a base class applies to
54
+ // subclass instances too, consistent with how injectable properties and class-scope
55
+ // configurations are inherited (docs/override-inheritance.md). Same stop condition
56
+ // as __disonClassScopes.
57
+ function __disonClassChain(cls) {
58
+ const out = [];
59
+ for (let c = cls; c && c !== Function.prototype && c !== Object; c = Object.getPrototypeOf(c))
60
+ out.push(c);
61
+ return out;
62
+ }
63
+ // Match one override table against the class chain (child-wins).
64
+ function __disonChainLookup(map, chain, prop) {
65
+ for (const c of chain) {
66
+ const o = map.get(c);
67
+ if (o && Object.prototype.hasOwnProperty.call(o, prop))
68
+ return o[prop];
69
+ }
70
+ return undefined;
71
+ }
52
72
  // Look up an override in order: local frame chain (inner->outer) -> class scopes
53
- // (child->parent) -> global (priority: local > class > global).
73
+ // (child->parent) -> global (priority: local > class > global). Scope-major: each
74
+ // layer checks the whole class chain, so a nearer scope targeting a base class
75
+ // beats a farther scope targeting the subclass.
54
76
  export function getOverride(cls, prop) {
77
+ const chain = __disonClassChain(cls);
55
78
  for (let f = __dison_als.getStore(); f; f = f.parent) {
56
- const o = f.overrides.get(cls);
57
- if (o && Object.prototype.hasOwnProperty.call(o, prop))
58
- return o[prop];
79
+ const hit = __disonChainLookup(f.overrides, chain, prop);
80
+ if (hit)
81
+ return hit;
59
82
  }
60
83
  if (__dison_classScopeCtx)
61
84
  for (const f of __dison_classScopeCtx) {
62
- const o = f.overrides.get(cls);
63
- if (o && Object.prototype.hasOwnProperty.call(o, prop))
64
- return o[prop];
85
+ const hit = __disonChainLookup(f.overrides, chain, prop);
86
+ if (hit)
87
+ return hit;
65
88
  }
66
- return DI_REGISTRY.get(cls)?.[prop];
89
+ return __disonChainLookup(DI_REGISTRY, chain, prop);
67
90
  }
68
91
  // Global type-replacement registry (bind). Key: class value (concrete class),
69
92
  // companion/token Symbol, or type-name string. See docs/type-identity-matching.md.
@@ -1 +1 @@
1
- {"version":3,"file":"generated-runtime.js","sourceRoot":"","sources":["../src/generated-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generated-runtime.js","sourceRoot":"","sources":["../src/generated-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,qBAAqB,8DAA4D,CAAC;AAE/F,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,EAAE,GAAG,SAAS,GAAG,MAAM,CAqJjF;AAMD,eAAO,MAAM,2BAA2B,EAAE,MAMF,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,qBAAqB,8DAA4D,CAAC;AAE/F,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,EAAE,GAAG,SAAS,GAAG,MAAM,CA6KjF;AAMD,eAAO,MAAM,2BAA2B,EAAE,MAMF,CAAC"}
package/dist/runtime.js CHANGED
@@ -80,18 +80,42 @@ export function generateRuntimeDeclarations(exportKeyword) {
80
80
  ` if (!entry) { entry = {}; DI_REGISTRY.set(cls, entry); }\n` +
81
81
  ` entry[prop] = factory;\n` +
82
82
  `}\n\n` +
83
+ `// Override target matching walks the prototype chain of the receiver's class\n` +
84
+ `// (child -> parent, child-wins): an override targeting a base class applies to\n` +
85
+ `// subclass instances too, consistent with how injectable properties and class-scope\n` +
86
+ `// configurations are inherited (docs/override-inheritance.md). Same stop condition\n` +
87
+ `// as __disonClassScopes.\n` +
88
+ `function __disonClassChain(cls: Function): Function[] {\n` +
89
+ ` const out: Function[] = [];\n` +
90
+ ` for (let c: any = cls; c && c !== Function.prototype && c !== Object; c = Object.getPrototypeOf(c)) out.push(c);\n` +
91
+ ` return out;\n` +
92
+ `}\n` +
93
+ `// Match one override table against the class chain (child-wins).\n` +
94
+ `function __disonChainLookup(\n` +
95
+ ` map: { get(k: Function): Record<string, __DisonFactory> | undefined },\n` +
96
+ ` chain: Function[], prop: string\n` +
97
+ `): __DisonFactory | undefined {\n` +
98
+ ` for (const c of chain) {\n` +
99
+ ` const o = map.get(c);\n` +
100
+ ` if (o && Object.prototype.hasOwnProperty.call(o, prop)) return o[prop];\n` +
101
+ ` }\n` +
102
+ ` return undefined;\n` +
103
+ `}\n` +
83
104
  `// Look up an override in order: local frame chain (inner->outer) -> class scopes\n` +
84
- `// (child->parent) -> global (priority: local > class > global).\n` +
105
+ `// (child->parent) -> global (priority: local > class > global). Scope-major: each\n` +
106
+ `// layer checks the whole class chain, so a nearer scope targeting a base class\n` +
107
+ `// beats a farther scope targeting the subclass.\n` +
85
108
  `${E}function getOverride(cls: Function, prop: string): __DisonFactory | undefined {\n` +
109
+ ` const chain = __disonClassChain(cls);\n` +
86
110
  ` for (let f = __dison_als.getStore(); f; f = f.parent) {\n` +
87
- ` const o = f.overrides.get(cls);\n` +
88
- ` if (o && Object.prototype.hasOwnProperty.call(o, prop)) return o[prop];\n` +
111
+ ` const hit = __disonChainLookup(f.overrides, chain, prop);\n` +
112
+ ` if (hit) return hit;\n` +
89
113
  ` }\n` +
90
114
  ` if (__dison_classScopeCtx) for (const f of __dison_classScopeCtx) {\n` +
91
- ` const o = f.overrides.get(cls);\n` +
92
- ` if (o && Object.prototype.hasOwnProperty.call(o, prop)) return o[prop];\n` +
115
+ ` const hit = __disonChainLookup(f.overrides, chain, prop);\n` +
116
+ ` if (hit) return hit;\n` +
93
117
  ` }\n` +
94
- ` return DI_REGISTRY.get(cls)?.[prop];\n` +
118
+ ` return __disonChainLookup(DI_REGISTRY, chain, prop);\n` +
95
119
  `}\n\n` +
96
120
  `// Global type-replacement registry (bind). Key: class value (concrete class),\n` +
97
121
  `// companion/token Symbol, or type-name string. See docs/type-identity-matching.md.\n` +
@@ -172,7 +196,7 @@ export function generateRuntimeDeclarations(exportKeyword) {
172
196
  }
173
197
  // 複数ファイルでランタイム状態を共有するための共有ランタイムモジュールのソース。
174
198
  // scripts/generate-runtime-module.tsがこれをsrc/generated-runtime.tsとして書き出し、
175
- // tscがdist/にコンパイルすることで、"@no22/dison/runtime" として配布される
199
+ // tscがdist/にコンパイルすることで、"dison/runtime" として配布される
176
200
  // (docs/packaging.md)。AsyncLocalStorage の import を先頭に付ける。
177
201
  export const DISON_RUNTIME_MODULE_SOURCE = DISON_RUNTIME_IMPORTS +
178
202
  `// --- Dison shared runtime module ---\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@no22/dison",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "type": "module",
5
5
  "description": "An experimental DSL that transpiles to TypeScript, with property injection built into the language itself.",
6
6
  "main": "./dist/core.js",