@no22/dison 1.3.0 → 1.5.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 +31 -0
- package/dist/analysis.d.ts +2 -0
- package/dist/analysis.d.ts.map +1 -1
- package/dist/analysis.js +157 -1
- package/dist/analysis.js.map +1 -1
- package/dist/ast.d.ts +1 -0
- package/dist/ast.d.ts.map +1 -1
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +24 -13
- package/dist/codegen.js.map +1 -1
- package/dist/core.js +2 -2
- package/dist/core.js.map +1 -1
- package/dist/generated-runtime.d.ts +31 -6
- package/dist/generated-runtime.d.ts.map +1 -1
- package/dist/generated-runtime.js +100 -38
- package/dist/generated-runtime.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +15 -1
- package/dist/parser.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +131 -39
- package/dist/runtime.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -110,6 +110,25 @@ To activate a configuration defined in another file:
|
|
|
110
110
|
activate TestConfig from "./configs";
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
+
#### Forward references (new in 1.5.0)
|
|
114
|
+
|
|
115
|
+
A configuration may reference classes declared **later in the same
|
|
116
|
+
file** — key evaluation is deferred until the wiring is first consulted,
|
|
117
|
+
so the natural "declarative header" style just works:
|
|
118
|
+
|
|
119
|
+
```dison
|
|
120
|
+
configuration { bind Repo = MockRepo; } // at the top of the file
|
|
121
|
+
|
|
122
|
+
class Repo { ... }
|
|
123
|
+
class MockRepo extends Repo { ... }
|
|
124
|
+
class Service { injectable repo: Repo; }
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
This applies to `bind`, `override`, class-body configurations, and
|
|
128
|
+
`activate` alike. Registration *order* is still respected: if the same
|
|
129
|
+
type is bound twice, the registration that executes later wins, exactly
|
|
130
|
+
as if everything had been applied in place.
|
|
131
|
+
|
|
113
132
|
#### Scoped configuration (new in 1.2.0)
|
|
114
133
|
|
|
115
134
|
Where you write a `configuration` decides how far it reaches. An
|
|
@@ -143,6 +162,18 @@ A dependency is wired according to the scope active where its *root*
|
|
|
143
162
|
object was constructed, and the whole lazily-built object graph follows
|
|
144
163
|
that same scope consistently.
|
|
145
164
|
|
|
165
|
+
In an `async` function body, entering a local scope is an **implicit
|
|
166
|
+
suspension point** (one microtask; new in 1.4.0). The configuration and
|
|
167
|
+
the code after it run in the function's own async context, so the scope
|
|
168
|
+
can never leak into the caller's code while the function is suspended
|
|
169
|
+
at an `await`. Everything else behaves as before: the scope stays
|
|
170
|
+
active across `await`s inside the function, concurrent async calls
|
|
171
|
+
remain isolated, and instances constructed inside the scope keep it.
|
|
172
|
+
Local configurations are rejected at transpile time inside **generator**
|
|
173
|
+
function bodies (sync or async), because the scope cannot be kept
|
|
174
|
+
across `yield` — put the configuration in the function that drives the
|
|
175
|
+
generator instead.
|
|
176
|
+
|
|
146
177
|
> Local scopes desugar to `using` + `AsyncLocalStorage`, so generated
|
|
147
178
|
> code that uses them needs `Symbol.dispose` (TypeScript 5.2+ / Node 20+)
|
|
148
179
|
> and `node:async_hooks` at runtime. See [Requirements](#requirements).
|
package/dist/analysis.d.ts
CHANGED
|
@@ -23,9 +23,11 @@ export declare function identityKeyableClassNames(kinds: DeclaredTypeKinds): Set
|
|
|
23
23
|
export declare function isSimpleTypeShape(typeName: string): boolean;
|
|
24
24
|
export declare function baseIdentifierOf(typeName: string): string;
|
|
25
25
|
export declare function isRiskyInjectableType(typeKey: string, typeKinds: DeclaredTypeKinds): boolean;
|
|
26
|
+
export type EnclosingFunctionKind = "none" | "sync" | "async" | "generator" | "async-generator";
|
|
26
27
|
export interface BlockContext {
|
|
27
28
|
isTopLevel(idx: number): boolean;
|
|
28
29
|
isDirectClassBodyChild(idx: number): boolean;
|
|
30
|
+
enclosingFunctionKind(idx: number): EnclosingFunctionKind;
|
|
29
31
|
}
|
|
30
32
|
export declare function collectBlockContext(tokens: Token[]): BlockContext;
|
|
31
33
|
//# sourceMappingURL=analysis.d.ts.map
|
package/dist/analysis.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAInF;AAKD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAInF;AAOD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAcjE;AAOD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAatE;AAcD,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAyB9E;AAYD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA6DzE;AAaD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CA8EtE;AAeD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAMjC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAgC3E;AAKD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,CAM/E;AAID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,CAE/E;AAOD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAID,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAUD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAI5F;
|
|
1
|
+
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAInF;AAKD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAInF;AAOD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAcjE;AAOD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAatE;AAcD,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAyB9E;AAYD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA6DzE;AAaD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CA8EtE;AAeD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAMjC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAgC3E;AAKD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,CAM/E;AAID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,CAE/E;AAOD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAID,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAUD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAI5F;AA4BD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEhG,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7C,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;CAC3D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CA0LjE"}
|
package/dist/analysis.js
CHANGED
|
@@ -343,12 +343,157 @@ export function isRiskyInjectableType(typeKey, typeKinds) {
|
|
|
343
343
|
export function collectBlockContext(tokens) {
|
|
344
344
|
const depthAt = new Array(tokens.length);
|
|
345
345
|
const isClassBodyAt = new Array(tokens.length);
|
|
346
|
+
const funcKindAt = new Array(tokens.length);
|
|
346
347
|
const blockStack = []; // 各要素: そのブロックがクラス本体ならtrue
|
|
348
|
+
// 各ブロック内で有効な「直近の囲み関数の種別」。関数本体の "{" で新しい種別を
|
|
349
|
+
// 積み、それ以外のブロックは外側の種別を継承する。
|
|
350
|
+
const funcStack = [];
|
|
347
351
|
let sawClassKeyword = false;
|
|
352
|
+
// --- "{"の直前トークン列から、そのブロックが関数本体かどうかを判定するヘルパ群 ---
|
|
353
|
+
// トークンレベルのヒューリスティック(class本体判定と同水準)。既知の限界:
|
|
354
|
+
// 戻り値型注釈に関数型やオブジェクト型リテラルを含む場合、計算プロパティ名
|
|
355
|
+
// ([Symbol.iterator]() 等)、セミコロン省略スタイルでの「呼び出し式の直後の
|
|
356
|
+
// 裸ブロック」などは誤判定しうる(docs/async-local-scope.md §6)。
|
|
357
|
+
const prevSigIdx = (from) => {
|
|
358
|
+
let j = from;
|
|
359
|
+
while (j >= 0 && (tokens[j].type === "whitespace" || tokens[j].type === "comment"))
|
|
360
|
+
j--;
|
|
361
|
+
return j;
|
|
362
|
+
};
|
|
363
|
+
const isPunct = (i, text) => i >= 0 && tokens[i].type === "punct" && tokens[i].text === text;
|
|
364
|
+
const isWord = (i, text) => i >= 0 && (tokens[i].type === "ident" || tokens[i].type === "keyword") && tokens[i].text === text;
|
|
365
|
+
// ")" の位置から対応する "(" の位置へ正確に遡る(括弧の数を数える)。
|
|
366
|
+
const matchParenBack = (closeIdx) => {
|
|
367
|
+
let depth = 0;
|
|
368
|
+
for (let j = closeIdx; j >= 0; j--) {
|
|
369
|
+
if (tokens[j].type !== "punct")
|
|
370
|
+
continue;
|
|
371
|
+
if (tokens[j].text === ")")
|
|
372
|
+
depth++;
|
|
373
|
+
else if (tokens[j].text === "(") {
|
|
374
|
+
depth--;
|
|
375
|
+
if (depth === 0)
|
|
376
|
+
return j;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
return -1;
|
|
380
|
+
};
|
|
381
|
+
// "{"の直前が戻り値型注釈("): 型 {")である場合、型部分を後方へ読み飛ばして
|
|
382
|
+
// パラメータリストの ")" の位置を返す。型注釈として現れうるトークン
|
|
383
|
+
// (識別子・文字列リテラル型・: < > | & [ ] , . ?)だけを許容し、それ以外に
|
|
384
|
+
// 当たったら関数頭部ではないと判断して -1 を返す。
|
|
385
|
+
const TYPE_PUNCTS = new Set([":", "<", ">", "|", "&", "[", "]", ",", ".", "?"]);
|
|
386
|
+
const skipReturnTypeBack = (from) => {
|
|
387
|
+
let j = from;
|
|
388
|
+
while (j >= 0) {
|
|
389
|
+
j = prevSigIdx(j);
|
|
390
|
+
if (j < 0)
|
|
391
|
+
return -1;
|
|
392
|
+
const t = tokens[j];
|
|
393
|
+
if (t.type === "punct" && t.text === ")") {
|
|
394
|
+
// ") : 型... {" の形か確認(")"の直後の有意トークンが ":")
|
|
395
|
+
const after = nextSignificantToken(tokens, j + 1);
|
|
396
|
+
return after !== null && after.type === "punct" && after.text === ":" ? j : -1;
|
|
397
|
+
}
|
|
398
|
+
const typeish = t.type === "ident" || t.type === "string" || (t.type === "punct" && TYPE_PUNCTS.has(t.text));
|
|
399
|
+
if (!typeish)
|
|
400
|
+
return -1;
|
|
401
|
+
j--;
|
|
402
|
+
}
|
|
403
|
+
return -1;
|
|
404
|
+
};
|
|
405
|
+
// braceIdx の "{" が関数本体なら、その関数の種別を返す。関数本体でなければ
|
|
406
|
+
// null(呼び出し側で囲み種別を継承する)。
|
|
407
|
+
const classifyFunctionBody = (braceIdx) => {
|
|
408
|
+
const p1 = prevSigIdx(braceIdx - 1);
|
|
409
|
+
if (p1 < 0)
|
|
410
|
+
return null;
|
|
411
|
+
// --- アロー関数本体: "=> {"("="と">"は1文字ずつのpunctトークン) ---
|
|
412
|
+
if (isPunct(p1, ">")) {
|
|
413
|
+
const pEq = prevSigIdx(p1 - 1);
|
|
414
|
+
if (isPunct(pEq, "=")) {
|
|
415
|
+
let q = prevSigIdx(pEq - 1);
|
|
416
|
+
// "(params): 型 => {" の戻り値型注釈を読み飛ばす
|
|
417
|
+
if (!isPunct(q, ")")) {
|
|
418
|
+
const r = skipReturnTypeBack(q);
|
|
419
|
+
if (r >= 0)
|
|
420
|
+
q = r;
|
|
421
|
+
}
|
|
422
|
+
if (isPunct(q, ")")) {
|
|
423
|
+
const open = matchParenBack(q);
|
|
424
|
+
const h = open >= 0 ? prevSigIdx(open - 1) : -1;
|
|
425
|
+
return isWord(h, "async") ? "async" : "sync";
|
|
426
|
+
}
|
|
427
|
+
if (q >= 0 && tokens[q].type === "ident") {
|
|
428
|
+
// 単一パラメータ形式 "x => {" / "async x => {"
|
|
429
|
+
const h = prevSigIdx(q - 1);
|
|
430
|
+
return isWord(h, "async") ? "async" : "sync";
|
|
431
|
+
}
|
|
432
|
+
return "sync";
|
|
433
|
+
}
|
|
434
|
+
// ">"だが"=>"ではない(例: 戻り値型 "Promise<void> {")→ 下の型スキップへ
|
|
435
|
+
}
|
|
436
|
+
// --- 関数/メソッド/制御文の本体: "( ... ) {" または "( ... ): 型 {" ---
|
|
437
|
+
let close = -1;
|
|
438
|
+
if (isPunct(p1, ")"))
|
|
439
|
+
close = p1;
|
|
440
|
+
else
|
|
441
|
+
close = skipReturnTypeBack(p1);
|
|
442
|
+
if (close < 0)
|
|
443
|
+
return null; // 関数頭部ではない(オブジェクトリテラル・裸ブロック等)
|
|
444
|
+
const open = matchParenBack(close);
|
|
445
|
+
if (open < 0)
|
|
446
|
+
return null;
|
|
447
|
+
const h = prevSigIdx(open - 1);
|
|
448
|
+
if (h < 0)
|
|
449
|
+
return null;
|
|
450
|
+
const ht = tokens[h];
|
|
451
|
+
// 制御ブロックは関数ではない(囲み種別を継承)
|
|
452
|
+
if (isWord(h, "if") || isWord(h, "for") || isWord(h, "while") ||
|
|
453
|
+
isWord(h, "switch") || isWord(h, "catch")) {
|
|
454
|
+
return null;
|
|
455
|
+
}
|
|
456
|
+
if (isWord(h, "await") && isWord(prevSigIdx(h - 1), "for"))
|
|
457
|
+
return null; // for await ( ... )
|
|
458
|
+
// 無名関数式: "function () {}" / "function* () {}" / "async function () {}"
|
|
459
|
+
if (isWord(h, "function")) {
|
|
460
|
+
return isWord(prevSigIdx(h - 1), "async") ? "async" : "sync";
|
|
461
|
+
}
|
|
462
|
+
if (isPunct(h, "*")) {
|
|
463
|
+
const f = prevSigIdx(h - 1);
|
|
464
|
+
if (isWord(f, "function")) {
|
|
465
|
+
return isWord(prevSigIdx(f - 1), "async") ? "async-generator" : "generator";
|
|
466
|
+
}
|
|
467
|
+
return "generator"; // オブジェクトリテラルの "*() {}" 等
|
|
468
|
+
}
|
|
469
|
+
// 名前付き関数・メソッド: "name() {}" の name の手前を見る
|
|
470
|
+
if (ht.type === "ident" || ht.type === "keyword") {
|
|
471
|
+
const b = prevSigIdx(h - 1);
|
|
472
|
+
if (isWord(b, "function")) {
|
|
473
|
+
return isWord(prevSigIdx(b - 1), "async") ? "async" : "sync";
|
|
474
|
+
}
|
|
475
|
+
if (isPunct(b, "*")) {
|
|
476
|
+
const f = prevSigIdx(b - 1);
|
|
477
|
+
if (isWord(f, "function")) {
|
|
478
|
+
return isWord(prevSigIdx(f - 1), "async") ? "async-generator" : "generator";
|
|
479
|
+
}
|
|
480
|
+
return isWord(f, "async") ? "async-generator" : "generator"; // "*name() {}" メソッド
|
|
481
|
+
}
|
|
482
|
+
if (isWord(b, "async"))
|
|
483
|
+
return "async"; // "async name() {}" メソッド
|
|
484
|
+
if (isWord(b, "get") || isWord(b, "set"))
|
|
485
|
+
return "sync";
|
|
486
|
+
if (b >= 0 && tokens[b].type === "keyword")
|
|
487
|
+
return null; // Dison構文の一部(念のため)
|
|
488
|
+
return "sync"; // メソッド短縮形 "name() {}" とみなす
|
|
489
|
+
}
|
|
490
|
+
return null;
|
|
491
|
+
};
|
|
348
492
|
for (let idx = 0; idx < tokens.length; idx++) {
|
|
349
493
|
const t = tokens[idx];
|
|
350
494
|
depthAt[idx] = blockStack.length;
|
|
351
495
|
isClassBodyAt[idx] = blockStack.length > 0 ? blockStack[blockStack.length - 1] : false;
|
|
496
|
+
funcKindAt[idx] = funcStack.length > 0 ? funcStack[funcStack.length - 1] : "none";
|
|
352
497
|
if (t.type === "ident" && t.text === "class") {
|
|
353
498
|
const next = nextSignificantToken(tokens, idx + 1);
|
|
354
499
|
const isObjectKeyShorthand = next !== null && next.type === "punct" && next.text === ":";
|
|
@@ -357,16 +502,27 @@ export function collectBlockContext(tokens) {
|
|
|
357
502
|
}
|
|
358
503
|
}
|
|
359
504
|
else if (t.type === "punct" && t.text === "{") {
|
|
360
|
-
|
|
505
|
+
const isClassBody = sawClassKeyword;
|
|
506
|
+
blockStack.push(isClassBody);
|
|
507
|
+
if (isClassBody) {
|
|
508
|
+
// クラス本体自体は関数ではない(メソッド本体は各自の頭部で再分類される)
|
|
509
|
+
funcStack.push("none");
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
const kind = classifyFunctionBody(idx);
|
|
513
|
+
funcStack.push(kind ?? (funcStack.length > 0 ? funcStack[funcStack.length - 1] : "none"));
|
|
514
|
+
}
|
|
361
515
|
sawClassKeyword = false;
|
|
362
516
|
}
|
|
363
517
|
else if (t.type === "punct" && t.text === "}") {
|
|
364
518
|
blockStack.pop();
|
|
519
|
+
funcStack.pop();
|
|
365
520
|
}
|
|
366
521
|
}
|
|
367
522
|
return {
|
|
368
523
|
isTopLevel: (idx) => (depthAt[idx] ?? 0) === 0,
|
|
369
524
|
isDirectClassBodyChild: (idx) => isClassBodyAt[idx] ?? false,
|
|
525
|
+
enclosingFunctionKind: (idx) => funcKindAt[idx] ?? "none",
|
|
370
526
|
};
|
|
371
527
|
}
|
|
372
528
|
//# sourceMappingURL=analysis.js.map
|
package/dist/analysis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,4CAA4C;AAC5C,wEAAwE;AACxE,EAAE;AACF,wCAAwC;AACxC,4CAA4C;AAC5C,0CAA0C;AAC1C,oCAAoC;AAIpC,8CAA8C;AAC9C,MAAM,UAAU,oBAAoB,CAAC,MAAe,EAAE,OAAe;IACnE,IAAI,CAAC,GAAG,OAAO,CAAC;IAChB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QAAE,CAAC,EAAE,CAAC;IACnG,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,iDAAiD;AACjD,uDAAuD;AACvD,yBAAyB;AACzB,MAAM,UAAU,oBAAoB,CAAC,MAAe,EAAE,OAAe;IACnE,IAAI,CAAC,GAAG,OAAO,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QAAE,CAAC,EAAE,CAAC;IACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,sCAAsC;AACtC,iCAAiC;AACjC,mDAAmD;AACnD,gDAAgD;AAChD,eAAe;AACf,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAU,EAAE,EAAE;QACpD,QAAQ,EAAE,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6CAA6C;AAC7C,wDAAwD;AACxD,mDAAmD;AACnD,sDAAsD;AACtD,yBAAyB;AACzB,MAAM,UAAU,yBAAyB,CAAC,MAAe;IACvD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACvD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;gBAAE,CAAC,EAAE,CAAC;YACnG,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACpD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+DAA+D;AAC/D,6DAA6D;AAC7D,uDAAuD;AACvD,gDAAgD;AAChD,+BAA+B;AAC/B,EAAE;AACF,sDAAsD;AACtD,uCAAuC;AACvC,kCAAkC;AAClC,qCAAqC;AACrC,2CAA2C;AAC3C,sCAAsC;AACtC,MAAM,UAAU,iCAAiC,CAAC,MAAe;IAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,eAAe,GAAG,UAAU,CAAC;IAEnC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QAExD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAChH,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS;QAE3F,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACpF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;gBACzH,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0CAA0C;AAC1C,kDAAkD;AAClD,+CAA+C;AAC/C,2DAA2D;AAC3D,iCAAiC;AACjC,EAAE;AACF,mDAAmD;AACnD,yCAAyC;AACzC,oCAAoC;AACpC,4BAA4B;AAC5B,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QAExD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAChH,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS;QAE3F,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,CAAC,EAAE,CAAC;QACJ,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBAC7D,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACvE,IAAI,KAAK,GAAG,CAAC;gBAAE,CAAC,EAAE,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,cAAc;QAElC,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;YAAE,CAAC,EAAE,CAAC;QACnG,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;YAAE,SAAS;QAC9F,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;YAAE,CAAC,EAAE,CAAC;QACnG,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;YAAE,SAAS;QAClE,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1D,yDAAyD;QACzD,IAAI,CAAC,GAAG,SAAS,CAAC;QAClB,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,WAAW,EAAE,SAAS,CAAC,CAAC;YACtD,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;YACnB,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,QAAQ,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACtD,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,GAAG,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;oBAAE,CAAC,EAAE,CAAC;gBAC9F,IAAI,CAAC,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC/C,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChC,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC5D,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC5D,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAC7B,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAoBD,MAAM,UAAU,qBAAqB,CAAC,MAAe;IACnD,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QAExD,mDAAmD;QACnD,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC;QAE1G,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAChH,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS;QAE3F,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,CAAC,EAAE,CAAC;QACJ,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBAC7D,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACvE,IAAI,KAAK,GAAG,CAAC;gBAAE,CAAC,EAAE,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,cAAc;QAElC,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;YAAE,CAAC,EAAE,CAAC;QACnG,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;YAAE,SAAS;QAC9F,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;YAAE,CAAC,EAAE,CAAC;QACnG,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;YAAE,SAAS;QAClE,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1D,kEAAkE;QAClE,IAAI,CAAC,GAAG,SAAS,CAAC;QAClB,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,KAAK,IAAI,YAAY;oBAChC,YAAY;oBACZ,SAAS;oBACT,QAAQ,EAAE,aAAa,IAAI,cAAc;iBAC1C,CAAC,CAAC;YACL,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC;YACb,cAAc,GAAG,KAAK,CAAC;YACvB,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,QAAQ,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChE,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACrD,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC7D,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBACxF,8DAA8D;gBAC9D,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACpC,IAAI,KAAK;oBAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;qBAC3B,IAAI,YAAY,KAAK,IAAI;oBAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAC9D,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AA0BD,MAAM,UAAU,wBAAwB,CAAC,MAAe;IACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE7C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QAEjC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS;YAEnD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC;YAC/F,IAAI,UAAU,EAAE,CAAC;gBACf,oEAAoE;gBACpE,mDAAmD;gBACnD,uDAAuD;gBACvD,yCAAyC;gBACzC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACtD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBAAE,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;AACjE,CAAC;AAED,4CAA4C;AAC5C,oEAAoE;AACpE,iDAAiD;AACjD,MAAM,UAAU,yBAAyB,CAAC,KAAwB;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+CAA+C;AAC/C,yCAAyC;AACzC,MAAM,UAAU,yBAAyB,CAAC,KAAwB;IAChE,OAAO,IAAI,GAAG,CAAS,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,oCAAoC;AACpC,0EAA0E;AAC1E,6DAA6D;AAC7D,oCAAoC;AACpC,wDAAwD;AACxD,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,oCAAoC;AACpC,wCAAwC;AACxC,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACvD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,6CAA6C;AAC7C,8CAA8C;AAC9C,2BAA2B;AAC3B,EAAE;AACF,qDAAqD;AACrD,mDAAmD;AACnD,2CAA2C;AAC3C,8CAA8C;AAC9C,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,SAA4B;IACjF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpF,CAAC;AA6BD,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,aAAa,GAAc,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAc,EAAE,CAAC,CAAC,0BAA0B;IAC5D,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;QACjC,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEvF,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,oBAAoB,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC;YACzF,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACjC,eAAe,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAChD,UAAU,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QAC9C,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,KAAK;KAC7D,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"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"}
|
package/dist/ast.d.ts
CHANGED
package/dist/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IAKb,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAM3B,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAEpD,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IAKb,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAM3B,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAEpD,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAW7B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,GAE3H;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAGjH;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAI/B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAGrD;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC"}
|
package/dist/codegen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAA4B,MAAM,UAAU,CAAC;AAI/D,MAAM,WAAW,WAAW;IAK1B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAKzC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpD;AAID,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAA4B,MAAM,UAAU,CAAC;AAI/D,MAAM,WAAW,WAAW;IAK1B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAKzC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpD;AAID,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAyMD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAqB3F;AAOD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,MAAM,CAO/F;AAOD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAMrE;AAQD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,CASpF;AAOD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAajE;AAED,wBAAgB,QAAQ,CACtB,KAAK,EAAE,IAAI,EAAE,EACb,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,WAAW,GACpB,MAAM,CA4CR"}
|
package/dist/codegen.js
CHANGED
|
@@ -37,15 +37,17 @@ function keyExprFor(typeKey, token, strategy) {
|
|
|
37
37
|
// override 1件分のDI_REGISTRY代入文を生成する。configuration内(関数本体に
|
|
38
38
|
// 収集される場合)と、configurationで包まない単独のoverride(その場に直接
|
|
39
39
|
// 出力される場合)の両方から共有される。
|
|
40
|
-
// local=false: グローバルレジストリへ登録(
|
|
41
|
-
// スコープフレームへ登録(__disonOverride。
|
|
40
|
+
// local=false: グローバルレジストリへ登録(registerOverrideLazy)。local=true: ローカル
|
|
41
|
+
// スコープフレームへ登録(__disonOverride。__disonEnterScopeLazy の setup 内で使う)。
|
|
42
|
+
// 対象クラスはサンク(() => Class)で渡し、評価を初回参照時まで遅延する
|
|
43
|
+
// (後方宣言クラスへの前方参照を可能にする。docs/config-forward-reference.md)。
|
|
42
44
|
function generateOverrideEntryLines(entry, local) {
|
|
43
45
|
// entry.className はクラスの実体を指す識別子としてそのまま埋め込む
|
|
44
46
|
// (文字列リテラルにはしない)。キーがクラスの実体そのものなので、className が
|
|
45
47
|
// スコープ内に存在しない(タイプミス・importし忘れ)場合は tsc が "Cannot find name"
|
|
46
|
-
//
|
|
47
|
-
const fn = local ? "__disonOverride" : "
|
|
48
|
-
return entry.assignments.map((a) => ` ${fn}(${entry.className}, "${a.prop}", () => (${a.valueExpr}));`);
|
|
48
|
+
// として検出する(サンク内でも同様に検出される)。
|
|
49
|
+
const fn = local ? "__disonOverride" : "registerOverrideLazy";
|
|
50
|
+
return entry.assignments.map((a) => ` ${fn}(() => ${entry.className}, "${a.prop}", () => (${a.valueExpr}));`);
|
|
49
51
|
}
|
|
50
52
|
// bind 1件分のbindType呼び出し文を生成する(generateOverrideEntryLinesと同様、
|
|
51
53
|
// configuration内・単独bindの両方から共有される)。
|
|
@@ -73,11 +75,14 @@ function generateOverrideEntryLines(entry, local) {
|
|
|
73
75
|
// 連鎖: 差し替え先クラス自身がさらに bind されている可能性があるので、
|
|
74
76
|
// 直接 new せず resolveType を介して再帰的に解決する。
|
|
75
77
|
// (bind A = B; bind B = C; と書けば、Aの解決は最終的にCまで辿る)
|
|
76
|
-
// local=false: グローバル TYPE_BINDINGS へ登録(
|
|
77
|
-
// スコープフレームへ登録(__disonBind。
|
|
78
|
-
//
|
|
78
|
+
// local=false: グローバル TYPE_BINDINGS へ登録(bindTypeLazy<T>)。local=true: ローカル
|
|
79
|
+
// スコープフレームへ登録(__disonBind。__disonEnterScopeLazy の setup 内で使う)。
|
|
80
|
+
// bindTypeLazy<T> は型引数で差し替え先の型互換を tsc に検査させるが、__disonBind は
|
|
79
81
|
// 型引数を取れないため、代わりに factory の返り値型注釈 `(): OrigType =>` で同じ検査を
|
|
80
82
|
// 得る(差し替え先が OrigType と非互換なら tsc がエラーにする)。
|
|
83
|
+
// 左辺キーはサンク(() => Key)で渡し、評価を初回参照時まで遅延する
|
|
84
|
+
// (後方宣言クラスへの前方参照を可能にする。docs/config-forward-reference.md)。
|
|
85
|
+
// 差し替え先キーは factory 内にあり元々遅延評価される。
|
|
81
86
|
function generateBindEntryLines(entry, strategy, local) {
|
|
82
87
|
const originalKeyExpr = keyExprFor(entry.originalTypeKey, entry.token, strategy);
|
|
83
88
|
// 差し替え先(replacement)は `new` で実体化される具象クラスなので、それ自身が
|
|
@@ -90,8 +95,8 @@ function generateBindEntryLines(entry, strategy, local) {
|
|
|
90
95
|
const factory = `resolveType(${replacementKeyExpr}, () => new ${entry.replacementTypeName}(${args}))`;
|
|
91
96
|
return [
|
|
92
97
|
local
|
|
93
|
-
? ` __disonBind(${originalKeyExpr}, (): ${entry.originalTypeName} => ${factory});`
|
|
94
|
-
: `
|
|
98
|
+
? ` __disonBind(() => ${originalKeyExpr}, (): ${entry.originalTypeName} => ${factory});`
|
|
99
|
+
: ` bindTypeLazy<${entry.originalTypeName}>(() => ${originalKeyExpr}, () => ${factory});`,
|
|
95
100
|
];
|
|
96
101
|
}
|
|
97
102
|
// configuration を構文位置に応じて生成する(docs/scoped-configuration.md):
|
|
@@ -118,13 +123,19 @@ function generateConfiguration(node, strategy, scopeId) {
|
|
|
118
123
|
if (node.scope === "local") {
|
|
119
124
|
// 無名ローカル configuration。__disonEnterScope の setup で __disonBind/__disonOverride を
|
|
120
125
|
// 使ってフレームへ差分を積む。`using` で受けるのでブロック終端で自動的に戻る。
|
|
121
|
-
|
|
122
|
-
|
|
126
|
+
// async関数内では (await null, ...) で一度中断してから enterWith することで、
|
|
127
|
+
// スコープを関数専有のマイクロタスク実行に隔離し呼び出し元への漏れを防ぐ
|
|
128
|
+
// (暗黙のサスペンションポイント。docs/async-local-scope.md §2)。
|
|
129
|
+
const enter = `__disonEnterScopeLazy((__disonBind, __disonOverride) => {\n` +
|
|
130
|
+
`${lines.join("\n")}\n})`;
|
|
131
|
+
return node.asyncScope === true
|
|
132
|
+
? `using __dison_scope_${scopeId} = (await null, ${enter});`
|
|
133
|
+
: `using __dison_scope_${scopeId} = ${enter};`;
|
|
123
134
|
}
|
|
124
135
|
if (node.scope === "class") {
|
|
125
136
|
// 無名クラス configuration。クラス本体の static フィールドとしてフレームを構築する。
|
|
126
137
|
// __disonClassScopes が this.constructor のプロトタイプ鎖からこの static を集める。
|
|
127
|
-
return (`static __dison_classScope_${scopeId} =
|
|
138
|
+
return (`static __dison_classScope_${scopeId} = __disonBuildFrameLazy((__disonBind, __disonOverride) => {\n` +
|
|
128
139
|
`${lines.join("\n")}\n});`);
|
|
129
140
|
}
|
|
130
141
|
if (node.name !== undefined) {
|
package/dist/codegen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,mBAAmB;AACnB,wEAAwE;AAGxE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAgBpE,wDAAwD;AACxD,6CAA6C;AAC7C,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,iBAAiB,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED,qCAAqC;AACrC,gDAAgD;AAChD,mDAAmD;AACnD,8CAA8C;AAC9C,iDAAiD;AACjD,2DAA2D;AAC3D,wCAAwC;AACxC,qDAAqD;AACrD,6DAA6D;AAC7D,gCAAgC;AAChC,8CAA8C;AAC9C,oDAAoD;AACpD,yDAAyD;AACzD,iDAAiD;AACjD,SAAS,UAAU,CAAC,OAAe,EAAE,KAAyB,EAAE,QAAqB;IACnF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB;IACxE,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,wDAAwD;AACxD,iDAAiD;AACjD,sBAAsB;AACtB,
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}
|
package/dist/core.js
CHANGED
|
@@ -298,8 +298,8 @@ export function transpileDisonToTS(sourceCode, options = {}) {
|
|
|
298
298
|
const header = `// --- Auto-generated TypeScript code ---\n\n`;
|
|
299
299
|
const prelude = options.runtimeModulePath
|
|
300
300
|
? `${header}${DISON_RUNTIME_IMPORTS}import {\n` +
|
|
301
|
-
`
|
|
302
|
-
` __disonCurrentScope,\n __disonResolveInjectable,\n
|
|
301
|
+
` bindTypeLazy,\n resolveType,\n registerOverrideLazy,\n` +
|
|
302
|
+
` __disonCurrentScope,\n __disonResolveInjectable,\n __disonEnterScopeLazy,\n __disonBuildFrameLazy,\n` +
|
|
303
303
|
`} from ${JSON.stringify(options.runtimeModulePath)};\n\n`
|
|
304
304
|
: `${header}${DISON_RUNTIME_IMPORTS}\n${generateRuntimeDeclarations("")}\n`;
|
|
305
305
|
// ES Modules の import はファイル先頭にしか書けないため、import 系(companion import、
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,46 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
2
|
type __DisonFactory = () => any;
|
|
3
3
|
type __DisonKey = string | symbol | Function;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
type __DisonSlot = {
|
|
5
|
+
f: __DisonFactory;
|
|
6
|
+
seq: number;
|
|
7
|
+
};
|
|
8
|
+
type __DisonPendingEntry = {
|
|
9
|
+
kind: "bind";
|
|
10
|
+
key: () => __DisonKey;
|
|
11
|
+
f: __DisonFactory;
|
|
12
|
+
seq: number;
|
|
13
|
+
} | {
|
|
14
|
+
kind: "override";
|
|
15
|
+
cls: () => Function;
|
|
16
|
+
prop: string;
|
|
17
|
+
f: __DisonFactory;
|
|
18
|
+
seq: number;
|
|
19
|
+
};
|
|
20
|
+
interface __DisonStore {
|
|
21
|
+
binds: Map<__DisonKey, __DisonSlot>;
|
|
22
|
+
overrides: WeakMap<Function, Record<string, __DisonSlot>>;
|
|
23
|
+
pending: __DisonPendingEntry[];
|
|
24
|
+
}
|
|
25
|
+
interface __DisonFrame extends __DisonStore {
|
|
7
26
|
parent: __DisonFrame | undefined;
|
|
8
27
|
}
|
|
9
28
|
export declare const __dison_als: AsyncLocalStorage<__DisonFrame | undefined>;
|
|
10
29
|
export declare function __disonCurrentScope(): __DisonFrame | undefined;
|
|
30
|
+
export declare function __disonBuildFrameLazy(setup: (bind: (key: () => __DisonKey, factory: __DisonFactory) => void, override: (cls: () => Function, prop: string, factory: __DisonFactory) => void) => void): __DisonFrame;
|
|
11
31
|
export declare function __disonBuildFrame(setup: (bind: (key: __DisonKey, factory: __DisonFactory) => void, override: (cls: Function, prop: string, factory: __DisonFactory) => void) => void): __DisonFrame;
|
|
12
|
-
export declare const DI_REGISTRY: WeakMap<Function, Record<string,
|
|
32
|
+
export declare const DI_REGISTRY: WeakMap<Function, Record<string, __DisonSlot>>;
|
|
33
|
+
export declare const TYPE_BINDINGS: Map<__DisonKey, __DisonSlot>;
|
|
34
|
+
export declare function bindTypeLazy<T>(key: () => __DisonKey, factory: () => T): void;
|
|
35
|
+
export declare function bindType<T>(typeKey: __DisonKey, factory: () => T): void;
|
|
36
|
+
export declare function registerOverrideLazy(cls: () => Function, prop: string, factory: __DisonFactory): void;
|
|
13
37
|
export declare function registerOverride(cls: Function, prop: string, factory: __DisonFactory): void;
|
|
14
38
|
export declare function getOverride(cls: Function, prop: string): __DisonFactory | undefined;
|
|
15
|
-
export declare const TYPE_BINDINGS: Map<__DisonKey, __DisonFactory>;
|
|
16
|
-
export declare function bindType<T>(typeKey: __DisonKey, factory: () => T): void;
|
|
17
39
|
export declare function resolveType<T>(typeKey: __DisonKey, defaultFactory: () => T): T;
|
|
18
40
|
export declare function __disonResolveInjectable<T>(scope: __DisonFrame | undefined, cls: Function, prop: string, fallback: () => T): T;
|
|
41
|
+
export declare function __disonEnterScopeLazy(setup: (bind: (key: () => __DisonKey, factory: __DisonFactory) => void, override: (cls: () => Function, prop: string, factory: __DisonFactory) => void) => void): {
|
|
42
|
+
[Symbol.dispose](): void;
|
|
43
|
+
};
|
|
19
44
|
export declare function __disonEnterScope(setup: (bind: (key: __DisonKey, factory: __DisonFactory) => void, override: (cls: Function, prop: string, factory: __DisonFactory) => void) => void): {
|
|
20
45
|
[Symbol.dispose](): void;
|
|
21
46
|
};
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"generated-runtime.d.ts","sourceRoot":"","sources":["../src/generated-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAcrD,KAAK,cAAc,GAAG,MAAM,GAAG,CAAC;AAChC,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC7C,KAAK,WAAW,GAAG;IAAE,CAAC,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AACtD,KAAK,mBAAmB,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,UAAU,CAAC;IAAC,CAAC,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5F,UAAU,YAAY;IACpB,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AACD,UAAU,YAAa,SAAQ,YAAY;IACzC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;CAClC;AAmCD,eAAO,MAAM,WAAW,6CAAoD,CAAC;AAE7E,wBAAgB,mBAAmB,IAAI,YAAY,GAAG,SAAS,CAAmC;AA6BlG,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,UAAU,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,KAAK,IAAI,GAC9J,YAAY,CAOd;AAED,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,CAOd;AAKD,eAAO,MAAM,WAAW,gDAAuD,CAAC;AAGhF,eAAO,MAAM,aAAa,8BAAqC,CAAC;AAOhE,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAE7E;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAEvE;AACD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAErG;AACD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE3F;AA2BD,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAcnF;AA0BD,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;AAYD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,UAAU,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,KAAK,IAAI,GAC9J;IAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;CAAE,CAO9B;AAED,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,CAO9B"}
|