meaoiu 0.1.6 → 0.1.7

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.
Files changed (45) hide show
  1. package/README.md +2 -5
  2. package/dist/api/serviceState.d.ts +2 -2
  3. package/dist/api/serviceState.d.ts.map +1 -1
  4. package/dist/api/services/completions.d.ts.map +1 -1
  5. package/dist/api/services/completions.js.map +1 -1
  6. package/dist/api/services/formatting.js.map +1 -1
  7. package/dist/api/services/search.d.ts +2 -2
  8. package/dist/api/services/search.d.ts.map +1 -1
  9. package/dist/api/utils/astUtils.d.ts +1 -1
  10. package/dist/api/utils/astUtils.d.ts.map +1 -1
  11. package/dist/api/utils/astUtils.js.map +1 -1
  12. package/dist/api/utils/symbolAnalyzer.d.ts.map +1 -1
  13. package/dist/api/utils/symbolAnalyzer.js +4 -5
  14. package/dist/api/utils/symbolAnalyzer.js.map +1 -1
  15. package/dist/api/utils/symbolTable.d.ts +2 -2
  16. package/dist/api/utils/symbolTable.d.ts.map +1 -1
  17. package/dist/cli/main.js +20 -24
  18. package/dist/cli/main.js.map +1 -1
  19. package/dist/cli/tools/toolUtils.d.ts.map +1 -1
  20. package/dist/cli/tools/toolUtils.js +4 -6
  21. package/dist/cli/tools/toolUtils.js.map +1 -1
  22. package/dist/core/ast.d.ts +4 -4
  23. package/dist/core/ast.d.ts.map +1 -1
  24. package/dist/core/builtIns.d.ts +1 -1
  25. package/dist/core/builtIns.d.ts.map +1 -1
  26. package/dist/core/builtIns.js.map +1 -1
  27. package/dist/core/run/environment.d.ts +15 -26
  28. package/dist/core/run/environment.d.ts.map +1 -1
  29. package/dist/core/run/environment.js +80 -110
  30. package/dist/core/run/environment.js.map +1 -1
  31. package/dist/core/run/interpreter.d.ts.map +1 -1
  32. package/dist/core/run/interpreter.js +2 -2
  33. package/dist/core/run/interpreter.js.map +1 -1
  34. package/dist/core/run/value.d.ts +3 -1
  35. package/dist/core/run/value.d.ts.map +1 -1
  36. package/dist/core/run/value.js +3 -0
  37. package/dist/core/run/value.js.map +1 -1
  38. package/dist/core/typedef.d.ts +7 -3
  39. package/dist/core/typedef.d.ts.map +1 -1
  40. package/dist/core/typedef.js.map +1 -1
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +1 -0
  44. package/dist/index.js.map +1 -1
  45. package/package.json +2 -2
@@ -1,47 +1,36 @@
1
1
  import type * as AST from '../ast.js';
2
2
  import { type MeaoiuValue } from '../typedef.js';
3
- import { type Evaluated, type ReferenceLink } from './value.js';
3
+ import { type Evaluated, type ReferenceLink, type VarKey } from './value.js';
4
4
  export declare class Environment {
5
5
  readonly id: number;
6
6
  private static idCounter;
7
7
  private parent;
8
8
  private readonly variables;
9
9
  private readonly functions;
10
- readonly orderedVariableKeys: (string | number)[];
10
+ readonly orderedVariableKeys: VarKey[];
11
11
  constructor(parent?: Environment);
12
- static markReferenceMoved(ref: ReferenceLink): void;
12
+ static markReferenceMoved({ scope, key }: ReferenceLink): void;
13
13
  static resolveValue(this: void, value: Evaluated): MeaoiuValue;
14
- /**
15
- * 剥离层级关系,避免从纸箱往外摸
16
- */
14
+ /** 剥离层级关系,避免从纸箱往外摸 */
17
15
  isolate(): this;
18
- hasVariable(key: string | number): boolean;
19
- /**
20
- * 声明新变量(不包含赋值)。
21
- */
22
- declare(key: string | number): ReferenceLink;
23
- /**
24
- * 为已存在的变量赋值。
25
- */
26
- assign(key: string | number, value: Evaluated, operator: AST.AssignmentStatement['operator']): ReferenceLink;
27
- lookup(key: string | number, originalKey?: string | number, checkMoved?: boolean): ReferenceLink;
28
- private findVariableScope;
16
+ hasVariable(key: VarKey): boolean;
17
+ /** 检查当前环境是否在边界内 */
18
+ isInsideOf(boundary: Maybe<Environment>): boolean;
29
19
  declareFunction(name: string, func: AST.FunctionDeclaration): void;
30
- findFunction(name: string): AST.FunctionDeclaration | undefined;
31
- declareReference(key: string | number, targetScope: Environment, targetKey: string | number): void;
32
- addMember(key: string | number, value: Evaluated): ReferenceLink;
20
+ findFunction(name: string): Maybe<AST.FunctionDeclaration>;
21
+ lookup(key: VarKey, movedSensitive?: boolean, throwUndeclared?: boolean): ReferenceLink;
22
+ /** 声明全新空变量 */
23
+ declare(key: VarKey): ReferenceLink;
24
+ /** 为已有变量赋值 */
25
+ assign(key: VarKey, value: Evaluated, operator: AST.AssignmentStatement['operator']): ReferenceLink;
26
+ addMember(key: VarKey, value: Evaluated): ReferenceLink;
33
27
  createShallowCopy(): Environment;
34
28
  /**
35
29
  * 创建一个「合并视图」。
36
30
  * 将创建一个新纸箱,该纸箱按顺序包含来自 A (this) 和 B (other) 的所有引用。
37
- * 自动生成的键(}?{)会被重命名以保证顺序。
38
- * 用户定义的键如果冲突,A 优先。
31
+ * 自动生成的键会被重命名以保证顺序,用户定义的键如果冲突,A 优先。
39
32
  */
40
33
  createMergedView(other: Environment): Environment;
41
- /**
42
- * 检查当前环境是否严格位于 ancestor 的「内部」。
43
- */
44
- isInsideOf(ancestor: Environment | undefined): boolean;
45
34
  toString(): string;
46
35
  get length(): number;
47
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/core/run/environment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAIN,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,MAAM,YAAY,CAAC;AAKpB,qBAAa,WAAW;IACvB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAK;IAC7B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgD;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAC7E,SAAgB,mBAAmB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAM;IAE9D,YAAY,MAAM,CAAC,EAAE,WAAW,EAI/B;IAED,OAAc,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAEzD;IAED,OAAc,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,WAAW,CAIpE;IAED;;OAEG;IACI,OAAO,SAEb;IAEM,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAEhD;IAED;;OAEG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAMlD;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,aAAa,CAmClH;IAEM,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,kBAAM,EAAmB,UAAU,UAAO,GAAG,aAAa,CA2BxG;IAED,OAAO,CAAC,iBAAiB;IAIlB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAExE;IACM,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAErE;IAEM,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIxG;IAEM,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,aAAa,CAEtE;IAEM,iBAAiB,IAAI,WAAW,CAOtC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAkCvD;IAED;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAM5D;IAEM,QAAQ,IAAI,MAAM,CAIxB;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;CACD"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/core/run/environment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAKN,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,MAAM,EACX,MAAM,YAAY,CAAC;AAgBpB,qBAAa,WAAW;IACvB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAK;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAC7E,SAAgB,mBAAmB,EAAE,MAAM,EAAE,CAAM;IAEnD,YAAY,MAAM,CAAC,EAAE,WAAW,EAI/B;IAED,OAAc,kBAAkB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,aAAa,GAAG,IAAI,CAEpE;IACD,OAAc,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,WAAW,CAIpE;IAED,sBAAsB;IACf,OAAO,SAEb;IAEM,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvC;IAED,mBAAmB;IACZ,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,OAAO,CAIvD;IAEM,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAExE;IACM,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAIhE;IAEM,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,UAAO,EAAE,eAAe,UAAQ,GAAG,aAAa,CAqBxF;IAED,cAAc;IACP,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAMzC;IAED,cAAc;IACP,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,aAAa,CAyBzG;IAEM,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,aAAa,CAE7D;IAEM,iBAAiB,IAAI,WAAW,CAItC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAevD;IAEM,QAAQ,IAAI,MAAM,CAIxB;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;CACD"}
@@ -1,8 +1,19 @@
1
1
  // src/core/run/environment.ts
2
2
  import logger from '../run/logger.js';
3
- import { isReferenceLink, isSignal, } from './value.js';
3
+ import { isReferenceLink, isSignal, referenceLinkTo, } from './value.js';
4
4
  // 防碰撞自动变量名
5
5
  const isAutoKey = (key) => typeof key === 'number';
6
+ const DO_NOTHING = () => { };
7
+ const throwIfMoved = (env, key, originalKey, moved) => {
8
+ if (!moved)
9
+ return;
10
+ const errorMessage = isAutoKey(key)
11
+ ? `纸箱里的「${env.orderedVariableKeys.indexOf(key) + 1}」号玩具不见了,一定是被谁拿走了喵!`
12
+ : key === originalKey
13
+ ? `藏在「${key}」里的东西被拿走了,现在是只空碗喵!`
14
+ : `碰不到「${key}」,因为它的本体「${originalKey}」被拿走了喵!`;
15
+ throw new Error(`喵呜!${errorMessage}`);
16
+ };
6
17
  export class Environment {
7
18
  id;
8
19
  static idCounter = 0;
@@ -15,8 +26,8 @@ export class Environment {
15
26
  this.id = Environment.idCounter++;
16
27
  logger.debug(`[ENV] 新建环境 #${this.id} (上级: ${this.parent?.id ?? '无'})`);
17
28
  }
18
- static markReferenceMoved(ref) {
19
- ref.scope.variables.get(ref.key).moved = true;
29
+ static markReferenceMoved({ scope, key }) {
30
+ scope.variables.get(key).moved = true;
20
31
  }
21
32
  static resolveValue(value) {
22
33
  if (isSignal(value))
@@ -25,37 +36,69 @@ export class Environment {
25
36
  value = value.scope.variables.get(value.key).value;
26
37
  return value;
27
38
  }
28
- /**
29
- * 剥离层级关系,避免从纸箱往外摸
30
- */
39
+ /** 剥离层级关系,避免从纸箱往外摸 */
31
40
  isolate() {
32
41
  return ((this.parent = undefined), this);
33
42
  }
34
43
  hasVariable(key) {
35
44
  return this.variables.has(key);
36
45
  }
37
- /**
38
- * 声明新变量(不包含赋值)。
39
- */
46
+ /** 检查当前环境是否在边界内 */
47
+ isInsideOf(boundary) {
48
+ if (!boundary)
49
+ return false;
50
+ for (let current = this; current; current = current.parent)
51
+ if (current === boundary)
52
+ return true;
53
+ return false;
54
+ }
55
+ declareFunction(name, func) {
56
+ this.functions.set(name, func);
57
+ }
58
+ findFunction(name) {
59
+ let func;
60
+ for (let scope = this; scope && !(func = scope.functions.get(name)); scope = scope.parent)
61
+ ;
62
+ return func;
63
+ }
64
+ lookup(key, movedSensitive = true, throwUndeclared = false) {
65
+ let scope = this; // 把 let originalScope 放这 TS 会懵
66
+ while (!scope.variables.has(key)) {
67
+ if ((scope = scope.parent))
68
+ continue;
69
+ if (throwUndeclared)
70
+ throw new Error(`还不认识「${key}」喵!要先“蹭”一下喵!`);
71
+ const notFunctionName = isAutoKey(key) || !this.findFunction(key);
72
+ const errorMessage = notFunctionName
73
+ ? `没找到叫做「${key}」的玩具,是不是被你藏起来了`
74
+ : `是不是想把${"\u8BA1\u8C0B" /* TypeName.FUNCTION */}「${key}」当成玩具`;
75
+ throw new Error(`咦?${errorMessage}喵?`);
76
+ }
77
+ // 引用链循环追踪
78
+ const checkMoved = movedSensitive ? throwIfMoved : DO_NOTHING;
79
+ for (let originalScope = scope, originalKey = key;;) {
80
+ const { value, moved } = originalScope.variables.get(originalKey);
81
+ checkMoved(this, key, originalKey, moved);
82
+ logger.debug(`[ENV #${this.id}] 查找: 在环境 #${originalScope.id} 中找到「${originalKey}」`);
83
+ if (!isReferenceLink(value))
84
+ return referenceLinkTo(originalScope, originalKey);
85
+ ({ scope: originalScope, key: originalKey } = value);
86
+ }
87
+ }
88
+ /** 声明全新空变量 */
40
89
  declare(key) {
41
90
  if (this.variables.has(key))
42
91
  throw new Error(`变量「${key}」已经被“蹭”过一次了喵!`);
43
92
  logger.debug(`[ENV #${this.id}] 声明: 变量「${key}」`);
44
93
  this.variables.set(key, { value: null, moved: false });
45
94
  this.orderedVariableKeys.push(key);
46
- return this.lookup(key);
95
+ return referenceLinkTo(this, key);
47
96
  }
48
- /**
49
- * 为已存在的变量赋值。
50
- */
97
+ /** 为已有变量赋值 */
51
98
  assign(key, value, operator) {
52
- // 查找并追踪目标的最终存放位置
53
- let targetScope = this.findVariableScope(key), targetKey = key;
54
- if (!targetScope)
55
- throw new Error(`还不认识「${key}」喵!要先“蹭”一下喵!`);
56
- // 顺着引用链一直往下找,找到真正的「碗」
57
- for (let targetVar; (targetVar = targetScope.variables.get(targetKey)) && isReferenceLink(targetVar.value); { scope: targetScope, key: targetKey } = targetVar.value)
58
- ;
99
+ // 查找目标,找到真正的「碗」
100
+ const referenceLink = this.lookup(key, false, true);
101
+ const { scope: targetScope, key: targetKey } = referenceLink;
59
102
  // 在最终位置赋值
60
103
  let finalValue;
61
104
  if (operator === 6 /* TokenKind.ASSIGNMENT_IS */) {
@@ -66,119 +109,46 @@ export class Environment {
66
109
  }
67
110
  else {
68
111
  finalValue = Environment.resolveValue(value);
69
- if (operator === 8 /* TokenKind.ASSIGNMENT_ONLY */) {
70
- if (isReferenceLink(value))
71
- Environment.markReferenceMoved(value); // 引用被移动,标记为「已移动」
72
- }
73
- else if (operator === 7 /* TokenKind.ASSIGNMENT_LIKE */ && finalValue instanceof Environment) {
74
- finalValue = finalValue.createShallowCopy(); // 复制一个纸箱,实际上是创建一个「视图」
112
+ if (operator === 7 /* TokenKind.ASSIGNMENT_LIKE */) {
113
+ if (finalValue instanceof Environment)
114
+ finalValue = finalValue.createShallowCopy(); // 复制纸箱即创建「视图」
75
115
  }
116
+ else if (operator === 8 /* TokenKind.ASSIGNMENT_ONLY */ && isReferenceLink(value))
117
+ Environment.markReferenceMoved(value); // 引用被移动,打上标记
76
118
  }
77
119
  targetScope.variables.set(targetKey, { value: finalValue, moved: false });
78
120
  logger.debug(`[ENV #${this.id}] 赋值: 环境 #${targetScope.id} 中的「${targetKey}」被赋予 (方式: ${operator}) 值:`, finalValue);
79
- return targetScope.lookup(targetKey);
80
- }
81
- lookup(key, originalKey = key /* 未定源时为第一环查询 */, checkMoved = true) {
82
- // 查找符号
83
- const scope = this.findVariableScope(key);
84
- if (!scope) {
85
- const errorMessage = !isAutoKey(key) && this.findFunction(key)
86
- ? `是不是想把${"\u8BA1\u8C0B" /* TypeName.FUNCTION */}「${key}」当成玩具喵?`
87
- : `没找到叫做「${key}」的玩具,是不是被你藏起来了喵?`;
88
- throw new Error(`咦?${errorMessage}`);
89
- }
90
- const { value, moved } = scope.variables.get(key);
91
- // 检查「已移动」状态
92
- if (moved && checkMoved) {
93
- const errorMessage = isAutoKey(originalKey)
94
- ? `纸箱里的「${this.orderedVariableKeys.indexOf(originalKey) + 1}」号玩具不见了,一定是被谁拿走了喵!`
95
- : originalKey === key
96
- ? `藏在「${originalKey}」里的东西被拿走了,现在是只空碗喵!`
97
- : `碰不到「${originalKey}」,因为它的本体「${key}」被拿走了喵!`; // 起终点不一致,报告起终点
98
- throw new Error(`喵呜!${errorMessage}`);
99
- }
100
- logger.debug(`[ENV #${this.id}] 查找: 在环境 #${scope.id} 中找到「${key}」`);
101
- // 递归查找(继续传递 originalKey)
102
- if (isReferenceLink(value))
103
- return value.scope.lookup(value.key, originalKey, checkMoved);
104
- return { isReference: true, scope, key };
105
- }
106
- findVariableScope(key) {
107
- return this.variables.has(key) ? this : this.parent?.findVariableScope(key);
108
- }
109
- declareFunction(name, func) {
110
- this.functions.set(name, func);
111
- }
112
- findFunction(name) {
113
- return this.functions.get(name) ?? this.parent?.findFunction(name);
114
- }
115
- declareReference(key, targetScope, targetKey) {
116
- if (this.variables.has(key))
117
- throw new Error(`已经“蹭”过一次「${key}」了喵!`);
118
- this.variables.set(key, { value: { isReference: true, scope: targetScope, key: targetKey }, moved: false });
119
- this.orderedVariableKeys.push(key); // 确保引用也被添加到有序列表中
121
+ return referenceLink;
120
122
  }
121
123
  addMember(key, value) {
122
124
  return (this.declare(key), this.assign(key, value, 6 /* TokenKind.ASSIGNMENT_IS */));
123
125
  }
124
126
  createShallowCopy() {
125
127
  const newEnv = new Environment();
126
- for (const varKey of this.orderedVariableKeys) {
127
- const { scope: originalScope, key: originalKey } = this.lookup(varKey, undefined, false);
128
- newEnv.declareReference(varKey, originalScope, originalKey);
129
- }
128
+ for (const key of this.orderedVariableKeys)
129
+ newEnv.addMember(key, this.lookup(key, false));
130
130
  return newEnv;
131
131
  }
132
132
  /**
133
133
  * 创建一个「合并视图」。
134
134
  * 将创建一个新纸箱,该纸箱按顺序包含来自 A (this) 和 B (other) 的所有引用。
135
- * 自动生成的键(}?{)会被重命名以保证顺序。
136
- * 用户定义的键如果冲突,A 优先。
135
+ * 自动生成的键会被重命名以保证顺序,用户定义的键如果冲突,A 优先。
137
136
  */
138
137
  createMergedView(other) {
139
138
  const newEnv = new Environment();
140
- const addedKeys = new Set();
141
139
  let autoIndexCounter = 0; // 为新视图创建全新的自动索引
142
- // 1. 添加来自 A (this) 的所有引用
143
- for (const varKey of this.orderedVariableKeys) {
144
- const { scope: originalScope, key: originalKey } = this.lookup(varKey, undefined, false);
145
- if (isAutoKey(varKey)) {
146
- // 重命名自动键
147
- newEnv.declareReference(autoIndexCounter++, originalScope, originalKey);
148
- }
149
- else {
150
- // 添加用户定义的键
151
- newEnv.declareReference(varKey, originalScope, originalKey);
152
- addedKeys.add(varKey);
153
- }
140
+ // 1. 添加来自 A (this) 的所有引用。用户键直接用
141
+ for (const key of this.orderedVariableKeys) {
142
+ newEnv.addMember(isAutoKey(key) ? autoIndexCounter++ : key, this.lookup(key, false));
154
143
  }
155
- // 2. 添加来自 B (other) 的引用
156
- for (const varKey of other.orderedVariableKeys) {
157
- const { scope: originalScope, key: originalKey } = other.lookup(varKey, undefined, false);
158
- if (isAutoKey(varKey)) {
159
- // 总是添加并重命名自动键
160
- newEnv.declareReference(autoIndexCounter++, originalScope, originalKey);
161
- }
162
- else if (!addedKeys.has(varKey)) {
163
- // 用户定义的键,检查冲突
164
- newEnv.declareReference(varKey, originalScope, originalKey);
165
- addedKeys.add(varKey);
166
- }
144
+ // 2. 添加来自 B (other) 的引用。用户键弃重复
145
+ for (const key of other.orderedVariableKeys) {
146
+ const targetKey = isAutoKey(key) ? autoIndexCounter++ : newEnv.hasVariable(key) ? null : key;
147
+ if (targetKey !== null)
148
+ newEnv.addMember(targetKey, other.lookup(key, false));
167
149
  }
168
150
  return newEnv;
169
151
  }
170
- /**
171
- * 检查当前环境是否严格位于 ancestor 的「内部」。
172
- */
173
- isInsideOf(ancestor) {
174
- if (!ancestor)
175
- return false;
176
- for (let current = this; current; current = current.parent) {
177
- if (current === ancestor)
178
- return true;
179
- }
180
- return false;
181
- }
182
152
  toString() {
183
153
  return `[= ${this.orderedVariableKeys
184
154
  .map((key, index) => (isAutoKey(key) ? `(${index + 1})` : `{${key}}`))
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/core/run/environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/core/run/environment.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../../src/core/run/interpreter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAWjG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAIN,KAAK,SAAS,EAMd,MAAM,YAAY,CAAC;AAEpB,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AACrG,mBAAW,UAAU;IACpB,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,IAAI,IAAA;CACJ;AAmBD,wBAAsB,QAAQ,CAC7B,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,GAAE,UAA8B,GACxC,OAAO,CAAC,SAAS,CAAC,CAiYpB"}
1
+ {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../../src/core/run/interpreter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAWjG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAIN,KAAK,SAAS,EAQd,MAAM,YAAY,CAAC;AAEpB,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AACrG,mBAAW,UAAU;IACpB,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,IAAI,IAAA;CACJ;AAmBD,wBAAsB,QAAQ,CAC7B,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,GAAE,UAA8B,GACxC,OAAO,CAAC,SAAS,CAAC,CAiYpB"}
@@ -4,7 +4,7 @@ import { errorFrom, MeaoiuError } from '../error.js';
4
4
  import { checkArithmeticOperation, checkComparisonOperation, getMeaoiuType, } from '../typedef.js';
5
5
  import { Environment } from './environment.js';
6
6
  import logger from './logger.js';
7
- import { BREAK_SIGNAL, CONTINUE_SIGNAL, isReferenceLink, isSignal, LoopValue, ReturnValue, } from './value.js';
7
+ import { BREAK_SIGNAL, CONTINUE_SIGNAL, isReferenceLink, isSignal, LoopValue, referenceLinkTo, ReturnValue, } from './value.js';
8
8
  const ReturnOrAmbush = {
9
9
  [5 /* NodeKind.ReturnStatement */]: {
10
10
  emptySignal: new ReturnValue(null),
@@ -298,7 +298,7 @@ export async function evaluate(node, env, builtIns, boundaryEnv, newEnvMode = 0
298
298
  const paramName = paramNames[i];
299
299
  const argVarKey = argsCollection.orderedVariableKeys[i];
300
300
  // 创建从“函数参数名”到“调用纸箱中变量”的引用
301
- functionEnv.declareReference(paramName, argsCollection, argVarKey);
301
+ functionEnv.addMember(paramName, referenceLinkTo(argsCollection, argVarKey));
302
302
  }
303
303
  const result = await evaluate(func.body, functionEnv, builtIns, { ...boundaryEnv, [5 /* NodeKind.ReturnStatement */]: functionEnv }, 1 /* NewEnvMode.FUNC */);
304
304
  if (result instanceof ReturnValue)
@@ -1 +1 @@
1
- {"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/core/run/interpreter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/core/run/interpreter.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import type { MeaoiuValue } from '../typedef.js';
2
2
  import type { Environment } from './environment.js';
3
+ export type VarKey = string | number;
3
4
  export type ReferenceLink = {
4
5
  isReference: true;
5
6
  scope: Environment;
6
- key: string | number;
7
+ key: VarKey;
7
8
  };
8
9
  export type VariableValue = ReferenceLink | MeaoiuValue;
9
10
  export type EnvVariable = {
@@ -35,6 +36,7 @@ export declare const BREAK_SIGNAL: EmptySignal<SignalKind.BREAK>;
35
36
  export declare const CONTINUE_SIGNAL: EmptySignal<SignalKind.CONTINUE>;
36
37
  type ControlSignal = ReturnValue | LoopValue | EmptySignal<SignalKind.BREAK> | EmptySignal<SignalKind.CONTINUE>;
37
38
  export type Evaluated = VariableValue | ControlSignal;
39
+ export declare function referenceLinkTo(scope: Environment, key: VarKey): ReferenceLink;
38
40
  export declare function isReferenceLink(value: Evaluated): value is ReferenceLink;
39
41
  export declare function isSignal(value: Evaluated): value is ControlSignal;
40
42
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../src/core/run/value.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG;IAAE,WAAW,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAC5F,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnE,0BAAkB,UAAU;IAC3B,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,QAAQ,IAAA;CACR;AACD,uBAAe,MAAM,CAAC,CAAC,SAAS,UAAU;aACb,UAAU,EAAE,CAAC;IAAzC,YAA4B,UAAU,EAAE,CAAC,EAAI;CAC7C;AAED,qBAAa,WAAY,SAAQ,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;aAC7B,KAAK,EAAE,SAAS;IAA5C,YAA4B,KAAK,EAAE,SAAS,EAE3C;CACD;AAED,qBAAa,SAAU,SAAQ,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;aACzB,KAAK,EAAE,SAAS;IAA5C,YAA4B,KAAK,EAAE,SAAS,EAE3C;CACD;AACD,qBAAa,WAAW,CAAC,CAAC,SAAS,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IAC3F,YAAY,IAAI,EAAE,CAAC,EAElB;CACD;AACD,eAAO,MAAM,YAAY,+BAAoC,CAAC;AAC9D,eAAO,MAAM,eAAe,kCAAuC,CAAC;AAEpE,KAAK,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAChH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;AAEtD,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,aAAa,CAExE;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,aAAa,CAEjE"}
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../src/core/run/value.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACrC,MAAM,MAAM,aAAa,GAAG;IAAE,WAAW,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AACnF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnE,0BAAkB,UAAU;IAC3B,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,QAAQ,IAAA;CACR;AACD,uBAAe,MAAM,CAAC,CAAC,SAAS,UAAU;aACb,UAAU,EAAE,CAAC;IAAzC,YAA4B,UAAU,EAAE,CAAC,EAAI;CAC7C;AAED,qBAAa,WAAY,SAAQ,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;aAC7B,KAAK,EAAE,SAAS;IAA5C,YAA4B,KAAK,EAAE,SAAS,EAE3C;CACD;AAED,qBAAa,SAAU,SAAQ,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;aACzB,KAAK,EAAE,SAAS;IAA5C,YAA4B,KAAK,EAAE,SAAS,EAE3C;CACD;AACD,qBAAa,WAAW,CAAC,CAAC,SAAS,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IAC3F,YAAY,IAAI,EAAE,CAAC,EAElB;CACD;AACD,eAAO,MAAM,YAAY,+BAAoC,CAAC;AAC9D,eAAO,MAAM,eAAe,kCAAuC,CAAC;AAEpE,KAAK,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAChH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;AAEtD,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAE9E;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,aAAa,CAExE;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,aAAa,CAEjE"}
@@ -28,6 +28,9 @@ export class EmptySignal extends Signal {
28
28
  }
29
29
  export const BREAK_SIGNAL = new EmptySignal(2 /* SignalKind.BREAK */); // '累了~'
30
30
  export const CONTINUE_SIGNAL = new EmptySignal(3 /* SignalKind.CONTINUE */); //'偷袭~'
31
+ export function referenceLinkTo(scope, key) {
32
+ return { isReference: true, scope, key };
33
+ }
31
34
  export function isReferenceLink(value) {
32
35
  return !!value?.isReference;
33
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../src/core/run/value.ts"],"names":[],"mappings":"AAAA,wBAAwB;AAexB,MAAe,MAAM;IACQ,UAAU;IAAtC,YAA4B,UAAa;0BAAb,UAAU;IAAM,CAAC;CAC7C;AACD,aAAa;AACb,MAAM,OAAO,WAAY,SAAQ,MAAyB;IAC7B,KAAK;IAAjC,YAA4B,KAAgB;QAC3C,KAAK,2BAAmB,CAAC;qBADE,KAAK;IAEjC,CAAC;CACD;AACD,YAAY;AACZ,MAAM,OAAO,SAAU,SAAQ,MAAuB;IACzB,KAAK;IAAjC,YAA4B,KAAgB;QAC3C,KAAK,yBAAiB,CAAC;qBADI,KAAK;IAEjC,CAAC;CACD;AACD,MAAM,OAAO,WAA8D,SAAQ,MAAS;IAC3F,YAAY,IAAO;QAClB,KAAK,CAAC,IAAI,CAAC,CAAC;IACb,CAAC;CACD;AACD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,WAAW,0BAAkB,CAAC,CAAC,QAAQ;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,WAAW,6BAAqB,CAAC,CAAC,OAAO;AAK5E,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC/C,OAAO,CAAC,CAAE,KAA8B,EAAE,WAAW,CAAC;AACvD,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACxC,OAAO,KAAK,YAAY,MAAM,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../src/core/run/value.ts"],"names":[],"mappings":"AAAA,wBAAwB;AAgBxB,MAAe,MAAM;IACQ,UAAU;IAAtC,YAA4B,UAAa;0BAAb,UAAU;IAAM,CAAC;CAC7C;AACD,aAAa;AACb,MAAM,OAAO,WAAY,SAAQ,MAAyB;IAC7B,KAAK;IAAjC,YAA4B,KAAgB;QAC3C,KAAK,2BAAmB,CAAC;qBADE,KAAK;IAEjC,CAAC;CACD;AACD,YAAY;AACZ,MAAM,OAAO,SAAU,SAAQ,MAAuB;IACzB,KAAK;IAAjC,YAA4B,KAAgB;QAC3C,KAAK,yBAAiB,CAAC;qBADI,KAAK;IAEjC,CAAC;CACD;AACD,MAAM,OAAO,WAA8D,SAAQ,MAAS;IAC3F,YAAY,IAAO;QAClB,KAAK,CAAC,IAAI,CAAC,CAAC;IACb,CAAC;CACD;AACD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,WAAW,0BAAkB,CAAC,CAAC,QAAQ;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,WAAW,6BAAqB,CAAC,CAAC,OAAO;AAK5E,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,GAAW;IAC9D,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC1C,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC/C,OAAO,CAAC,CAAE,KAAiC,EAAE,WAAW,CAAC;AAC1D,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACxC,OAAO,KAAK,YAAY,MAAM,CAAC;AAChC,CAAC"}
@@ -1,6 +1,10 @@
1
1
  import { type ArithmeticTokenKind, type ComparisonTokenKind, type Token } from './lexer/token.js';
2
2
  import { Environment } from './run/environment.js';
3
- export type MeaoiuValue = number | string | boolean | null | Environment;
3
+ declare global {
4
+ type Maybe<T> = T | undefined;
5
+ type Nullable<T> = T | null;
6
+ }
7
+ export type MeaoiuValue = Nullable<number | string | boolean | Environment>;
4
8
  export declare const enum MeaoiuType {
5
9
  NUMBER = 0,// 摸数
6
10
  STRING = 1,// 闲话
@@ -33,10 +37,10 @@ export declare function getMeaoiuType(v: unknown): MeaoiuType;
33
37
  * 检查算术运算的类型是否合法
34
38
  * @returns 错误信息,如果合法则返回 undefined
35
39
  */
36
- export declare function checkArithmeticOperation(op: Token<ArithmeticTokenKind>, leftType: MeaoiuType, rightType: MeaoiuType): string | undefined;
40
+ export declare function checkArithmeticOperation(op: Token<ArithmeticTokenKind>, leftType: MeaoiuType, rightType: MeaoiuType): Maybe<string>;
37
41
  /**
38
42
  * 检查比较运算的类型是否合法
39
43
  * @returns 错误信息,如果合法则返回 undefined
40
44
  */
41
- export declare function checkComparisonOperation(op: Token<ComparisonTokenKind>, leftType: MeaoiuType, rightType: MeaoiuType): string | undefined;
45
+ export declare function checkComparisonOperation(op: Token<ComparisonTokenKind>, leftType: MeaoiuType, rightType: MeaoiuType): Maybe<string>;
42
46
  //# sourceMappingURL=typedef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typedef.d.ts","sourceRoot":"","sources":["../../src/core/typedef.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC;AAEzE,0BAAkB,UAAU;IAC3B,MAAM,IAAA,CAAE,KAAK;IACb,MAAM,IAAA,CAAE,KAAK;IACb,OAAO,IAAA,CAAE,KAAK;IACd,IAAI,IAAA,CAAE,KAAK;IACX,QAAQ,IAAA,CAAE,KAAK;IACf,UAAU,IAAA,CAAE,KAAK;IACjB,OAAO,IAAA;CACP;AAED,0BAAkB,QAAQ;IACzB,MAAM,iBAAO;IACb,MAAM,iBAAO;IACb,OAAO,iBAAO;IACd,IAAI,iBAAO;IACX,QAAQ,iBAAO;IACf,UAAU,iBAAO;IACjB,OAAO,iBAAO;CACd;AAED,eAAO,MAAM,SAAS;;;;;;;;CAQ2B,CAAC;AAalD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,CAKpD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,EAAE,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAC9B,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,UAAU,GACnB,MAAM,GAAG,SAAS,CAmBpB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,EAAE,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAC9B,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,UAAU,GACnB,MAAM,GAAG,SAAS,CAgBpB"}
1
+ {"version":3,"file":"typedef.d.ts","sourceRoot":"","sources":["../../src/core/typedef.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,CAAC,MAAM,CAAC;IACd,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9B,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAE5B;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC;AAE5E,0BAAkB,UAAU;IAC3B,MAAM,IAAA,CAAE,KAAK;IACb,MAAM,IAAA,CAAE,KAAK;IACb,OAAO,IAAA,CAAE,KAAK;IACd,IAAI,IAAA,CAAE,KAAK;IACX,QAAQ,IAAA,CAAE,KAAK;IACf,UAAU,IAAA,CAAE,KAAK;IACjB,OAAO,IAAA;CACP;AAED,0BAAkB,QAAQ;IACzB,MAAM,iBAAO;IACb,MAAM,iBAAO;IACb,OAAO,iBAAO;IACd,IAAI,iBAAO;IACX,QAAQ,iBAAO;IACf,UAAU,iBAAO;IACjB,OAAO,iBAAO;CACd;AAED,eAAO,MAAM,SAAS;;;;;;;;CAQ2B,CAAC;AAalD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,CAKpD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,EAAE,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAC9B,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,UAAU,GACnB,KAAK,CAAC,MAAM,CAAC,CAmBf;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,EAAE,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAC9B,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,UAAU,GACnB,KAAK,CAAC,MAAM,CAAC,CAgBf"}
@@ -1 +1 @@
1
- {"version":3,"file":"typedef.js","sourceRoot":"","sources":["../../src/core/typedef.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAwBnD,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,2BAAmB,sCAAiB;IACpC,2BAAmB,sCAAiB;IACpC,4BAAoB,uCAAkB;IACtC,yBAAiB,oCAAe;IAChC,6BAAqB,wCAAmB;IACxC,+BAAuB,0CAAqB;IAC5C,4BAAoB,uCAAkB;CACU,CAAC;AAGlD,MAAM,OAAO,GAAG;IACf,MAAM,2BAAmB;IACzB,MAAM,2BAAmB;IACzB,OAAO,4BAAoB;IAC3B,IAAI,yBAAiB;IACrB,QAAQ,6BAAqB;IAC7B,UAAU,+BAAuB;IACjC,OAAO,4BAAoB;CACuB,CAAC;AAEpD,MAAM,UAAU,aAAa,CAAC,CAAU;IACvC,IAAI,CAAC,IAAI,IAAI;QAAE,+BAAuB;IACtC,IAAI,CAAC,YAAY,WAAW;QAAE,qCAA6B;IAC3D,IAAI,CAAC,KAAK,CAAC;QAAE,kCAA0B;IACvC,OAAO,OAAO,CAAC,OAAO,CAAe,CAAC,8BAAsB,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACvC,EAA8B,EAC9B,QAAoB,EACpB,SAAqB;IAErB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,EAAE,CAAC,KAAK,gBAAgB,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC1F,CAAC;IAED,IAAI,QAAQ,8BAAsB;QAAE,OAAO,SAAS,CAAC,CAAC,YAAY;IAElE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACjB;YACC,IAAI,QAAQ,8BAAsB,IAAI,QAAQ,kCAA0B;gBAAE,OAAO,SAAS,CAAC;YAC3F,OAAO,IAAI,EAAE,CAAC,KAAK,YAAY,oCAAe,MAAM,oCAAe,MAAM,wCAAmB,MAAM,CAAC;QACpG,yCAAgC;QAChC,4CAAmC;QACnC;YACC,OAAO,IAAI,EAAE,CAAC,KAAK,cAAc,oCAAe,OAAO,CAAC;QACzD;YACC,MAAM,EAAE,GAAU,EAAE,CAAC;YACrB,OAAO,IAAI,EAAE,YAAY,CAAC;IAC5B,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACvC,EAA8B,EAC9B,QAAoB,EACpB,SAAqB;IAErB,qBAAqB;IACrB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;IACvB,IAAI,MAAM,wCAA+B,IAAI,MAAM,4CAAmC;QAAE,OAAO,SAAS,CAAC,CAAC,KAAK;IAE/G,YAAY;IACZ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,EAAE,CAAC,KAAK,gBAAgB,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC1F,CAAC;IAED,aAAa;IACb,IAAI,QAAQ,8BAAsB,IAAI,QAAQ,8BAAsB,EAAE,CAAC;QACtE,OAAO,IAAI,EAAE,CAAC,KAAK,YAAY,oCAAe,MAAM,oCAAe,MAAM,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,KAAK;AACxB,CAAC"}
1
+ {"version":3,"file":"typedef.js","sourceRoot":"","sources":["../../src/core/typedef.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA8BnD,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,2BAAmB,sCAAiB;IACpC,2BAAmB,sCAAiB;IACpC,4BAAoB,uCAAkB;IACtC,yBAAiB,oCAAe;IAChC,6BAAqB,wCAAmB;IACxC,+BAAuB,0CAAqB;IAC5C,4BAAoB,uCAAkB;CACU,CAAC;AAGlD,MAAM,OAAO,GAAG;IACf,MAAM,2BAAmB;IACzB,MAAM,2BAAmB;IACzB,OAAO,4BAAoB;IAC3B,IAAI,yBAAiB;IACrB,QAAQ,6BAAqB;IAC7B,UAAU,+BAAuB;IACjC,OAAO,4BAAoB;CACuB,CAAC;AAEpD,MAAM,UAAU,aAAa,CAAC,CAAU;IACvC,IAAI,CAAC,IAAI,IAAI;QAAE,+BAAuB;IACtC,IAAI,CAAC,YAAY,WAAW;QAAE,qCAA6B;IAC3D,IAAI,CAAC,KAAK,CAAC;QAAE,kCAA0B;IACvC,OAAO,OAAO,CAAC,OAAO,CAAe,CAAC,8BAAsB,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACvC,EAA8B,EAC9B,QAAoB,EACpB,SAAqB;IAErB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,EAAE,CAAC,KAAK,gBAAgB,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC1F,CAAC;IAED,IAAI,QAAQ,8BAAsB;QAAE,OAAO,SAAS,CAAC,CAAC,YAAY;IAElE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACjB;YACC,IAAI,QAAQ,8BAAsB,IAAI,QAAQ,kCAA0B;gBAAE,OAAO,SAAS,CAAC;YAC3F,OAAO,IAAI,EAAE,CAAC,KAAK,YAAY,oCAAe,MAAM,oCAAe,MAAM,wCAAmB,MAAM,CAAC;QACpG,yCAAgC;QAChC,4CAAmC;QACnC;YACC,OAAO,IAAI,EAAE,CAAC,KAAK,cAAc,oCAAe,OAAO,CAAC;QACzD;YACC,MAAM,EAAE,GAAU,EAAE,CAAC;YACrB,OAAO,IAAI,EAAE,YAAY,CAAC;IAC5B,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACvC,EAA8B,EAC9B,QAAoB,EACpB,SAAqB;IAErB,qBAAqB;IACrB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;IACvB,IAAI,MAAM,wCAA+B,IAAI,MAAM,4CAAmC;QAAE,OAAO,SAAS,CAAC,CAAC,KAAK;IAE/G,YAAY;IACZ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,EAAE,CAAC,KAAK,gBAAgB,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC1F,CAAC;IAED,aAAa;IACb,IAAI,QAAQ,8BAAsB,IAAI,QAAQ,8BAAsB,EAAE,CAAC;QACtE,OAAO,IAAI,EAAE,CAAC,KAAK,YAAY,oCAAe,MAAM,oCAAe,MAAM,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,KAAK;AACxB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export declare const version = "__MEAOIU_VERSION__";
1
2
  export * from './core/error.js';
2
3
  export * from './api/services/completions.js';
3
4
  export * from './api/services/diagnostics.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,uBAAuB,CAAC;AAE5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // src/index.ts
2
+ export const version = '0.1.7';
2
3
  export * from './core/error.js';
3
4
  export * from './api/services/completions.js';
4
5
  export * from './api/services/diagnostics.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AAEf,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,MAAM,CAAC,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAE5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}