@guihz/trading-vue-editor-tes 0.1.46 → 0.1.47
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/lib/assets/{parserTccWorker-4OtFfWew.js → parserTccWorker-7TwvByCU.js} +34 -22
- package/lib/components/editor/v3/parseScript/parseToJs.d.ts +1 -0
- package/lib/components/editor/v4/parseScript/parseToJs.d.ts +1 -0
- package/lib/components/editor/v5/parseScript/parseToJs.d.ts +1 -0
- package/lib/components/editor/v6/parseScript/parseToJs.d.ts +1 -1
- package/lib/trading-vue-editor.es.packages.js +1 -1
- package/lib/trading-vue-editor.umd.packages.mjs +1 -1
- package/package.json +1 -1
|
@@ -25716,6 +25716,7 @@ Arguments: ` + Array.prototype.slice.call(n).join("") + `
|
|
|
25716
25716
|
__count = 0;
|
|
25717
25717
|
preParseCode = "";
|
|
25718
25718
|
_isExperssion = !1;
|
|
25719
|
+
_tmpVarNames;
|
|
25719
25720
|
constructor(e) {
|
|
25720
25721
|
this._argChangeMap = /* @__PURE__ */ new Map(), this._nameMap = /* @__PURE__ */ new Map(), this._prefixNameVar = `${e}_var`, this._prefixNameFunc = `${e}_func`, this._prefixNameConst = `${e}_const`, this._isInFunc = !1, this._varlist = [{}], this._memberIndexList = [{}], this._blockCount = 0, this._inputCount = 0, this._count = 0, this._codesCol = [[]], this._dependsObj = {}, this._preRunMembers = [], this._preRunMembersFuncs = [];
|
|
25721
25722
|
}
|
|
@@ -25813,7 +25814,9 @@ Arguments: ` + Array.prototype.slice.call(n).join("") + `
|
|
|
25813
25814
|
_parserVarBlockStmt(e) {
|
|
25814
25815
|
const { nameList: t, value: n } = e;
|
|
25815
25816
|
this._addVarList(t);
|
|
25816
|
-
const i = this._parserDeclareAssignNames(t)
|
|
25817
|
+
const i = this._parserDeclareAssignNames(t);
|
|
25818
|
+
this._tmpVarNames = i;
|
|
25819
|
+
const s = `$${i}_${this._blockCount}`;
|
|
25817
25820
|
this._dependsObj[s] = /* @__PURE__ */ new Map();
|
|
25818
25821
|
const o = this._parserStmt(n, !0), p = o.split(`
|
|
25819
25822
|
/****/
|
|
@@ -25945,7 +25948,7 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
25945
25948
|
}
|
|
25946
25949
|
_parserReturnBlock(e, t = !1) {
|
|
25947
25950
|
let n = "", i = "", s = "";
|
|
25948
|
-
switch (e.ruleType) {
|
|
25951
|
+
switch (this._tmpVarNames = "", e.ruleType) {
|
|
25949
25952
|
case j0.AgainAssign:
|
|
25950
25953
|
return n = this._parserStmt(e), i = this._getMembersCode(), t ? `${n};
|
|
25951
25954
|
${i}
|
|
@@ -25953,12 +25956,12 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
25953
25956
|
${i}
|
|
25954
25957
|
$$_result = ${this._parserName(e.name, !0)}`;
|
|
25955
25958
|
case j0.DeclareAssign:
|
|
25956
|
-
s = this._parserStmt(e), i = this._getMembersCode(), n = this.
|
|
25959
|
+
s = this._parserStmt(e), i = this._getMembersCode(), n = this._tmpVarNames;
|
|
25957
25960
|
break;
|
|
25958
25961
|
case j0.FlowStmt:
|
|
25959
25962
|
return this._getMembersCode();
|
|
25960
25963
|
case j0.VarBlockStmt:
|
|
25961
|
-
s = this._parserStmt(e), i = this._getMembersCode(), n = this.
|
|
25964
|
+
s = this._parserStmt(e), i = this._getMembersCode(), n = this._tmpVarNames;
|
|
25962
25965
|
break;
|
|
25963
25966
|
default:
|
|
25964
25967
|
n = this._parserStmt(e, !0), i = this._getMembersCode();
|
|
@@ -26027,7 +26030,7 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
26027
26030
|
}
|
|
26028
26031
|
_parserDeclareAssign(e) {
|
|
26029
26032
|
const { nameList: t, value: n } = e, i = this._parserDeclareAssignNames(t);
|
|
26030
|
-
this._addVarList(t);
|
|
26033
|
+
this._tmpVarNames = i, this._addVarList(t);
|
|
26031
26034
|
const s = {
|
|
26032
26035
|
code: "",
|
|
26033
26036
|
varNames: i.replace(/[\[\]]/g, "").split(", "),
|
|
@@ -60637,6 +60640,7 @@ Input files:
|
|
|
60637
60640
|
preParseCode = "";
|
|
60638
60641
|
_isExperssion = !1;
|
|
60639
60642
|
_hasAlert = !1;
|
|
60643
|
+
_tmpVarNames;
|
|
60640
60644
|
constructor(e) {
|
|
60641
60645
|
this._argChangeMap = /* @__PURE__ */ new Map(), this._nameMap = /* @__PURE__ */ new Map(), this._prefixNameVar = `${e}_var`, this._prefixNameFunc = `${e}_func`, this._prefixNameConst = `${e}_const`, this._isInFunc = !1, this._varlist = [{}], this._memberIndexList = [{}], this._blockCount = 0, this._inputCount = 0, this._count = 0, this._codesCol = [[]], this._dependsObj = {}, this._preRunMembers = [], this._preRunMembersFuncs = [];
|
|
60642
60646
|
}
|
|
@@ -60735,7 +60739,9 @@ Input files:
|
|
|
60735
60739
|
_parserVarBlockStmt(e) {
|
|
60736
60740
|
const { nameList: t, value: n } = e;
|
|
60737
60741
|
this._addVarList(t);
|
|
60738
|
-
const i = this._parserDeclareAssignNames(t)
|
|
60742
|
+
const i = this._parserDeclareAssignNames(t);
|
|
60743
|
+
this._tmpVarNames = i;
|
|
60744
|
+
const s = `$${i}_${this._blockCount}`;
|
|
60739
60745
|
this._dependsObj[s] = /* @__PURE__ */ new Map();
|
|
60740
60746
|
const o = this._parserStmt(n, !0), p = o.split(`
|
|
60741
60747
|
/****/
|
|
@@ -60867,7 +60873,7 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
60867
60873
|
}
|
|
60868
60874
|
_parserReturnBlock(e, t = !1) {
|
|
60869
60875
|
let n = "", i = "", s = "";
|
|
60870
|
-
switch (e.ruleType) {
|
|
60876
|
+
switch (this._tmpVarNames = "", e.ruleType) {
|
|
60871
60877
|
case $0.AgainAssign:
|
|
60872
60878
|
return n = this._parserStmt(e), i = this._getMembersCode(), t ? `${n};
|
|
60873
60879
|
${i}
|
|
@@ -60875,12 +60881,12 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
60875
60881
|
${i}
|
|
60876
60882
|
$$_result = ${this._parserName(e.name, !0)}`;
|
|
60877
60883
|
case $0.DeclareAssign:
|
|
60878
|
-
s = this._parserStmt(e), i = this._getMembersCode(), n = this.
|
|
60884
|
+
s = this._parserStmt(e), i = this._getMembersCode(), n = this._tmpVarNames;
|
|
60879
60885
|
break;
|
|
60880
60886
|
case $0.FlowStmt:
|
|
60881
60887
|
return this._getMembersCode();
|
|
60882
60888
|
case $0.VarBlockStmt:
|
|
60883
|
-
s = this._parserStmt(e), i = this._getMembersCode(), n = this.
|
|
60889
|
+
s = this._parserStmt(e), i = this._getMembersCode(), n = this._tmpVarNames;
|
|
60884
60890
|
break;
|
|
60885
60891
|
default:
|
|
60886
60892
|
n = this._parserStmt(e, !0), i = this._getMembersCode();
|
|
@@ -60949,7 +60955,7 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
60949
60955
|
}
|
|
60950
60956
|
_parserDeclareAssign(e) {
|
|
60951
60957
|
const { nameList: t, value: n } = e, i = this._parserDeclareAssignNames(t);
|
|
60952
|
-
this._addVarList(t);
|
|
60958
|
+
this._tmpVarNames = i, this._addVarList(t);
|
|
60953
60959
|
const s = {
|
|
60954
60960
|
code: "",
|
|
60955
60961
|
varNames: i.replace(/[\[\]]/g, "").split(", "),
|
|
@@ -79101,6 +79107,7 @@ ${this._prefixNameVar}.setCacheData("m${l}_" + ${f}, ${m})
|
|
|
79101
79107
|
_libTitle;
|
|
79102
79108
|
_exportEles;
|
|
79103
79109
|
_scriptType;
|
|
79110
|
+
_tmpVarNames;
|
|
79104
79111
|
constructor(e, t, n) {
|
|
79105
79112
|
this._argChangeMap = /* @__PURE__ */ new Map(), this._nameMap = /* @__PURE__ */ new Map(), this._prefixNameVar = `${e}_var`, this._prefixNameFunc = `${e}_func`, this._prefixNameConst = `${e}_const`, this._userTypes = [], this._isInFunc = !1, this._varlist = [{}], this._memberIndexList = [{}], this._blockCount = 0, this._inputCount = 0, this._count = 0, this._codesCol = [[]], this._dependsObj = {}, this._enums = /* @__PURE__ */ new Map(), this._preRunMembers = [], this._preRunMembersFuncs = [], this._libTitle = n, this._exportEles = [], this._scriptType = t;
|
|
79106
79113
|
}
|
|
@@ -79314,7 +79321,9 @@ ${this._prefixNameVar}.setCacheData("m${l}_" + ${f}, ${m})
|
|
|
79314
79321
|
_parserVarBlockStmt(e) {
|
|
79315
79322
|
const { nameList: t, value: n } = e;
|
|
79316
79323
|
this._addVarList(t);
|
|
79317
|
-
const i = this._parserDeclareAssignNames(t)
|
|
79324
|
+
const i = this._parserDeclareAssignNames(t);
|
|
79325
|
+
this._tmpVarNames = i;
|
|
79326
|
+
const s = `$${i}_${this._blockCount}`;
|
|
79318
79327
|
this._dependsObj[s] = /* @__PURE__ */ new Map();
|
|
79319
79328
|
const o = this._parserStmt(n, !0), p = o.split(`
|
|
79320
79329
|
/****/
|
|
@@ -79545,7 +79554,7 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
79545
79554
|
}
|
|
79546
79555
|
_parserReturnBlock(e, t = !1) {
|
|
79547
79556
|
let n = "", i = "", s = "";
|
|
79548
|
-
switch (e.ruleType) {
|
|
79557
|
+
switch (this._tmpVarNames = "", e.ruleType) {
|
|
79549
79558
|
case M0.AgainAssign:
|
|
79550
79559
|
return n = this._parserStmt(e), i = this._getMembersCode(), t ? `${n};
|
|
79551
79560
|
${i}
|
|
@@ -79553,12 +79562,12 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
79553
79562
|
${i}
|
|
79554
79563
|
$$_result = ${this._parserName(e.name, !0)}`;
|
|
79555
79564
|
case M0.DeclareAssign:
|
|
79556
|
-
s = this._parserStmt(e), i = this._getMembersCode(), n = this.
|
|
79565
|
+
s = this._parserStmt(e), i = this._getMembersCode(), n = this._tmpVarNames;
|
|
79557
79566
|
break;
|
|
79558
79567
|
case M0.FlowStmt:
|
|
79559
79568
|
return this._getMembersCode();
|
|
79560
79569
|
case M0.VarBlockStmt:
|
|
79561
|
-
s = this._parserStmt(e), i = this._getMembersCode(), n = this.
|
|
79570
|
+
s = this._parserStmt(e), i = this._getMembersCode(), n = this._tmpVarNames;
|
|
79562
79571
|
break;
|
|
79563
79572
|
default:
|
|
79564
79573
|
n = this._parserStmt(e, !0), i = this._getMembersCode();
|
|
@@ -79649,7 +79658,7 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
79649
79658
|
}
|
|
79650
79659
|
_parserDeclareAssign(e) {
|
|
79651
79660
|
const { nameList: t, value: n } = e, i = this._parserDeclareAssignNames(t);
|
|
79652
|
-
this._addVarList(t);
|
|
79661
|
+
this._tmpVarNames = i, this._addVarList(t);
|
|
79653
79662
|
const s = {
|
|
79654
79663
|
code: "",
|
|
79655
79664
|
varNames: i.replace(/[\[\]]/g, "").split(", "),
|
|
@@ -98956,7 +98965,6 @@ ${this._prefixNameVar}.setCacheData("m${l}_" + ${f}, ${m})
|
|
|
98956
98965
|
_enums;
|
|
98957
98966
|
_preRunMembers;
|
|
98958
98967
|
// private _isInConditionalStmt: boolean = false
|
|
98959
|
-
_preRunMembersFuncs;
|
|
98960
98968
|
// private _preRunMemberFuncsCount = 0
|
|
98961
98969
|
__count = 0;
|
|
98962
98970
|
preParseCode = "";
|
|
@@ -98967,8 +98975,9 @@ ${this._prefixNameVar}.setCacheData("m${l}_" + ${f}, ${m})
|
|
|
98967
98975
|
_libTitle;
|
|
98968
98976
|
_exportEles;
|
|
98969
98977
|
_scriptType;
|
|
98978
|
+
_tmpVarNames;
|
|
98970
98979
|
constructor(e, t, n) {
|
|
98971
|
-
this._argChangeMap = /* @__PURE__ */ new Map(), this._nameMap = /* @__PURE__ */ new Map(), this._prefixNameVar = `${e}_var`, this._prefixNameFunc = `${e}_func`, this._prefixNameConst = `${e}_const`, this._userTypes = [], this._isInFunc = !1, this._varlist = [{}], this._memberIndexList = [{}], this._blockCount = 0, this._inputCount = 0, this._count = 0, this._codesCol = [[]], this._dependsObj = {}, this._enums = /* @__PURE__ */ new Map(), this._preRunMembers = [], this.
|
|
98980
|
+
this._argChangeMap = /* @__PURE__ */ new Map(), this._nameMap = /* @__PURE__ */ new Map(), this._prefixNameVar = `${e}_var`, this._prefixNameFunc = `${e}_func`, this._prefixNameConst = `${e}_const`, this._userTypes = [], this._isInFunc = !1, this._varlist = [{}], this._memberIndexList = [{}], this._blockCount = 0, this._inputCount = 0, this._count = 0, this._codesCol = [[]], this._dependsObj = {}, this._enums = /* @__PURE__ */ new Map(), this._preRunMembers = [], this._libTitle = n, this._exportEles = [], this._scriptType = t;
|
|
98972
98981
|
}
|
|
98973
98982
|
preParser(e) {
|
|
98974
98983
|
const t = [];
|
|
@@ -99177,7 +99186,9 @@ ${this._prefixNameVar}.setCacheData("m${l}_" + ${f}, ${m})
|
|
|
99177
99186
|
_parserVarBlockStmt(e) {
|
|
99178
99187
|
const { nameList: t, value: n } = e;
|
|
99179
99188
|
this._addVarList(t);
|
|
99180
|
-
const i = this._parserDeclareAssignNames(t)
|
|
99189
|
+
const i = this._parserDeclareAssignNames(t);
|
|
99190
|
+
this._tmpVarNames = i;
|
|
99191
|
+
const s = `$${i}_${this._blockCount}`;
|
|
99181
99192
|
this._dependsObj[s] = /* @__PURE__ */ new Map();
|
|
99182
99193
|
const o = this._parserStmt(n, !0), p = o.split(`
|
|
99183
99194
|
/****/
|
|
@@ -99411,7 +99422,7 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
99411
99422
|
}
|
|
99412
99423
|
_parserReturnBlock(e, t = !1) {
|
|
99413
99424
|
let n = "", i = "", s = "";
|
|
99414
|
-
switch (e.ruleType) {
|
|
99425
|
+
switch (this._tmpVarNames = "", e.ruleType) {
|
|
99415
99426
|
case R0.AgainAssign:
|
|
99416
99427
|
return n = this._parserStmt(e), i = this._getMembersCode(), t ? `${n};
|
|
99417
99428
|
${i}
|
|
@@ -99419,12 +99430,12 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
99419
99430
|
${i}
|
|
99420
99431
|
$$_result = ${this._parserName(e.name, !0)}`;
|
|
99421
99432
|
case R0.DeclareAssign:
|
|
99422
|
-
s = this._parserStmt(e), i = this._getMembersCode(), n = this.
|
|
99433
|
+
s = this._parserStmt(e), i = this._getMembersCode(), n = this._tmpVarNames;
|
|
99423
99434
|
break;
|
|
99424
99435
|
case R0.FlowStmt:
|
|
99425
99436
|
return this._getMembersCode();
|
|
99426
99437
|
case R0.VarBlockStmt:
|
|
99427
|
-
s = this._parserStmt(e), i = this._getMembersCode(), n = this.
|
|
99438
|
+
s = this._parserStmt(e), i = this._getMembersCode(), n = this._tmpVarNames;
|
|
99428
99439
|
break;
|
|
99429
99440
|
default:
|
|
99430
99441
|
n = this._parserStmt(e, !0), i = this._getMembersCode();
|
|
@@ -99515,7 +99526,7 @@ ${this._prefixNameVar}.setVarValue("${l}", ${z}, ${l}, "${o}")`;
|
|
|
99515
99526
|
}
|
|
99516
99527
|
_parserDeclareAssign(e) {
|
|
99517
99528
|
const { nameList: t, value: n, isExport: i } = e, s = this._parserDeclareAssignNames(t);
|
|
99518
|
-
this._addVarList(t);
|
|
99529
|
+
this._tmpVarNames = s, this._addVarList(t);
|
|
99519
99530
|
const o = {
|
|
99520
99531
|
code: "",
|
|
99521
99532
|
varNames: s.replace(/[\[\]]/g, "").split(", "),
|
|
@@ -99891,6 +99902,7 @@ ${this._prefixNameVar}.setCacheData("m${l}_" + ${f}, ${m})
|
|
|
99891
99902
|
let E = "";
|
|
99892
99903
|
const T = new tR("_$", d.scriptType);
|
|
99893
99904
|
let x = e ? "" : T.preParser(m);
|
|
99905
|
+
console.log(x);
|
|
99894
99906
|
const y = {};
|
|
99895
99907
|
if (e && !i.some((z) => z.type === Bt.Error)) {
|
|
99896
99908
|
const { code: z = "", hasLeftVisibleBarTime: q, hasRightVisibleBarTime: R, hasAlert: S } = T.parser(m) || {};
|
|
@@ -24,6 +24,7 @@ export default class ParseToJs {
|
|
|
24
24
|
private __count;
|
|
25
25
|
preParseCode: string;
|
|
26
26
|
private _isExperssion;
|
|
27
|
+
private _tmpVarNames?;
|
|
27
28
|
constructor(prefix: string);
|
|
28
29
|
preParser(values: IKeyObjectValue[]): string | undefined;
|
|
29
30
|
parser(values: IKeyObjectValue[]): {
|
|
@@ -25,6 +25,7 @@ export default class ParseToJs {
|
|
|
25
25
|
preParseCode: string;
|
|
26
26
|
private _isExperssion;
|
|
27
27
|
private _hasAlert;
|
|
28
|
+
private _tmpVarNames?;
|
|
28
29
|
constructor(prefix: string);
|
|
29
30
|
preParser(values: IKeyObjectValue[]): string | undefined;
|
|
30
31
|
parser(values: IKeyObjectValue[]): {
|
|
@@ -33,6 +33,7 @@ export default class ParseToJs {
|
|
|
33
33
|
private _libTitle?;
|
|
34
34
|
private _exportEles;
|
|
35
35
|
private _scriptType?;
|
|
36
|
+
private _tmpVarNames?;
|
|
36
37
|
constructor(prefix: string, scriptType?: VScriptType, libTitle?: string);
|
|
37
38
|
preParser(values: IKeyObjectValue[]): string | undefined;
|
|
38
39
|
parser(values: IKeyObjectValue[]): {
|
|
@@ -21,7 +21,6 @@ export default class ParseToJs {
|
|
|
21
21
|
private _dependsObj;
|
|
22
22
|
private _enums;
|
|
23
23
|
private _preRunMembers;
|
|
24
|
-
private _preRunMembersFuncs;
|
|
25
24
|
private __count;
|
|
26
25
|
preParseCode: string;
|
|
27
26
|
private _hasLeftVisibleBarTime;
|
|
@@ -31,6 +30,7 @@ export default class ParseToJs {
|
|
|
31
30
|
private _libTitle?;
|
|
32
31
|
private _exportEles;
|
|
33
32
|
private _scriptType?;
|
|
33
|
+
private _tmpVarNames?;
|
|
34
34
|
constructor(prefix: string, scriptType?: VScriptType, libTitle?: string);
|
|
35
35
|
preParser(values: IKeyObjectValue[]): string | undefined;
|
|
36
36
|
parser(values: IKeyObjectValue[]): {
|
|
@@ -9206,7 +9206,7 @@ Lf.onerror = (i) => {
|
|
|
9206
9206
|
async function Tf(i) {
|
|
9207
9207
|
return await bo.setInlayHints(i);
|
|
9208
9208
|
}
|
|
9209
|
-
const Nf = ma(Lf), Rf = ma(new Worker(new URL("" + new URL("assets/parserTccWorker-
|
|
9209
|
+
const Nf = ma(Lf), Rf = ma(new Worker(new URL("" + new URL("assets/parserTccWorker-7TwvByCU.js", import.meta.url).href, import.meta.url), { type: "module", name: "Parser MineScript Server" }));
|
|
9210
9210
|
async function Ay(i, n = !1, r = Qt) {
|
|
9211
9211
|
const s = i.match(/\s*\/\/\s*@version\s*=\s*([0-9])/)?.[1];
|
|
9212
9212
|
s && (r = parseInt(s), r = r < 3 ? 3 : r > 6 ? 6 : r);
|
|
@@ -74,7 +74,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
74
74
|
* @license
|
|
75
75
|
* Copyright 2019 Google LLC
|
|
76
76
|
* SPDX-License-Identifier: Apache-2.0
|
|
77
|
-
*/const ul=Symbol("Comlink.proxy"),Xu=Symbol("Comlink.endpoint"),Vu=Symbol("Comlink.releaseProxy"),Vn=Symbol("Comlink.finalizer"),za=Symbol("Comlink.thrown"),yl=a=>typeof a=="object"&&a!==null||typeof a=="function",Yu={canHandle:a=>yl(a)&&a[ul],serialize(a){const{port1:s,port2:r}=new MessageChannel;return fl(a,s),[r,[r]]},deserialize(a){return a.start(),Yn(a)}},Qu={canHandle:a=>yl(a)&&za in a,serialize({value:a}){let s;return a instanceof Error?s={isError:!0,value:{message:a.message,name:a.name,stack:a.stack}}:s={isError:!1,value:a},[s,[]]},deserialize(a){throw a.isError?Object.assign(new Error(a.value.message),a.value):a.value}},_l=new Map([["proxy",Yu],["throw",Qu]]);function Zu(a,s){for(const r of a)if(s===r||r==="*"||r instanceof RegExp&&r.test(s))return!0;return!1}function fl(a,s=globalThis,r=["*"]){s.addEventListener("message",function n(o){if(!o||!o.data)return;if(!Zu(r,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}const{id:l,type:p,path:d}=Object.assign({path:[]},o.data),u=(o.data.argumentList||[]).map(Ms);let _;try{const g=d.slice(0,-1).reduce((w,C)=>w[C],a),x=d.reduce((w,C)=>w[C],a);switch(p){case"GET":_=x;break;case"SET":g[d.slice(-1)[0]]=Ms(o.data.value),_=!0;break;case"APPLY":_=x.apply(g,u);break;case"CONSTRUCT":{const w=new x(...u);_=Zn(w)}break;case"ENDPOINT":{const{port1:w,port2:C}=new MessageChannel;fl(a,C),_=ry(w,[w])}break;case"RELEASE":_=void 0;break;default:return}}catch(g){_={value:g,[za]:0}}Promise.resolve(_).catch(g=>({value:g,[za]:0})).then(g=>{const[x,w]=Sa(g);s.postMessage(Object.assign(Object.assign({},x),{id:l}),w),p==="RELEASE"&&(s.removeEventListener("message",n),gl(s),Vn in a&&typeof a[Vn]=="function"&&a[Vn]())}).catch(g=>{const[x,w]=Sa({value:new TypeError("Unserializable return value"),[za]:0});s.postMessage(Object.assign(Object.assign({},x),{id:l}),w)})}),s.start&&s.start()}function Ju(a){return a.constructor.name==="MessagePort"}function gl(a){Ju(a)&&a.close()}function Yn(a,s){return Qn(a,[],s)}function Ca(a){if(a)throw new Error("Proxy has been released and is not useable")}function bl(a){return er(a,{type:"RELEASE"}).then(()=>{gl(a)})}const Ea=new WeakMap,Na="FinalizationRegistry"in globalThis&&new FinalizationRegistry(a=>{const s=(Ea.get(a)||0)-1;Ea.set(a,s),s===0&&bl(a)});function ey(a,s){const r=(Ea.get(s)||0)+1;Ea.set(s,r),Na&&Na.register(a,s,a)}function ty(a){Na&&Na.unregister(a)}function Qn(a,s=[],r=function(){}){let n=!1;const o=new Proxy(r,{get(l,p){if(Ca(n),p===Vu)return()=>{ty(o),bl(a),n=!0};if(p==="then"){if(s.length===0)return{then:()=>o};const d=er(a,{type:"GET",path:s.map(u=>u.toString())}).then(Ms);return d.then.bind(d)}return Qn(a,[...s,p])},set(l,p,d){Ca(n);const[u,_]=Sa(d);return er(a,{type:"SET",path:[...s,p].map(g=>g.toString()),value:u},_).then(Ms)},apply(l,p,d){Ca(n);const u=s[s.length-1];if(u===Xu)return er(a,{type:"ENDPOINT"}).then(Ms);if(u==="bind")return Qn(a,s.slice(0,-1));const[_,g]=xl(d);return er(a,{type:"APPLY",path:s.map(x=>x.toString()),argumentList:_},g).then(Ms)},construct(l,p){Ca(n);const[d,u]=xl(p);return er(a,{type:"CONSTRUCT",path:s.map(_=>_.toString()),argumentList:d},u).then(Ms)}});return ey(o,a),o}function sy(a){return Array.prototype.concat.apply([],a)}function xl(a){const s=a.map(Sa);return[s.map(r=>r[0]),sy(s.map(r=>r[1]))]}const hl=new WeakMap;function ry(a,s){return hl.set(a,s),a}function Zn(a){return Object.assign(a,{[ul]:!0})}function Sa(a){for(const[s,r]of _l)if(r.canHandle(a)){const[n,o]=r.serialize(a);return[{type:"HANDLER",name:s,value:n},o]}return[{type:"RAW",value:a},hl.get(a)||[]]}function Ms(a){switch(a.type){case"HANDLER":return _l.get(a.name).deserialize(a.value);case"RAW":return a.value}}function er(a,s,r){return new Promise(n=>{const o=ay();a.addEventListener("message",function l(p){!p.data||!p.data.id||p.data.id!==o||(a.removeEventListener("message",l),n(p.data))}),a.start&&a.start(),a.postMessage(Object.assign({id:o},s),r)})}function ay(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}const wl=new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/scriptsRunWorker-CmAR4nak.js").href:new URL("assets/scriptsRunWorker-CmAR4nak.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ma&&ma.src||new URL("trading-vue-editor.umd.packages.mjs",document.baseURI).href),{type:"module",name:"Run MineScript Server"});wl.onerror=a=>{console.error(a)};async function vl(a){return await Ia.setInlayHints(a)}const Tl=Yn(wl),kl=Yn(new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/parserTccWorker-4OtFfWew.js").href:new URL("assets/parserTccWorker-4OtFfWew.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ma&&ma.src||new URL("trading-vue-editor.umd.packages.mjs",document.baseURI).href),{type:"module",name:"Parser MineScript Server"}));async function Dl(a,s=!1,r=Qt){const n=a.match(/\s*\/\/\s*@version\s*=\s*([0-9])/)?.[1];n&&(r=parseInt(n),r=r<3?3:r>6?6:r);const o=await xs(r);if(!o)return;const{functions:l,types:p,constants:d,variables:u,methods:_}=o.KEY_MAP_LIST;return await kl.parseTcc(a,s,Zn(vl),{functions:Object.fromEntries(l),methods:Object.fromEntries(_),types:Object.fromEntries(p),constants:Object.fromEntries(d),variables:Object.fromEntries(u)},r)}async function ny(a,s){const r=await xs(6);if(!r)return;const{functions:n,types:o,constants:l,variables:p,methods:d}=r.KEY_MAP_LIST;return await kl.parseLibraryCode(a,s,Zn(vl),{functions:Object.fromEntries(n),methods:Object.fromEntries(d),types:Object.fromEntries(o),constants:Object.fromEntries(l),variables:Object.fromEntries(p)})}async function iy(a,s,r=!0,n=Qt){return await Tl.runScript(a,s,r,n)}async function oy(a){return await Tl.removeScript(a)}function ly(a){return new Worker(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/editor.worker-BxEYBjj-.js").href:new URL("assets/editor.worker-BxEYBjj-.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),{type:"module",name:a?.name})}const{slice:cy,forEach:py}=[];function dy(a){return py.call(cy.call(arguments,1),s=>{if(s)for(const r in s)a[r]===void 0&&(a[r]=s[r])}),a}const Il=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,my=(a,s,r)=>{const n=r||{};n.path=n.path||"/";const o=encodeURIComponent(s);let l=`${a}=${o}`;if(n.maxAge>0){const p=n.maxAge-0;if(Number.isNaN(p))throw new Error("maxAge should be a Number");l+=`; Max-Age=${Math.floor(p)}`}if(n.domain){if(!Il.test(n.domain))throw new TypeError("option domain is invalid");l+=`; Domain=${n.domain}`}if(n.path){if(!Il.test(n.path))throw new TypeError("option path is invalid");l+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");l+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(l+="; HttpOnly"),n.secure&&(l+="; Secure"),n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:l+="; SameSite=Strict";break;case"lax":l+="; SameSite=Lax";break;case"strict":l+="; SameSite=Strict";break;case"none":l+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return l},Al={create(a,s,r,n){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+r*60*1e3)),n&&(o.domain=n),document.cookie=my(a,encodeURIComponent(s),o)},read(a){const s=`${a}=`,r=document.cookie.split(";");for(let n=0;n<r.length;n++){let o=r[n];for(;o.charAt(0)===" ";)o=o.substring(1,o.length);if(o.indexOf(s)===0)return o.substring(s.length,o.length)}return null},remove(a){this.create(a,"",-1)}};var uy={name:"cookie",lookup(a){let{lookupCookie:s}=a;if(s&&typeof document<"u")return Al.read(s)||void 0},cacheUserLanguage(a,s){let{lookupCookie:r,cookieMinutes:n,cookieDomain:o,cookieOptions:l}=s;r&&typeof document<"u"&&Al.create(r,a,n,o,l)}},yy={name:"querystring",lookup(a){let{lookupQuerystring:s}=a,r;if(typeof window<"u"){let{search:n}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(n=window.location.hash.substring(window.location.hash.indexOf("?")));const l=n.substring(1).split("&");for(let p=0;p<l.length;p++){const d=l[p].indexOf("=");d>0&&l[p].substring(0,d)===s&&(r=l[p].substring(d+1))}}return r}};let Or=null;const ql=()=>{if(Or!==null)return Or;try{Or=window!=="undefined"&&window.localStorage!==null;const a="i18next.translate.boo";window.localStorage.setItem(a,"foo"),window.localStorage.removeItem(a)}catch{Or=!1}return Or};var _y={name:"localStorage",lookup(a){let{lookupLocalStorage:s}=a;if(s&&ql())return window.localStorage.getItem(s)||void 0},cacheUserLanguage(a,s){let{lookupLocalStorage:r}=s;r&&ql()&&window.localStorage.setItem(r,a)}};let Pr=null;const zl=()=>{if(Pr!==null)return Pr;try{Pr=window!=="undefined"&&window.sessionStorage!==null;const a="i18next.translate.boo";window.sessionStorage.setItem(a,"foo"),window.sessionStorage.removeItem(a)}catch{Pr=!1}return Pr};var fy={name:"sessionStorage",lookup(a){let{lookupSessionStorage:s}=a;if(s&&zl())return window.sessionStorage.getItem(s)||void 0},cacheUserLanguage(a,s){let{lookupSessionStorage:r}=s;r&&zl()&&window.sessionStorage.setItem(r,a)}},gy={name:"navigator",lookup(a){const s=[];if(typeof navigator<"u"){const{languages:r,userLanguage:n,language:o}=navigator;if(r)for(let l=0;l<r.length;l++)s.push(r[l]);n&&s.push(n),o&&s.push(o)}return s.length>0?s:void 0}},by={name:"htmlTag",lookup(a){let{htmlTag:s}=a,r;const n=s||(typeof document<"u"?document.documentElement:null);return n&&typeof n.getAttribute=="function"&&(r=n.getAttribute("lang")),r}},xy={name:"path",lookup(a){let{lookupFromPathIndex:s}=a;if(typeof window>"u")return;const r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(r)?r[typeof s=="number"?s:0]?.replace("/",""):void 0}},hy={name:"subdomain",lookup(a){let{lookupFromSubdomainIndex:s}=a;const r=typeof s=="number"?s+1:1,n=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(n)return n[r]}};function wy(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:a=>a}}class Cl{constructor(s){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(s,r)}init(s){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=s||{languageUtils:{}},this.options=dy(r,this.options||{},wy()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(uy),this.addDetector(yy),this.addDetector(_y),this.addDetector(fy),this.addDetector(gy),this.addDetector(by),this.addDetector(xy),this.addDetector(hy)}addDetector(s){return this.detectors[s.name]=s,this}detect(s){s||(s=this.options.order);let r=[];return s.forEach(n=>{if(this.detectors[n]){let o=this.detectors[n].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(r=r.concat(o))}}),r=r.map(n=>this.options.convertDetectedLanguage(n)),this.services.languageUtils.getBestMatchFromCodes?r:r.length>0?r[0]:null}cacheUserLanguage(s,r){r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(s)>-1||r.forEach(n=>{this.detectors[n]&&this.detectors[n].cacheUserLanguage(s,this.options)}))}}Cl.type="languageDetector";const vy=(...a)=>{console?.warn&&(Bs(a[0])&&(a[0]=`react-i18next:: ${a[0]}`),console.warn(...a))},El={},Jn=(...a)=>{Bs(a[0])&&El[a[0]]||(Bs(a[0])&&(El[a[0]]=new Date),vy(...a))},Nl=(a,s)=>()=>{if(a.isInitialized)s();else{const r=()=>{setTimeout(()=>{a.off("initialized",r)},0),s()};a.on("initialized",r)}},ei=(a,s,r)=>{a.loadNamespaces(s,Nl(a,r))},Sl=(a,s,r,n)=>{if(Bs(r)&&(r=[r]),a.options.preload&&a.options.preload.indexOf(s)>-1)return ei(a,r,n);r.forEach(o=>{a.options.ns.indexOf(o)<0&&a.options.ns.push(o)}),a.loadLanguages(s,Nl(a,n))},Ty=(a,s,r={})=>!s.languages||!s.languages.length?(Jn("i18n.languages were undefined or empty",s.languages),!0):s.hasLoadedNamespace(a,{lng:r.lng,precheck:(n,o)=>{if(r.bindI18n?.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,a))return!1}}),Bs=a=>typeof a=="string",ky=a=>typeof a=="object"&&a!==null,Dy=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Iy={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Ay=a=>Iy[a];let ti={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:a=>a.replace(Dy,Ay)};const qy=(a={})=>{ti={...ti,...a}},zy=()=>ti;let Ll;const Cy=a=>{Ll=a},Ey=()=>Ll,Ny={type:"3rdParty",init(a){qy(a.options.react),Cy(a)}},Sy=I.createContext();class Ly{constructor(){this.usedNamespaces={}}addUsedNamespaces(s){s.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const My=(a,s)=>{const r=I.useRef();return I.useEffect(()=>{r.current=s?r.current:a},[a,s]),r.current},Ml=(a,s,r,n)=>a.getFixedT(s,r,n),By=(a,s,r,n)=>I.useCallback(Ml(a,s,r,n),[a,s,r,n]),tr=(a,s={})=>{const{i18n:r}=s,{i18n:n,defaultNS:o}=I.useContext(Sy)||{},l=r||n||Ey();if(l&&!l.reportNamespaces&&(l.reportNamespaces=new Ly),!l){Jn("You will need to pass in an i18next instance by using initReactI18next");const j=(R,z)=>Bs(z)?z:ky(z)&&Bs(z.defaultValue)?z.defaultValue:Array.isArray(R)?R[R.length-1]:R,W=[j,{},!1];return W.t=j,W.i18n={},W.ready=!1,W}l.options.react?.wait&&Jn("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const p={...zy(),...l.options.react,...s},{useSuspense:d,keyPrefix:u}=p;let _=a||o||l.options?.defaultNS;_=Bs(_)?[_]:_||["translation"],l.reportNamespaces.addUsedNamespaces?.(_);const g=(l.isInitialized||l.initializedStoreOnce)&&_.every(j=>Ty(j,l,p)),x=By(l,s.lng||null,p.nsMode==="fallback"?_:_[0],u),w=()=>x,C=()=>Ml(l,s.lng||null,p.nsMode==="fallback"?_:_[0],u),[B,K]=I.useState(w);let G=_.join();s.lng&&(G=`${s.lng}${G}`);const X=My(G),q=I.useRef(!0);I.useEffect(()=>{const{bindI18n:j,bindI18nStore:W}=p;q.current=!0,!g&&!d&&(s.lng?Sl(l,s.lng,_,()=>{q.current&&K(C)}):ei(l,_,()=>{q.current&&K(C)})),g&&X&&X!==G&&q.current&&K(C);const R=()=>{q.current&&K(C)};return j&&l?.on(j,R),W&&l?.store.on(W,R),()=>{q.current=!1,l&&j?.split(" ").forEach(z=>l.off(z,R)),W&&l&&W.split(" ").forEach(z=>l.store.off(z,R))}},[l,G]),I.useEffect(()=>{q.current&&g&&K(w)},[l,u,g]);const se=[B,l,g];if(se.t=B,se.i18n=l,se.ready=g,g||!g&&!d)return se;throw new Promise(j=>{s.lng?Sl(l,s.lng,_,()=>j()):ei(l,_,()=>j())})},Fy={type:"type",syntax:"syntax",overloads:"overloads",arguments:"arguments",fields:"fields",example:"example",returns:"returns",remarks:"remarks","see also":"see also","Copy code":"Copy code","Copy link":"Copy link",Copied:"Copied","Link copied":"Link copied",variables:"Variables",constants:"Constants",functions:"Functions",keywords:"Keywords",types:"Types",operators:"Operators",annotations:"Annotations",search:"Search","Mine Script® v1 Reference Manual":"Mine Script® v{{version}} Reference Manual","This script is read-only. It cannot be edited.":"This script is read-only. It cannot be edited.","save script":"Save script","open script":"Open script","find/replace":"Find/Replace","toggle console":"Toggle console","open editor in new tab":"Open editor in new tab","open editor in new window":"Open editor in new window",keyword:"keyword","built-in function":"built-in function","built-in variable":"built-in variable","built-in method":"built-in method","built-in type":"built-in type",annotation:"annotation","built-in constant":"built-in constant",namespace:"namespace","user-defined variable":"user-defined variable","user-defined type":"user-defined type",field:"field",enum:"enum","user-defined method":"user-defined method","user-defined function":"user-defined function",parameter:"parameter","**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Tcc functions, variables, and methods.":"**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Mine functions, variables, and methods.","to trigger parameters hint":"to trigger parameters hint",library:"library","enum member":"enum member",Returns:"Returns",Syntax:"Syntax",Remarks:"Remarks",Fields:"Fields",Description:"Description",Example:"Example","Enum members":"Enum members",statement:"statement",loop:"loop","`click` on keyword for more help":"`click` on keyword for more help","new indicator":"New Indicator","new strategy":"New Strategy"},Oy={type:"类型",syntax:"语法",overloads:"重载",arguments:"参数",fields:"字段",example:"例子",returns:"返回值",remarks:"备注","see also":"另见","Copy code":"复制代码","Copy link":"复制链接",Copied:"已复制","Link copied":"链接已复制",variables:"内置变量",constants:"常量",functions:"函数",keywords:"关键词",types:"类型",operators:"运算符",annotations:"注释",search:"搜索","Mine Script® v1 Reference Manual":"Mine Script™ v{{version}} 参考手册","This script is read-only. It cannot be edited.":"该脚本是只读的。它无法被编辑。","save script":"保存脚本","open script":"打开脚本","find/replace":"寻找/替换","toggle console":"切换控制台","open editor in new tab":"在新标签页中打开","open editor in new window":"在新窗口中打开",keyword:"关键词","built-in function":"内置函数","built-in variable":"内置变量","built-in method":"内置方法","built-in type":"内置类型",annotation:"注释","built-in constant":"内置常量",namespace:"命名空间","user-defined variable":"用户自定义变量","user-defined type":"用户自定义类型",field:"字段",enum:"枚举","user-defined method":"用户自定义方法","user-defined function":"用户自定义函数",parameter:"参数","**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Tcc functions, variables, and methods.":"命名空间是不可变的术语,充当标识符组的前缀。在命名Mine函数、变量和方法时,点和另一个术语始终遵循命名空间。","to trigger parameters hint":"触发参数提示",library:"脚本库","enum member":"枚举成员",Returns:"返回值",Syntax:"语法",Remarks:"备注",Fields:"字段",Description:"描述",Example:"例子","Enum members":"枚举成员",statement:"声明",loop:"循环","`click` on keyword for more help":"“点击”关键词以获得更多帮助","new indicator":"新建指标","new strategy":"新建策略"};Be.use(Cl).use(Ny).init({debug:!1,fallbackLng:"zh",interpolation:{escapeValue:!1},resources:{en:{translation:Fy},zh:{translation:Oy}}}),self.MonacoEnvironment={getWorker(){return new ly({name:"Editor Worker"})}},Fn.config({paths:{vs:"https://www.tradingvue.com/vs"},"vs/nls":{availableLanguages:{"*":"zh-cn"}}});const Py=(a,s)=>{const{height:r,width:n,theme:o,options:l,hasDiff:p,readOnly:d,defaultValue:u,language:_,onChange:g,onLinkOpen:x,onCursorPositionChange:w,onActionTrigger:C,onEditorDidMount:B,onVersionChange:K}=a,{t:G,i18n:X}=tr(),q=I.useRef(null),se=I.useRef(null),j=I.useRef(!1),W=I.useRef(!1);I.useImperativeHandle(s,()=>({setOriginalScript(ne){q.current?.setOriginalScript(ne)},setScript(ne){q.current?.setValue(ne)},gotoLine(){q.current?.gotoLine()},getEditorLayout(){return q.current?.getEditorLayout()},setPosition(ne,De){q.current?.setPosition({column:ne,lineNumber:De})},setModelMarkers(ne){W.current=!0,q.current?.setModelMarkers(ne),setTimeout(()=>{W.current=!1},2e3)},focus(){q.current?.focus()}})),I.useEffect(()=>{p?q.current?.addDiffDecorations():q.current?.removeDiffDecorations()},[p]),I.useEffect(()=>{o&&Me.editor.setTheme(o)},[o]),I.useEffect(()=>{_&&X.changeLanguage(_)},[_]),I.useEffect(()=>{q.current?.updateActionTrigger(C)},[C]),I.useEffect(()=>{x&&q.current?.addLinkOpenFunc(x)},[x]);function R(ne,De){Ia.setEditor(ne),q.current=new Wu(ne,De,C),x&&q.current?.addLinkOpenFunc(x),p&&q.current?.addDiffDecorations(),xu(ne),requestAnimationFrame(te);const V=ne.getValue();q.current.onChangeCursorPosition(w),g&&g(V),!d&&z(V),B&&B()}const z=I.useCallback(async ne=>{const De=q.current?.getVersion();K&&K(De||Qt),j.current=!1;const{errors:V,functions:ie,methods:Z,types:ce,variables:ue,overloadsFuncs:$,imports:oe,enums:we}=await Dl(ne,!1,De),_e=new Map(Object.entries(ie)),Ke=new Map(Object.entries(Z)),Xe=new Map(Object.entries(ce)),it=new Map(Object.entries(ue)),tt=new Map(Object.entries(oe)),Qe=new Map(Object.entries(we));hs.setUserDefined({functions:_e,methods:Ke,types:Xe,variables:it,imports:tt,enums:Qe},$),$t.setUserDefind(_e,Xe,it,Ke,Qe);const ht=V.map(wt=>({...wt,severity:wt.type||Me.MarkerSeverity.Error}));d||!j.current&&!W.current&&ht.length&&q.current?.setModelMarkers(ht)},[d]),J=I.useMemo(()=>vu.debounce(z,1500),[z]);function re(ne){if(d){z(ne||"");return}j.current=!0,Ia.clearInlayHints(),q.current?.setModelMarkers([]),ne!==void 0&&(g&&g(ne),J(ne))}const te=I.useCallback(()=>{const ne=se.current?.getBoundingClientRect();q.current?.setEditorLayout(ne?.height||0,ne?.width)},[]);return I.useEffect(()=>{const ne=()=>{window.requestAnimationFrame(te)},De=new ResizeObserver(ne);return se.current&&De.observe(se.current),()=>{se.current&&De.unobserve(se.current),De.disconnect(),q.current?.dispose()}},[]),T.jsx("div",{ref:se,children:T.jsx(Km,{height:r,width:n||"100%",defaultLanguage:je,defaultValue:u||`//@version=6
|
|
77
|
+
*/const ul=Symbol("Comlink.proxy"),Xu=Symbol("Comlink.endpoint"),Vu=Symbol("Comlink.releaseProxy"),Vn=Symbol("Comlink.finalizer"),za=Symbol("Comlink.thrown"),yl=a=>typeof a=="object"&&a!==null||typeof a=="function",Yu={canHandle:a=>yl(a)&&a[ul],serialize(a){const{port1:s,port2:r}=new MessageChannel;return fl(a,s),[r,[r]]},deserialize(a){return a.start(),Yn(a)}},Qu={canHandle:a=>yl(a)&&za in a,serialize({value:a}){let s;return a instanceof Error?s={isError:!0,value:{message:a.message,name:a.name,stack:a.stack}}:s={isError:!1,value:a},[s,[]]},deserialize(a){throw a.isError?Object.assign(new Error(a.value.message),a.value):a.value}},_l=new Map([["proxy",Yu],["throw",Qu]]);function Zu(a,s){for(const r of a)if(s===r||r==="*"||r instanceof RegExp&&r.test(s))return!0;return!1}function fl(a,s=globalThis,r=["*"]){s.addEventListener("message",function n(o){if(!o||!o.data)return;if(!Zu(r,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}const{id:l,type:p,path:d}=Object.assign({path:[]},o.data),u=(o.data.argumentList||[]).map(Ms);let _;try{const g=d.slice(0,-1).reduce((w,C)=>w[C],a),x=d.reduce((w,C)=>w[C],a);switch(p){case"GET":_=x;break;case"SET":g[d.slice(-1)[0]]=Ms(o.data.value),_=!0;break;case"APPLY":_=x.apply(g,u);break;case"CONSTRUCT":{const w=new x(...u);_=Zn(w)}break;case"ENDPOINT":{const{port1:w,port2:C}=new MessageChannel;fl(a,C),_=ry(w,[w])}break;case"RELEASE":_=void 0;break;default:return}}catch(g){_={value:g,[za]:0}}Promise.resolve(_).catch(g=>({value:g,[za]:0})).then(g=>{const[x,w]=Sa(g);s.postMessage(Object.assign(Object.assign({},x),{id:l}),w),p==="RELEASE"&&(s.removeEventListener("message",n),gl(s),Vn in a&&typeof a[Vn]=="function"&&a[Vn]())}).catch(g=>{const[x,w]=Sa({value:new TypeError("Unserializable return value"),[za]:0});s.postMessage(Object.assign(Object.assign({},x),{id:l}),w)})}),s.start&&s.start()}function Ju(a){return a.constructor.name==="MessagePort"}function gl(a){Ju(a)&&a.close()}function Yn(a,s){return Qn(a,[],s)}function Ca(a){if(a)throw new Error("Proxy has been released and is not useable")}function bl(a){return er(a,{type:"RELEASE"}).then(()=>{gl(a)})}const Ea=new WeakMap,Na="FinalizationRegistry"in globalThis&&new FinalizationRegistry(a=>{const s=(Ea.get(a)||0)-1;Ea.set(a,s),s===0&&bl(a)});function ey(a,s){const r=(Ea.get(s)||0)+1;Ea.set(s,r),Na&&Na.register(a,s,a)}function ty(a){Na&&Na.unregister(a)}function Qn(a,s=[],r=function(){}){let n=!1;const o=new Proxy(r,{get(l,p){if(Ca(n),p===Vu)return()=>{ty(o),bl(a),n=!0};if(p==="then"){if(s.length===0)return{then:()=>o};const d=er(a,{type:"GET",path:s.map(u=>u.toString())}).then(Ms);return d.then.bind(d)}return Qn(a,[...s,p])},set(l,p,d){Ca(n);const[u,_]=Sa(d);return er(a,{type:"SET",path:[...s,p].map(g=>g.toString()),value:u},_).then(Ms)},apply(l,p,d){Ca(n);const u=s[s.length-1];if(u===Xu)return er(a,{type:"ENDPOINT"}).then(Ms);if(u==="bind")return Qn(a,s.slice(0,-1));const[_,g]=xl(d);return er(a,{type:"APPLY",path:s.map(x=>x.toString()),argumentList:_},g).then(Ms)},construct(l,p){Ca(n);const[d,u]=xl(p);return er(a,{type:"CONSTRUCT",path:s.map(_=>_.toString()),argumentList:d},u).then(Ms)}});return ey(o,a),o}function sy(a){return Array.prototype.concat.apply([],a)}function xl(a){const s=a.map(Sa);return[s.map(r=>r[0]),sy(s.map(r=>r[1]))]}const hl=new WeakMap;function ry(a,s){return hl.set(a,s),a}function Zn(a){return Object.assign(a,{[ul]:!0})}function Sa(a){for(const[s,r]of _l)if(r.canHandle(a)){const[n,o]=r.serialize(a);return[{type:"HANDLER",name:s,value:n},o]}return[{type:"RAW",value:a},hl.get(a)||[]]}function Ms(a){switch(a.type){case"HANDLER":return _l.get(a.name).deserialize(a.value);case"RAW":return a.value}}function er(a,s,r){return new Promise(n=>{const o=ay();a.addEventListener("message",function l(p){!p.data||!p.data.id||p.data.id!==o||(a.removeEventListener("message",l),n(p.data))}),a.start&&a.start(),a.postMessage(Object.assign({id:o},s),r)})}function ay(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}const wl=new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/scriptsRunWorker-CmAR4nak.js").href:new URL("assets/scriptsRunWorker-CmAR4nak.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ma&&ma.src||new URL("trading-vue-editor.umd.packages.mjs",document.baseURI).href),{type:"module",name:"Run MineScript Server"});wl.onerror=a=>{console.error(a)};async function vl(a){return await Ia.setInlayHints(a)}const Tl=Yn(wl),kl=Yn(new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/parserTccWorker-7TwvByCU.js").href:new URL("assets/parserTccWorker-7TwvByCU.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ma&&ma.src||new URL("trading-vue-editor.umd.packages.mjs",document.baseURI).href),{type:"module",name:"Parser MineScript Server"}));async function Dl(a,s=!1,r=Qt){const n=a.match(/\s*\/\/\s*@version\s*=\s*([0-9])/)?.[1];n&&(r=parseInt(n),r=r<3?3:r>6?6:r);const o=await xs(r);if(!o)return;const{functions:l,types:p,constants:d,variables:u,methods:_}=o.KEY_MAP_LIST;return await kl.parseTcc(a,s,Zn(vl),{functions:Object.fromEntries(l),methods:Object.fromEntries(_),types:Object.fromEntries(p),constants:Object.fromEntries(d),variables:Object.fromEntries(u)},r)}async function ny(a,s){const r=await xs(6);if(!r)return;const{functions:n,types:o,constants:l,variables:p,methods:d}=r.KEY_MAP_LIST;return await kl.parseLibraryCode(a,s,Zn(vl),{functions:Object.fromEntries(n),methods:Object.fromEntries(d),types:Object.fromEntries(o),constants:Object.fromEntries(l),variables:Object.fromEntries(p)})}async function iy(a,s,r=!0,n=Qt){return await Tl.runScript(a,s,r,n)}async function oy(a){return await Tl.removeScript(a)}function ly(a){return new Worker(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/editor.worker-BxEYBjj-.js").href:new URL("assets/editor.worker-BxEYBjj-.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),{type:"module",name:a?.name})}const{slice:cy,forEach:py}=[];function dy(a){return py.call(cy.call(arguments,1),s=>{if(s)for(const r in s)a[r]===void 0&&(a[r]=s[r])}),a}const Il=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,my=(a,s,r)=>{const n=r||{};n.path=n.path||"/";const o=encodeURIComponent(s);let l=`${a}=${o}`;if(n.maxAge>0){const p=n.maxAge-0;if(Number.isNaN(p))throw new Error("maxAge should be a Number");l+=`; Max-Age=${Math.floor(p)}`}if(n.domain){if(!Il.test(n.domain))throw new TypeError("option domain is invalid");l+=`; Domain=${n.domain}`}if(n.path){if(!Il.test(n.path))throw new TypeError("option path is invalid");l+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");l+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(l+="; HttpOnly"),n.secure&&(l+="; Secure"),n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:l+="; SameSite=Strict";break;case"lax":l+="; SameSite=Lax";break;case"strict":l+="; SameSite=Strict";break;case"none":l+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return l},Al={create(a,s,r,n){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+r*60*1e3)),n&&(o.domain=n),document.cookie=my(a,encodeURIComponent(s),o)},read(a){const s=`${a}=`,r=document.cookie.split(";");for(let n=0;n<r.length;n++){let o=r[n];for(;o.charAt(0)===" ";)o=o.substring(1,o.length);if(o.indexOf(s)===0)return o.substring(s.length,o.length)}return null},remove(a){this.create(a,"",-1)}};var uy={name:"cookie",lookup(a){let{lookupCookie:s}=a;if(s&&typeof document<"u")return Al.read(s)||void 0},cacheUserLanguage(a,s){let{lookupCookie:r,cookieMinutes:n,cookieDomain:o,cookieOptions:l}=s;r&&typeof document<"u"&&Al.create(r,a,n,o,l)}},yy={name:"querystring",lookup(a){let{lookupQuerystring:s}=a,r;if(typeof window<"u"){let{search:n}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(n=window.location.hash.substring(window.location.hash.indexOf("?")));const l=n.substring(1).split("&");for(let p=0;p<l.length;p++){const d=l[p].indexOf("=");d>0&&l[p].substring(0,d)===s&&(r=l[p].substring(d+1))}}return r}};let Or=null;const ql=()=>{if(Or!==null)return Or;try{Or=window!=="undefined"&&window.localStorage!==null;const a="i18next.translate.boo";window.localStorage.setItem(a,"foo"),window.localStorage.removeItem(a)}catch{Or=!1}return Or};var _y={name:"localStorage",lookup(a){let{lookupLocalStorage:s}=a;if(s&&ql())return window.localStorage.getItem(s)||void 0},cacheUserLanguage(a,s){let{lookupLocalStorage:r}=s;r&&ql()&&window.localStorage.setItem(r,a)}};let Pr=null;const zl=()=>{if(Pr!==null)return Pr;try{Pr=window!=="undefined"&&window.sessionStorage!==null;const a="i18next.translate.boo";window.sessionStorage.setItem(a,"foo"),window.sessionStorage.removeItem(a)}catch{Pr=!1}return Pr};var fy={name:"sessionStorage",lookup(a){let{lookupSessionStorage:s}=a;if(s&&zl())return window.sessionStorage.getItem(s)||void 0},cacheUserLanguage(a,s){let{lookupSessionStorage:r}=s;r&&zl()&&window.sessionStorage.setItem(r,a)}},gy={name:"navigator",lookup(a){const s=[];if(typeof navigator<"u"){const{languages:r,userLanguage:n,language:o}=navigator;if(r)for(let l=0;l<r.length;l++)s.push(r[l]);n&&s.push(n),o&&s.push(o)}return s.length>0?s:void 0}},by={name:"htmlTag",lookup(a){let{htmlTag:s}=a,r;const n=s||(typeof document<"u"?document.documentElement:null);return n&&typeof n.getAttribute=="function"&&(r=n.getAttribute("lang")),r}},xy={name:"path",lookup(a){let{lookupFromPathIndex:s}=a;if(typeof window>"u")return;const r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(r)?r[typeof s=="number"?s:0]?.replace("/",""):void 0}},hy={name:"subdomain",lookup(a){let{lookupFromSubdomainIndex:s}=a;const r=typeof s=="number"?s+1:1,n=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(n)return n[r]}};function wy(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:a=>a}}class Cl{constructor(s){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(s,r)}init(s){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=s||{languageUtils:{}},this.options=dy(r,this.options||{},wy()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(uy),this.addDetector(yy),this.addDetector(_y),this.addDetector(fy),this.addDetector(gy),this.addDetector(by),this.addDetector(xy),this.addDetector(hy)}addDetector(s){return this.detectors[s.name]=s,this}detect(s){s||(s=this.options.order);let r=[];return s.forEach(n=>{if(this.detectors[n]){let o=this.detectors[n].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(r=r.concat(o))}}),r=r.map(n=>this.options.convertDetectedLanguage(n)),this.services.languageUtils.getBestMatchFromCodes?r:r.length>0?r[0]:null}cacheUserLanguage(s,r){r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(s)>-1||r.forEach(n=>{this.detectors[n]&&this.detectors[n].cacheUserLanguage(s,this.options)}))}}Cl.type="languageDetector";const vy=(...a)=>{console?.warn&&(Bs(a[0])&&(a[0]=`react-i18next:: ${a[0]}`),console.warn(...a))},El={},Jn=(...a)=>{Bs(a[0])&&El[a[0]]||(Bs(a[0])&&(El[a[0]]=new Date),vy(...a))},Nl=(a,s)=>()=>{if(a.isInitialized)s();else{const r=()=>{setTimeout(()=>{a.off("initialized",r)},0),s()};a.on("initialized",r)}},ei=(a,s,r)=>{a.loadNamespaces(s,Nl(a,r))},Sl=(a,s,r,n)=>{if(Bs(r)&&(r=[r]),a.options.preload&&a.options.preload.indexOf(s)>-1)return ei(a,r,n);r.forEach(o=>{a.options.ns.indexOf(o)<0&&a.options.ns.push(o)}),a.loadLanguages(s,Nl(a,n))},Ty=(a,s,r={})=>!s.languages||!s.languages.length?(Jn("i18n.languages were undefined or empty",s.languages),!0):s.hasLoadedNamespace(a,{lng:r.lng,precheck:(n,o)=>{if(r.bindI18n?.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,a))return!1}}),Bs=a=>typeof a=="string",ky=a=>typeof a=="object"&&a!==null,Dy=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Iy={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Ay=a=>Iy[a];let ti={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:a=>a.replace(Dy,Ay)};const qy=(a={})=>{ti={...ti,...a}},zy=()=>ti;let Ll;const Cy=a=>{Ll=a},Ey=()=>Ll,Ny={type:"3rdParty",init(a){qy(a.options.react),Cy(a)}},Sy=I.createContext();class Ly{constructor(){this.usedNamespaces={}}addUsedNamespaces(s){s.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const My=(a,s)=>{const r=I.useRef();return I.useEffect(()=>{r.current=s?r.current:a},[a,s]),r.current},Ml=(a,s,r,n)=>a.getFixedT(s,r,n),By=(a,s,r,n)=>I.useCallback(Ml(a,s,r,n),[a,s,r,n]),tr=(a,s={})=>{const{i18n:r}=s,{i18n:n,defaultNS:o}=I.useContext(Sy)||{},l=r||n||Ey();if(l&&!l.reportNamespaces&&(l.reportNamespaces=new Ly),!l){Jn("You will need to pass in an i18next instance by using initReactI18next");const j=(R,z)=>Bs(z)?z:ky(z)&&Bs(z.defaultValue)?z.defaultValue:Array.isArray(R)?R[R.length-1]:R,W=[j,{},!1];return W.t=j,W.i18n={},W.ready=!1,W}l.options.react?.wait&&Jn("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const p={...zy(),...l.options.react,...s},{useSuspense:d,keyPrefix:u}=p;let _=a||o||l.options?.defaultNS;_=Bs(_)?[_]:_||["translation"],l.reportNamespaces.addUsedNamespaces?.(_);const g=(l.isInitialized||l.initializedStoreOnce)&&_.every(j=>Ty(j,l,p)),x=By(l,s.lng||null,p.nsMode==="fallback"?_:_[0],u),w=()=>x,C=()=>Ml(l,s.lng||null,p.nsMode==="fallback"?_:_[0],u),[B,K]=I.useState(w);let G=_.join();s.lng&&(G=`${s.lng}${G}`);const X=My(G),q=I.useRef(!0);I.useEffect(()=>{const{bindI18n:j,bindI18nStore:W}=p;q.current=!0,!g&&!d&&(s.lng?Sl(l,s.lng,_,()=>{q.current&&K(C)}):ei(l,_,()=>{q.current&&K(C)})),g&&X&&X!==G&&q.current&&K(C);const R=()=>{q.current&&K(C)};return j&&l?.on(j,R),W&&l?.store.on(W,R),()=>{q.current=!1,l&&j?.split(" ").forEach(z=>l.off(z,R)),W&&l&&W.split(" ").forEach(z=>l.store.off(z,R))}},[l,G]),I.useEffect(()=>{q.current&&g&&K(w)},[l,u,g]);const se=[B,l,g];if(se.t=B,se.i18n=l,se.ready=g,g||!g&&!d)return se;throw new Promise(j=>{s.lng?Sl(l,s.lng,_,()=>j()):ei(l,_,()=>j())})},Fy={type:"type",syntax:"syntax",overloads:"overloads",arguments:"arguments",fields:"fields",example:"example",returns:"returns",remarks:"remarks","see also":"see also","Copy code":"Copy code","Copy link":"Copy link",Copied:"Copied","Link copied":"Link copied",variables:"Variables",constants:"Constants",functions:"Functions",keywords:"Keywords",types:"Types",operators:"Operators",annotations:"Annotations",search:"Search","Mine Script® v1 Reference Manual":"Mine Script® v{{version}} Reference Manual","This script is read-only. It cannot be edited.":"This script is read-only. It cannot be edited.","save script":"Save script","open script":"Open script","find/replace":"Find/Replace","toggle console":"Toggle console","open editor in new tab":"Open editor in new tab","open editor in new window":"Open editor in new window",keyword:"keyword","built-in function":"built-in function","built-in variable":"built-in variable","built-in method":"built-in method","built-in type":"built-in type",annotation:"annotation","built-in constant":"built-in constant",namespace:"namespace","user-defined variable":"user-defined variable","user-defined type":"user-defined type",field:"field",enum:"enum","user-defined method":"user-defined method","user-defined function":"user-defined function",parameter:"parameter","**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Tcc functions, variables, and methods.":"**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Mine functions, variables, and methods.","to trigger parameters hint":"to trigger parameters hint",library:"library","enum member":"enum member",Returns:"Returns",Syntax:"Syntax",Remarks:"Remarks",Fields:"Fields",Description:"Description",Example:"Example","Enum members":"Enum members",statement:"statement",loop:"loop","`click` on keyword for more help":"`click` on keyword for more help","new indicator":"New Indicator","new strategy":"New Strategy"},Oy={type:"类型",syntax:"语法",overloads:"重载",arguments:"参数",fields:"字段",example:"例子",returns:"返回值",remarks:"备注","see also":"另见","Copy code":"复制代码","Copy link":"复制链接",Copied:"已复制","Link copied":"链接已复制",variables:"内置变量",constants:"常量",functions:"函数",keywords:"关键词",types:"类型",operators:"运算符",annotations:"注释",search:"搜索","Mine Script® v1 Reference Manual":"Mine Script™ v{{version}} 参考手册","This script is read-only. It cannot be edited.":"该脚本是只读的。它无法被编辑。","save script":"保存脚本","open script":"打开脚本","find/replace":"寻找/替换","toggle console":"切换控制台","open editor in new tab":"在新标签页中打开","open editor in new window":"在新窗口中打开",keyword:"关键词","built-in function":"内置函数","built-in variable":"内置变量","built-in method":"内置方法","built-in type":"内置类型",annotation:"注释","built-in constant":"内置常量",namespace:"命名空间","user-defined variable":"用户自定义变量","user-defined type":"用户自定义类型",field:"字段",enum:"枚举","user-defined method":"用户自定义方法","user-defined function":"用户自定义函数",parameter:"参数","**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Tcc functions, variables, and methods.":"命名空间是不可变的术语,充当标识符组的前缀。在命名Mine函数、变量和方法时,点和另一个术语始终遵循命名空间。","to trigger parameters hint":"触发参数提示",library:"脚本库","enum member":"枚举成员",Returns:"返回值",Syntax:"语法",Remarks:"备注",Fields:"字段",Description:"描述",Example:"例子","Enum members":"枚举成员",statement:"声明",loop:"循环","`click` on keyword for more help":"“点击”关键词以获得更多帮助","new indicator":"新建指标","new strategy":"新建策略"};Be.use(Cl).use(Ny).init({debug:!1,fallbackLng:"zh",interpolation:{escapeValue:!1},resources:{en:{translation:Fy},zh:{translation:Oy}}}),self.MonacoEnvironment={getWorker(){return new ly({name:"Editor Worker"})}},Fn.config({paths:{vs:"https://www.tradingvue.com/vs"},"vs/nls":{availableLanguages:{"*":"zh-cn"}}});const Py=(a,s)=>{const{height:r,width:n,theme:o,options:l,hasDiff:p,readOnly:d,defaultValue:u,language:_,onChange:g,onLinkOpen:x,onCursorPositionChange:w,onActionTrigger:C,onEditorDidMount:B,onVersionChange:K}=a,{t:G,i18n:X}=tr(),q=I.useRef(null),se=I.useRef(null),j=I.useRef(!1),W=I.useRef(!1);I.useImperativeHandle(s,()=>({setOriginalScript(ne){q.current?.setOriginalScript(ne)},setScript(ne){q.current?.setValue(ne)},gotoLine(){q.current?.gotoLine()},getEditorLayout(){return q.current?.getEditorLayout()},setPosition(ne,De){q.current?.setPosition({column:ne,lineNumber:De})},setModelMarkers(ne){W.current=!0,q.current?.setModelMarkers(ne),setTimeout(()=>{W.current=!1},2e3)},focus(){q.current?.focus()}})),I.useEffect(()=>{p?q.current?.addDiffDecorations():q.current?.removeDiffDecorations()},[p]),I.useEffect(()=>{o&&Me.editor.setTheme(o)},[o]),I.useEffect(()=>{_&&X.changeLanguage(_)},[_]),I.useEffect(()=>{q.current?.updateActionTrigger(C)},[C]),I.useEffect(()=>{x&&q.current?.addLinkOpenFunc(x)},[x]);function R(ne,De){Ia.setEditor(ne),q.current=new Wu(ne,De,C),x&&q.current?.addLinkOpenFunc(x),p&&q.current?.addDiffDecorations(),xu(ne),requestAnimationFrame(te);const V=ne.getValue();q.current.onChangeCursorPosition(w),g&&g(V),!d&&z(V),B&&B()}const z=I.useCallback(async ne=>{const De=q.current?.getVersion();K&&K(De||Qt),j.current=!1;const{errors:V,functions:ie,methods:Z,types:ce,variables:ue,overloadsFuncs:$,imports:oe,enums:we}=await Dl(ne,!1,De),_e=new Map(Object.entries(ie)),Ke=new Map(Object.entries(Z)),Xe=new Map(Object.entries(ce)),it=new Map(Object.entries(ue)),tt=new Map(Object.entries(oe)),Qe=new Map(Object.entries(we));hs.setUserDefined({functions:_e,methods:Ke,types:Xe,variables:it,imports:tt,enums:Qe},$),$t.setUserDefind(_e,Xe,it,Ke,Qe);const ht=V.map(wt=>({...wt,severity:wt.type||Me.MarkerSeverity.Error}));d||!j.current&&!W.current&&ht.length&&q.current?.setModelMarkers(ht)},[d]),J=I.useMemo(()=>vu.debounce(z,1500),[z]);function re(ne){if(d){z(ne||"");return}j.current=!0,Ia.clearInlayHints(),q.current?.setModelMarkers([]),ne!==void 0&&(g&&g(ne),J(ne))}const te=I.useCallback(()=>{const ne=se.current?.getBoundingClientRect();q.current?.setEditorLayout(ne?.height||0,ne?.width)},[]);return I.useEffect(()=>{const ne=()=>{window.requestAnimationFrame(te)},De=new ResizeObserver(ne);return se.current&&De.observe(se.current),()=>{se.current&&De.unobserve(se.current),De.disconnect(),q.current?.dispose()}},[]),T.jsx("div",{ref:se,children:T.jsx(Km,{height:r,width:n||"100%",defaultLanguage:je,defaultValue:u||`//@version=6
|
|
78
78
|
indicator("我的脚本")
|
|
79
79
|
plot(close)
|
|
80
80
|
`,theme:o||"vs-dark",className:`tvue-script ${o||"vs-dark"}`,options:{colorDecorators:!0,useShadowDOM:!1,matchOnWordStartOnly:!0,automaticLayout:!1,unicodeHighlight:{allowedCharacters:{" ":!0}},suggest:{filterGraceful:!0},fontSize:13,...d?$m:{},readOnlyMessage:{value:G("This script is read-only. It cannot be edited.")},...l},onMount:R,onChange:re})})},Ry=I.forwardRef(Py),Ky=a=>{const{theme:s,modified:r,original:n,height:o,width:l,renderSideBySide:p=!0,version:d=Qt}=a,u=I.useCallback(async(_,g)=>{g.languages.register({id:je}),g.editor.defineTheme("vs-dark",Hn),g.editor.defineTheme("vs",$n);const x=await Ta(d);x&&(g.languages.setMonarchTokensProvider(je,x.LANGUAGE_MONARCH_TOKENS),g.languages.setLanguageConfiguration(je,x.CONFIGURATION))},[d]);return T.jsx(Bm,{height:o||"90vh",width:l||"100%",theme:s||"vs-dark",options:{readOnly:!0,renderSideBySide:p,scrollBeyondLastLine:!1},language:je,modified:r,original:n,onMount:u})};M.VMarkerSeverity=void 0,function(a){a[a.Hint=1]="Hint",a[a.Info=2]="Info",a[a.Warning=4]="Warning",a[a.Error=8]="Error"}(M.VMarkerSeverity||(M.VMarkerSeverity={}));var La={},Uy=function(){var a=document.getSelection();if(!a.rangeCount)return function(){};for(var s=document.activeElement,r=[],n=0;n<a.rangeCount;n++)r.push(a.getRangeAt(n));switch(s.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":s.blur();break;default:s=null;break}return a.removeAllRanges(),function(){a.type==="Caret"&&a.removeAllRanges(),a.rangeCount||r.forEach(function(o){a.addRange(o)}),s&&s.focus()}},$y=Uy,Bl={"text/plain":"Text","text/html":"Url",default:"Text"},Hy="Copy to clipboard: #{key}, Enter";function jy(a){var s=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return a.replace(/#{\s*key\s*}/g,s)}function Gy(a,s){var r,n,o,l,p,d,u=!1;s||(s={}),r=s.debug||!1;try{o=$y(),l=document.createRange(),p=document.getSelection(),d=document.createElement("span"),d.textContent=a,d.ariaHidden="true",d.style.all="unset",d.style.position="fixed",d.style.top=0,d.style.clip="rect(0, 0, 0, 0)",d.style.whiteSpace="pre",d.style.webkitUserSelect="text",d.style.MozUserSelect="text",d.style.msUserSelect="text",d.style.userSelect="text",d.addEventListener("copy",function(g){if(g.stopPropagation(),s.format)if(g.preventDefault(),typeof g.clipboardData>"u"){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var x=Bl[s.format]||Bl.default;window.clipboardData.setData(x,a)}else g.clipboardData.clearData(),g.clipboardData.setData(s.format,a);s.onCopy&&(g.preventDefault(),s.onCopy(g.clipboardData))}),document.body.appendChild(d),l.selectNodeContents(d),p.addRange(l);var _=document.execCommand("copy");if(!_)throw new Error("copy command was unsuccessful");u=!0}catch(g){r&&console.error("unable to copy using execCommand: ",g),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(s.format||"text",a),s.onCopy&&s.onCopy(window.clipboardData),u=!0}catch(x){r&&console.error("unable to copy using clipboardData: ",x),r&&console.error("falling back to prompt"),n=jy("message"in s?s.message:Hy),window.prompt(n,a)}}finally{p&&(typeof p.removeRange=="function"?p.removeRange(l):p.removeAllRanges()),d&&document.body.removeChild(d),o()}return u}var Wy=Gy;function si(a){"@babel/helpers - typeof";return si=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},si(a)}Object.defineProperty(La,"__esModule",{value:!0}),La.CopyToClipboard=void 0;var Ma=Fl(I),Xy=Fl(Wy),Vy=["text","onCopy","options","children"];function Fl(a){return a&&a.__esModule?a:{default:a}}function Ol(a,s){var r=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);s&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(a,o).enumerable})),r.push.apply(r,n)}return r}function Pl(a){for(var s=1;s<arguments.length;s++){var r=arguments[s]!=null?arguments[s]:{};s%2?Ol(Object(r),!0).forEach(function(n){ai(a,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(r)):Ol(Object(r)).forEach(function(n){Object.defineProperty(a,n,Object.getOwnPropertyDescriptor(r,n))})}return a}function Yy(a,s){if(a==null)return{};var r=Qy(a,s),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(a);for(o=0;o<l.length;o++)n=l[o],!(s.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(a,n)&&(r[n]=a[n])}return r}function Qy(a,s){if(a==null)return{};var r={},n=Object.keys(a),o,l;for(l=0;l<n.length;l++)o=n[l],!(s.indexOf(o)>=0)&&(r[o]=a[o]);return r}function Zy(a,s){if(!(a instanceof s))throw new TypeError("Cannot call a class as a function")}function Rl(a,s){for(var r=0;r<s.length;r++){var n=s[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(a,n.key,n)}}function Jy(a,s,r){return s&&Rl(a.prototype,s),r&&Rl(a,r),Object.defineProperty(a,"prototype",{writable:!1}),a}function e_(a,s){if(typeof s!="function"&&s!==null)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(s&&s.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),s&&ri(a,s)}function ri(a,s){return ri=Object.setPrototypeOf||function(n,o){return n.__proto__=o,n},ri(a,s)}function t_(a){var s=r_();return function(){var n=Ba(a),o;if(s){var l=Ba(this).constructor;o=Reflect.construct(n,arguments,l)}else o=n.apply(this,arguments);return s_(this,o)}}function s_(a,s){if(s&&(si(s)==="object"||typeof s=="function"))return s;if(s!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Kl(a)}function Kl(a){if(a===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function r_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ba(a){return Ba=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Ba(a)}function ai(a,s,r){return s in a?Object.defineProperty(a,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):a[s]=r,a}var Ul=function(a){e_(r,a);var s=t_(r);function r(){var n;Zy(this,r);for(var o=arguments.length,l=new Array(o),p=0;p<o;p++)l[p]=arguments[p];return n=s.call.apply(s,[this].concat(l)),ai(Kl(n),"onClick",function(d){var u=n.props,_=u.text,g=u.onCopy,x=u.children,w=u.options,C=Ma.default.Children.only(x),B=(0,Xy.default)(_,w);g&&g(_,B),C&&C.props&&typeof C.props.onClick=="function"&&C.props.onClick(d)}),n}return Jy(r,[{key:"render",value:function(){var o=this.props;o.text,o.onCopy,o.options;var l=o.children,p=Yy(o,Vy),d=Ma.default.Children.only(l);return Ma.default.cloneElement(d,Pl(Pl({},p),{},{onClick:this.onClick}))}}]),r}(Ma.default.PureComponent);La.CopyToClipboard=Ul,ai(Ul,"defaultProps",{onCopy:void 0,options:void 0});var a_=La,ni=a_.CopyToClipboard;ni.CopyToClipboard=ni;var n_=ni;const sr=Sd(n_);Me.languages.register({id:je}),Me.editor.defineTheme("vs-dark",Hn),Me.editor.defineTheme("vs",$n);const $l=[{label:"版本 v3",version:3},{label:"版本 v4",version:4},{label:"版本 v5",version:5},{label:"版本 v6",version:6}];async function ii(a){const s=await Ta(a);s&&(Me.languages.setMonarchTokensProvider(je,s.LANGUAGE_MONARCH_TOKENS),Me.languages.setLanguageConfiguration(je,s.CONFIGURATION))}async function Hl(a,s,r){return s&&Me.editor.setTheme(s.includes("dark")?"vs-dark":"light"),r&&await ii(r),await Me.editor.colorize(a,je,{tabSize:4})}async function oi(a,s=0){const r=a[s];if(!r)return;const{name:n,args:o,type:l,desc:p,examples:d,remarks:u,seeAlso:_,syntax:g,detailedDesc:x,fields:w,returns:C}=r,B={name:n,orirginalName:n};if(a.length>1&&(B.overloads=`${a.length} ${Be.t("overloads")}`),l&&(B.type=l),o&&(B.name=`${n}()`,B.args=o.map(K=>{const{name:G,desc:X,displayType:q}=K;return{label:`${G} (${q})`,desc:X&&Fs(X)}})),p&&(B.desc=p.map(K=>Fs(K))),d&&(B.originalExample=d.join(`
|