@nudojs/core 0.3.1 → 1.0.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/dist/exec.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { $ as $add, d as $arr, e as $async, f as $asyncReturn, g as $await, h as $call, i as $callNamed, j as $catchVal, k as $class, l as $concat, m as $div, n as $elems, o as $eq, p as $fnVal, q as $for, r as $forIter, s as $forOf, t as $fork, u as $ge, v as $gen, w as $get, x as $gt, y as $idx, z as $idxSet, B as $invoke, D as $invokeSuper, E as $join, F as $le, G as $len, I as $lit, J as $lt, K as $mod, M as $mul, N as $ne, O as $neg, Q as $new, U as $not, V as $obj, W as $optionalGet, X as $optionalInvoke, Y as $orDefault, Z as $set, _ as $setKey, a0 as $spread, a1 as $staticInvoke, a2 as $sub, a3 as $super, a4 as $switch, a5 as $thisGet, a6 as $thisSet, a7 as $throw, a8 as $typeof, a9 as $while, aa as $whileSeq, ab as $yield, af as BCallRecord, ag as BClassSpec, ah as BMemberDiag, ai as DEFAULT_MAX_LOOP_ITERS, ao as NudoThrow, ap as RunTranspiledOptions, aq as TranspileOptions, ar as TranspiledCallResult, aC as asAbsVal, aI as callTranspiledExport, aJ as callTranspiledExportFull, aK as clearBClasses, aP as currentExecPhi, b0 as getAbsOrigin, b1 as getBCallCollector, b2 as getBClass, b7 as isDefinitelyFalse, b8 as isDefinitelyTrue, ba as isNudoThrow, bq as noteMemberDispatchMiss, br as notePrimMemberMissing, bs as noteUnknownMemberMissing, bH as recordMemberDiag, bI as registerBClass, bL as runTranspiled, bR as setBCallCollector, bS as setMemberDiagCollector, c0 as tagAbsOrigin, c5 as transpile, c6 as transpileExpression, c7 as transpileFile, c8 as transpileSource, cg as withExecPhi } from './index-CVYjXnwU.js';
1
+ export { $ as $add, e as $arr, f as $async, g as $asyncReturn, h as $await, i as $call, j as $callNamed, k as $catchVal, l as $class, m as $concat, n as $div, o as $elems, p as $eq, q as $fnVal, r as $for, s as $forIter, t as $forOf, u as $fork, v as $ge, w as $gen, x as $get, y as $gt, z as $idx, B as $idxSet, D as $invoke, E as $invokeSuper, F as $join, G as $le, I as $len, J as $lit, K as $lt, L as $mod, M as $mul, N as $ne, O as $neg, Q as $new, U as $not, V as $obj, W as $optionalGet, X as $optionalInvoke, Y as $orDefault, Z as $regex, _ as $set, a0 as $setKey, a1 as $spread, a2 as $staticInvoke, a3 as $sub, a4 as $super, a5 as $switch, a6 as $thisGet, a7 as $thisSet, a8 as $throw, a9 as $typeof, aa as $while, ab as $whileSeq, ac as $yield, ad as BCallRecord, ae as BClassSpec, af as BMemberDiag, ag as DEFAULT_MAX_LOOP_ITERS, ai as NudoThrow, aj as RunTranspiledOptions, ak as TranspileOptions, al as TranspiledCallResult, au as asAbsVal, az as callTranspiledExport, aA as callTranspiledExportFull, aB as clearBClasses, aF as currentExecPhi, aK as getAbsOrigin, aL as getBCallCollector, aM as getBClass, aR as isDefinitelyFalse, aS as isDefinitelyTrue, aU as isNudoThrow, a$ as litTruth, b4 as namespaceNameOf, b8 as noteMemberDispatchMiss, b9 as notePrimMemberMissing, ba as noteUnknownMemberMissing, bp as recordMemberDiag, bq as registerBClass, br as runTranspiled, bt as setBCallCollector, bu as setMemberDiagCollector, bE as tagAbsOrigin, bH as transpile, bI as transpileExpression, bJ as transpileFile, bK as transpileSource, bS as withExecPhi } from './index-OfNo5qlN.js';
2
2
  import '@babel/types';
package/dist/exec.js CHANGED
@@ -40,6 +40,7 @@ import {
40
40
  $optionalGet,
41
41
  $optionalInvoke,
42
42
  $orDefault,
43
+ $regex,
43
44
  $set,
44
45
  $setKey,
45
46
  $spread,
@@ -67,6 +68,8 @@ import {
67
68
  isDefinitelyFalse,
68
69
  isDefinitelyTrue,
69
70
  isNudoThrow,
71
+ litTruth,
72
+ namespaceNameOf,
70
73
  noteMemberDispatchMiss,
71
74
  notePrimMemberMissing,
72
75
  noteUnknownMemberMissing,
@@ -81,7 +84,7 @@ import {
81
84
  transpileFile,
82
85
  transpileSource,
83
86
  withExecPhi
84
- } from "./chunk-BU4A6XJ3.js";
87
+ } from "./chunk-RZOQL6PT.js";
85
88
  export {
86
89
  $add,
87
90
  $arr,
@@ -124,6 +127,7 @@ export {
124
127
  $optionalGet,
125
128
  $optionalInvoke,
126
129
  $orDefault,
130
+ $regex,
127
131
  $set,
128
132
  $setKey,
129
133
  $spread,
@@ -151,6 +155,8 @@ export {
151
155
  isDefinitelyFalse,
152
156
  isDefinitelyTrue,
153
157
  isNudoThrow,
158
+ litTruth,
159
+ namespaceNameOf,
154
160
  noteMemberDispatchMiss,
155
161
  notePrimMemberMissing,
156
162
  noteUnknownMemberMissing,
@@ -1,4 +1,4 @@
1
- import { ImportDeclaration, File, Node, Expression } from '@babel/types';
1
+ import { Node, ImportDeclaration, File, Expression } from '@babel/types';
2
2
 
3
3
  /** 项(Term):抽象值的身份。字面量是项的特例。 */
4
4
  type LiteralValue = string | number | boolean | null | undefined;
@@ -188,29 +188,6 @@ declare function isStrPrim(a: Abs): boolean;
188
188
  declare function isExactLit(a: Abs): boolean;
189
189
  declare function litValue(a: Abs): LiteralValue | undefined;
190
190
 
191
- /**
192
- * 项(Term)防爆炸:深度/宽度阈值 → leak 为新鲜 var + 等式约束。
193
- */
194
-
195
- type LeakBudget = {
196
- maxDepth: number;
197
- maxNodes: number;
198
- };
199
- declare const defaultLeakBudget: LeakBudget;
200
- declare function termDepth(t: Term): number;
201
- declare function termNodes(t: Term): number;
202
- declare function exceedsBudget(t: Term, budget?: LeakBudget): boolean;
203
- declare function resetLeakCounter(): void;
204
- /**
205
- * 若项超预算,替换为新鲜变量,并返回附加等式 pred:fresh = originalTerm。
206
- * 未超预算则原样返回。
207
- */
208
- declare function maybeLeak(a: Abs, budget?: LeakBudget, label?: string): Abs;
209
- /**
210
- * 批量:在算术结果上应用 leak。
211
- */
212
- declare function leakIfNeeded(a: Abs, budget?: LeakBudget, label?: string): Abs;
213
-
214
191
  /**
215
192
  * HOF 关系 Abs:无 body 的外延关系(paramTypes → returnType)的判定、
216
193
  * α 替换与应用。类型变量仍是 term var;关系仍是 fn 形状上的外延槽。
@@ -390,27 +367,10 @@ declare function projectFlatMapResult(arrConf: Confidence, mapped: Abs[]): Abs;
390
367
  declare function asAbs(v: unknown): Abs | undefined;
391
368
 
392
369
  /**
393
- * Abs 模块面(无 fs):import 绑定 + export 收集。
394
- * 解析路径/读文件在 host;core 只吃「specifier → 导出表」。
395
- */
396
-
397
- type AbsModuleExports = {
398
- named: Record<string, Abs>;
399
- default?: Abs;
400
- };
401
- /** 把 import 说明符绑定进 env(宿主已求值依赖) */
402
- declare function bindImports(node: ImportDeclaration, env: AstEnv, modules: Record<string, AbsModuleExports>): void;
403
- /**
404
- * 从已求值 env + AST 收集 ESM 导出。
405
- * 支持:export function/const、export { a, b as c }、export default(具名)、
406
- * 以及带 source 的 re-export(`export { a } from "mod"` / `export * from "mod"`——
407
- * 需 host 传入已求值 modules)。
408
- */
409
- declare function collectAbsExports(file: File, env: AstEnv, modules?: Record<string, AbsModuleExports>): AbsModuleExports;
410
-
411
- /**
412
- * Babel AST 抽象求值:把「类型即计算」接到真实 JS 源码。
413
- * 支持表达式、函数声明/箭头、return、if、const/let、块作用域、类、循环。
370
+ * AstEnv:抽象求值环境类型。
371
+ * 独立成文件:hof/language/leq/abs-fn/abs-modules 等消费方只依赖此类型,
372
+ * 不必再为拿一个类型 import ast-eval 巨石(TS 模块环)。
373
+ * ast-eval.ts 对本类型做兼容 re-export,外部消费路径不变。
414
374
  */
415
375
 
416
376
  type AstEnv = {
@@ -429,135 +389,25 @@ type AstEnv = {
429
389
  /** P2:generalize symbolic 跑的 HOF collector(run 局部,不进 Φ) */
430
390
  hofCollect?: HofCollectCtx;
431
391
  };
432
- declare function emptyEnv(): AstEnv;
433
- declare function withVar(env: AstEnv, name: string, value: Abs): AstEnv;
434
- type EvalOptions = {
435
- phi?: Phi;
436
- budget?: LeakBudget;
437
- /** 预解析 AST(check 等批量场景避免重复 parse) */
438
- file?: File;
439
- /** host 已求值的相对依赖导出表 */
440
- modules?: Record<string, AbsModuleExports>;
441
- };
442
- declare const MAX_CALL_DEPTH = 64;
443
- declare const MAX_TOTAL_CALLS = 200000;
444
- /** 宿主入口(evalProgramAbs / analyzeFn / check)前重置 */
445
- declare function resetAbsCallBudget(): void;
446
- /** 记录被截断的递归(service 可映射为 nudo:recursion-truncated) */
447
- declare function setAbsTruncationCollector(collector: ((fnLabel: string) => void) | null): void;
448
- /** Abs 域调用记录(自包含程序可不经 TypeValue evaluator) */
449
- type AbsCallRecord = {
450
- fnName: string;
451
- args: Abs[];
452
- result: Abs;
453
- callLoc?: {
454
- line: number;
455
- column: number;
456
- };
457
- threw?: boolean;
458
- };
459
- declare function setAbsCallCollector(collector: ((r: AbsCallRecord) => void) | null): void;
460
- declare function setAbsNodeCollector(collector: ((node: Node, value: Abs) => void) | null): void;
461
- /** 赋值记录:结构可赋值检查用 */
462
- type AbsAssignRecord = {
463
- name: string;
464
- prev?: Abs;
465
- next: Abs;
466
- line?: number;
467
- column?: number;
468
- };
469
- declare function setAbsAssignCollector(collector: ((r: AbsAssignRecord) => void) | null): void;
470
- type EvalResult = {
471
- value: Abs;
472
- phi: Phi;
473
- env: AstEnv;
474
- /** 函数已通过 return 跳出,块内后续语句不可达 */
475
- returned?: boolean;
476
- /** break 跳出最近循环 */
477
- brk?: boolean;
478
- /** continue 进入下一轮 */
479
- cont?: boolean;
480
- /** throw 了 value(未捕获时向上传播) */
481
- threw?: boolean;
482
- /**
483
- * if 无 else 且 consequent 已 return/throw:真分支已产出 value,
484
- * 假分支 fall-through 仍可能走后续语句。evalBlock 需与后续结果 join。
485
- */
486
- partialReturn?: boolean;
487
- };
488
- /**
489
- * 分析一段 JS 源码。
490
- * 若含多个顶层函数声明,先注册全部,再对 `main` 或最后一个有调用的函数求值。
491
- * 更简单:提供 `analyzeFunction(source, fnName, args)`。
492
- */
493
- declare function evalSource(source: string, entry: {
494
- fn: string;
495
- args: Abs[];
496
- }, opts?: EvalOptions): EvalResult;
497
- declare function callFunction(env: AstEnv, name: string, args: Abs[], phi?: Phi, budget?: LeakBudget): Abs;
498
- /**
499
- * 在 this=receiver 下求值方法体。
500
- * constructor 无显式 return 时返回更新后的 this(字段写入已并入 env)。
501
- */
502
- declare function evalMethodBody(method: {
503
- params: string[];
504
- body: Node;
505
- async?: boolean;
506
- kind?: string;
507
- }, args: Abs[], thisVal: Abs, env: AstEnv, phi?: Phi, budget?: LeakBudget,
508
- /** 方法定义所在类名(用于 super 派发) */
509
- ownerClass?: string): Abs;
510
- /** 对外入口:求值并记入节点表(Map<Node, Abs> 由 collector 消费) */
511
- declare function evalNode(node: Node, env: AstEnv, phi: Phi, budget: LeakBudget): EvalResult;
512
- /**
513
- * 应用 Abs 一等函数。统一顺序:apply → body → relation → isRelFn。
514
- * 调用门须扩为 `getFnImpl || isRelFn`,否则 E 路径永远进不来。
515
- */
516
- declare function applyAbsFn(fnVal: Abs, args: Abs[], env: AstEnv, phi: Phi, budget: LeakBudget): Abs;
517
- /**
518
- * 从源码分析指定函数在给定实参下的抽象结果。
519
- *
520
- * @example
521
- * analyzeFn(`
522
- * const add = (a, b) => a + b;
523
- * function scale(x) { return add(x, 1); }
524
- * `, "scale", [numVar("x", gtNum(v("x"), 0))], gtNum(v("x"), 0))
525
- */
526
- declare function analyzeFn(source: string, fnName: string, args: Abs[], phi?: Phi, budget?: LeakBudget, file?: File, modules?: Record<string, AbsModuleExports>): Abs;
392
+
527
393
  /**
528
- * 程序级 Abs 求值:注册全部顶层函数/class,再顺序执行语句。
529
- * 返回最终 env(vars 含导出绑定)。TypeValue 仅在调用方 bridge 时出现。
530
- *
531
- * seedVars / seedFns:host 注入(@nudo:mock 等)在求值前绑定。
532
- * modules:host 已求值的依赖导出表(specifier → AbsModuleExports)。
394
+ * Abs 模块面(无 fs):import 绑定 + export 收集。
395
+ * 解析路径/读文件在 host;core 只吃「specifier → 导出表」。
533
396
  */
534
- declare function evalProgramAbs(source: string, opts?: EvalOptions & {
535
- seedVars?: Record<string, Abs>;
536
- seedFns?: Record<string, {
537
- params: string[];
538
- body: Node;
539
- async?: boolean;
540
- }>;
541
- modules?: Record<string, AbsModuleExports>;
542
- }): {
543
- env: AstEnv;
544
- last: Abs;
545
- phi: Phi;
397
+
398
+ type AbsModuleExports = {
399
+ named: Record<string, Abs>;
400
+ default?: Abs;
546
401
  };
402
+ /** 把 import 说明符绑定进 env(宿主已求值依赖) */
403
+ declare function bindImports(node: ImportDeclaration, env: AstEnv, modules: Record<string, AbsModuleExports>): void;
547
404
  /**
548
- * 收集整文件的节点 → Abs 表(LSP 无损信息源)。
549
- * 自包含源码上一次 evalProgramAbs 即可;失败返回空表。
405
+ * 从已求值 env + AST 收集 ESM 导出。
406
+ * 支持:export function/const、export { a, b as c }、export default(具名)、
407
+ * 以及带 source 的 re-export(`export { a } from "mod"` / `export * from "mod"`——
408
+ * 需 host 传入已求值 modules)。
550
409
  */
551
- declare function collectAbsNodeTypes(source: string, opts?: EvalOptions & {
552
- seedVars?: Record<string, Abs>;
553
- seedFns?: Record<string, {
554
- params: string[];
555
- body: Node;
556
- async?: boolean;
557
- }>;
558
- }): Map<Node, Abs>;
559
- /** 按 loc 找最紧的节点 Abs(hover 用) */
560
- declare function findAbsAtPosition(nodeTypes: Map<Node, Abs>, line: number, column: number): Abs | undefined;
410
+ declare function collectAbsExports(file: File, env: AstEnv, modules?: Record<string, AbsModuleExports>): AbsModuleExports;
561
411
 
562
412
  /**
563
413
  * B 路径运行时:transpile 后的程序在 Node 上执行时,值就是 Abs。
@@ -593,6 +443,8 @@ declare function asAbsVal(v: unknown): Abs;
593
443
  declare function $fnVal(params: string[], impl: (...args: Abs[]) => Abs): Abs;
594
444
  /** 字面量 → Abs(transpile 侧数字/字符串/布尔/null/undefined) */
595
445
  declare function $lit(v: unknown): Abs;
446
+ /** JS 真值:字面量按 Boolean(v);对象形恒真;不可判 → undefined */
447
+ declare function litTruth(a: Abs): boolean | undefined;
596
448
  declare function isDefinitelyTrue(a: Abs): boolean;
597
449
  declare function isDefinitelyFalse(a: Abs): boolean;
598
450
  /**
@@ -614,19 +466,19 @@ declare function $forIter(init: Abs, test: (s: Abs) => Abs, step: (s: Abs) => Ab
614
466
  * 相邻态 leq 视为不动点提前停。
615
467
  */
616
468
  declare function $for(init: Abs, test: (s: Abs) => Abs, step: (s: Abs) => Abs, body: (s: Abs) => Abs, maxIters?: number): Abs;
617
- /** 数组字面量 → Abs tuple(长度已知) */
469
+ /** 数组字面量 → ≤cap tuple(逐元素精确)/ >cap arr;策略与 ast-eval 同源(containers.ts) */
618
470
  declare function $arr(items: Abs[]): Abs;
619
- /** 下标读 a[i];字面量 i 走 tuple 精确投影,否则并所有元素 */
471
+ /** 下标读 a[i];字面量 i 走 tuple 精确投影,否则并所有元素;string[i] → 单字符 */
620
472
  declare function $idx(a: Abs, i: Abs): Abs;
621
- /** 下标写 a[i]=v → 新 tuple */
473
+ /** 下标写 a[i]=v → 新 tuple(越界写按 JS 语义增长,空洞为 undefined) */
622
474
  declare function $idxSet(a: Abs, i: Abs, value: Abs): Abs;
623
- /** 数组长度 */
475
+ /** 数组/字符串长度 */
624
476
  declare function $len(a: Abs): Abs;
625
477
  /** 对象字面量 → Abs obj */
626
478
  declare function $obj(slots: Record<string, Abs>): Abs;
627
479
  /** 对象展开 { ...a, b } */
628
480
  declare function $spread(a: Abs, b: Abs): Abs;
629
- /** 数组连接 [...a, ...b] / [...a, x] */
481
+ /** 数组连接 [...a, ...b] / [...a, x];结果超 cap 时与字面量同策略降 arr */
630
482
  declare function $concat(a: Abs, b: Abs): Abs;
631
483
  /** 元素列表(tuple 展开;arr 抽象) */
632
484
  declare function $elems(a: Abs): Abs[];
@@ -635,6 +487,13 @@ declare function $elems(a: Abs): Abs[];
635
487
  * body(item, i) 可返回 void;状态由外部 JS 变量承接。
636
488
  */
637
489
  declare function $forOf(iterable: Abs, body: (item: Abs, index: Abs) => void, maxIters?: number): void;
490
+ /**
491
+ * 命名空间身份表:transpile 后 `Math.max(0, x)` 的接收者是宿主 JS 全局对象
492
+ * (非 Abs)。按对象身份识别命名空间,路由到 Abs builtin 表。
493
+ */
494
+ declare function namespaceNameOf(v: unknown): string | undefined;
495
+ /** 正则字面量 → RegExp brand(source/flags 进 slots,供 exec/test 精确执行) */
496
+ declare function $regex(pattern: string, flags?: string): Abs;
638
497
  /** 成员读:obj.slots[key];缺失 → undefined 字面量;brand 解包内层 */
639
498
  declare function $get(o: Abs, key: string, opts?: {
640
499
  silent?: boolean;
@@ -899,4 +758,4 @@ declare function callTranspiledExportFull(exports: Record<string, unknown>, name
899
758
  /** 调用 runTranspiled 导出(仅结果) */
900
759
  declare function callTranspiledExport(exports: Record<string, unknown>, name: string, args: Abs[]): Abs;
901
760
 
902
- export { $add as $, type AstEnv as A, $invoke as B, type Confidence as C, $invokeSuper as D, $join as E, $le as F, $len as G, type HofSite as H, $lit as I, $lt as J, $mod as K, type LeakBudget as L, $mul as M, $ne as N, $neg as O, type Phi as P, $new as Q, type RelSource as R, type Shape as S, type Term as T, $not as U, $obj as V, $optionalGet as W, $optionalInvoke as X, $orDefault as Y, $set as Z, $setKey as _, type Abs as a, geNum as a$, $spread as a0, $staticInvoke as a1, $sub as a2, $super as a3, $switch as a4, $thisGet as a5, $thisSet as a6, $throw as a7, $typeof as a8, $while as a9, applyCallbackAbs as aA, asAbs as aB, asAbsVal as aC, betaOf as aD, bindImports as aE, bool as aF, boolLit as aG, callFunction as aH, callTranspiledExport as aI, callTranspiledExportFull as aJ, clearBClasses as aK, collectAbsExports as aL, collectAbsNodeTypes as aM, confJoin as aN, createHofCollectCtx as aO, currentExecPhi as aP, defaultLeakBudget as aQ, emptyEnv as aR, emptyPhi as aS, eq as aT, evalMethodBody as aU, evalNode as aV, evalProgramAbs as aW, evalSource as aX, exceedsBudget as aY, findAbsAtPosition as aZ, ge as a_, $whileSeq as aa, $yield as ab, type AbsAssignRecord as ac, type AbsCallRecord as ad, type AbsModuleExports as ae, type BCallRecord as af, type BClassSpec as ag, type BMemberDiag as ah, DEFAULT_MAX_LOOP_ITERS as ai, type EvalOptions as aj, type EvalResult as ak, type HofCollectCtx as al, MAX_CALL_DEPTH as am, MAX_TOTAL_CALLS as an, NudoThrow as ao, type RunTranspiledOptions as ap, type TranspileOptions as aq, type TranspiledCallResult as ar, abs as as, absToString as at, alphaOf as au, analyzeFn as av, and as aw, anyVar as ax, app as ay, applyAbsFn as az, type Pred as b, substPredAbs as b$, getAbsOrigin as b0, getBCallCollector as b1, getBClass as b2, gt as b3, gtNum as b4, implies as b5, instantiateReturn as b6, isDefinitelyFalse as b7, isDefinitelyTrue as b8, isExactLit as b9, phiAnd as bA, predEquals as bB, predToString as bC, predVars as bD, projectFlatMapResult as bE, promoteParamShape as bF, ptypeof as bG, recordMemberDiag as bH, registerBClass as bI, resetAbsCallBudget as bJ, resetLeakCounter as bK, runTranspiled as bL, setAbsAssignCollector as bM, setAbsCallCollector as bN, setAbsNodeCollector as bO, setAbsTruncationCollector as bP, setApplyCallbackHost as bQ, setBCallCollector as bR, setMemberDiagCollector as bS, shapeOfTerm as bT, shapeToString as bU, simplifyTerm as bV, snapshotAbs as bW, str as bX, strLit as bY, substAbs as bZ, substPred as b_, isNudoThrow as ba, isNumPrim as bb, isRelFn as bc, isStrPrim as bd, le as be, leNum as bf, leakIfNeeded as bg, lit as bh, litValue as bi, lt as bj, ltNum as bk, mapElementFallback as bl, maybeLeak as bm, ne as bn, never as bo, not as bp, noteMemberDispatchMiss as bq, notePrimMemberMissing as br, noteUnknownMemberMissing as bs, num as bt, numLit as bu, numVar as bv, obj as bw, or as bx, pFalse as by, pTrue as bz, type PrimName as c, tagAbsOrigin as c0, termDepth as c1, termEquals as c2, termNodes as c3, termToString as c4, transpile as c5, transpileExpression as c6, transpileFile as c7, transpileSource as c8, tryPromoteDirectCall as c9, tryPromoteForOfIteratee as ca, tryPromoteHofCallback as cb, tryPromoteReceiverAsArr as cc, undefAbs as cd, unknown as ce, v as cf, withExecPhi as cg, withVar as ch, $arr as d, $async as e, $asyncReturn as f, $await as g, $call as h, $callNamed as i, $catchVal as j, $class as k, $concat as l, $div as m, $elems as n, $eq as o, $fnVal as p, $for as q, $forIter as r, $forOf as s, $fork as t, $ge as u, $gen as v, $get as w, $gt as x, $idx as y, $idxSet as z };
761
+ export { $add as $, type AstEnv as A, $idxSet as B, type Confidence as C, $invoke as D, $invokeSuper as E, $join as F, $le as G, type HofSite as H, $len as I, $lit as J, $lt as K, $mod as L, $mul as M, $ne as N, $neg as O, type Phi as P, $new as Q, type RelSource as R, type Shape as S, type Term as T, $not as U, $obj as V, $optionalGet as W, $optionalInvoke as X, $orDefault as Y, $regex as Z, $set as _, type Abs as a, litTruth as a$, $setKey as a0, $spread as a1, $staticInvoke as a2, $sub as a3, $super as a4, $switch as a5, $thisGet as a6, $thisSet as a7, $throw as a8, $typeof as a9, callTranspiledExportFull as aA, clearBClasses as aB, collectAbsExports as aC, confJoin as aD, createHofCollectCtx as aE, currentExecPhi as aF, emptyPhi as aG, eq as aH, ge as aI, geNum as aJ, getAbsOrigin as aK, getBCallCollector as aL, getBClass as aM, gt as aN, gtNum as aO, implies as aP, instantiateReturn as aQ, isDefinitelyFalse as aR, isDefinitelyTrue as aS, isExactLit as aT, isNudoThrow as aU, isNumPrim as aV, isRelFn as aW, isStrPrim as aX, le as aY, leNum as aZ, lit as a_, $while as aa, $whileSeq as ab, $yield as ac, type BCallRecord as ad, type BClassSpec as ae, type BMemberDiag as af, DEFAULT_MAX_LOOP_ITERS as ag, type HofCollectCtx as ah, NudoThrow as ai, type RunTranspiledOptions as aj, type TranspileOptions as ak, type TranspiledCallResult as al, abs as am, absToString as an, alphaOf as ao, and as ap, anyVar as aq, app as ar, applyCallbackAbs as as, asAbs as at, asAbsVal as au, betaOf as av, bindImports as aw, bool as ax, boolLit as ay, callTranspiledExport as az, type Pred as b, litValue as b0, lt as b1, ltNum as b2, mapElementFallback as b3, namespaceNameOf as b4, ne as b5, never as b6, not as b7, noteMemberDispatchMiss as b8, notePrimMemberMissing as b9, strLit as bA, substAbs as bB, substPred as bC, substPredAbs as bD, tagAbsOrigin as bE, termEquals as bF, termToString as bG, transpile as bH, transpileExpression as bI, transpileFile as bJ, transpileSource as bK, tryPromoteDirectCall as bL, tryPromoteForOfIteratee as bM, tryPromoteHofCallback as bN, tryPromoteReceiverAsArr as bO, undefAbs as bP, unknown as bQ, v as bR, withExecPhi as bS, noteUnknownMemberMissing as ba, num as bb, numLit as bc, numVar as bd, obj as be, or as bf, pFalse as bg, pTrue as bh, phiAnd as bi, predEquals as bj, predToString as bk, predVars as bl, projectFlatMapResult as bm, promoteParamShape as bn, ptypeof as bo, recordMemberDiag as bp, registerBClass as bq, runTranspiled as br, setApplyCallbackHost as bs, setBCallCollector as bt, setMemberDiagCollector as bu, shapeOfTerm as bv, shapeToString as bw, simplifyTerm as bx, snapshotAbs as by, str as bz, type AbsModuleExports as c, type PrimName as d, $arr as e, $async as f, $asyncReturn as g, $await as h, $call as i, $callNamed as j, $catchVal as k, $class as l, $concat as m, $div as n, $elems as o, $eq as p, $fnVal as q, $for as r, $forIter as s, $forOf as t, $fork as u, $ge as v, $gen as w, $get as x, $gt as y, $idx as z };