@opentiny/tiny-engine-setting-events 2.8.0-rc.1 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +86 -85
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import "./style.css";
|
|
2
2
|
import { ref as Lt, reactive as Ut, provide as he, nextTick as Ee, resolveComponent as B, createBlock as tt, openBlock as S, withCtx as I, createElementVNode as m, createVNode as _, resolveDynamicComponent as te, createTextVNode as Dt, unref as O, createElementBlock as J, Fragment as $t, withDirectives as ee, renderList as Ht, normalizeClass as It, toDisplayString as W, createCommentVNode as zt, vShow as ne, computed as Tt, watchEffect as ue, watch as ie, inject as ge } from "vue";
|
|
3
|
-
import { callEntry as b, META_APP as
|
|
4
|
-
import { TinyAlert as ye, DialogBox as fe, Button as Ft, Form as we, FormItem as oe, Input as qt, Popover as
|
|
3
|
+
import { callEntry as b, META_APP as x, getMetaApi as k, getOptions as X, useLayout as N, useHistory as K, useCanvas as y, getMergeMeta as L, useBlock as pt, useMaterial as vt, useModal as bt, useMessage as _t, useProperties as $ } from "@opentiny/tiny-engine-meta-register";
|
|
4
|
+
import { TinyAlert as ye, DialogBox as fe, Button as Ft, Form as we, FormItem as oe, Input as qt, Popover as Ce, Tooltip as xe, Collapse as ke, CollapseItem as se, Checkbox as De, Search as Se } from "@opentiny/vue";
|
|
5
5
|
import Et from "@opentiny/tiny-engine-common/js/i18n";
|
|
6
6
|
import { SvgButton as yt, BlockLinkEvent as wt, PluginPanel as Ae, VueMonaco as St } from "@opentiny/tiny-engine-common";
|
|
7
|
-
import { iconChevronDown as
|
|
7
|
+
import { iconChevronDown as Ct } from "@opentiny/vue-icon";
|
|
8
8
|
import { string2Ast as H } from "@opentiny/tiny-engine-common/js/ast";
|
|
9
9
|
import { CodeConfigurator as st, InputConfigurator as rt, VariableConfigurator as at, SwitchConfigurator as lt } from "@opentiny/tiny-engine-configurator";
|
|
10
10
|
import { PROP_DATA_TYPE as G } from "@opentiny/tiny-engine-common/js/constants";
|
|
@@ -546,11 +546,12 @@ class U {
|
|
|
546
546
|
}
|
|
547
547
|
_split(t) {
|
|
548
548
|
if (this.byStart[t] || this.byEnd[t]) return;
|
|
549
|
-
let n = this.lastSearchedChunk;
|
|
550
|
-
const
|
|
549
|
+
let n = this.lastSearchedChunk, e = n;
|
|
550
|
+
const i = t > n.end;
|
|
551
551
|
for (; n; ) {
|
|
552
552
|
if (n.contains(t)) return this._splitChunk(n, t);
|
|
553
|
-
n =
|
|
553
|
+
if (n = i ? this.byStart[n.end] : this.byEnd[n.start], n === e) return;
|
|
554
|
+
e = n;
|
|
554
555
|
}
|
|
555
556
|
}
|
|
556
557
|
_splitChunk(t, n) {
|
|
@@ -690,7 +691,7 @@ const Bt = (c, t) => {
|
|
|
690
691
|
useLayout: N,
|
|
691
692
|
getOptions: X,
|
|
692
693
|
getMetaApi: k,
|
|
693
|
-
META_APP:
|
|
694
|
+
META_APP: x,
|
|
694
695
|
MagicString: U,
|
|
695
696
|
meta: R,
|
|
696
697
|
dialogVisible: j,
|
|
@@ -711,7 +712,7 @@ const Bt = (c, t) => {
|
|
|
711
712
|
useLayout: N,
|
|
712
713
|
getOptions: X,
|
|
713
714
|
getMetaApi: k,
|
|
714
|
-
META_APP:
|
|
715
|
+
META_APP: x,
|
|
715
716
|
MagicString: U,
|
|
716
717
|
meta: R,
|
|
717
718
|
dialogVisible: j,
|
|
@@ -744,7 +745,7 @@ const Bt = (c, t) => {
|
|
|
744
745
|
getMethods: s,
|
|
745
746
|
saveMethod: r,
|
|
746
747
|
highlightMethod: a
|
|
747
|
-
} = k(
|
|
748
|
+
} = k(x.Page), d = Ut({
|
|
748
749
|
editorContent: "",
|
|
749
750
|
bindMethodInfo: {},
|
|
750
751
|
tip: "",
|
|
@@ -777,7 +778,7 @@ const Bt = (c, t) => {
|
|
|
777
778
|
getFormatParams: g,
|
|
778
779
|
rewriteMethodParams: p,
|
|
779
780
|
activePagePlugin: w,
|
|
780
|
-
confirm:
|
|
781
|
+
confirm: C,
|
|
781
782
|
openedDialog: A,
|
|
782
783
|
closeDialog: P,
|
|
783
784
|
string2Ast: H,
|
|
@@ -787,7 +788,7 @@ const Bt = (c, t) => {
|
|
|
787
788
|
useLayout: N,
|
|
788
789
|
getOptions: X,
|
|
789
790
|
getMetaApi: k,
|
|
790
|
-
META_APP:
|
|
791
|
+
META_APP: x,
|
|
791
792
|
MagicString: U,
|
|
792
793
|
meta: R,
|
|
793
794
|
dialogVisible: j,
|
|
@@ -834,7 +835,7 @@ const Bt = (c, t) => {
|
|
|
834
835
|
getFormatParams: g,
|
|
835
836
|
rewriteMethodParams: p,
|
|
836
837
|
activePagePlugin: w,
|
|
837
|
-
confirm:
|
|
838
|
+
confirm: C,
|
|
838
839
|
openedDialog: A,
|
|
839
840
|
closeDialog: P,
|
|
840
841
|
string2Ast: H,
|
|
@@ -844,7 +845,7 @@ const Bt = (c, t) => {
|
|
|
844
845
|
useLayout: N,
|
|
845
846
|
getOptions: X,
|
|
846
847
|
getMetaApi: k,
|
|
847
|
-
META_APP:
|
|
848
|
+
META_APP: x,
|
|
848
849
|
MagicString: U,
|
|
849
850
|
meta: R,
|
|
850
851
|
dialogVisible: j,
|
|
@@ -875,7 +876,7 @@ const Bt = (c, t) => {
|
|
|
875
876
|
getFormatParams: g,
|
|
876
877
|
rewriteMethodParams: p,
|
|
877
878
|
activePagePlugin: w,
|
|
878
|
-
confirm:
|
|
879
|
+
confirm: C,
|
|
879
880
|
openedDialog: A,
|
|
880
881
|
closeDialog: P,
|
|
881
882
|
string2Ast: H,
|
|
@@ -885,7 +886,7 @@ const Bt = (c, t) => {
|
|
|
885
886
|
useLayout: N,
|
|
886
887
|
getOptions: X,
|
|
887
888
|
getMetaApi: k,
|
|
888
|
-
META_APP:
|
|
889
|
+
META_APP: x,
|
|
889
890
|
MagicString: U,
|
|
890
891
|
meta: R,
|
|
891
892
|
dialogVisible: j,
|
|
@@ -923,7 +924,7 @@ const Bt = (c, t) => {
|
|
|
923
924
|
getFormatParams: g,
|
|
924
925
|
rewriteMethodParams: p,
|
|
925
926
|
activePagePlugin: w,
|
|
926
|
-
confirm:
|
|
927
|
+
confirm: C,
|
|
927
928
|
openedDialog: A,
|
|
928
929
|
closeDialog: P,
|
|
929
930
|
string2Ast: H,
|
|
@@ -933,7 +934,7 @@ const Bt = (c, t) => {
|
|
|
933
934
|
useLayout: N,
|
|
934
935
|
getOptions: X,
|
|
935
936
|
getMetaApi: k,
|
|
936
|
-
META_APP:
|
|
937
|
+
META_APP: x,
|
|
937
938
|
MagicString: U,
|
|
938
939
|
meta: R,
|
|
939
940
|
dialogVisible: j,
|
|
@@ -964,7 +965,7 @@ const Bt = (c, t) => {
|
|
|
964
965
|
getFormatParams: g,
|
|
965
966
|
rewriteMethodParams: p,
|
|
966
967
|
activePagePlugin: w,
|
|
967
|
-
confirm:
|
|
968
|
+
confirm: C,
|
|
968
969
|
openedDialog: A,
|
|
969
970
|
closeDialog: P,
|
|
970
971
|
string2Ast: H,
|
|
@@ -974,7 +975,7 @@ const Bt = (c, t) => {
|
|
|
974
975
|
useLayout: N,
|
|
975
976
|
getOptions: X,
|
|
976
977
|
getMetaApi: k,
|
|
977
|
-
META_APP:
|
|
978
|
+
META_APP: x,
|
|
978
979
|
MagicString: U,
|
|
979
980
|
meta: R,
|
|
980
981
|
dialogVisible: j,
|
|
@@ -1021,7 +1022,7 @@ const Bt = (c, t) => {
|
|
|
1021
1022
|
getFormatParams: g,
|
|
1022
1023
|
rewriteMethodParams: p,
|
|
1023
1024
|
activePagePlugin: w,
|
|
1024
|
-
confirm:
|
|
1025
|
+
confirm: C,
|
|
1025
1026
|
openedDialog: A,
|
|
1026
1027
|
closeDialog: P,
|
|
1027
1028
|
string2Ast: H,
|
|
@@ -1031,7 +1032,7 @@ const Bt = (c, t) => {
|
|
|
1031
1032
|
useLayout: N,
|
|
1032
1033
|
getOptions: X,
|
|
1033
1034
|
getMetaApi: k,
|
|
1034
|
-
META_APP:
|
|
1035
|
+
META_APP: x,
|
|
1035
1036
|
MagicString: U,
|
|
1036
1037
|
meta: R,
|
|
1037
1038
|
dialogVisible: j,
|
|
@@ -1067,7 +1068,7 @@ const Bt = (c, t) => {
|
|
|
1067
1068
|
getFormatParams: g,
|
|
1068
1069
|
rewriteMethodParams: p,
|
|
1069
1070
|
activePagePlugin: w,
|
|
1070
|
-
confirm:
|
|
1071
|
+
confirm: C,
|
|
1071
1072
|
openedDialog: A,
|
|
1072
1073
|
closeDialog: P,
|
|
1073
1074
|
string2Ast: H,
|
|
@@ -1077,14 +1078,14 @@ const Bt = (c, t) => {
|
|
|
1077
1078
|
useLayout: N,
|
|
1078
1079
|
getOptions: X,
|
|
1079
1080
|
getMetaApi: k,
|
|
1080
|
-
META_APP:
|
|
1081
|
+
META_APP: x,
|
|
1081
1082
|
MagicString: U,
|
|
1082
1083
|
meta: R,
|
|
1083
1084
|
dialogVisible: j,
|
|
1084
1085
|
open: V,
|
|
1085
1086
|
close: F
|
|
1086
1087
|
})
|
|
1087
|
-
}),
|
|
1088
|
+
}), C = b(async () => {
|
|
1088
1089
|
var it, ot;
|
|
1089
1090
|
if (d.tipError)
|
|
1090
1091
|
return;
|
|
@@ -1129,7 +1130,7 @@ const Bt = (c, t) => {
|
|
|
1129
1130
|
getFormatParams: g,
|
|
1130
1131
|
rewriteMethodParams: p,
|
|
1131
1132
|
activePagePlugin: w,
|
|
1132
|
-
confirm:
|
|
1133
|
+
confirm: C,
|
|
1133
1134
|
openedDialog: A,
|
|
1134
1135
|
closeDialog: P,
|
|
1135
1136
|
string2Ast: H,
|
|
@@ -1139,7 +1140,7 @@ const Bt = (c, t) => {
|
|
|
1139
1140
|
useLayout: N,
|
|
1140
1141
|
getOptions: X,
|
|
1141
1142
|
getMetaApi: k,
|
|
1142
|
-
META_APP:
|
|
1143
|
+
META_APP: x,
|
|
1143
1144
|
MagicString: U,
|
|
1144
1145
|
meta: R,
|
|
1145
1146
|
dialogVisible: j,
|
|
@@ -1171,7 +1172,7 @@ const Bt = (c, t) => {
|
|
|
1171
1172
|
getFormatParams: g,
|
|
1172
1173
|
rewriteMethodParams: p,
|
|
1173
1174
|
activePagePlugin: w,
|
|
1174
|
-
confirm:
|
|
1175
|
+
confirm: C,
|
|
1175
1176
|
openedDialog: A,
|
|
1176
1177
|
closeDialog: P,
|
|
1177
1178
|
string2Ast: H,
|
|
@@ -1181,7 +1182,7 @@ const Bt = (c, t) => {
|
|
|
1181
1182
|
useLayout: N,
|
|
1182
1183
|
getOptions: X,
|
|
1183
1184
|
getMetaApi: k,
|
|
1184
|
-
META_APP:
|
|
1185
|
+
META_APP: x,
|
|
1185
1186
|
MagicString: U,
|
|
1186
1187
|
meta: R,
|
|
1187
1188
|
dialogVisible: j,
|
|
@@ -1212,7 +1213,7 @@ const Bt = (c, t) => {
|
|
|
1212
1213
|
getFormatParams: g,
|
|
1213
1214
|
rewriteMethodParams: p,
|
|
1214
1215
|
activePagePlugin: w,
|
|
1215
|
-
confirm:
|
|
1216
|
+
confirm: C,
|
|
1216
1217
|
openedDialog: A,
|
|
1217
1218
|
closeDialog: P,
|
|
1218
1219
|
string2Ast: H,
|
|
@@ -1222,7 +1223,7 @@ const Bt = (c, t) => {
|
|
|
1222
1223
|
useLayout: N,
|
|
1223
1224
|
getOptions: X,
|
|
1224
1225
|
getMetaApi: k,
|
|
1225
|
-
META_APP:
|
|
1226
|
+
META_APP: x,
|
|
1226
1227
|
MagicString: U,
|
|
1227
1228
|
meta: R,
|
|
1228
1229
|
dialogVisible: j,
|
|
@@ -1235,7 +1236,7 @@ const Bt = (c, t) => {
|
|
|
1235
1236
|
BindEventsDialogContent: n,
|
|
1236
1237
|
state: d,
|
|
1237
1238
|
dialogVisible: j,
|
|
1238
|
-
confirm:
|
|
1239
|
+
confirm: C,
|
|
1239
1240
|
closeDialog: P,
|
|
1240
1241
|
openedDialog: A,
|
|
1241
1242
|
selectMethod: f
|
|
@@ -1293,7 +1294,7 @@ function He(c, t, n, e, i, o) {
|
|
|
1293
1294
|
_: 1
|
|
1294
1295
|
}, 8, ["visible", "onClose", "onOpened"]);
|
|
1295
1296
|
}
|
|
1296
|
-
const
|
|
1297
|
+
const xt = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b97"]]), pe = {
|
|
1297
1298
|
onClick: {
|
|
1298
1299
|
label: {
|
|
1299
1300
|
zh_CN: "点击事件"
|
|
@@ -1538,10 +1539,10 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1538
1539
|
}, kt = /* @__PURE__ */ Bt(Ge, [["__scopeId", "data-v-2ed7fac6"]]), We = {
|
|
1539
1540
|
components: {
|
|
1540
1541
|
BlockLinkEvent: wt,
|
|
1541
|
-
BindEventsDialog:
|
|
1542
|
-
TinyPopover:
|
|
1542
|
+
BindEventsDialog: xt,
|
|
1543
|
+
TinyPopover: Ce,
|
|
1543
1544
|
TinyButton: Ft,
|
|
1544
|
-
IconChevronDown:
|
|
1545
|
+
IconChevronDown: Ct(),
|
|
1545
1546
|
SvgButton: yt,
|
|
1546
1547
|
AddEventsDialog: kt
|
|
1547
1548
|
},
|
|
@@ -1562,7 +1563,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1562
1563
|
confirm: r
|
|
1563
1564
|
} = bt(), a = Et.global.locale.value, {
|
|
1564
1565
|
highlightMethod: d
|
|
1565
|
-
} = k(
|
|
1566
|
+
} = k(x.Page), {
|
|
1566
1567
|
commonEvents: f = {}
|
|
1567
1568
|
} = L("engine.setting.event").options, l = Ut({
|
|
1568
1569
|
eventName: "",
|
|
@@ -1630,7 +1631,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1630
1631
|
renderEventList: g,
|
|
1631
1632
|
openActionDialog: p,
|
|
1632
1633
|
deleteAction: w,
|
|
1633
|
-
delEvent:
|
|
1634
|
+
delEvent: C,
|
|
1634
1635
|
openCodePanel: A,
|
|
1635
1636
|
handleToggleAddEventDialog: P,
|
|
1636
1637
|
handleAddEvent: E,
|
|
@@ -1641,13 +1642,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1641
1642
|
useBlock: pt,
|
|
1642
1643
|
useMaterial: vt,
|
|
1643
1644
|
getMetaApi: k,
|
|
1644
|
-
META_APP:
|
|
1645
|
+
META_APP: x,
|
|
1645
1646
|
useMessage: _t,
|
|
1646
1647
|
i18n: Et,
|
|
1647
1648
|
BlockLinkEvent: wt,
|
|
1648
1649
|
SvgButton: yt,
|
|
1649
|
-
iconChevronDown:
|
|
1650
|
-
BindEventsDialog:
|
|
1650
|
+
iconChevronDown: Ct,
|
|
1651
|
+
BindEventsDialog: xt,
|
|
1651
1652
|
openDialog: V,
|
|
1652
1653
|
AddEventsDialog: kt
|
|
1653
1654
|
})
|
|
@@ -1681,7 +1682,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1681
1682
|
renderEventList: g,
|
|
1682
1683
|
openActionDialog: p,
|
|
1683
1684
|
deleteAction: w,
|
|
1684
|
-
delEvent:
|
|
1685
|
+
delEvent: C,
|
|
1685
1686
|
openCodePanel: A,
|
|
1686
1687
|
handleToggleAddEventDialog: P,
|
|
1687
1688
|
handleAddEvent: E,
|
|
@@ -1692,17 +1693,17 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1692
1693
|
useBlock: pt,
|
|
1693
1694
|
useMaterial: vt,
|
|
1694
1695
|
getMetaApi: k,
|
|
1695
|
-
META_APP:
|
|
1696
|
+
META_APP: x,
|
|
1696
1697
|
useMessage: _t,
|
|
1697
1698
|
i18n: Et,
|
|
1698
1699
|
BlockLinkEvent: wt,
|
|
1699
1700
|
SvgButton: yt,
|
|
1700
|
-
iconChevronDown:
|
|
1701
|
-
BindEventsDialog:
|
|
1701
|
+
iconChevronDown: Ct,
|
|
1702
|
+
BindEventsDialog: xt,
|
|
1702
1703
|
openDialog: V,
|
|
1703
1704
|
AddEventsDialog: kt
|
|
1704
1705
|
})
|
|
1705
|
-
}),
|
|
1706
|
+
}), C = b((v) => {
|
|
1706
1707
|
r({
|
|
1707
1708
|
title: "提示",
|
|
1708
1709
|
message: `您确定要删除事件 ${v.eventName} 吗?`,
|
|
@@ -1734,7 +1735,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1734
1735
|
renderEventList: g,
|
|
1735
1736
|
openActionDialog: p,
|
|
1736
1737
|
deleteAction: w,
|
|
1737
|
-
delEvent:
|
|
1738
|
+
delEvent: C,
|
|
1738
1739
|
openCodePanel: A,
|
|
1739
1740
|
handleToggleAddEventDialog: P,
|
|
1740
1741
|
handleAddEvent: E,
|
|
@@ -1745,13 +1746,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1745
1746
|
useBlock: pt,
|
|
1746
1747
|
useMaterial: vt,
|
|
1747
1748
|
getMetaApi: k,
|
|
1748
|
-
META_APP:
|
|
1749
|
+
META_APP: x,
|
|
1749
1750
|
useMessage: _t,
|
|
1750
1751
|
i18n: Et,
|
|
1751
1752
|
BlockLinkEvent: wt,
|
|
1752
1753
|
SvgButton: yt,
|
|
1753
|
-
iconChevronDown:
|
|
1754
|
-
BindEventsDialog:
|
|
1754
|
+
iconChevronDown: Ct,
|
|
1755
|
+
BindEventsDialog: xt,
|
|
1755
1756
|
openDialog: V,
|
|
1756
1757
|
AddEventsDialog: kt
|
|
1757
1758
|
})
|
|
@@ -1781,7 +1782,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1781
1782
|
renderEventList: g,
|
|
1782
1783
|
openActionDialog: p,
|
|
1783
1784
|
deleteAction: w,
|
|
1784
|
-
delEvent:
|
|
1785
|
+
delEvent: C,
|
|
1785
1786
|
openCodePanel: A,
|
|
1786
1787
|
handleToggleAddEventDialog: P,
|
|
1787
1788
|
handleAddEvent: E,
|
|
@@ -1792,13 +1793,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1792
1793
|
useBlock: pt,
|
|
1793
1794
|
useMaterial: vt,
|
|
1794
1795
|
getMetaApi: k,
|
|
1795
|
-
META_APP:
|
|
1796
|
+
META_APP: x,
|
|
1796
1797
|
useMessage: _t,
|
|
1797
1798
|
i18n: Et,
|
|
1798
1799
|
BlockLinkEvent: wt,
|
|
1799
1800
|
SvgButton: yt,
|
|
1800
|
-
iconChevronDown:
|
|
1801
|
-
BindEventsDialog:
|
|
1801
|
+
iconChevronDown: Ct,
|
|
1802
|
+
BindEventsDialog: xt,
|
|
1802
1803
|
openDialog: V,
|
|
1803
1804
|
AddEventsDialog: kt
|
|
1804
1805
|
})
|
|
@@ -1826,7 +1827,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1826
1827
|
renderEventList: g,
|
|
1827
1828
|
openActionDialog: p,
|
|
1828
1829
|
deleteAction: w,
|
|
1829
|
-
delEvent:
|
|
1830
|
+
delEvent: C,
|
|
1830
1831
|
openCodePanel: A,
|
|
1831
1832
|
handleToggleAddEventDialog: P,
|
|
1832
1833
|
handleAddEvent: E,
|
|
@@ -1837,13 +1838,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1837
1838
|
useBlock: pt,
|
|
1838
1839
|
useMaterial: vt,
|
|
1839
1840
|
getMetaApi: k,
|
|
1840
|
-
META_APP:
|
|
1841
|
+
META_APP: x,
|
|
1841
1842
|
useMessage: _t,
|
|
1842
1843
|
i18n: Et,
|
|
1843
1844
|
BlockLinkEvent: wt,
|
|
1844
1845
|
SvgButton: yt,
|
|
1845
|
-
iconChevronDown:
|
|
1846
|
-
BindEventsDialog:
|
|
1846
|
+
iconChevronDown: Ct,
|
|
1847
|
+
BindEventsDialog: xt,
|
|
1847
1848
|
openDialog: V,
|
|
1848
1849
|
AddEventsDialog: kt
|
|
1849
1850
|
})
|
|
@@ -1890,7 +1891,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1890
1891
|
renderEventList: g,
|
|
1891
1892
|
openActionDialog: p,
|
|
1892
1893
|
deleteAction: w,
|
|
1893
|
-
delEvent:
|
|
1894
|
+
delEvent: C,
|
|
1894
1895
|
openCodePanel: A,
|
|
1895
1896
|
handleToggleAddEventDialog: P,
|
|
1896
1897
|
handleAddEvent: E,
|
|
@@ -1901,13 +1902,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1901
1902
|
useBlock: pt,
|
|
1902
1903
|
useMaterial: vt,
|
|
1903
1904
|
getMetaApi: k,
|
|
1904
|
-
META_APP:
|
|
1905
|
+
META_APP: x,
|
|
1905
1906
|
useMessage: _t,
|
|
1906
1907
|
i18n: Et,
|
|
1907
1908
|
BlockLinkEvent: wt,
|
|
1908
1909
|
SvgButton: yt,
|
|
1909
|
-
iconChevronDown:
|
|
1910
|
-
BindEventsDialog:
|
|
1910
|
+
iconChevronDown: Ct,
|
|
1911
|
+
BindEventsDialog: xt,
|
|
1911
1912
|
openDialog: V,
|
|
1912
1913
|
AddEventsDialog: kt
|
|
1913
1914
|
})
|
|
@@ -1916,7 +1917,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1916
1917
|
state: l,
|
|
1917
1918
|
isBlock: u,
|
|
1918
1919
|
isEmpty: h,
|
|
1919
|
-
delEvent:
|
|
1920
|
+
delEvent: C,
|
|
1920
1921
|
openCodePanel: A,
|
|
1921
1922
|
openActionDialog: p,
|
|
1922
1923
|
handleAddEvent: E,
|
|
@@ -1955,7 +1956,7 @@ function dn(c, t, n, e, i, o) {
|
|
|
1955
1956
|
return S(), J("li", {
|
|
1956
1957
|
key: p,
|
|
1957
1958
|
class: It(["bind-event-list-item", { "bind-event-list-item-notallow": e.state.bindActions[p] }]),
|
|
1958
|
-
onClick: (
|
|
1959
|
+
onClick: (C) => e.openActionDialog({ eventName: p }, !0)
|
|
1959
1960
|
}, [
|
|
1960
1961
|
m("div", null, W(p) + " | " + W(((w = g == null ? void 0 : g.label) == null ? void 0 : w[e.locale]) || p), 1)
|
|
1961
1962
|
], 10, tn);
|
|
@@ -1987,7 +1988,7 @@ function dn(c, t, n, e, i, o) {
|
|
|
1987
1988
|
m("div", nn, [
|
|
1988
1989
|
m("div", {
|
|
1989
1990
|
class: "binding-name",
|
|
1990
|
-
onClick: (
|
|
1991
|
+
onClick: (C) => e.openActionDialog(g)
|
|
1991
1992
|
}, [
|
|
1992
1993
|
m("div", null, [
|
|
1993
1994
|
Dt(W(g.eventName), 1),
|
|
@@ -2008,17 +2009,17 @@ function dn(c, t, n, e, i, o) {
|
|
|
2008
2009
|
tips: "定位到代码",
|
|
2009
2010
|
placement: "top",
|
|
2010
2011
|
hoverBgColor: !1,
|
|
2011
|
-
onClick: (
|
|
2012
|
+
onClick: (C) => e.openCodePanel(g)
|
|
2012
2013
|
}, null, 8, ["onClick"]),
|
|
2013
2014
|
_(l, {
|
|
2014
2015
|
name: "setting",
|
|
2015
2016
|
hoverBgColor: !1,
|
|
2016
|
-
onClick: (
|
|
2017
|
+
onClick: (C) => e.openActionDialog(g, !1)
|
|
2017
2018
|
}, null, 8, ["onClick"]),
|
|
2018
2019
|
_(l, {
|
|
2019
2020
|
name: "delete",
|
|
2020
2021
|
hoverBgColor: !1,
|
|
2021
|
-
onClick: (
|
|
2022
|
+
onClick: (C) => e.delEvent(g)
|
|
2022
2023
|
}, null, 8, ["onClick"])
|
|
2023
2024
|
])
|
|
2024
2025
|
])
|
|
@@ -2057,7 +2058,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2057
2058
|
} = ut, hn = {
|
|
2058
2059
|
components: {
|
|
2059
2060
|
SwitchConfigurator: lt,
|
|
2060
|
-
TinyTooltip:
|
|
2061
|
+
TinyTooltip: xe,
|
|
2061
2062
|
VariableConfigurator: at,
|
|
2062
2063
|
InputConfigurator: rt,
|
|
2063
2064
|
CodeConfigurator: st
|
|
@@ -2119,7 +2120,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2119
2120
|
t.value = (l == null ? void 0 : l.condition) === void 0 ? !0 : l == null ? void 0 : l.condition, i.loopData = l == null ? void 0 : l.loop, i.loopItem = ((u = l == null ? void 0 : l.loopArgs) == null ? void 0 : u[0]) || "", i.loopIndex = ((h = l == null ? void 0 : l.loopArgs) == null ? void 0 : h[1]) || "", i.loopKey = ((p = (g = l == null ? void 0 : l.props) == null ? void 0 : g.key) == null ? void 0 : p.value) || "";
|
|
2120
2121
|
});
|
|
2121
2122
|
const o = b((l = "") => {
|
|
2122
|
-
var
|
|
2123
|
+
var C;
|
|
2123
2124
|
l = l.replace(/\s*/g, "");
|
|
2124
2125
|
const {
|
|
2125
2126
|
getSchema: u,
|
|
@@ -2128,7 +2129,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2128
2129
|
if (!g)
|
|
2129
2130
|
return;
|
|
2130
2131
|
const p = Number(l).toString() !== "NaN";
|
|
2131
|
-
let w = (
|
|
2132
|
+
let w = (C = g.props) == null ? void 0 : C.key;
|
|
2132
2133
|
l && !p && (w = {
|
|
2133
2134
|
type: G.JSEXPRESSION,
|
|
2134
2135
|
value: l
|
|
@@ -2220,13 +2221,13 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2220
2221
|
const {
|
|
2221
2222
|
condition: p,
|
|
2222
2223
|
children: w,
|
|
2223
|
-
...
|
|
2224
|
+
...C
|
|
2224
2225
|
} = h;
|
|
2225
2226
|
g({
|
|
2226
2227
|
type: "updateAttributes",
|
|
2227
2228
|
id: h.id,
|
|
2228
2229
|
value: {
|
|
2229
|
-
...
|
|
2230
|
+
...C
|
|
2230
2231
|
},
|
|
2231
2232
|
overwrite: !0
|
|
2232
2233
|
});
|
|
@@ -2321,7 +2322,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2321
2322
|
const {
|
|
2322
2323
|
loop: p,
|
|
2323
2324
|
loopArgs: w,
|
|
2324
|
-
children:
|
|
2325
|
+
children: C,
|
|
2325
2326
|
...A
|
|
2326
2327
|
} = g;
|
|
2327
2328
|
u({
|
|
@@ -2416,7 +2417,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2416
2417
|
getIndexName: e
|
|
2417
2418
|
};
|
|
2418
2419
|
}
|
|
2419
|
-
}, un = { class: "advanced-config-container" }, gn = { class: "advnce-config" }, fn = { class: "advanced-config-form-item" }, mn = ["title"], pn = { class: "advnce-config loop-data-item" }, vn = { class: "advanced-config-form-item" }, bn = ["title"], _n = { class: "advnce-config" }, En = { class: "advanced-config-form-item" }, yn = { class: "advnce-config" }, wn = { class: "advanced-config-form-item" },
|
|
2420
|
+
}, un = { class: "advanced-config-container" }, gn = { class: "advnce-config" }, fn = { class: "advanced-config-form-item" }, mn = ["title"], pn = { class: "advnce-config loop-data-item" }, vn = { class: "advanced-config-form-item" }, bn = ["title"], _n = { class: "advnce-config" }, En = { class: "advanced-config-form-item" }, yn = { class: "advnce-config" }, wn = { class: "advanced-config-form-item" }, Cn = { class: "advnce-config" }, xn = { class: "advanced-config-form-item" };
|
|
2420
2421
|
function kn(c, t, n, e, i, o) {
|
|
2421
2422
|
var l, u;
|
|
2422
2423
|
const s = B("switch-configurator"), r = B("variable-configurator"), a = B("code-configurator"), d = B("input-configurator"), f = B("tiny-tooltip");
|
|
@@ -2496,9 +2497,9 @@ function kn(c, t, n, e, i, o) {
|
|
|
2496
2497
|
}, null, 8, ["modelValue", "placeholder", "onUpdate:modelValue"])
|
|
2497
2498
|
])
|
|
2498
2499
|
]),
|
|
2499
|
-
m("div",
|
|
2500
|
+
m("div", Cn, [
|
|
2500
2501
|
t[10] || (t[10] = m("label", { class: "text-ellipsis-multiple" }, "key", -1)),
|
|
2501
|
-
m("div",
|
|
2502
|
+
m("div", xn, [
|
|
2502
2503
|
_(f, {
|
|
2503
2504
|
content: "建议填写循环项中的唯一值(如item.id),如果填写为数字将不保存",
|
|
2504
2505
|
effect: "light"
|
|
@@ -2586,7 +2587,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2586
2587
|
setup() {
|
|
2587
2588
|
const {
|
|
2588
2589
|
getMethodNameList: c
|
|
2589
|
-
} = k(
|
|
2590
|
+
} = k(x.Page), t = ge("context"), n = {
|
|
2590
2591
|
language: "json",
|
|
2591
2592
|
lineNumbers: !1,
|
|
2592
2593
|
minimap: {
|
|
@@ -2609,7 +2610,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2609
2610
|
change: r,
|
|
2610
2611
|
VueMonaco: St,
|
|
2611
2612
|
getMetaApi: k,
|
|
2612
|
-
META_APP:
|
|
2613
|
+
META_APP: x,
|
|
2613
2614
|
METHOD_TIPS_MAP: ct,
|
|
2614
2615
|
NEW_METHOD_TYPE: Q,
|
|
2615
2616
|
VALID_VARNAME_RE: Nt
|
|
@@ -2629,7 +2630,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2629
2630
|
change: r,
|
|
2630
2631
|
VueMonaco: St,
|
|
2631
2632
|
getMetaApi: k,
|
|
2632
|
-
META_APP:
|
|
2633
|
+
META_APP: x,
|
|
2633
2634
|
METHOD_TIPS_MAP: ct,
|
|
2634
2635
|
NEW_METHOD_TYPE: Q,
|
|
2635
2636
|
VALID_VARNAME_RE: Nt
|
|
@@ -2649,7 +2650,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2649
2650
|
change: r,
|
|
2650
2651
|
VueMonaco: St,
|
|
2651
2652
|
getMetaApi: k,
|
|
2652
|
-
META_APP:
|
|
2653
|
+
META_APP: x,
|
|
2653
2654
|
METHOD_TIPS_MAP: ct,
|
|
2654
2655
|
NEW_METHOD_TYPE: Q,
|
|
2655
2656
|
VALID_VARNAME_RE: Nt
|
|
@@ -2669,7 +2670,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2669
2670
|
change: r,
|
|
2670
2671
|
VueMonaco: St,
|
|
2671
2672
|
getMetaApi: k,
|
|
2672
|
-
META_APP:
|
|
2673
|
+
META_APP: x,
|
|
2673
2674
|
METHOD_TIPS_MAP: ct,
|
|
2674
2675
|
NEW_METHOD_TYPE: Q,
|
|
2675
2676
|
VALID_VARNAME_RE: Nt
|
|
@@ -2708,7 +2709,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2708
2709
|
change: r,
|
|
2709
2710
|
VueMonaco: St,
|
|
2710
2711
|
getMetaApi: k,
|
|
2711
|
-
META_APP:
|
|
2712
|
+
META_APP: x,
|
|
2712
2713
|
METHOD_TIPS_MAP: ct,
|
|
2713
2714
|
NEW_METHOD_TYPE: Q,
|
|
2714
2715
|
VALID_VARNAME_RE: Nt
|
|
@@ -2794,7 +2795,7 @@ const Tn = /* @__PURE__ */ Bt(An, [["render", On], ["__scopeId", "data-v-fc0b367
|
|
|
2794
2795
|
setup(c) {
|
|
2795
2796
|
const {
|
|
2796
2797
|
getMethodNameList: t
|
|
2797
|
-
} = k(
|
|
2798
|
+
} = k(x.Page), n = Lt(""), e = Lt([]), i = ge("context"), o = b((r, a) => {
|
|
2798
2799
|
const d = r.map((u) => {
|
|
2799
2800
|
var h;
|
|
2800
2801
|
return Number.parseInt((h = u.match(/\d+$/)) == null ? void 0 : h[0]) || 0;
|
|
@@ -2814,7 +2815,7 @@ const Tn = /* @__PURE__ */ Bt(An, [["render", On], ["__scopeId", "data-v-fc0b367
|
|
|
2814
2815
|
generateMethodName: o,
|
|
2815
2816
|
selectMethod: s,
|
|
2816
2817
|
getMetaApi: k,
|
|
2817
|
-
META_APP:
|
|
2818
|
+
META_APP: x,
|
|
2818
2819
|
INVALID_VARNAME_CHAR_RE: Kt,
|
|
2819
2820
|
NEW_METHOD_TYPE: Q
|
|
2820
2821
|
})
|
|
@@ -2833,7 +2834,7 @@ const Tn = /* @__PURE__ */ Bt(An, [["render", On], ["__scopeId", "data-v-fc0b367
|
|
|
2833
2834
|
generateMethodName: o,
|
|
2834
2835
|
selectMethod: s,
|
|
2835
2836
|
getMetaApi: k,
|
|
2836
|
-
META_APP:
|
|
2837
|
+
META_APP: x,
|
|
2837
2838
|
INVALID_VARNAME_CHAR_RE: Kt,
|
|
2838
2839
|
NEW_METHOD_TYPE: Q
|
|
2839
2840
|
})
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../meta.js","../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs","../../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/dist/magic-string.es.mjs","../src/components/constants.ts","../index.ts"],"sourcesContent":["export default {\n id: 'engine.setting.event',\n title: '高级',\n type: 'plugins',\n name: 'event',\n icon: 'target'\n}\n","// src/vlq.ts\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader, relative) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -2147483648 | -value;\n }\n return relative + value;\n}\nfunction encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? -delta << 1 | 1 : delta << 1;\n do {\n let clamped = delta & 31;\n delta >>>= 5;\n if (delta > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n\n// src/strings.ts\nvar bufLength = 1024 * 16;\nvar td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n} : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n};\nvar StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n};\nvar StringReader = class {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n};\n\n// src/scopes.ts\nvar EMPTY = [];\nfunction decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 1;\n const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind];\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n}\nfunction encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n}\nfunction _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0) writer.write(comma);\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n const fields = scope.length === 6 ? 1 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n return index;\n}\nfunction decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(\";\");\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 1;\n const hasCallsite = fields & 2;\n const hasScope = fields & 4;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0\n );\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n } else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0\n );\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n}\nfunction encodeGeneratedRanges(ranges) {\n if (ranges.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n}\nfunction _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings\n } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, range[1], state[1]);\n const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);\n encodeInteger(writer, fields, 0);\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);\n encodeInteger(writer, expRange[0], 0);\n }\n }\n }\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n return index;\n}\nfunction catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n\n// src/sourcemap-codec.ts\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(\";\");\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[0] - b[0];\n}\nfunction encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n}\nexport {\n decode,\n decodeGeneratedRanges,\n decodeOriginalScopes,\n encode,\n encodeGeneratedRanges,\n encodeOriginalScopes\n};\n//# sourceMappingURL=sourcemap-codec.mjs.map\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tif (previous !== replacement) this.overwrite(index, index + stringLength, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n","export const NEW_METHOD_TYPE = 'newMethod'\nexport const INVALID_VARNAME_CHAR_RE = /[^0-9a-zA-Z_$]/\nexport const VALID_VARNAME_RE = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/\n\nexport const METHOD_TIPS_MAP = {\n default: '选择已有方法或者添加新方法(点击 确定 之后将在JS面板中创建一个该名称的新方法)',\n exist: '方法名称已存在',\n ruleInvalid: '请输入有效的方法名,可以由字母、数字、下划线、$ 符号组成,不能以数字开头',\n empty: '方法名称不能为空'\n}\n","/**\n * Copyright (c) 2023 - present TinyEngine Authors.\n * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.\n *\n * Use of this source code is governed by an MIT-style license.\n *\n * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,\n * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR\n * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.\n *\n */\n\nimport entry from './src/Main.vue'\nimport metaData from './meta'\nimport { commonEvents } from './src/commonjs/events.ts'\nimport BindEventsDialogContent from './src/components/BindEventsDialogContent.vue'\nimport BindEventsDialogSidebar from './src/components/BindEventsDialogSidebar.vue'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n entry,\n options: { commonEvents },\n components: {\n BindEventsDialogSidebar,\n BindEventsDialogContent\n }\n}\n"],"names":["metaData","comma","semicolon","chars","intToChar","charToInt","i","c","encodeInteger","builder","num","relative","delta","clamped","bufLength","td","buf","out","StringWriter","v","buffer","pos","encode","decoded","writer","sourcesIndex","sourceLine","sourceColumn","namesIndex","line","genColumn","j","segment","BitSet","arg","n","Chunk","start","end","content","chunk","index","fn","storeName","contentOnly","sliceIndex","originalBefore","originalAfter","newChunk","rx","trimmed","getBtoa","str","btoa","SourceMap","properties","guessIndent","code","lines","tabbed","spaced","min","previous","current","numSpaces","getRelativePath","from","to","fromParts","toParts","toString","isObject","thing","getLocator","source","originalLines","lineOffsets","m","column","wordRegex","Mappings","hires","sourceIndex","loc","nameIndex","contentLengthMinusOne","contentLineEnd","previousContentLineEnd","original","sourcemapLocations","originalCharIndex","first","charInHiresBoundary","warned","MagicString","string","options","char","cloned","originalChunk","clonedChunk","nextOriginalChunk","nextClonedChunk","names","mappings","locate","indentStr","pattern","isExcluded","exclusion","shouldIndentNextCharacter","replacer","match","charIndex","last","oldLeft","oldRight","newRight","newLeft","overwrite","lineIndex","lineStr","result","startChunk","containsEnd","sliceStart","sliceEnd","clone","searchForward","length","charType","aborted","searchValue","replacement","getReplacement","_","matchAll","re","matches","stringLength","NEW_METHOD_TYPE","INVALID_VARNAME_CHAR_RE","VALID_VARNAME_RE","METHOD_TIPS_MAP","entry","commonEvents","BindEventsDialogSidebar","BindEventsDialogContent"],"mappings":"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","x_google_ignoreList":[1,2]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../meta.js","../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs","../../../../node_modules/.pnpm/magic-string@0.30.18/node_modules/magic-string/dist/magic-string.es.mjs","../src/components/constants.ts","../index.ts"],"sourcesContent":["export default {\n id: 'engine.setting.event',\n title: '高级',\n type: 'plugins',\n name: 'event',\n icon: 'target'\n}\n","// src/vlq.ts\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader, relative) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -2147483648 | -value;\n }\n return relative + value;\n}\nfunction encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? -delta << 1 | 1 : delta << 1;\n do {\n let clamped = delta & 31;\n delta >>>= 5;\n if (delta > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n\n// src/strings.ts\nvar bufLength = 1024 * 16;\nvar td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n} : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n};\nvar StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n};\nvar StringReader = class {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n};\n\n// src/scopes.ts\nvar EMPTY = [];\nfunction decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 1;\n const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind];\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n}\nfunction encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n}\nfunction _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0) writer.write(comma);\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n const fields = scope.length === 6 ? 1 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n return index;\n}\nfunction decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(\";\");\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 1;\n const hasCallsite = fields & 2;\n const hasScope = fields & 4;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0\n );\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n } else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0\n );\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n}\nfunction encodeGeneratedRanges(ranges) {\n if (ranges.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n}\nfunction _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings\n } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, range[1], state[1]);\n const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);\n encodeInteger(writer, fields, 0);\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);\n encodeInteger(writer, expRange[0], 0);\n }\n }\n }\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n return index;\n}\nfunction catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n\n// src/sourcemap-codec.ts\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(\";\");\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[0] - b[0];\n}\nfunction encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n}\nexport {\n decode,\n decodeGeneratedRanges,\n decodeOriginalScopes,\n encode,\n encodeGeneratedRanges,\n encodeOriginalScopes\n};\n//# sourceMappingURL=sourcemap-codec.mjs.map\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tlet previousChunk = chunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\n\t\t\t// Prevent infinite loop (e.g. via empty chunks, where start === end)\n\t\t\tif (chunk === previousChunk) return;\n\n\t\t\tpreviousChunk = chunk;\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tif (previous !== replacement) this.overwrite(index, index + stringLength, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n","export const NEW_METHOD_TYPE = 'newMethod'\nexport const INVALID_VARNAME_CHAR_RE = /[^0-9a-zA-Z_$]/\nexport const VALID_VARNAME_RE = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/\n\nexport const METHOD_TIPS_MAP = {\n default: '选择已有方法或者添加新方法(点击 确定 之后将在JS面板中创建一个该名称的新方法)',\n exist: '方法名称已存在',\n ruleInvalid: '请输入有效的方法名,可以由字母、数字、下划线、$ 符号组成,不能以数字开头',\n empty: '方法名称不能为空'\n}\n","/**\n * Copyright (c) 2023 - present TinyEngine Authors.\n * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.\n *\n * Use of this source code is governed by an MIT-style license.\n *\n * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,\n * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR\n * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.\n *\n */\n\nimport entry from './src/Main.vue'\nimport metaData from './meta'\nimport { commonEvents } from './src/commonjs/events.ts'\nimport BindEventsDialogContent from './src/components/BindEventsDialogContent.vue'\nimport BindEventsDialogSidebar from './src/components/BindEventsDialogSidebar.vue'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n entry,\n options: { commonEvents },\n components: {\n BindEventsDialogSidebar,\n BindEventsDialogContent\n }\n}\n"],"names":["metaData","comma","semicolon","chars","intToChar","charToInt","i","c","encodeInteger","builder","num","relative","delta","clamped","bufLength","td","buf","out","StringWriter","v","buffer","pos","encode","decoded","writer","sourcesIndex","sourceLine","sourceColumn","namesIndex","line","genColumn","j","segment","BitSet","arg","n","Chunk","start","end","content","chunk","index","fn","storeName","contentOnly","sliceIndex","originalBefore","originalAfter","newChunk","rx","trimmed","getBtoa","str","btoa","SourceMap","properties","guessIndent","code","lines","tabbed","spaced","min","previous","current","numSpaces","getRelativePath","from","to","fromParts","toParts","toString","isObject","thing","getLocator","source","originalLines","lineOffsets","m","column","wordRegex","Mappings","hires","sourceIndex","loc","nameIndex","contentLengthMinusOne","contentLineEnd","previousContentLineEnd","original","sourcemapLocations","originalCharIndex","first","charInHiresBoundary","warned","MagicString","string","options","char","cloned","originalChunk","clonedChunk","nextOriginalChunk","nextClonedChunk","names","mappings","locate","indentStr","pattern","isExcluded","exclusion","shouldIndentNextCharacter","replacer","match","charIndex","last","oldLeft","oldRight","newRight","newLeft","overwrite","lineIndex","lineStr","result","startChunk","containsEnd","sliceStart","sliceEnd","clone","previousChunk","searchForward","length","charType","aborted","searchValue","replacement","getReplacement","_","matchAll","re","matches","stringLength","NEW_METHOD_TYPE","INVALID_VARNAME_CHAR_RE","VALID_VARNAME_RE","METHOD_TIPS_MAP","entry","commonEvents","BindEventsDialogSidebar","BindEventsDialogContent"],"mappings":"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","x_google_ignoreList":[1,2]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentiny/tiny-engine-setting-events",
|
|
3
|
-
"version": "2.8.0
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"homepage": "https://opentiny.design/tiny-engine",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@opentiny/tiny-engine-common": "2.8.0
|
|
29
|
-
"@opentiny/tiny-engine-configurator": "2.8.0
|
|
30
|
-
"@opentiny/tiny-engine-meta-register": "2.8.0
|
|
31
|
-
"@opentiny/tiny-engine-utils": "2.8.0
|
|
28
|
+
"@opentiny/tiny-engine-common": "2.8.0",
|
|
29
|
+
"@opentiny/tiny-engine-configurator": "2.8.0",
|
|
30
|
+
"@opentiny/tiny-engine-meta-register": "2.8.0",
|
|
31
|
+
"@opentiny/tiny-engine-utils": "2.8.0",
|
|
32
32
|
"magic-string": "^0.30.17"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@opentiny/tiny-engine-vite-plugin-meta-comments": "2.8.0
|
|
35
|
+
"@opentiny/tiny-engine-vite-plugin-meta-comments": "2.8.0",
|
|
36
36
|
"@vitejs/plugin-vue": "^5.1.2",
|
|
37
37
|
"@vitejs/plugin-vue-jsx": "^4.0.1",
|
|
38
38
|
"vite": "^5.4.2"
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"@opentiny/vue-icon": "^3.20.0",
|
|
43
43
|
"vue": "^3.4.15"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "e62142ad9a47584197a434a2321542677c378eb5"
|
|
46
46
|
}
|