@feathery/react 2.15.0 → 2.15.2
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/cjs/Form/index.d.ts.map +1 -1
- package/cjs/Form/logic.d.ts.map +1 -1
- package/cjs/elements/fields/AddressLine1Field/index.d.ts.map +1 -1
- package/cjs/{fthry_FormControl.C8oeoDk3.js → fthry_FormControl.CZhSI7ZP.js} +1 -1
- package/cjs/{fthry_InlineTooltip.CRRFOiO4.js → fthry_InlineTooltip.BLxhhDuP.js} +2 -2
- package/cjs/{fthry_Overlay.CMYptYVH.js → fthry_Overlay.DX647lyL.js} +1 -1
- package/cjs/{fthry_PaymentMethodField.C_yV3aay.js → fthry_PaymentMethodField.DwYI96Gn.js} +4 -4
- package/cjs/{fthry_Placeholder.xDn0I29f.js → fthry_Placeholder.eggaVDQj.js} +1 -1
- package/cjs/{fthry_ShowEyeIcon.COZczYEG.js → fthry_ShowEyeIcon.CUX7pJin.js} +1 -1
- package/cjs/{fthry_index.CFl7Tra-.js → fthry_index.B1CkkjWn.js} +6 -6
- package/cjs/{fthry_index.B5Nc9EIn.js → fthry_index.B6zj96av.js} +1833 -45
- package/cjs/{fthry_index.CQ3OgNZu.js → fthry_index.BA7SCFjL.js} +1 -1
- package/cjs/{fthry_index.Db8Zj-xl.js → fthry_index.BANnK-BV.js} +2 -2
- package/cjs/{fthry_index.Ct-olYcX.js → fthry_index.BDTST35w.js} +1 -1
- package/cjs/{fthry_index.B5aSeoEj.js → fthry_index.BN8zLfup.js} +4 -4
- package/cjs/{fthry_index.BdfASO2V.js → fthry_index.BSCmisU5.js} +6 -6
- package/cjs/{fthry_index.BAis6iAm.js → fthry_index.BfGtKml0.js} +3 -3
- package/cjs/{fthry_index.D35rnGh5.js → fthry_index.BjCAubFj.js} +1 -1
- package/cjs/{fthry_index.CgatqFlS.js → fthry_index.BzhucXqv.js} +2 -2
- package/cjs/{fthry_index.C97Bm277.js → fthry_index.CRDnACxw.js} +4 -4
- package/cjs/{fthry_index.ByYAaIPz.js → fthry_index.CZOSIfEV.js} +6 -6
- package/cjs/{fthry_index.CfGx505W.js → fthry_index.CoJCmnOp.js} +1 -1
- package/cjs/{fthry_index.BZzFi9o3.js → fthry_index.Cp5mHHk3.js} +7 -6
- package/cjs/{fthry_index.BV9FIqI3.js → fthry_index.DB4KHK9K.js} +5 -5
- package/cjs/{fthry_index.BokP8_1j.js → fthry_index.DEqnH31I.js} +5 -5
- package/cjs/{fthry_index.Be_wKtBW.js → fthry_index.DXh3tbd1.js} +3 -3
- package/cjs/{fthry_index.CoR2X1u6.js → fthry_index.DanO29mY.js} +8 -8
- package/cjs/{fthry_index.BvXec6y1.js → fthry_index.DbcTkrx8.js} +1 -1
- package/cjs/{fthry_index.Dm94Mor0.js → fthry_index.DpwSZaXh.js} +1 -1
- package/cjs/{fthry_index.Dzq-7u_A.js → fthry_index.EU1uftki.js} +5 -5
- package/cjs/{fthry_index.Iw93ZIvk.js → fthry_index.HFaIUSxu.js} +1 -1
- package/cjs/{fthry_index.CPkoG8dL.js → fthry_index.bTWf3wVZ.js} +4 -4
- package/cjs/{fthry_index.B9CITASf.js → fthry_index.ujHj1dvo.js} +1 -1
- package/cjs/{fthry_input.DjhEftHE.js → fthry_input.DDLPWCri.js} +1 -1
- package/cjs/{fthry_script.CEXFQk2h.js → fthry_script.Cw49lCOF.js} +1 -1
- package/cjs/{fthry_styles.twMOjtIt.js → fthry_styles.DyY_xRrD.js} +1 -1
- package/cjs/{fthry_useElementSize.CMss2qLc.js → fthry_useElementSize.B6qHp4zN.js} +1 -1
- package/cjs/{fthry_useSalesforceSync.GHaAu-dd.js → fthry_useSalesforceSync.DP3b2FKu.js} +1 -1
- package/cjs/{fthry_webfontloader.CZxQtgFm.js → fthry_webfontloader.CoyxhM39.js} +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/utils/eventQueue.d.ts +26 -0
- package/cjs/utils/eventQueue.d.ts.map +1 -0
- package/cjs/utils/featheryClient/index.d.ts +7 -0
- package/cjs/utils/featheryClient/index.d.ts.map +1 -1
- package/cjs/utils/formContext.d.ts +1 -0
- package/cjs/utils/formContext.d.ts.map +1 -1
- package/cjs/utils/internalState.d.ts +1 -0
- package/cjs/utils/internalState.d.ts.map +1 -1
- package/dist/Form/index.d.ts.map +1 -1
- package/dist/Form/logic.d.ts.map +1 -1
- package/dist/elements/fields/AddressLine1Field/index.d.ts.map +1 -1
- package/dist/{fthry_FormControl.BdmdMzA3.js → fthry_FormControl.pynS9Imy.js} +1 -1
- package/dist/{fthry_InlineTooltip.DRPooJGa.js → fthry_InlineTooltip.fbWGkrAv.js} +2 -2
- package/dist/{fthry_Overlay.DSfIRMWh.js → fthry_Overlay.ByTdlq1g.js} +1 -1
- package/dist/{fthry_PaymentMethodField.C2kDTnuL.js → fthry_PaymentMethodField.CPOf1iA4.js} +4 -4
- package/dist/{fthry_Placeholder.BYxBlfxe.js → fthry_Placeholder.DVLjngYh.js} +1 -1
- package/dist/{fthry_ShowEyeIcon.DcuxGpJk.js → fthry_ShowEyeIcon.Bp9QY90b.js} +1 -1
- package/dist/{fthry_index.DCKiab_1.js → fthry_index.252mvAiR.js} +3 -3
- package/dist/{fthry_index.CkEibXDT.js → fthry_index.8lndGH_r.js} +6 -6
- package/dist/{fthry_index.BD6daAle.js → fthry_index.An6X1bIc.js} +5 -5
- package/dist/{fthry_index.CCtbaItI.js → fthry_index.B0vwUF95.js} +5 -5
- package/dist/{fthry_index.DSkVpyvV.js → fthry_index.BPH2EnpZ.js} +1833 -45
- package/dist/{fthry_index.C0TSdYY1.js → fthry_index.BTzaBsCg.js} +1 -1
- package/dist/{fthry_index.4fMPrW44.js → fthry_index.BU4UE1sU.js} +4 -4
- package/dist/{fthry_index.BuGMpxqA.js → fthry_index.Ba9tRElL.js} +1 -1
- package/dist/{fthry_index.DkSTwhvF.js → fthry_index.BdCDxxfG.js} +1 -1
- package/dist/{fthry_index.uw0MJJ4F.js → fthry_index.BxQkJS7f.js} +1 -1
- package/dist/{fthry_index.BIkZtQJH.js → fthry_index.C1kFKyCH.js} +7 -6
- package/dist/{fthry_index.BXiUUqma.js → fthry_index.CFVO0drz.js} +2 -2
- package/dist/{fthry_index.DvV-_9rQ.js → fthry_index.CI18NEpR.js} +6 -6
- package/dist/{fthry_index.COrbe5-R.js → fthry_index.C_g49tb4.js} +8 -8
- package/dist/{fthry_index.D6uzSPi5.js → fthry_index.CcXjEG71.js} +5 -5
- package/dist/{fthry_index.CxYSZnO_.js → fthry_index.CxPrJCG7.js} +4 -4
- package/dist/{fthry_index.Cocw39qz.js → fthry_index.DMrogAPL.js} +1 -1
- package/dist/{fthry_index.B-bHDKSO.js → fthry_index.DsaDQSjY.js} +1 -1
- package/dist/{fthry_index.D9VkJYNy.js → fthry_index.Hf19u6bh.js} +3 -3
- package/dist/{fthry_index.DwzU97uW.js → fthry_index.Tay5ya9r.js} +4 -4
- package/dist/{fthry_index.Ox88biXC.js → fthry_index.XqetSJci.js} +1 -1
- package/dist/{fthry_index.BF_Plcr0.js → fthry_index.f_bJZ-Qj.js} +2 -2
- package/dist/{fthry_index.Cz1sN7j0.js → fthry_index.o4PxfOJO.js} +6 -6
- package/dist/{fthry_index.IjpiaOO-.js → fthry_index.uyi04ekt.js} +1 -1
- package/dist/{fthry_input.BJLJlGVj.js → fthry_input.BozedSiT.js} +1 -1
- package/dist/{fthry_script.BL_LvOsU.js → fthry_script.O8zBOlCA.js} +1 -1
- package/dist/{fthry_styles.Bgjx59v5.js → fthry_styles.BT0jpQ03.js} +1 -1
- package/dist/{fthry_useElementSize.COmxJss_.js → fthry_useElementSize.C9rdkcOU.js} +1 -1
- package/dist/{fthry_useSalesforceSync.BZM69NNS.js → fthry_useSalesforceSync.1klZ-qUM.js} +1 -1
- package/dist/{fthry_webfontloader.BonjOYue.js → fthry_webfontloader.CoDBzqSo.js} +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/utils/eventQueue.d.ts +26 -0
- package/dist/utils/eventQueue.d.ts.map +1 -0
- package/dist/utils/featheryClient/index.d.ts +7 -0
- package/dist/utils/featheryClient/index.d.ts.map +1 -1
- package/dist/utils/formContext.d.ts +1 -0
- package/dist/utils/formContext.d.ts.map +1 -1
- package/dist/utils/internalState.d.ts +1 -0
- package/dist/utils/internalState.d.ts.map +1 -1
- package/package.json +4 -3
- package/umd/{277.94ae8bf6190836d1dceb.js → 277.d9907ecd5dc2117c9171.js} +1 -1
- package/umd/{509.4236d4d76d2fa2ccd971.js → 509.341a4196aad912adb28d.js} +2 -2
- package/umd/{AddressField.3523efd23175117d47a5.js → AddressField.ec97334fe233830bc05b.js} +1 -1
- package/umd/index.js +1 -1
- /package/umd/{509.4236d4d76d2fa2ccd971.js.LICENSE.txt → 509.341a4196aad912adb28d.js.LICENSE.txt} +0 -0
|
@@ -655,7 +655,7 @@ function identifier (index) {
|
|
|
655
655
|
* @return {object[]}
|
|
656
656
|
*/
|
|
657
657
|
function compile (value) {
|
|
658
|
-
return dealloc(parse$
|
|
658
|
+
return dealloc(parse$2('', null, null, null, [''], value = alloc(value), 0, [0], value))
|
|
659
659
|
}
|
|
660
660
|
|
|
661
661
|
/**
|
|
@@ -670,7 +670,7 @@ function compile (value) {
|
|
|
670
670
|
* @param {string[]} declarations
|
|
671
671
|
* @return {object}
|
|
672
672
|
*/
|
|
673
|
-
function parse$
|
|
673
|
+
function parse$2 (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
|
|
674
674
|
var index = 0;
|
|
675
675
|
var offset = 0;
|
|
676
676
|
var length = pseudo;
|
|
@@ -739,15 +739,15 @@ function parse$1 (value, root, parent, rule, rules, rulesets, pseudo, points, de
|
|
|
739
739
|
|
|
740
740
|
if (character === 123)
|
|
741
741
|
if (offset === 0)
|
|
742
|
-
parse$
|
|
742
|
+
parse$2(characters, root, reference, reference, props, rulesets, length, points, children);
|
|
743
743
|
else
|
|
744
744
|
switch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {
|
|
745
745
|
// d l m s
|
|
746
746
|
case 100: case 108: case 109: case 115:
|
|
747
|
-
parse$
|
|
747
|
+
parse$2(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children);
|
|
748
748
|
break
|
|
749
749
|
default:
|
|
750
|
-
parse$
|
|
750
|
+
parse$2(characters, reference, reference, reference, [''], children, 0, points, children);
|
|
751
751
|
}
|
|
752
752
|
}
|
|
753
753
|
|
|
@@ -22302,9 +22302,7 @@ var getFormContext = function (formUuid) {
|
|
|
22302
22302
|
return [2 /*return*/, formState.runAIExtraction(extractionId, options, pages)];
|
|
22303
22303
|
}); });
|
|
22304
22304
|
},
|
|
22305
|
-
forwardInboxEmail: function (options) {
|
|
22306
|
-
return formState.forwardInboxEmail(options);
|
|
22307
|
-
},
|
|
22305
|
+
forwardInboxEmail: function (options) { return formState.forwardInboxEmail(options); },
|
|
22308
22306
|
setCalendlyUrl: function (url) { return formState.setCalendlyUrl(url); },
|
|
22309
22307
|
applyAlloyJourney: function (journeyToken, entities) {
|
|
22310
22308
|
return formState.client.alloyJourneyApplication(journeyToken, entities);
|
|
@@ -35631,10 +35629,1637 @@ Parser.acorn = {
|
|
|
35631
35629
|
//
|
|
35632
35630
|
// [estree]: https://github.com/estree/estree
|
|
35633
35631
|
|
|
35634
|
-
function parse(input, options) {
|
|
35632
|
+
function parse$1(input, options) {
|
|
35635
35633
|
return Parser.parse(input, options)
|
|
35636
35634
|
}
|
|
35637
35635
|
|
|
35636
|
+
var dummyValue = "✖";
|
|
35637
|
+
|
|
35638
|
+
function isDummy(node) { return node.name === dummyValue }
|
|
35639
|
+
|
|
35640
|
+
function noop() {}
|
|
35641
|
+
|
|
35642
|
+
var LooseParser = function LooseParser(input, options) {
|
|
35643
|
+
if ( options === void 0 ) options = {};
|
|
35644
|
+
|
|
35645
|
+
this.toks = this.constructor.BaseParser.tokenizer(input, options);
|
|
35646
|
+
this.options = this.toks.options;
|
|
35647
|
+
this.input = this.toks.input;
|
|
35648
|
+
this.tok = this.last = {type: types$1.eof, start: 0, end: 0};
|
|
35649
|
+
this.tok.validateRegExpFlags = noop;
|
|
35650
|
+
this.tok.validateRegExpPattern = noop;
|
|
35651
|
+
if (this.options.locations) {
|
|
35652
|
+
var here = this.toks.curPosition();
|
|
35653
|
+
this.tok.loc = new SourceLocation(this.toks, here, here);
|
|
35654
|
+
}
|
|
35655
|
+
this.ahead = []; // Tokens ahead
|
|
35656
|
+
this.context = []; // Indentation contexted
|
|
35657
|
+
this.curIndent = 0;
|
|
35658
|
+
this.curLineStart = 0;
|
|
35659
|
+
this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
|
|
35660
|
+
this.inAsync = false;
|
|
35661
|
+
this.inGenerator = false;
|
|
35662
|
+
this.inFunction = false;
|
|
35663
|
+
};
|
|
35664
|
+
|
|
35665
|
+
LooseParser.prototype.startNode = function startNode () {
|
|
35666
|
+
return new Node(this.toks, this.tok.start, this.options.locations ? this.tok.loc.start : null)
|
|
35667
|
+
};
|
|
35668
|
+
|
|
35669
|
+
LooseParser.prototype.storeCurrentPos = function storeCurrentPos () {
|
|
35670
|
+
return this.options.locations ? [this.tok.start, this.tok.loc.start] : this.tok.start
|
|
35671
|
+
};
|
|
35672
|
+
|
|
35673
|
+
LooseParser.prototype.startNodeAt = function startNodeAt (pos) {
|
|
35674
|
+
if (this.options.locations) {
|
|
35675
|
+
return new Node(this.toks, pos[0], pos[1])
|
|
35676
|
+
} else {
|
|
35677
|
+
return new Node(this.toks, pos)
|
|
35678
|
+
}
|
|
35679
|
+
};
|
|
35680
|
+
|
|
35681
|
+
LooseParser.prototype.finishNode = function finishNode (node, type) {
|
|
35682
|
+
node.type = type;
|
|
35683
|
+
node.end = this.last.end;
|
|
35684
|
+
if (this.options.locations)
|
|
35685
|
+
{ node.loc.end = this.last.loc.end; }
|
|
35686
|
+
if (this.options.ranges)
|
|
35687
|
+
{ node.range[1] = this.last.end; }
|
|
35688
|
+
return node
|
|
35689
|
+
};
|
|
35690
|
+
|
|
35691
|
+
LooseParser.prototype.dummyNode = function dummyNode (type) {
|
|
35692
|
+
var dummy = this.startNode();
|
|
35693
|
+
dummy.type = type;
|
|
35694
|
+
dummy.end = dummy.start;
|
|
35695
|
+
if (this.options.locations)
|
|
35696
|
+
{ dummy.loc.end = dummy.loc.start; }
|
|
35697
|
+
if (this.options.ranges)
|
|
35698
|
+
{ dummy.range[1] = dummy.start; }
|
|
35699
|
+
this.last = {type: types$1.name, start: dummy.start, end: dummy.start, loc: dummy.loc};
|
|
35700
|
+
return dummy
|
|
35701
|
+
};
|
|
35702
|
+
|
|
35703
|
+
LooseParser.prototype.dummyIdent = function dummyIdent () {
|
|
35704
|
+
var dummy = this.dummyNode("Identifier");
|
|
35705
|
+
dummy.name = dummyValue;
|
|
35706
|
+
return dummy
|
|
35707
|
+
};
|
|
35708
|
+
|
|
35709
|
+
LooseParser.prototype.dummyString = function dummyString () {
|
|
35710
|
+
var dummy = this.dummyNode("Literal");
|
|
35711
|
+
dummy.value = dummy.raw = dummyValue;
|
|
35712
|
+
return dummy
|
|
35713
|
+
};
|
|
35714
|
+
|
|
35715
|
+
LooseParser.prototype.eat = function eat (type) {
|
|
35716
|
+
if (this.tok.type === type) {
|
|
35717
|
+
this.next();
|
|
35718
|
+
return true
|
|
35719
|
+
} else {
|
|
35720
|
+
return false
|
|
35721
|
+
}
|
|
35722
|
+
};
|
|
35723
|
+
|
|
35724
|
+
LooseParser.prototype.isContextual = function isContextual (name) {
|
|
35725
|
+
return this.tok.type === types$1.name && this.tok.value === name
|
|
35726
|
+
};
|
|
35727
|
+
|
|
35728
|
+
LooseParser.prototype.eatContextual = function eatContextual (name) {
|
|
35729
|
+
return this.tok.value === name && this.eat(types$1.name)
|
|
35730
|
+
};
|
|
35731
|
+
|
|
35732
|
+
LooseParser.prototype.canInsertSemicolon = function canInsertSemicolon () {
|
|
35733
|
+
return this.tok.type === types$1.eof || this.tok.type === types$1.braceR ||
|
|
35734
|
+
lineBreak.test(this.input.slice(this.last.end, this.tok.start))
|
|
35735
|
+
};
|
|
35736
|
+
|
|
35737
|
+
LooseParser.prototype.semicolon = function semicolon () {
|
|
35738
|
+
return this.eat(types$1.semi)
|
|
35739
|
+
};
|
|
35740
|
+
|
|
35741
|
+
LooseParser.prototype.expect = function expect (type) {
|
|
35742
|
+
if (this.eat(type)) { return true }
|
|
35743
|
+
for (var i = 1; i <= 2; i++) {
|
|
35744
|
+
if (this.lookAhead(i).type === type) {
|
|
35745
|
+
for (var j = 0; j < i; j++) { this.next(); }
|
|
35746
|
+
return true
|
|
35747
|
+
}
|
|
35748
|
+
}
|
|
35749
|
+
};
|
|
35750
|
+
|
|
35751
|
+
LooseParser.prototype.pushCx = function pushCx () {
|
|
35752
|
+
this.context.push(this.curIndent);
|
|
35753
|
+
};
|
|
35754
|
+
|
|
35755
|
+
LooseParser.prototype.popCx = function popCx () {
|
|
35756
|
+
this.curIndent = this.context.pop();
|
|
35757
|
+
};
|
|
35758
|
+
|
|
35759
|
+
LooseParser.prototype.lineEnd = function lineEnd (pos) {
|
|
35760
|
+
while (pos < this.input.length && !isNewLine(this.input.charCodeAt(pos))) { ++pos; }
|
|
35761
|
+
return pos
|
|
35762
|
+
};
|
|
35763
|
+
|
|
35764
|
+
LooseParser.prototype.indentationAfter = function indentationAfter (pos) {
|
|
35765
|
+
for (var count = 0;; ++pos) {
|
|
35766
|
+
var ch = this.input.charCodeAt(pos);
|
|
35767
|
+
if (ch === 32) { ++count; }
|
|
35768
|
+
else if (ch === 9) { count += this.options.tabSize; }
|
|
35769
|
+
else { return count }
|
|
35770
|
+
}
|
|
35771
|
+
};
|
|
35772
|
+
|
|
35773
|
+
LooseParser.prototype.closes = function closes (closeTok, indent, line, blockHeuristic) {
|
|
35774
|
+
if (this.tok.type === closeTok || this.tok.type === types$1.eof) { return true }
|
|
35775
|
+
return line !== this.curLineStart && this.curIndent < indent && this.tokenStartsLine() &&
|
|
35776
|
+
(!blockHeuristic || this.nextLineStart >= this.input.length ||
|
|
35777
|
+
this.indentationAfter(this.nextLineStart) < indent)
|
|
35778
|
+
};
|
|
35779
|
+
|
|
35780
|
+
LooseParser.prototype.tokenStartsLine = function tokenStartsLine () {
|
|
35781
|
+
for (var p = this.tok.start - 1; p >= this.curLineStart; --p) {
|
|
35782
|
+
var ch = this.input.charCodeAt(p);
|
|
35783
|
+
if (ch !== 9 && ch !== 32) { return false }
|
|
35784
|
+
}
|
|
35785
|
+
return true
|
|
35786
|
+
};
|
|
35787
|
+
|
|
35788
|
+
LooseParser.prototype.extend = function extend (name, f) {
|
|
35789
|
+
this[name] = f(this[name]);
|
|
35790
|
+
};
|
|
35791
|
+
|
|
35792
|
+
LooseParser.prototype.parse = function parse () {
|
|
35793
|
+
this.next();
|
|
35794
|
+
return this.parseTopLevel()
|
|
35795
|
+
};
|
|
35796
|
+
|
|
35797
|
+
LooseParser.extend = function extend () {
|
|
35798
|
+
var plugins = [], len = arguments.length;
|
|
35799
|
+
while ( len-- ) plugins[ len ] = arguments[ len ];
|
|
35800
|
+
|
|
35801
|
+
var cls = this;
|
|
35802
|
+
for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }
|
|
35803
|
+
return cls
|
|
35804
|
+
};
|
|
35805
|
+
|
|
35806
|
+
LooseParser.parse = function parse (input, options) {
|
|
35807
|
+
return new this(input, options).parse()
|
|
35808
|
+
};
|
|
35809
|
+
|
|
35810
|
+
// Allows plugins to extend the base parser / tokenizer used
|
|
35811
|
+
LooseParser.BaseParser = Parser;
|
|
35812
|
+
|
|
35813
|
+
var lp$2 = LooseParser.prototype;
|
|
35814
|
+
|
|
35815
|
+
function isSpace(ch) {
|
|
35816
|
+
return (ch < 14 && ch > 8) || ch === 32 || ch === 160 || isNewLine(ch)
|
|
35817
|
+
}
|
|
35818
|
+
|
|
35819
|
+
lp$2.next = function() {
|
|
35820
|
+
this.last = this.tok;
|
|
35821
|
+
if (this.ahead.length)
|
|
35822
|
+
{ this.tok = this.ahead.shift(); }
|
|
35823
|
+
else
|
|
35824
|
+
{ this.tok = this.readToken(); }
|
|
35825
|
+
|
|
35826
|
+
if (this.tok.start >= this.nextLineStart) {
|
|
35827
|
+
while (this.tok.start >= this.nextLineStart) {
|
|
35828
|
+
this.curLineStart = this.nextLineStart;
|
|
35829
|
+
this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
|
|
35830
|
+
}
|
|
35831
|
+
this.curIndent = this.indentationAfter(this.curLineStart);
|
|
35832
|
+
}
|
|
35833
|
+
};
|
|
35834
|
+
|
|
35835
|
+
lp$2.readToken = function() {
|
|
35836
|
+
for (;;) {
|
|
35837
|
+
try {
|
|
35838
|
+
this.toks.next();
|
|
35839
|
+
if (this.toks.type === types$1.dot &&
|
|
35840
|
+
this.input.substr(this.toks.end, 1) === "." &&
|
|
35841
|
+
this.options.ecmaVersion >= 6) {
|
|
35842
|
+
this.toks.end++;
|
|
35843
|
+
this.toks.type = types$1.ellipsis;
|
|
35844
|
+
}
|
|
35845
|
+
return new Token(this.toks)
|
|
35846
|
+
} catch (e) {
|
|
35847
|
+
if (!(e instanceof SyntaxError)) { throw e }
|
|
35848
|
+
|
|
35849
|
+
// Try to skip some text, based on the error message, and then continue
|
|
35850
|
+
var msg = e.message, pos = e.raisedAt, replace = true;
|
|
35851
|
+
if (/unterminated/i.test(msg)) {
|
|
35852
|
+
pos = this.lineEnd(e.pos + 1);
|
|
35853
|
+
if (/string/.test(msg)) {
|
|
35854
|
+
replace = {start: e.pos, end: pos, type: types$1.string, value: this.input.slice(e.pos + 1, pos)};
|
|
35855
|
+
} else if (/regular expr/i.test(msg)) {
|
|
35856
|
+
var re = this.input.slice(e.pos, pos);
|
|
35857
|
+
try { re = new RegExp(re); } catch (e$1) { /* ignore compilation error due to new syntax */ }
|
|
35858
|
+
replace = {start: e.pos, end: pos, type: types$1.regexp, value: re};
|
|
35859
|
+
} else if (/template/.test(msg)) {
|
|
35860
|
+
replace = {
|
|
35861
|
+
start: e.pos,
|
|
35862
|
+
end: pos,
|
|
35863
|
+
type: types$1.template,
|
|
35864
|
+
value: this.input.slice(e.pos, pos)
|
|
35865
|
+
};
|
|
35866
|
+
} else {
|
|
35867
|
+
replace = false;
|
|
35868
|
+
}
|
|
35869
|
+
} else if (/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix|numeric separator/i.test(msg)) {
|
|
35870
|
+
while (pos < this.input.length && !isSpace(this.input.charCodeAt(pos))) { ++pos; }
|
|
35871
|
+
} else if (/character escape|expected hexadecimal/i.test(msg)) {
|
|
35872
|
+
while (pos < this.input.length) {
|
|
35873
|
+
var ch = this.input.charCodeAt(pos++);
|
|
35874
|
+
if (ch === 34 || ch === 39 || isNewLine(ch)) { break }
|
|
35875
|
+
}
|
|
35876
|
+
} else if (/unexpected character/i.test(msg)) {
|
|
35877
|
+
pos++;
|
|
35878
|
+
replace = false;
|
|
35879
|
+
} else if (/regular expression/i.test(msg)) {
|
|
35880
|
+
replace = true;
|
|
35881
|
+
} else {
|
|
35882
|
+
throw e
|
|
35883
|
+
}
|
|
35884
|
+
this.resetTo(pos);
|
|
35885
|
+
if (replace === true) { replace = {start: pos, end: pos, type: types$1.name, value: dummyValue}; }
|
|
35886
|
+
if (replace) {
|
|
35887
|
+
if (this.options.locations)
|
|
35888
|
+
{ replace.loc = new SourceLocation(
|
|
35889
|
+
this.toks,
|
|
35890
|
+
getLineInfo(this.input, replace.start),
|
|
35891
|
+
getLineInfo(this.input, replace.end)); }
|
|
35892
|
+
return replace
|
|
35893
|
+
}
|
|
35894
|
+
}
|
|
35895
|
+
}
|
|
35896
|
+
};
|
|
35897
|
+
|
|
35898
|
+
lp$2.resetTo = function(pos) {
|
|
35899
|
+
this.toks.pos = pos;
|
|
35900
|
+
this.toks.containsEsc = false;
|
|
35901
|
+
var ch = this.input.charAt(pos - 1);
|
|
35902
|
+
this.toks.exprAllowed = !ch || /[[{(,;:?/*=+\-~!|&%^<>]/.test(ch) ||
|
|
35903
|
+
/[enwfd]/.test(ch) &&
|
|
35904
|
+
/\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(pos - 10, pos));
|
|
35905
|
+
|
|
35906
|
+
if (this.options.locations) {
|
|
35907
|
+
this.toks.curLine = 1;
|
|
35908
|
+
this.toks.lineStart = lineBreakG.lastIndex = 0;
|
|
35909
|
+
var match;
|
|
35910
|
+
while ((match = lineBreakG.exec(this.input)) && match.index < pos) {
|
|
35911
|
+
++this.toks.curLine;
|
|
35912
|
+
this.toks.lineStart = match.index + match[0].length;
|
|
35913
|
+
}
|
|
35914
|
+
}
|
|
35915
|
+
};
|
|
35916
|
+
|
|
35917
|
+
lp$2.lookAhead = function(n) {
|
|
35918
|
+
while (n > this.ahead.length)
|
|
35919
|
+
{ this.ahead.push(this.readToken()); }
|
|
35920
|
+
return this.ahead[n - 1]
|
|
35921
|
+
};
|
|
35922
|
+
|
|
35923
|
+
var lp$1 = LooseParser.prototype;
|
|
35924
|
+
|
|
35925
|
+
lp$1.parseTopLevel = function() {
|
|
35926
|
+
var node = this.startNodeAt(this.options.locations ? [0, getLineInfo(this.input, 0)] : 0);
|
|
35927
|
+
node.body = [];
|
|
35928
|
+
while (this.tok.type !== types$1.eof) { node.body.push(this.parseStatement()); }
|
|
35929
|
+
this.toks.adaptDirectivePrologue(node.body);
|
|
35930
|
+
this.last = this.tok;
|
|
35931
|
+
node.sourceType = this.options.sourceType === "commonjs" ? "script" : this.options.sourceType;
|
|
35932
|
+
return this.finishNode(node, "Program")
|
|
35933
|
+
};
|
|
35934
|
+
|
|
35935
|
+
lp$1.parseStatement = function() {
|
|
35936
|
+
var starttype = this.tok.type, node = this.startNode(), kind;
|
|
35937
|
+
|
|
35938
|
+
if (this.toks.isLet()) {
|
|
35939
|
+
starttype = types$1._var;
|
|
35940
|
+
kind = "let";
|
|
35941
|
+
}
|
|
35942
|
+
|
|
35943
|
+
switch (starttype) {
|
|
35944
|
+
case types$1._break: case types$1._continue:
|
|
35945
|
+
this.next();
|
|
35946
|
+
var isBreak = starttype === types$1._break;
|
|
35947
|
+
if (this.semicolon() || this.canInsertSemicolon()) {
|
|
35948
|
+
node.label = null;
|
|
35949
|
+
} else {
|
|
35950
|
+
node.label = this.tok.type === types$1.name ? this.parseIdent() : null;
|
|
35951
|
+
this.semicolon();
|
|
35952
|
+
}
|
|
35953
|
+
return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
|
|
35954
|
+
|
|
35955
|
+
case types$1._debugger:
|
|
35956
|
+
this.next();
|
|
35957
|
+
this.semicolon();
|
|
35958
|
+
return this.finishNode(node, "DebuggerStatement")
|
|
35959
|
+
|
|
35960
|
+
case types$1._do:
|
|
35961
|
+
this.next();
|
|
35962
|
+
node.body = this.parseStatement();
|
|
35963
|
+
node.test = this.eat(types$1._while) ? this.parseParenExpression() : this.dummyIdent();
|
|
35964
|
+
this.semicolon();
|
|
35965
|
+
return this.finishNode(node, "DoWhileStatement")
|
|
35966
|
+
|
|
35967
|
+
case types$1._for:
|
|
35968
|
+
this.next(); // `for` keyword
|
|
35969
|
+
var isAwait = this.options.ecmaVersion >= 9 && this.eatContextual("await");
|
|
35970
|
+
|
|
35971
|
+
this.pushCx();
|
|
35972
|
+
this.expect(types$1.parenL);
|
|
35973
|
+
if (this.tok.type === types$1.semi) { return this.parseFor(node, null) }
|
|
35974
|
+
var isLet = this.toks.isLet();
|
|
35975
|
+
var isAwaitUsing = this.toks.isAwaitUsing(true);
|
|
35976
|
+
var isUsing = !isAwaitUsing && this.toks.isUsing(true);
|
|
35977
|
+
|
|
35978
|
+
if (isLet || this.tok.type === types$1._var || this.tok.type === types$1._const || isUsing || isAwaitUsing) {
|
|
35979
|
+
var kind$1 = isLet ? "let" : isUsing ? "using" : isAwaitUsing ? "await using" : this.tok.value;
|
|
35980
|
+
var init$1 = this.startNode();
|
|
35981
|
+
if (isUsing || isAwaitUsing) {
|
|
35982
|
+
if (isAwaitUsing) { this.next(); }
|
|
35983
|
+
this.parseVar(init$1, true, kind$1);
|
|
35984
|
+
} else {
|
|
35985
|
+
init$1 = this.parseVar(init$1, true, kind$1);
|
|
35986
|
+
}
|
|
35987
|
+
|
|
35988
|
+
if (init$1.declarations.length === 1 && (this.tok.type === types$1._in || this.isContextual("of"))) {
|
|
35989
|
+
if (this.options.ecmaVersion >= 9 && this.tok.type !== types$1._in) {
|
|
35990
|
+
node.await = isAwait;
|
|
35991
|
+
}
|
|
35992
|
+
return this.parseForIn(node, init$1)
|
|
35993
|
+
}
|
|
35994
|
+
return this.parseFor(node, init$1)
|
|
35995
|
+
}
|
|
35996
|
+
var init = this.parseExpression(true);
|
|
35997
|
+
if (this.tok.type === types$1._in || this.isContextual("of")) {
|
|
35998
|
+
if (this.options.ecmaVersion >= 9 && this.tok.type !== types$1._in) {
|
|
35999
|
+
node.await = isAwait;
|
|
36000
|
+
}
|
|
36001
|
+
return this.parseForIn(node, this.toAssignable(init))
|
|
36002
|
+
}
|
|
36003
|
+
return this.parseFor(node, init)
|
|
36004
|
+
|
|
36005
|
+
case types$1._function:
|
|
36006
|
+
this.next();
|
|
36007
|
+
return this.parseFunction(node, true)
|
|
36008
|
+
|
|
36009
|
+
case types$1._if:
|
|
36010
|
+
this.next();
|
|
36011
|
+
node.test = this.parseParenExpression();
|
|
36012
|
+
node.consequent = this.parseStatement();
|
|
36013
|
+
node.alternate = this.eat(types$1._else) ? this.parseStatement() : null;
|
|
36014
|
+
return this.finishNode(node, "IfStatement")
|
|
36015
|
+
|
|
36016
|
+
case types$1._return:
|
|
36017
|
+
this.next();
|
|
36018
|
+
if (this.eat(types$1.semi) || this.canInsertSemicolon()) { node.argument = null; }
|
|
36019
|
+
else { node.argument = this.parseExpression(); this.semicolon(); }
|
|
36020
|
+
return this.finishNode(node, "ReturnStatement")
|
|
36021
|
+
|
|
36022
|
+
case types$1._switch:
|
|
36023
|
+
var blockIndent = this.curIndent, line = this.curLineStart;
|
|
36024
|
+
this.next();
|
|
36025
|
+
node.discriminant = this.parseParenExpression();
|
|
36026
|
+
node.cases = [];
|
|
36027
|
+
this.pushCx();
|
|
36028
|
+
this.expect(types$1.braceL);
|
|
36029
|
+
|
|
36030
|
+
var cur;
|
|
36031
|
+
while (!this.closes(types$1.braceR, blockIndent, line, true)) {
|
|
36032
|
+
if (this.tok.type === types$1._case || this.tok.type === types$1._default) {
|
|
36033
|
+
var isCase = this.tok.type === types$1._case;
|
|
36034
|
+
if (cur) { this.finishNode(cur, "SwitchCase"); }
|
|
36035
|
+
node.cases.push(cur = this.startNode());
|
|
36036
|
+
cur.consequent = [];
|
|
36037
|
+
this.next();
|
|
36038
|
+
if (isCase) { cur.test = this.parseExpression(); }
|
|
36039
|
+
else { cur.test = null; }
|
|
36040
|
+
this.expect(types$1.colon);
|
|
36041
|
+
} else {
|
|
36042
|
+
if (!cur) {
|
|
36043
|
+
node.cases.push(cur = this.startNode());
|
|
36044
|
+
cur.consequent = [];
|
|
36045
|
+
cur.test = null;
|
|
36046
|
+
}
|
|
36047
|
+
cur.consequent.push(this.parseStatement());
|
|
36048
|
+
}
|
|
36049
|
+
}
|
|
36050
|
+
if (cur) { this.finishNode(cur, "SwitchCase"); }
|
|
36051
|
+
this.popCx();
|
|
36052
|
+
this.eat(types$1.braceR);
|
|
36053
|
+
return this.finishNode(node, "SwitchStatement")
|
|
36054
|
+
|
|
36055
|
+
case types$1._throw:
|
|
36056
|
+
this.next();
|
|
36057
|
+
node.argument = this.parseExpression();
|
|
36058
|
+
this.semicolon();
|
|
36059
|
+
return this.finishNode(node, "ThrowStatement")
|
|
36060
|
+
|
|
36061
|
+
case types$1._try:
|
|
36062
|
+
this.next();
|
|
36063
|
+
node.block = this.parseBlock();
|
|
36064
|
+
node.handler = null;
|
|
36065
|
+
if (this.tok.type === types$1._catch) {
|
|
36066
|
+
var clause = this.startNode();
|
|
36067
|
+
this.next();
|
|
36068
|
+
if (this.eat(types$1.parenL)) {
|
|
36069
|
+
clause.param = this.toAssignable(this.parseExprAtom(), true);
|
|
36070
|
+
this.expect(types$1.parenR);
|
|
36071
|
+
} else {
|
|
36072
|
+
clause.param = null;
|
|
36073
|
+
}
|
|
36074
|
+
clause.body = this.parseBlock();
|
|
36075
|
+
node.handler = this.finishNode(clause, "CatchClause");
|
|
36076
|
+
}
|
|
36077
|
+
node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null;
|
|
36078
|
+
if (!node.handler && !node.finalizer) { return node.block }
|
|
36079
|
+
return this.finishNode(node, "TryStatement")
|
|
36080
|
+
|
|
36081
|
+
case types$1._var:
|
|
36082
|
+
case types$1._const:
|
|
36083
|
+
return this.parseVar(node, false, kind || this.tok.value)
|
|
36084
|
+
|
|
36085
|
+
case types$1._while:
|
|
36086
|
+
this.next();
|
|
36087
|
+
node.test = this.parseParenExpression();
|
|
36088
|
+
node.body = this.parseStatement();
|
|
36089
|
+
return this.finishNode(node, "WhileStatement")
|
|
36090
|
+
|
|
36091
|
+
case types$1._with:
|
|
36092
|
+
this.next();
|
|
36093
|
+
node.object = this.parseParenExpression();
|
|
36094
|
+
node.body = this.parseStatement();
|
|
36095
|
+
return this.finishNode(node, "WithStatement")
|
|
36096
|
+
|
|
36097
|
+
case types$1.braceL:
|
|
36098
|
+
return this.parseBlock()
|
|
36099
|
+
|
|
36100
|
+
case types$1.semi:
|
|
36101
|
+
this.next();
|
|
36102
|
+
return this.finishNode(node, "EmptyStatement")
|
|
36103
|
+
|
|
36104
|
+
case types$1._class:
|
|
36105
|
+
return this.parseClass(true)
|
|
36106
|
+
|
|
36107
|
+
case types$1._import:
|
|
36108
|
+
if (this.options.ecmaVersion > 10) {
|
|
36109
|
+
var nextType = this.lookAhead(1).type;
|
|
36110
|
+
if (nextType === types$1.parenL || nextType === types$1.dot) {
|
|
36111
|
+
node.expression = this.parseExpression();
|
|
36112
|
+
this.semicolon();
|
|
36113
|
+
return this.finishNode(node, "ExpressionStatement")
|
|
36114
|
+
}
|
|
36115
|
+
}
|
|
36116
|
+
|
|
36117
|
+
return this.parseImport()
|
|
36118
|
+
|
|
36119
|
+
case types$1._export:
|
|
36120
|
+
return this.parseExport()
|
|
36121
|
+
|
|
36122
|
+
default:
|
|
36123
|
+
if (this.toks.isAsyncFunction()) {
|
|
36124
|
+
this.next();
|
|
36125
|
+
this.next();
|
|
36126
|
+
return this.parseFunction(node, true, true)
|
|
36127
|
+
}
|
|
36128
|
+
|
|
36129
|
+
if (this.toks.isUsing(false)) {
|
|
36130
|
+
return this.parseVar(node, false, "using")
|
|
36131
|
+
}
|
|
36132
|
+
|
|
36133
|
+
if (this.toks.isAwaitUsing(false)) {
|
|
36134
|
+
this.next();
|
|
36135
|
+
return this.parseVar(node, false, "await using")
|
|
36136
|
+
}
|
|
36137
|
+
|
|
36138
|
+
var expr = this.parseExpression();
|
|
36139
|
+
if (isDummy(expr)) {
|
|
36140
|
+
this.next();
|
|
36141
|
+
if (this.tok.type === types$1.eof) { return this.finishNode(node, "EmptyStatement") }
|
|
36142
|
+
return this.parseStatement()
|
|
36143
|
+
} else if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon)) {
|
|
36144
|
+
node.body = this.parseStatement();
|
|
36145
|
+
node.label = expr;
|
|
36146
|
+
return this.finishNode(node, "LabeledStatement")
|
|
36147
|
+
} else {
|
|
36148
|
+
node.expression = expr;
|
|
36149
|
+
this.semicolon();
|
|
36150
|
+
return this.finishNode(node, "ExpressionStatement")
|
|
36151
|
+
}
|
|
36152
|
+
}
|
|
36153
|
+
};
|
|
36154
|
+
|
|
36155
|
+
lp$1.parseBlock = function() {
|
|
36156
|
+
var node = this.startNode();
|
|
36157
|
+
this.pushCx();
|
|
36158
|
+
this.expect(types$1.braceL);
|
|
36159
|
+
var blockIndent = this.curIndent, line = this.curLineStart;
|
|
36160
|
+
node.body = [];
|
|
36161
|
+
while (!this.closes(types$1.braceR, blockIndent, line, true))
|
|
36162
|
+
{ node.body.push(this.parseStatement()); }
|
|
36163
|
+
this.popCx();
|
|
36164
|
+
this.eat(types$1.braceR);
|
|
36165
|
+
return this.finishNode(node, "BlockStatement")
|
|
36166
|
+
};
|
|
36167
|
+
|
|
36168
|
+
lp$1.parseFor = function(node, init) {
|
|
36169
|
+
node.init = init;
|
|
36170
|
+
node.test = node.update = null;
|
|
36171
|
+
if (this.eat(types$1.semi) && this.tok.type !== types$1.semi) { node.test = this.parseExpression(); }
|
|
36172
|
+
if (this.eat(types$1.semi) && this.tok.type !== types$1.parenR) { node.update = this.parseExpression(); }
|
|
36173
|
+
this.popCx();
|
|
36174
|
+
this.expect(types$1.parenR);
|
|
36175
|
+
node.body = this.parseStatement();
|
|
36176
|
+
return this.finishNode(node, "ForStatement")
|
|
36177
|
+
};
|
|
36178
|
+
|
|
36179
|
+
lp$1.parseForIn = function(node, init) {
|
|
36180
|
+
var type = this.tok.type === types$1._in ? "ForInStatement" : "ForOfStatement";
|
|
36181
|
+
this.next();
|
|
36182
|
+
node.left = init;
|
|
36183
|
+
node.right = this.parseExpression();
|
|
36184
|
+
this.popCx();
|
|
36185
|
+
this.expect(types$1.parenR);
|
|
36186
|
+
node.body = this.parseStatement();
|
|
36187
|
+
return this.finishNode(node, type)
|
|
36188
|
+
};
|
|
36189
|
+
|
|
36190
|
+
lp$1.parseVar = function(node, noIn, kind) {
|
|
36191
|
+
node.kind = kind;
|
|
36192
|
+
this.next();
|
|
36193
|
+
node.declarations = [];
|
|
36194
|
+
do {
|
|
36195
|
+
var decl = this.startNode();
|
|
36196
|
+
decl.id = this.options.ecmaVersion >= 6 ? this.toAssignable(this.parseExprAtom(), true) : this.parseIdent();
|
|
36197
|
+
decl.init = this.eat(types$1.eq) ? this.parseMaybeAssign(noIn) : null;
|
|
36198
|
+
node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
|
|
36199
|
+
} while (this.eat(types$1.comma))
|
|
36200
|
+
if (!node.declarations.length) {
|
|
36201
|
+
var decl$1 = this.startNode();
|
|
36202
|
+
decl$1.id = this.dummyIdent();
|
|
36203
|
+
node.declarations.push(this.finishNode(decl$1, "VariableDeclarator"));
|
|
36204
|
+
}
|
|
36205
|
+
if (!noIn) { this.semicolon(); }
|
|
36206
|
+
return this.finishNode(node, "VariableDeclaration")
|
|
36207
|
+
};
|
|
36208
|
+
|
|
36209
|
+
lp$1.parseClass = function(isStatement) {
|
|
36210
|
+
var node = this.startNode();
|
|
36211
|
+
this.next();
|
|
36212
|
+
if (this.tok.type === types$1.name) { node.id = this.parseIdent(); }
|
|
36213
|
+
else if (isStatement === true) { node.id = this.dummyIdent(); }
|
|
36214
|
+
else { node.id = null; }
|
|
36215
|
+
node.superClass = this.eat(types$1._extends) ? this.parseExpression() : null;
|
|
36216
|
+
node.body = this.startNode();
|
|
36217
|
+
node.body.body = [];
|
|
36218
|
+
this.pushCx();
|
|
36219
|
+
var indent = this.curIndent + 1, line = this.curLineStart;
|
|
36220
|
+
this.eat(types$1.braceL);
|
|
36221
|
+
if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
|
|
36222
|
+
while (!this.closes(types$1.braceR, indent, line)) {
|
|
36223
|
+
var element = this.parseClassElement();
|
|
36224
|
+
if (element) { node.body.body.push(element); }
|
|
36225
|
+
}
|
|
36226
|
+
this.popCx();
|
|
36227
|
+
if (!this.eat(types$1.braceR)) {
|
|
36228
|
+
// If there is no closing brace, make the node span to the start
|
|
36229
|
+
// of the next token (this is useful for Tern)
|
|
36230
|
+
this.last.end = this.tok.start;
|
|
36231
|
+
if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
|
|
36232
|
+
}
|
|
36233
|
+
this.semicolon();
|
|
36234
|
+
this.finishNode(node.body, "ClassBody");
|
|
36235
|
+
return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
|
|
36236
|
+
};
|
|
36237
|
+
|
|
36238
|
+
lp$1.parseClassElement = function() {
|
|
36239
|
+
if (this.eat(types$1.semi)) { return null }
|
|
36240
|
+
|
|
36241
|
+
var ref = this.options;
|
|
36242
|
+
var ecmaVersion = ref.ecmaVersion;
|
|
36243
|
+
var locations = ref.locations;
|
|
36244
|
+
var indent = this.curIndent;
|
|
36245
|
+
var line = this.curLineStart;
|
|
36246
|
+
var node = this.startNode();
|
|
36247
|
+
var keyName = "";
|
|
36248
|
+
var isGenerator = false;
|
|
36249
|
+
var isAsync = false;
|
|
36250
|
+
var kind = "method";
|
|
36251
|
+
var isStatic = false;
|
|
36252
|
+
|
|
36253
|
+
if (this.eatContextual("static")) {
|
|
36254
|
+
// Parse static init block
|
|
36255
|
+
if (ecmaVersion >= 13 && this.eat(types$1.braceL)) {
|
|
36256
|
+
this.parseClassStaticBlock(node);
|
|
36257
|
+
return node
|
|
36258
|
+
}
|
|
36259
|
+
if (this.isClassElementNameStart() || this.toks.type === types$1.star) {
|
|
36260
|
+
isStatic = true;
|
|
36261
|
+
} else {
|
|
36262
|
+
keyName = "static";
|
|
36263
|
+
}
|
|
36264
|
+
}
|
|
36265
|
+
node.static = isStatic;
|
|
36266
|
+
if (!keyName && ecmaVersion >= 8 && this.eatContextual("async")) {
|
|
36267
|
+
if ((this.isClassElementNameStart() || this.toks.type === types$1.star) && !this.canInsertSemicolon()) {
|
|
36268
|
+
isAsync = true;
|
|
36269
|
+
} else {
|
|
36270
|
+
keyName = "async";
|
|
36271
|
+
}
|
|
36272
|
+
}
|
|
36273
|
+
if (!keyName) {
|
|
36274
|
+
isGenerator = this.eat(types$1.star);
|
|
36275
|
+
var lastValue = this.toks.value;
|
|
36276
|
+
if (this.eatContextual("get") || this.eatContextual("set")) {
|
|
36277
|
+
if (this.isClassElementNameStart()) {
|
|
36278
|
+
kind = lastValue;
|
|
36279
|
+
} else {
|
|
36280
|
+
keyName = lastValue;
|
|
36281
|
+
}
|
|
36282
|
+
}
|
|
36283
|
+
}
|
|
36284
|
+
|
|
36285
|
+
// Parse element name
|
|
36286
|
+
if (keyName) {
|
|
36287
|
+
// 'async', 'get', 'set', or 'static' were not a keyword contextually.
|
|
36288
|
+
// The last token is any of those. Make it the element name.
|
|
36289
|
+
node.computed = false;
|
|
36290
|
+
node.key = this.startNodeAt(locations ? [this.toks.lastTokStart, this.toks.lastTokStartLoc] : this.toks.lastTokStart);
|
|
36291
|
+
node.key.name = keyName;
|
|
36292
|
+
this.finishNode(node.key, "Identifier");
|
|
36293
|
+
} else {
|
|
36294
|
+
this.parseClassElementName(node);
|
|
36295
|
+
|
|
36296
|
+
// From https://github.com/acornjs/acorn/blob/7deba41118d6384a2c498c61176b3cf434f69590/acorn-loose/src/statement.js#L291
|
|
36297
|
+
// Skip broken stuff.
|
|
36298
|
+
if (isDummy(node.key)) {
|
|
36299
|
+
if (isDummy(this.parseMaybeAssign())) { this.next(); }
|
|
36300
|
+
this.eat(types$1.comma);
|
|
36301
|
+
return null
|
|
36302
|
+
}
|
|
36303
|
+
}
|
|
36304
|
+
|
|
36305
|
+
// Parse element value
|
|
36306
|
+
if (ecmaVersion < 13 || this.toks.type === types$1.parenL || kind !== "method" || isGenerator || isAsync) {
|
|
36307
|
+
// Method
|
|
36308
|
+
var isConstructor =
|
|
36309
|
+
!node.computed &&
|
|
36310
|
+
!node.static &&
|
|
36311
|
+
!isGenerator &&
|
|
36312
|
+
!isAsync &&
|
|
36313
|
+
kind === "method" && (
|
|
36314
|
+
node.key.type === "Identifier" && node.key.name === "constructor" ||
|
|
36315
|
+
node.key.type === "Literal" && node.key.value === "constructor"
|
|
36316
|
+
);
|
|
36317
|
+
node.kind = isConstructor ? "constructor" : kind;
|
|
36318
|
+
node.value = this.parseMethod(isGenerator, isAsync);
|
|
36319
|
+
this.finishNode(node, "MethodDefinition");
|
|
36320
|
+
} else {
|
|
36321
|
+
// Field
|
|
36322
|
+
if (this.eat(types$1.eq)) {
|
|
36323
|
+
if (this.curLineStart !== line && this.curIndent <= indent && this.tokenStartsLine()) {
|
|
36324
|
+
// Estimated the next line is the next class element by indentations.
|
|
36325
|
+
node.value = null;
|
|
36326
|
+
} else {
|
|
36327
|
+
var oldInAsync = this.inAsync;
|
|
36328
|
+
var oldInGenerator = this.inGenerator;
|
|
36329
|
+
this.inAsync = false;
|
|
36330
|
+
this.inGenerator = false;
|
|
36331
|
+
node.value = this.parseMaybeAssign();
|
|
36332
|
+
this.inAsync = oldInAsync;
|
|
36333
|
+
this.inGenerator = oldInGenerator;
|
|
36334
|
+
}
|
|
36335
|
+
} else {
|
|
36336
|
+
node.value = null;
|
|
36337
|
+
}
|
|
36338
|
+
this.semicolon();
|
|
36339
|
+
this.finishNode(node, "PropertyDefinition");
|
|
36340
|
+
}
|
|
36341
|
+
|
|
36342
|
+
return node
|
|
36343
|
+
};
|
|
36344
|
+
|
|
36345
|
+
lp$1.parseClassStaticBlock = function(node) {
|
|
36346
|
+
var blockIndent = this.curIndent, line = this.curLineStart;
|
|
36347
|
+
node.body = [];
|
|
36348
|
+
this.pushCx();
|
|
36349
|
+
while (!this.closes(types$1.braceR, blockIndent, line, true))
|
|
36350
|
+
{ node.body.push(this.parseStatement()); }
|
|
36351
|
+
this.popCx();
|
|
36352
|
+
this.eat(types$1.braceR);
|
|
36353
|
+
|
|
36354
|
+
return this.finishNode(node, "StaticBlock")
|
|
36355
|
+
};
|
|
36356
|
+
|
|
36357
|
+
lp$1.isClassElementNameStart = function() {
|
|
36358
|
+
return this.toks.isClassElementNameStart()
|
|
36359
|
+
};
|
|
36360
|
+
|
|
36361
|
+
lp$1.parseClassElementName = function(element) {
|
|
36362
|
+
if (this.toks.type === types$1.privateId) {
|
|
36363
|
+
element.computed = false;
|
|
36364
|
+
element.key = this.parsePrivateIdent();
|
|
36365
|
+
} else {
|
|
36366
|
+
this.parsePropertyName(element);
|
|
36367
|
+
}
|
|
36368
|
+
};
|
|
36369
|
+
|
|
36370
|
+
lp$1.parseFunction = function(node, isStatement, isAsync) {
|
|
36371
|
+
var oldInAsync = this.inAsync, oldInGenerator = this.inGenerator, oldInFunction = this.inFunction;
|
|
36372
|
+
this.initFunction(node);
|
|
36373
|
+
if (this.options.ecmaVersion >= 6) {
|
|
36374
|
+
node.generator = this.eat(types$1.star);
|
|
36375
|
+
}
|
|
36376
|
+
if (this.options.ecmaVersion >= 8) {
|
|
36377
|
+
node.async = !!isAsync;
|
|
36378
|
+
}
|
|
36379
|
+
if (this.tok.type === types$1.name) { node.id = this.parseIdent(); }
|
|
36380
|
+
else if (isStatement === true) { node.id = this.dummyIdent(); }
|
|
36381
|
+
this.inAsync = node.async;
|
|
36382
|
+
this.inGenerator = node.generator;
|
|
36383
|
+
this.inFunction = true;
|
|
36384
|
+
node.params = this.parseFunctionParams();
|
|
36385
|
+
node.body = this.parseBlock();
|
|
36386
|
+
this.toks.adaptDirectivePrologue(node.body.body);
|
|
36387
|
+
this.inAsync = oldInAsync;
|
|
36388
|
+
this.inGenerator = oldInGenerator;
|
|
36389
|
+
this.inFunction = oldInFunction;
|
|
36390
|
+
return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression")
|
|
36391
|
+
};
|
|
36392
|
+
|
|
36393
|
+
lp$1.parseExport = function() {
|
|
36394
|
+
var node = this.startNode();
|
|
36395
|
+
this.next();
|
|
36396
|
+
if (this.eat(types$1.star)) {
|
|
36397
|
+
if (this.options.ecmaVersion >= 11) {
|
|
36398
|
+
if (this.eatContextual("as")) {
|
|
36399
|
+
node.exported = this.parseExprAtom();
|
|
36400
|
+
} else {
|
|
36401
|
+
node.exported = null;
|
|
36402
|
+
}
|
|
36403
|
+
}
|
|
36404
|
+
node.source = this.eatContextual("from") ? this.parseExprAtom() : this.dummyString();
|
|
36405
|
+
if (this.options.ecmaVersion >= 16)
|
|
36406
|
+
{ node.attributes = this.parseWithClause(); }
|
|
36407
|
+
this.semicolon();
|
|
36408
|
+
return this.finishNode(node, "ExportAllDeclaration")
|
|
36409
|
+
}
|
|
36410
|
+
if (this.eat(types$1._default)) {
|
|
36411
|
+
// export default (function foo() {}) // This is FunctionExpression.
|
|
36412
|
+
var isAsync;
|
|
36413
|
+
if (this.tok.type === types$1._function || (isAsync = this.toks.isAsyncFunction())) {
|
|
36414
|
+
var fNode = this.startNode();
|
|
36415
|
+
this.next();
|
|
36416
|
+
if (isAsync) { this.next(); }
|
|
36417
|
+
node.declaration = this.parseFunction(fNode, "nullableID", isAsync);
|
|
36418
|
+
} else if (this.tok.type === types$1._class) {
|
|
36419
|
+
node.declaration = this.parseClass("nullableID");
|
|
36420
|
+
} else {
|
|
36421
|
+
node.declaration = this.parseMaybeAssign();
|
|
36422
|
+
this.semicolon();
|
|
36423
|
+
}
|
|
36424
|
+
return this.finishNode(node, "ExportDefaultDeclaration")
|
|
36425
|
+
}
|
|
36426
|
+
if (this.tok.type.keyword || this.toks.isLet() || this.toks.isAsyncFunction()) {
|
|
36427
|
+
node.declaration = this.parseStatement();
|
|
36428
|
+
node.specifiers = [];
|
|
36429
|
+
node.source = null;
|
|
36430
|
+
} else {
|
|
36431
|
+
node.declaration = null;
|
|
36432
|
+
node.specifiers = this.parseExportSpecifierList();
|
|
36433
|
+
node.source = this.eatContextual("from") ? this.parseExprAtom() : null;
|
|
36434
|
+
if (this.options.ecmaVersion >= 16)
|
|
36435
|
+
{ node.attributes = this.parseWithClause(); }
|
|
36436
|
+
this.semicolon();
|
|
36437
|
+
}
|
|
36438
|
+
return this.finishNode(node, "ExportNamedDeclaration")
|
|
36439
|
+
};
|
|
36440
|
+
|
|
36441
|
+
lp$1.parseImport = function() {
|
|
36442
|
+
var node = this.startNode();
|
|
36443
|
+
this.next();
|
|
36444
|
+
if (this.tok.type === types$1.string) {
|
|
36445
|
+
node.specifiers = [];
|
|
36446
|
+
node.source = this.parseExprAtom();
|
|
36447
|
+
} else {
|
|
36448
|
+
var elt;
|
|
36449
|
+
if (this.tok.type === types$1.name && this.tok.value !== "from") {
|
|
36450
|
+
elt = this.startNode();
|
|
36451
|
+
elt.local = this.parseIdent();
|
|
36452
|
+
this.finishNode(elt, "ImportDefaultSpecifier");
|
|
36453
|
+
this.eat(types$1.comma);
|
|
36454
|
+
}
|
|
36455
|
+
node.specifiers = this.parseImportSpecifiers();
|
|
36456
|
+
node.source = this.eatContextual("from") && this.tok.type === types$1.string ? this.parseExprAtom() : this.dummyString();
|
|
36457
|
+
if (elt) { node.specifiers.unshift(elt); }
|
|
36458
|
+
}
|
|
36459
|
+
if (this.options.ecmaVersion >= 16)
|
|
36460
|
+
{ node.attributes = this.parseWithClause(); }
|
|
36461
|
+
this.semicolon();
|
|
36462
|
+
return this.finishNode(node, "ImportDeclaration")
|
|
36463
|
+
};
|
|
36464
|
+
|
|
36465
|
+
lp$1.parseImportSpecifiers = function() {
|
|
36466
|
+
var elts = [];
|
|
36467
|
+
if (this.tok.type === types$1.star) {
|
|
36468
|
+
var elt = this.startNode();
|
|
36469
|
+
this.next();
|
|
36470
|
+
elt.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent();
|
|
36471
|
+
elts.push(this.finishNode(elt, "ImportNamespaceSpecifier"));
|
|
36472
|
+
} else {
|
|
36473
|
+
var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
|
|
36474
|
+
this.pushCx();
|
|
36475
|
+
this.eat(types$1.braceL);
|
|
36476
|
+
if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
|
|
36477
|
+
while (!this.closes(types$1.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
|
|
36478
|
+
var elt$1 = this.startNode();
|
|
36479
|
+
if (this.eat(types$1.star)) {
|
|
36480
|
+
elt$1.local = this.eatContextual("as") ? this.parseModuleExportName() : this.dummyIdent();
|
|
36481
|
+
this.finishNode(elt$1, "ImportNamespaceSpecifier");
|
|
36482
|
+
} else {
|
|
36483
|
+
if (this.isContextual("from")) { break }
|
|
36484
|
+
elt$1.imported = this.parseModuleExportName();
|
|
36485
|
+
if (isDummy(elt$1.imported)) { break }
|
|
36486
|
+
elt$1.local = this.eatContextual("as") ? this.parseModuleExportName() : elt$1.imported;
|
|
36487
|
+
this.finishNode(elt$1, "ImportSpecifier");
|
|
36488
|
+
}
|
|
36489
|
+
elts.push(elt$1);
|
|
36490
|
+
this.eat(types$1.comma);
|
|
36491
|
+
}
|
|
36492
|
+
this.eat(types$1.braceR);
|
|
36493
|
+
this.popCx();
|
|
36494
|
+
}
|
|
36495
|
+
return elts
|
|
36496
|
+
};
|
|
36497
|
+
|
|
36498
|
+
lp$1.parseWithClause = function() {
|
|
36499
|
+
var nodes = [];
|
|
36500
|
+
if (!this.eat(types$1._with)) {
|
|
36501
|
+
return nodes
|
|
36502
|
+
}
|
|
36503
|
+
|
|
36504
|
+
var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
|
|
36505
|
+
this.pushCx();
|
|
36506
|
+
this.eat(types$1.braceL);
|
|
36507
|
+
if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
|
|
36508
|
+
while (!this.closes(types$1.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
|
|
36509
|
+
var attr = this.startNode();
|
|
36510
|
+
attr.key = this.tok.type === types$1.string ? this.parseExprAtom() : this.parseIdent();
|
|
36511
|
+
if (this.eat(types$1.colon)) {
|
|
36512
|
+
if (this.tok.type === types$1.string)
|
|
36513
|
+
{ attr.value = this.parseExprAtom(); }
|
|
36514
|
+
else { attr.value = this.dummyString(); }
|
|
36515
|
+
} else {
|
|
36516
|
+
if (isDummy(attr.key)) { break }
|
|
36517
|
+
if (this.tok.type === types$1.string)
|
|
36518
|
+
{ attr.value = this.parseExprAtom(); }
|
|
36519
|
+
else { break }
|
|
36520
|
+
}
|
|
36521
|
+
nodes.push(this.finishNode(attr, "ImportAttribute"));
|
|
36522
|
+
this.eat(types$1.comma);
|
|
36523
|
+
}
|
|
36524
|
+
this.eat(types$1.braceR);
|
|
36525
|
+
this.popCx();
|
|
36526
|
+
return nodes
|
|
36527
|
+
};
|
|
36528
|
+
|
|
36529
|
+
lp$1.parseExportSpecifierList = function() {
|
|
36530
|
+
var elts = [];
|
|
36531
|
+
var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
|
|
36532
|
+
this.pushCx();
|
|
36533
|
+
this.eat(types$1.braceL);
|
|
36534
|
+
if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
|
|
36535
|
+
while (!this.closes(types$1.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
|
|
36536
|
+
if (this.isContextual("from")) { break }
|
|
36537
|
+
var elt = this.startNode();
|
|
36538
|
+
elt.local = this.parseModuleExportName();
|
|
36539
|
+
if (isDummy(elt.local)) { break }
|
|
36540
|
+
elt.exported = this.eatContextual("as") ? this.parseModuleExportName() : elt.local;
|
|
36541
|
+
this.finishNode(elt, "ExportSpecifier");
|
|
36542
|
+
elts.push(elt);
|
|
36543
|
+
this.eat(types$1.comma);
|
|
36544
|
+
}
|
|
36545
|
+
this.eat(types$1.braceR);
|
|
36546
|
+
this.popCx();
|
|
36547
|
+
return elts
|
|
36548
|
+
};
|
|
36549
|
+
|
|
36550
|
+
lp$1.parseModuleExportName = function() {
|
|
36551
|
+
return this.options.ecmaVersion >= 13 && this.tok.type === types$1.string
|
|
36552
|
+
? this.parseExprAtom()
|
|
36553
|
+
: this.parseIdent()
|
|
36554
|
+
};
|
|
36555
|
+
|
|
36556
|
+
var lp = LooseParser.prototype;
|
|
36557
|
+
|
|
36558
|
+
lp.checkLVal = function(expr) {
|
|
36559
|
+
if (!expr) { return expr }
|
|
36560
|
+
switch (expr.type) {
|
|
36561
|
+
case "Identifier":
|
|
36562
|
+
case "MemberExpression":
|
|
36563
|
+
return expr
|
|
36564
|
+
|
|
36565
|
+
case "ParenthesizedExpression":
|
|
36566
|
+
expr.expression = this.checkLVal(expr.expression);
|
|
36567
|
+
return expr
|
|
36568
|
+
|
|
36569
|
+
default:
|
|
36570
|
+
return this.dummyIdent()
|
|
36571
|
+
}
|
|
36572
|
+
};
|
|
36573
|
+
|
|
36574
|
+
lp.parseExpression = function(noIn) {
|
|
36575
|
+
var start = this.storeCurrentPos();
|
|
36576
|
+
var expr = this.parseMaybeAssign(noIn);
|
|
36577
|
+
if (this.tok.type === types$1.comma) {
|
|
36578
|
+
var node = this.startNodeAt(start);
|
|
36579
|
+
node.expressions = [expr];
|
|
36580
|
+
while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(noIn)); }
|
|
36581
|
+
return this.finishNode(node, "SequenceExpression")
|
|
36582
|
+
}
|
|
36583
|
+
return expr
|
|
36584
|
+
};
|
|
36585
|
+
|
|
36586
|
+
lp.parseParenExpression = function() {
|
|
36587
|
+
this.pushCx();
|
|
36588
|
+
this.expect(types$1.parenL);
|
|
36589
|
+
var val = this.parseExpression();
|
|
36590
|
+
this.popCx();
|
|
36591
|
+
this.expect(types$1.parenR);
|
|
36592
|
+
return val
|
|
36593
|
+
};
|
|
36594
|
+
|
|
36595
|
+
lp.parseMaybeAssign = function(noIn) {
|
|
36596
|
+
// `yield` should be an identifier reference if it's not in generator functions.
|
|
36597
|
+
if (this.inGenerator && this.toks.isContextual("yield")) {
|
|
36598
|
+
var node = this.startNode();
|
|
36599
|
+
this.next();
|
|
36600
|
+
if (this.semicolon() || this.canInsertSemicolon() || (this.tok.type !== types$1.star && !this.tok.type.startsExpr)) {
|
|
36601
|
+
node.delegate = false;
|
|
36602
|
+
node.argument = null;
|
|
36603
|
+
} else {
|
|
36604
|
+
node.delegate = this.eat(types$1.star);
|
|
36605
|
+
node.argument = this.parseMaybeAssign();
|
|
36606
|
+
}
|
|
36607
|
+
return this.finishNode(node, "YieldExpression")
|
|
36608
|
+
}
|
|
36609
|
+
|
|
36610
|
+
var start = this.storeCurrentPos();
|
|
36611
|
+
var left = this.parseMaybeConditional(noIn);
|
|
36612
|
+
if (this.tok.type.isAssign) {
|
|
36613
|
+
var node$1 = this.startNodeAt(start);
|
|
36614
|
+
node$1.operator = this.tok.value;
|
|
36615
|
+
node$1.left = this.tok.type === types$1.eq ? this.toAssignable(left) : this.checkLVal(left);
|
|
36616
|
+
this.next();
|
|
36617
|
+
node$1.right = this.parseMaybeAssign(noIn);
|
|
36618
|
+
return this.finishNode(node$1, "AssignmentExpression")
|
|
36619
|
+
}
|
|
36620
|
+
return left
|
|
36621
|
+
};
|
|
36622
|
+
|
|
36623
|
+
lp.parseMaybeConditional = function(noIn) {
|
|
36624
|
+
var start = this.storeCurrentPos();
|
|
36625
|
+
var expr = this.parseExprOps(noIn);
|
|
36626
|
+
if (this.eat(types$1.question)) {
|
|
36627
|
+
var node = this.startNodeAt(start);
|
|
36628
|
+
node.test = expr;
|
|
36629
|
+
node.consequent = this.parseMaybeAssign();
|
|
36630
|
+
node.alternate = this.expect(types$1.colon) ? this.parseMaybeAssign(noIn) : this.dummyIdent();
|
|
36631
|
+
return this.finishNode(node, "ConditionalExpression")
|
|
36632
|
+
}
|
|
36633
|
+
return expr
|
|
36634
|
+
};
|
|
36635
|
+
|
|
36636
|
+
lp.parseExprOps = function(noIn) {
|
|
36637
|
+
var start = this.storeCurrentPos();
|
|
36638
|
+
var indent = this.curIndent, line = this.curLineStart;
|
|
36639
|
+
return this.parseExprOp(this.parseMaybeUnary(false), start, -1, noIn, indent, line)
|
|
36640
|
+
};
|
|
36641
|
+
|
|
36642
|
+
lp.parseExprOp = function(left, start, minPrec, noIn, indent, line) {
|
|
36643
|
+
if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) { return left }
|
|
36644
|
+
var prec = this.tok.type.binop;
|
|
36645
|
+
if (prec != null && (!noIn || this.tok.type !== types$1._in)) {
|
|
36646
|
+
if (prec > minPrec) {
|
|
36647
|
+
var node = this.startNodeAt(start);
|
|
36648
|
+
node.left = left;
|
|
36649
|
+
node.operator = this.tok.value;
|
|
36650
|
+
this.next();
|
|
36651
|
+
if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) {
|
|
36652
|
+
node.right = this.dummyIdent();
|
|
36653
|
+
} else {
|
|
36654
|
+
var rightStart = this.storeCurrentPos();
|
|
36655
|
+
node.right = this.parseExprOp(this.parseMaybeUnary(false), rightStart, prec, noIn, indent, line);
|
|
36656
|
+
}
|
|
36657
|
+
this.finishNode(node, /&&|\|\||\?\?/.test(node.operator) ? "LogicalExpression" : "BinaryExpression");
|
|
36658
|
+
return this.parseExprOp(node, start, minPrec, noIn, indent, line)
|
|
36659
|
+
}
|
|
36660
|
+
}
|
|
36661
|
+
return left
|
|
36662
|
+
};
|
|
36663
|
+
|
|
36664
|
+
lp.parseMaybeUnary = function(sawUnary) {
|
|
36665
|
+
var start = this.storeCurrentPos(), expr;
|
|
36666
|
+
if (this.options.ecmaVersion >= 8 && this.toks.isContextual("await") &&
|
|
36667
|
+
(this.inAsync || (this.toks.inModule && this.options.ecmaVersion >= 13) ||
|
|
36668
|
+
(!this.inFunction && this.options.allowAwaitOutsideFunction))) {
|
|
36669
|
+
expr = this.parseAwait();
|
|
36670
|
+
sawUnary = true;
|
|
36671
|
+
} else if (this.tok.type.prefix) {
|
|
36672
|
+
var node = this.startNode(), update = this.tok.type === types$1.incDec;
|
|
36673
|
+
if (!update) { sawUnary = true; }
|
|
36674
|
+
node.operator = this.tok.value;
|
|
36675
|
+
node.prefix = true;
|
|
36676
|
+
this.next();
|
|
36677
|
+
node.argument = this.parseMaybeUnary(true);
|
|
36678
|
+
if (update) { node.argument = this.checkLVal(node.argument); }
|
|
36679
|
+
expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
|
|
36680
|
+
} else if (this.tok.type === types$1.ellipsis) {
|
|
36681
|
+
var node$1 = this.startNode();
|
|
36682
|
+
this.next();
|
|
36683
|
+
node$1.argument = this.parseMaybeUnary(sawUnary);
|
|
36684
|
+
expr = this.finishNode(node$1, "SpreadElement");
|
|
36685
|
+
} else if (!sawUnary && this.tok.type === types$1.privateId) {
|
|
36686
|
+
expr = this.parsePrivateIdent();
|
|
36687
|
+
} else {
|
|
36688
|
+
expr = this.parseExprSubscripts();
|
|
36689
|
+
while (this.tok.type.postfix && !this.canInsertSemicolon()) {
|
|
36690
|
+
var node$2 = this.startNodeAt(start);
|
|
36691
|
+
node$2.operator = this.tok.value;
|
|
36692
|
+
node$2.prefix = false;
|
|
36693
|
+
node$2.argument = this.checkLVal(expr);
|
|
36694
|
+
this.next();
|
|
36695
|
+
expr = this.finishNode(node$2, "UpdateExpression");
|
|
36696
|
+
}
|
|
36697
|
+
}
|
|
36698
|
+
|
|
36699
|
+
if (!sawUnary && this.eat(types$1.starstar)) {
|
|
36700
|
+
var node$3 = this.startNodeAt(start);
|
|
36701
|
+
node$3.operator = "**";
|
|
36702
|
+
node$3.left = expr;
|
|
36703
|
+
node$3.right = this.parseMaybeUnary(false);
|
|
36704
|
+
return this.finishNode(node$3, "BinaryExpression")
|
|
36705
|
+
}
|
|
36706
|
+
|
|
36707
|
+
return expr
|
|
36708
|
+
};
|
|
36709
|
+
|
|
36710
|
+
lp.parseExprSubscripts = function() {
|
|
36711
|
+
var start = this.storeCurrentPos();
|
|
36712
|
+
return this.parseSubscripts(this.parseExprAtom(), start, false, this.curIndent, this.curLineStart)
|
|
36713
|
+
};
|
|
36714
|
+
|
|
36715
|
+
lp.parseSubscripts = function(base, start, noCalls, startIndent, line) {
|
|
36716
|
+
var optionalSupported = this.options.ecmaVersion >= 11;
|
|
36717
|
+
var optionalChained = false;
|
|
36718
|
+
for (;;) {
|
|
36719
|
+
if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine()) {
|
|
36720
|
+
if (this.tok.type === types$1.dot && this.curIndent === startIndent)
|
|
36721
|
+
{ --startIndent; }
|
|
36722
|
+
else
|
|
36723
|
+
{ break }
|
|
36724
|
+
}
|
|
36725
|
+
|
|
36726
|
+
var maybeAsyncArrow = base.type === "Identifier" && base.name === "async" && !this.canInsertSemicolon();
|
|
36727
|
+
var optional = optionalSupported && this.eat(types$1.questionDot);
|
|
36728
|
+
if (optional) {
|
|
36729
|
+
optionalChained = true;
|
|
36730
|
+
}
|
|
36731
|
+
|
|
36732
|
+
if ((optional && this.tok.type !== types$1.parenL && this.tok.type !== types$1.bracketL && this.tok.type !== types$1.backQuote) || this.eat(types$1.dot)) {
|
|
36733
|
+
var node = this.startNodeAt(start);
|
|
36734
|
+
node.object = base;
|
|
36735
|
+
if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine())
|
|
36736
|
+
{ node.property = this.dummyIdent(); }
|
|
36737
|
+
else
|
|
36738
|
+
{ node.property = this.parsePropertyAccessor() || this.dummyIdent(); }
|
|
36739
|
+
node.computed = false;
|
|
36740
|
+
if (optionalSupported) {
|
|
36741
|
+
node.optional = optional;
|
|
36742
|
+
}
|
|
36743
|
+
base = this.finishNode(node, "MemberExpression");
|
|
36744
|
+
} else if (this.tok.type === types$1.bracketL) {
|
|
36745
|
+
this.pushCx();
|
|
36746
|
+
this.next();
|
|
36747
|
+
var node$1 = this.startNodeAt(start);
|
|
36748
|
+
node$1.object = base;
|
|
36749
|
+
node$1.property = this.parseExpression();
|
|
36750
|
+
node$1.computed = true;
|
|
36751
|
+
if (optionalSupported) {
|
|
36752
|
+
node$1.optional = optional;
|
|
36753
|
+
}
|
|
36754
|
+
this.popCx();
|
|
36755
|
+
this.expect(types$1.bracketR);
|
|
36756
|
+
base = this.finishNode(node$1, "MemberExpression");
|
|
36757
|
+
} else if (!noCalls && this.tok.type === types$1.parenL) {
|
|
36758
|
+
var exprList = this.parseExprList(types$1.parenR);
|
|
36759
|
+
if (maybeAsyncArrow && this.eat(types$1.arrow))
|
|
36760
|
+
{ return this.parseArrowExpression(this.startNodeAt(start), exprList, true) }
|
|
36761
|
+
var node$2 = this.startNodeAt(start);
|
|
36762
|
+
node$2.callee = base;
|
|
36763
|
+
node$2.arguments = exprList;
|
|
36764
|
+
if (optionalSupported) {
|
|
36765
|
+
node$2.optional = optional;
|
|
36766
|
+
}
|
|
36767
|
+
base = this.finishNode(node$2, "CallExpression");
|
|
36768
|
+
} else if (this.tok.type === types$1.backQuote) {
|
|
36769
|
+
var node$3 = this.startNodeAt(start);
|
|
36770
|
+
node$3.tag = base;
|
|
36771
|
+
node$3.quasi = this.parseTemplate();
|
|
36772
|
+
base = this.finishNode(node$3, "TaggedTemplateExpression");
|
|
36773
|
+
} else {
|
|
36774
|
+
break
|
|
36775
|
+
}
|
|
36776
|
+
}
|
|
36777
|
+
|
|
36778
|
+
if (optionalChained) {
|
|
36779
|
+
var chainNode = this.startNodeAt(start);
|
|
36780
|
+
chainNode.expression = base;
|
|
36781
|
+
base = this.finishNode(chainNode, "ChainExpression");
|
|
36782
|
+
}
|
|
36783
|
+
return base
|
|
36784
|
+
};
|
|
36785
|
+
|
|
36786
|
+
lp.parseExprAtom = function() {
|
|
36787
|
+
var node;
|
|
36788
|
+
switch (this.tok.type) {
|
|
36789
|
+
case types$1._this:
|
|
36790
|
+
case types$1._super:
|
|
36791
|
+
var type = this.tok.type === types$1._this ? "ThisExpression" : "Super";
|
|
36792
|
+
node = this.startNode();
|
|
36793
|
+
this.next();
|
|
36794
|
+
return this.finishNode(node, type)
|
|
36795
|
+
|
|
36796
|
+
case types$1.name:
|
|
36797
|
+
var start = this.storeCurrentPos();
|
|
36798
|
+
var id = this.parseIdent();
|
|
36799
|
+
var isAsync = false;
|
|
36800
|
+
if (id.name === "async" && !this.canInsertSemicolon()) {
|
|
36801
|
+
if (this.eat(types$1._function)) {
|
|
36802
|
+
this.toks.overrideContext(types.f_expr);
|
|
36803
|
+
return this.parseFunction(this.startNodeAt(start), false, true)
|
|
36804
|
+
}
|
|
36805
|
+
if (this.tok.type === types$1.name) {
|
|
36806
|
+
id = this.parseIdent();
|
|
36807
|
+
isAsync = true;
|
|
36808
|
+
}
|
|
36809
|
+
}
|
|
36810
|
+
return this.eat(types$1.arrow) ? this.parseArrowExpression(this.startNodeAt(start), [id], isAsync) : id
|
|
36811
|
+
|
|
36812
|
+
case types$1.regexp:
|
|
36813
|
+
node = this.startNode();
|
|
36814
|
+
var val = this.tok.value;
|
|
36815
|
+
node.regex = {pattern: val.pattern, flags: val.flags};
|
|
36816
|
+
node.value = val.value;
|
|
36817
|
+
node.raw = this.input.slice(this.tok.start, this.tok.end);
|
|
36818
|
+
this.next();
|
|
36819
|
+
return this.finishNode(node, "Literal")
|
|
36820
|
+
|
|
36821
|
+
case types$1.num: case types$1.string:
|
|
36822
|
+
node = this.startNode();
|
|
36823
|
+
node.value = this.tok.value;
|
|
36824
|
+
node.raw = this.input.slice(this.tok.start, this.tok.end);
|
|
36825
|
+
if (this.tok.type === types$1.num && node.raw.charCodeAt(node.raw.length - 1) === 110)
|
|
36826
|
+
{ node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
|
|
36827
|
+
this.next();
|
|
36828
|
+
return this.finishNode(node, "Literal")
|
|
36829
|
+
|
|
36830
|
+
case types$1._null: case types$1._true: case types$1._false:
|
|
36831
|
+
node = this.startNode();
|
|
36832
|
+
node.value = this.tok.type === types$1._null ? null : this.tok.type === types$1._true;
|
|
36833
|
+
node.raw = this.tok.type.keyword;
|
|
36834
|
+
this.next();
|
|
36835
|
+
return this.finishNode(node, "Literal")
|
|
36836
|
+
|
|
36837
|
+
case types$1.parenL:
|
|
36838
|
+
var parenStart = this.storeCurrentPos();
|
|
36839
|
+
this.next();
|
|
36840
|
+
var inner = this.parseExpression();
|
|
36841
|
+
this.expect(types$1.parenR);
|
|
36842
|
+
if (this.eat(types$1.arrow)) {
|
|
36843
|
+
// (a,)=>a // SequenceExpression makes dummy in the last hole. Drop the dummy.
|
|
36844
|
+
var params = inner.expressions || [inner];
|
|
36845
|
+
if (params.length && isDummy(params[params.length - 1]))
|
|
36846
|
+
{ params.pop(); }
|
|
36847
|
+
return this.parseArrowExpression(this.startNodeAt(parenStart), params)
|
|
36848
|
+
}
|
|
36849
|
+
if (this.options.preserveParens) {
|
|
36850
|
+
var par = this.startNodeAt(parenStart);
|
|
36851
|
+
par.expression = inner;
|
|
36852
|
+
inner = this.finishNode(par, "ParenthesizedExpression");
|
|
36853
|
+
}
|
|
36854
|
+
return inner
|
|
36855
|
+
|
|
36856
|
+
case types$1.bracketL:
|
|
36857
|
+
node = this.startNode();
|
|
36858
|
+
node.elements = this.parseExprList(types$1.bracketR, true);
|
|
36859
|
+
return this.finishNode(node, "ArrayExpression")
|
|
36860
|
+
|
|
36861
|
+
case types$1.braceL:
|
|
36862
|
+
this.toks.overrideContext(types.b_expr);
|
|
36863
|
+
return this.parseObj()
|
|
36864
|
+
|
|
36865
|
+
case types$1._class:
|
|
36866
|
+
return this.parseClass(false)
|
|
36867
|
+
|
|
36868
|
+
case types$1._function:
|
|
36869
|
+
node = this.startNode();
|
|
36870
|
+
this.next();
|
|
36871
|
+
return this.parseFunction(node, false)
|
|
36872
|
+
|
|
36873
|
+
case types$1._new:
|
|
36874
|
+
return this.parseNew()
|
|
36875
|
+
|
|
36876
|
+
case types$1.backQuote:
|
|
36877
|
+
return this.parseTemplate()
|
|
36878
|
+
|
|
36879
|
+
case types$1._import:
|
|
36880
|
+
if (this.options.ecmaVersion >= 11) {
|
|
36881
|
+
return this.parseExprImport()
|
|
36882
|
+
} else {
|
|
36883
|
+
return this.dummyIdent()
|
|
36884
|
+
}
|
|
36885
|
+
|
|
36886
|
+
default:
|
|
36887
|
+
return this.dummyIdent()
|
|
36888
|
+
}
|
|
36889
|
+
};
|
|
36890
|
+
|
|
36891
|
+
lp.parseExprImport = function() {
|
|
36892
|
+
var node = this.startNode();
|
|
36893
|
+
var meta = this.parseIdent(true);
|
|
36894
|
+
switch (this.tok.type) {
|
|
36895
|
+
case types$1.parenL:
|
|
36896
|
+
return this.parseDynamicImport(node)
|
|
36897
|
+
case types$1.dot:
|
|
36898
|
+
node.meta = meta;
|
|
36899
|
+
return this.parseImportMeta(node)
|
|
36900
|
+
default:
|
|
36901
|
+
node.name = "import";
|
|
36902
|
+
return this.finishNode(node, "Identifier")
|
|
36903
|
+
}
|
|
36904
|
+
};
|
|
36905
|
+
|
|
36906
|
+
lp.parseDynamicImport = function(node) {
|
|
36907
|
+
var list = this.parseExprList(types$1.parenR);
|
|
36908
|
+
node.source = list[0] || this.dummyString();
|
|
36909
|
+
node.options = list[1] || null;
|
|
36910
|
+
return this.finishNode(node, "ImportExpression")
|
|
36911
|
+
};
|
|
36912
|
+
|
|
36913
|
+
lp.parseImportMeta = function(node) {
|
|
36914
|
+
this.next(); // skip '.'
|
|
36915
|
+
node.property = this.parseIdent(true);
|
|
36916
|
+
return this.finishNode(node, "MetaProperty")
|
|
36917
|
+
};
|
|
36918
|
+
|
|
36919
|
+
lp.parseNew = function() {
|
|
36920
|
+
var node = this.startNode(), startIndent = this.curIndent, line = this.curLineStart;
|
|
36921
|
+
var meta = this.parseIdent(true);
|
|
36922
|
+
if (this.options.ecmaVersion >= 6 && this.eat(types$1.dot)) {
|
|
36923
|
+
node.meta = meta;
|
|
36924
|
+
node.property = this.parseIdent(true);
|
|
36925
|
+
return this.finishNode(node, "MetaProperty")
|
|
36926
|
+
}
|
|
36927
|
+
var start = this.storeCurrentPos();
|
|
36928
|
+
node.callee = this.parseSubscripts(this.parseExprAtom(), start, true, startIndent, line);
|
|
36929
|
+
if (this.tok.type === types$1.parenL) {
|
|
36930
|
+
node.arguments = this.parseExprList(types$1.parenR);
|
|
36931
|
+
} else {
|
|
36932
|
+
node.arguments = [];
|
|
36933
|
+
}
|
|
36934
|
+
return this.finishNode(node, "NewExpression")
|
|
36935
|
+
};
|
|
36936
|
+
|
|
36937
|
+
lp.parseTemplateElement = function() {
|
|
36938
|
+
var elem = this.startNode();
|
|
36939
|
+
|
|
36940
|
+
// The loose parser accepts invalid unicode escapes even in untagged templates.
|
|
36941
|
+
if (this.tok.type === types$1.invalidTemplate) {
|
|
36942
|
+
elem.value = {
|
|
36943
|
+
raw: this.tok.value,
|
|
36944
|
+
cooked: null
|
|
36945
|
+
};
|
|
36946
|
+
} else {
|
|
36947
|
+
elem.value = {
|
|
36948
|
+
raw: this.input.slice(this.tok.start, this.tok.end).replace(/\r\n?/g, "\n"),
|
|
36949
|
+
cooked: this.tok.value
|
|
36950
|
+
};
|
|
36951
|
+
}
|
|
36952
|
+
this.next();
|
|
36953
|
+
elem.tail = this.tok.type === types$1.backQuote;
|
|
36954
|
+
return this.finishNode(elem, "TemplateElement")
|
|
36955
|
+
};
|
|
36956
|
+
|
|
36957
|
+
lp.parseTemplate = function() {
|
|
36958
|
+
var node = this.startNode();
|
|
36959
|
+
this.next();
|
|
36960
|
+
node.expressions = [];
|
|
36961
|
+
var curElt = this.parseTemplateElement();
|
|
36962
|
+
node.quasis = [curElt];
|
|
36963
|
+
while (!curElt.tail) {
|
|
36964
|
+
this.next();
|
|
36965
|
+
node.expressions.push(this.parseExpression());
|
|
36966
|
+
if (this.expect(types$1.braceR)) {
|
|
36967
|
+
curElt = this.parseTemplateElement();
|
|
36968
|
+
} else {
|
|
36969
|
+
curElt = this.startNode();
|
|
36970
|
+
curElt.value = {cooked: "", raw: ""};
|
|
36971
|
+
curElt.tail = true;
|
|
36972
|
+
this.finishNode(curElt, "TemplateElement");
|
|
36973
|
+
}
|
|
36974
|
+
node.quasis.push(curElt);
|
|
36975
|
+
}
|
|
36976
|
+
this.expect(types$1.backQuote);
|
|
36977
|
+
return this.finishNode(node, "TemplateLiteral")
|
|
36978
|
+
};
|
|
36979
|
+
|
|
36980
|
+
lp.parseObj = function() {
|
|
36981
|
+
var node = this.startNode();
|
|
36982
|
+
node.properties = [];
|
|
36983
|
+
this.pushCx();
|
|
36984
|
+
var indent = this.curIndent + 1, line = this.curLineStart;
|
|
36985
|
+
this.eat(types$1.braceL);
|
|
36986
|
+
if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
|
|
36987
|
+
while (!this.closes(types$1.braceR, indent, line)) {
|
|
36988
|
+
var prop = this.startNode(), isGenerator = (void 0), isAsync = (void 0), start = (void 0);
|
|
36989
|
+
if (this.options.ecmaVersion >= 9 && this.eat(types$1.ellipsis)) {
|
|
36990
|
+
prop.argument = this.parseMaybeAssign();
|
|
36991
|
+
node.properties.push(this.finishNode(prop, "SpreadElement"));
|
|
36992
|
+
this.eat(types$1.comma);
|
|
36993
|
+
continue
|
|
36994
|
+
}
|
|
36995
|
+
if (this.options.ecmaVersion >= 6) {
|
|
36996
|
+
start = this.storeCurrentPos();
|
|
36997
|
+
prop.method = false;
|
|
36998
|
+
prop.shorthand = false;
|
|
36999
|
+
isGenerator = this.eat(types$1.star);
|
|
37000
|
+
}
|
|
37001
|
+
this.parsePropertyName(prop);
|
|
37002
|
+
if (this.toks.isAsyncProp(prop)) {
|
|
37003
|
+
isAsync = true;
|
|
37004
|
+
isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star);
|
|
37005
|
+
this.parsePropertyName(prop);
|
|
37006
|
+
} else {
|
|
37007
|
+
isAsync = false;
|
|
37008
|
+
}
|
|
37009
|
+
if (isDummy(prop.key)) { if (isDummy(this.parseMaybeAssign())) { this.next(); } this.eat(types$1.comma); continue }
|
|
37010
|
+
if (this.eat(types$1.colon)) {
|
|
37011
|
+
prop.kind = "init";
|
|
37012
|
+
prop.value = this.parseMaybeAssign();
|
|
37013
|
+
} else if (this.options.ecmaVersion >= 6 && (this.tok.type === types$1.parenL || this.tok.type === types$1.braceL)) {
|
|
37014
|
+
prop.kind = "init";
|
|
37015
|
+
prop.method = true;
|
|
37016
|
+
prop.value = this.parseMethod(isGenerator, isAsync);
|
|
37017
|
+
} else if (this.options.ecmaVersion >= 5 && prop.key.type === "Identifier" &&
|
|
37018
|
+
!prop.computed && (prop.key.name === "get" || prop.key.name === "set") &&
|
|
37019
|
+
(this.tok.type !== types$1.comma && this.tok.type !== types$1.braceR && this.tok.type !== types$1.eq)) {
|
|
37020
|
+
prop.kind = prop.key.name;
|
|
37021
|
+
this.parsePropertyName(prop);
|
|
37022
|
+
prop.value = this.parseMethod(false);
|
|
37023
|
+
} else {
|
|
37024
|
+
prop.kind = "init";
|
|
37025
|
+
if (this.options.ecmaVersion >= 6) {
|
|
37026
|
+
if (this.eat(types$1.eq)) {
|
|
37027
|
+
var assign = this.startNodeAt(start);
|
|
37028
|
+
assign.operator = "=";
|
|
37029
|
+
assign.left = prop.key;
|
|
37030
|
+
assign.right = this.parseMaybeAssign();
|
|
37031
|
+
prop.value = this.finishNode(assign, "AssignmentExpression");
|
|
37032
|
+
} else {
|
|
37033
|
+
prop.value = prop.key;
|
|
37034
|
+
}
|
|
37035
|
+
} else {
|
|
37036
|
+
prop.value = this.dummyIdent();
|
|
37037
|
+
}
|
|
37038
|
+
prop.shorthand = true;
|
|
37039
|
+
}
|
|
37040
|
+
node.properties.push(this.finishNode(prop, "Property"));
|
|
37041
|
+
this.eat(types$1.comma);
|
|
37042
|
+
}
|
|
37043
|
+
this.popCx();
|
|
37044
|
+
if (!this.eat(types$1.braceR)) {
|
|
37045
|
+
// If there is no closing brace, make the node span to the start
|
|
37046
|
+
// of the next token (this is useful for Tern)
|
|
37047
|
+
this.last.end = this.tok.start;
|
|
37048
|
+
if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
|
|
37049
|
+
}
|
|
37050
|
+
return this.finishNode(node, "ObjectExpression")
|
|
37051
|
+
};
|
|
37052
|
+
|
|
37053
|
+
lp.parsePropertyName = function(prop) {
|
|
37054
|
+
if (this.options.ecmaVersion >= 6) {
|
|
37055
|
+
if (this.eat(types$1.bracketL)) {
|
|
37056
|
+
prop.computed = true;
|
|
37057
|
+
prop.key = this.parseExpression();
|
|
37058
|
+
this.expect(types$1.bracketR);
|
|
37059
|
+
return
|
|
37060
|
+
} else {
|
|
37061
|
+
prop.computed = false;
|
|
37062
|
+
}
|
|
37063
|
+
}
|
|
37064
|
+
var key = (this.tok.type === types$1.num || this.tok.type === types$1.string) ? this.parseExprAtom() : this.parseIdent();
|
|
37065
|
+
prop.key = key || this.dummyIdent();
|
|
37066
|
+
};
|
|
37067
|
+
|
|
37068
|
+
lp.parsePropertyAccessor = function() {
|
|
37069
|
+
if (this.tok.type === types$1.name || this.tok.type.keyword) { return this.parseIdent() }
|
|
37070
|
+
if (this.tok.type === types$1.privateId) { return this.parsePrivateIdent() }
|
|
37071
|
+
};
|
|
37072
|
+
|
|
37073
|
+
lp.parseIdent = function() {
|
|
37074
|
+
var name = this.tok.type === types$1.name ? this.tok.value : this.tok.type.keyword;
|
|
37075
|
+
if (!name) { return this.dummyIdent() }
|
|
37076
|
+
if (this.tok.type.keyword) { this.toks.type = types$1.name; }
|
|
37077
|
+
var node = this.startNode();
|
|
37078
|
+
this.next();
|
|
37079
|
+
node.name = name;
|
|
37080
|
+
return this.finishNode(node, "Identifier")
|
|
37081
|
+
};
|
|
37082
|
+
|
|
37083
|
+
lp.parsePrivateIdent = function() {
|
|
37084
|
+
var node = this.startNode();
|
|
37085
|
+
node.name = this.tok.value;
|
|
37086
|
+
this.next();
|
|
37087
|
+
return this.finishNode(node, "PrivateIdentifier")
|
|
37088
|
+
};
|
|
37089
|
+
|
|
37090
|
+
lp.initFunction = function(node) {
|
|
37091
|
+
node.id = null;
|
|
37092
|
+
node.params = [];
|
|
37093
|
+
if (this.options.ecmaVersion >= 6) {
|
|
37094
|
+
node.generator = false;
|
|
37095
|
+
node.expression = false;
|
|
37096
|
+
}
|
|
37097
|
+
if (this.options.ecmaVersion >= 8)
|
|
37098
|
+
{ node.async = false; }
|
|
37099
|
+
};
|
|
37100
|
+
|
|
37101
|
+
// Convert existing expression atom to assignable pattern
|
|
37102
|
+
// if possible.
|
|
37103
|
+
|
|
37104
|
+
lp.toAssignable = function(node, binding) {
|
|
37105
|
+
if (!node || node.type === "Identifier" || (node.type === "MemberExpression" && !binding)) ; else if (node.type === "ParenthesizedExpression") {
|
|
37106
|
+
this.toAssignable(node.expression, binding);
|
|
37107
|
+
} else if (this.options.ecmaVersion < 6) {
|
|
37108
|
+
return this.dummyIdent()
|
|
37109
|
+
} else if (node.type === "ObjectExpression") {
|
|
37110
|
+
node.type = "ObjectPattern";
|
|
37111
|
+
for (var i = 0, list = node.properties; i < list.length; i += 1)
|
|
37112
|
+
{
|
|
37113
|
+
var prop = list[i];
|
|
37114
|
+
|
|
37115
|
+
this.toAssignable(prop, binding);
|
|
37116
|
+
}
|
|
37117
|
+
} else if (node.type === "ArrayExpression") {
|
|
37118
|
+
node.type = "ArrayPattern";
|
|
37119
|
+
this.toAssignableList(node.elements, binding);
|
|
37120
|
+
} else if (node.type === "Property") {
|
|
37121
|
+
this.toAssignable(node.value, binding);
|
|
37122
|
+
} else if (node.type === "SpreadElement") {
|
|
37123
|
+
node.type = "RestElement";
|
|
37124
|
+
this.toAssignable(node.argument, binding);
|
|
37125
|
+
} else if (node.type === "AssignmentExpression") {
|
|
37126
|
+
node.type = "AssignmentPattern";
|
|
37127
|
+
delete node.operator;
|
|
37128
|
+
} else {
|
|
37129
|
+
return this.dummyIdent()
|
|
37130
|
+
}
|
|
37131
|
+
return node
|
|
37132
|
+
};
|
|
37133
|
+
|
|
37134
|
+
lp.toAssignableList = function(exprList, binding) {
|
|
37135
|
+
for (var i = 0, list = exprList; i < list.length; i += 1)
|
|
37136
|
+
{
|
|
37137
|
+
var expr = list[i];
|
|
37138
|
+
|
|
37139
|
+
this.toAssignable(expr, binding);
|
|
37140
|
+
}
|
|
37141
|
+
return exprList
|
|
37142
|
+
};
|
|
37143
|
+
|
|
37144
|
+
lp.parseFunctionParams = function(params) {
|
|
37145
|
+
params = this.parseExprList(types$1.parenR);
|
|
37146
|
+
return this.toAssignableList(params, true)
|
|
37147
|
+
};
|
|
37148
|
+
|
|
37149
|
+
lp.parseMethod = function(isGenerator, isAsync) {
|
|
37150
|
+
var node = this.startNode(), oldInAsync = this.inAsync, oldInGenerator = this.inGenerator, oldInFunction = this.inFunction;
|
|
37151
|
+
this.initFunction(node);
|
|
37152
|
+
if (this.options.ecmaVersion >= 6)
|
|
37153
|
+
{ node.generator = !!isGenerator; }
|
|
37154
|
+
if (this.options.ecmaVersion >= 8)
|
|
37155
|
+
{ node.async = !!isAsync; }
|
|
37156
|
+
this.inAsync = node.async;
|
|
37157
|
+
this.inGenerator = node.generator;
|
|
37158
|
+
this.inFunction = true;
|
|
37159
|
+
node.params = this.parseFunctionParams();
|
|
37160
|
+
node.body = this.parseBlock();
|
|
37161
|
+
this.toks.adaptDirectivePrologue(node.body.body);
|
|
37162
|
+
this.inAsync = oldInAsync;
|
|
37163
|
+
this.inGenerator = oldInGenerator;
|
|
37164
|
+
this.inFunction = oldInFunction;
|
|
37165
|
+
return this.finishNode(node, "FunctionExpression")
|
|
37166
|
+
};
|
|
37167
|
+
|
|
37168
|
+
lp.parseArrowExpression = function(node, params, isAsync) {
|
|
37169
|
+
var oldInAsync = this.inAsync, oldInGenerator = this.inGenerator, oldInFunction = this.inFunction;
|
|
37170
|
+
this.initFunction(node);
|
|
37171
|
+
if (this.options.ecmaVersion >= 8)
|
|
37172
|
+
{ node.async = !!isAsync; }
|
|
37173
|
+
this.inAsync = node.async;
|
|
37174
|
+
this.inGenerator = false;
|
|
37175
|
+
this.inFunction = true;
|
|
37176
|
+
node.params = this.toAssignableList(params, true);
|
|
37177
|
+
node.expression = this.tok.type !== types$1.braceL;
|
|
37178
|
+
if (node.expression) {
|
|
37179
|
+
node.body = this.parseMaybeAssign();
|
|
37180
|
+
} else {
|
|
37181
|
+
node.body = this.parseBlock();
|
|
37182
|
+
this.toks.adaptDirectivePrologue(node.body.body);
|
|
37183
|
+
}
|
|
37184
|
+
this.inAsync = oldInAsync;
|
|
37185
|
+
this.inGenerator = oldInGenerator;
|
|
37186
|
+
this.inFunction = oldInFunction;
|
|
37187
|
+
return this.finishNode(node, "ArrowFunctionExpression")
|
|
37188
|
+
};
|
|
37189
|
+
|
|
37190
|
+
lp.parseExprList = function(close, allowEmpty) {
|
|
37191
|
+
this.pushCx();
|
|
37192
|
+
var indent = this.curIndent, line = this.curLineStart, elts = [];
|
|
37193
|
+
this.next(); // Opening bracket
|
|
37194
|
+
while (!this.closes(close, indent + 1, line)) {
|
|
37195
|
+
if (this.eat(types$1.comma)) {
|
|
37196
|
+
elts.push(allowEmpty ? null : this.dummyIdent());
|
|
37197
|
+
continue
|
|
37198
|
+
}
|
|
37199
|
+
var elt = this.parseMaybeAssign();
|
|
37200
|
+
if (isDummy(elt)) {
|
|
37201
|
+
if (this.closes(close, indent, line)) { break }
|
|
37202
|
+
this.next();
|
|
37203
|
+
} else {
|
|
37204
|
+
elts.push(elt);
|
|
37205
|
+
}
|
|
37206
|
+
this.eat(types$1.comma);
|
|
37207
|
+
}
|
|
37208
|
+
this.popCx();
|
|
37209
|
+
if (!this.eat(close)) {
|
|
37210
|
+
// If there is no closing brace, make the node span to the start
|
|
37211
|
+
// of the next token (this is useful for Tern)
|
|
37212
|
+
this.last.end = this.tok.start;
|
|
37213
|
+
if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
|
|
37214
|
+
}
|
|
37215
|
+
return elts
|
|
37216
|
+
};
|
|
37217
|
+
|
|
37218
|
+
lp.parseAwait = function() {
|
|
37219
|
+
var node = this.startNode();
|
|
37220
|
+
this.next();
|
|
37221
|
+
node.argument = this.parseMaybeUnary();
|
|
37222
|
+
return this.finishNode(node, "AwaitExpression")
|
|
37223
|
+
};
|
|
37224
|
+
|
|
37225
|
+
// Acorn: Loose parser
|
|
37226
|
+
//
|
|
37227
|
+
// This module provides an alternative parser that exposes that same
|
|
37228
|
+
// interface as the main module's `parse` function, but will try to
|
|
37229
|
+
// parse anything as JavaScript, repairing syntax error the best it
|
|
37230
|
+
// can. There are circumstances in which it will raise an error and
|
|
37231
|
+
// give up, but they are very rare. The resulting AST will be a mostly
|
|
37232
|
+
// valid JavaScript AST (as per the [ESTree spec][estree], except
|
|
37233
|
+
// that:
|
|
37234
|
+
//
|
|
37235
|
+
// - Return outside functions is allowed
|
|
37236
|
+
//
|
|
37237
|
+
// - Label consistency (no conflicts, break only to existing labels)
|
|
37238
|
+
// is not enforced.
|
|
37239
|
+
//
|
|
37240
|
+
// - Bogus Identifier nodes with a name of `"✖"` are inserted whenever
|
|
37241
|
+
// the parser got too confused to return anything meaningful.
|
|
37242
|
+
//
|
|
37243
|
+
// [estree]: https://github.com/estree/estree
|
|
37244
|
+
//
|
|
37245
|
+
// The expected use for this is to *first* try `acorn.parse`, and only
|
|
37246
|
+
// if that fails switch to the loose parser. The loose parser might
|
|
37247
|
+
// parse badly indented code incorrectly, so **don't** use it as your
|
|
37248
|
+
// default parser.
|
|
37249
|
+
//
|
|
37250
|
+
// Quite a lot of acorn.js is duplicated here. The alternative was to
|
|
37251
|
+
// add a *lot* of extra cruft to that file, making it less readable
|
|
37252
|
+
// and slower. Copying and editing the code allowed me to make
|
|
37253
|
+
// invasive changes and simplifications without creating a complicated
|
|
37254
|
+
// tangle.
|
|
37255
|
+
|
|
37256
|
+
|
|
37257
|
+
defaultOptions.tabSize = 4;
|
|
37258
|
+
|
|
37259
|
+
function parse(input, options) {
|
|
37260
|
+
return LooseParser.parse(input, options)
|
|
37261
|
+
}
|
|
37262
|
+
|
|
35638
37263
|
// AST walker module for ESTree compatible trees
|
|
35639
37264
|
|
|
35640
37265
|
// A simple walk is one where you simply specify callbacks to be
|
|
@@ -35922,13 +37547,24 @@ base.MethodDefinition = base.PropertyDefinition = base.Property = function (node
|
|
|
35922
37547
|
function getAcornParsedNodes(input) {
|
|
35923
37548
|
var parsedNode = null;
|
|
35924
37549
|
try {
|
|
35925
|
-
parsedNode = parse(input, {
|
|
37550
|
+
parsedNode = parse$1(input, {
|
|
35926
37551
|
ecmaVersion: 'latest',
|
|
35927
37552
|
sourceType: 'module',
|
|
35928
37553
|
locations: true
|
|
35929
37554
|
});
|
|
35930
37555
|
}
|
|
35931
|
-
catch (_a) {
|
|
37556
|
+
catch (_a) {
|
|
37557
|
+
// attempt parse with more error-tolerant parser.
|
|
37558
|
+
// handles rules with both shared code and top-level
|
|
37559
|
+
// return, which is technically invalid syntax
|
|
37560
|
+
try {
|
|
37561
|
+
parsedNode = parse(input, {
|
|
37562
|
+
ecmaVersion: 'latest',
|
|
37563
|
+
locations: true
|
|
37564
|
+
});
|
|
37565
|
+
}
|
|
37566
|
+
catch (_b) { }
|
|
37567
|
+
}
|
|
35932
37568
|
return parsedNode;
|
|
35933
37569
|
}
|
|
35934
37570
|
function extractReferencedIdentifiers(bodyNode) {
|
|
@@ -36072,8 +37708,10 @@ function extractJsElements(code) {
|
|
|
36072
37708
|
var exportFunctions = [];
|
|
36073
37709
|
var exportVariables = [];
|
|
36074
37710
|
var parsedNodes = getAcornParsedNodes(code);
|
|
36075
|
-
if (!parsedNodes)
|
|
37711
|
+
if (!parsedNodes) {
|
|
37712
|
+
console.warn('Failed to parse logic rule code');
|
|
36076
37713
|
return { exportVariables: exportVariables, exportFunctions: exportFunctions };
|
|
37714
|
+
}
|
|
36077
37715
|
// Helper: turn a param node into its original text
|
|
36078
37716
|
var paramText = function (p) { return code.slice(p.start, p.end); };
|
|
36079
37717
|
// Helper: build function signature and body from FunctionExpression or ArrowFunctionExpression
|
|
@@ -42332,6 +43970,112 @@ function loadQRScanner() {
|
|
|
42332
43970
|
exports.qrPromise = dynamicImport(QR_SCANNER_LIB_URL);
|
|
42333
43971
|
}
|
|
42334
43972
|
|
|
43973
|
+
/**
|
|
43974
|
+
* Event queue for holding events before user interaction
|
|
43975
|
+
*/
|
|
43976
|
+
var EventQueue = /** @class */ (function () {
|
|
43977
|
+
function EventQueue() {
|
|
43978
|
+
this.queue = [];
|
|
43979
|
+
this.isReplaying = false;
|
|
43980
|
+
}
|
|
43981
|
+
EventQueue.prototype.enqueue = function (eventData) {
|
|
43982
|
+
var _this = this;
|
|
43983
|
+
return new Promise(function (resolve, reject) {
|
|
43984
|
+
_this.queue.push({
|
|
43985
|
+
eventData: eventData,
|
|
43986
|
+
timestamp: Date.now(),
|
|
43987
|
+
resolve: resolve,
|
|
43988
|
+
reject: reject
|
|
43989
|
+
});
|
|
43990
|
+
});
|
|
43991
|
+
};
|
|
43992
|
+
EventQueue.prototype.getAll = function () {
|
|
43993
|
+
return this.queue;
|
|
43994
|
+
};
|
|
43995
|
+
EventQueue.prototype.clear = function () {
|
|
43996
|
+
this.queue = [];
|
|
43997
|
+
};
|
|
43998
|
+
EventQueue.prototype.isEmpty = function () {
|
|
43999
|
+
return this.queue.length === 0;
|
|
44000
|
+
};
|
|
44001
|
+
EventQueue.prototype.size = function () {
|
|
44002
|
+
return this.queue.length;
|
|
44003
|
+
};
|
|
44004
|
+
EventQueue.prototype.isReplayingEvents = function () {
|
|
44005
|
+
return this.isReplaying;
|
|
44006
|
+
};
|
|
44007
|
+
EventQueue.prototype.setReplayState = function (replaying) {
|
|
44008
|
+
this.isReplaying = replaying;
|
|
44009
|
+
};
|
|
44010
|
+
/**
|
|
44011
|
+
* Apply replay function to all queued events
|
|
44012
|
+
* @param replayFn Function to call for each event
|
|
44013
|
+
*/
|
|
44014
|
+
EventQueue.prototype.replayAll = function (replayFn) {
|
|
44015
|
+
return __awaiter$2(this, void 0, void 0, function () {
|
|
44016
|
+
var eventsToReplay, eventsToReplay_1, eventsToReplay_1_1, queuedEvent, result, error_1, e_1_1;
|
|
44017
|
+
var e_1, _a;
|
|
44018
|
+
return __generator(this, function (_b) {
|
|
44019
|
+
switch (_b.label) {
|
|
44020
|
+
case 0:
|
|
44021
|
+
if (this.isEmpty())
|
|
44022
|
+
return [2 /*return*/];
|
|
44023
|
+
this.setReplayState(true);
|
|
44024
|
+
_b.label = 1;
|
|
44025
|
+
case 1:
|
|
44026
|
+
_b.trys.push([1, , 14, 15]);
|
|
44027
|
+
_b.label = 2;
|
|
44028
|
+
case 2:
|
|
44029
|
+
if (!!this.isEmpty()) return [3 /*break*/, 13];
|
|
44030
|
+
eventsToReplay = __spreadArray([], __read(this.queue), false);
|
|
44031
|
+
this.queue = [];
|
|
44032
|
+
_b.label = 3;
|
|
44033
|
+
case 3:
|
|
44034
|
+
_b.trys.push([3, 10, 11, 12]);
|
|
44035
|
+
eventsToReplay_1 = (e_1 = void 0, __values(eventsToReplay)), eventsToReplay_1_1 = eventsToReplay_1.next();
|
|
44036
|
+
_b.label = 4;
|
|
44037
|
+
case 4:
|
|
44038
|
+
if (!!eventsToReplay_1_1.done) return [3 /*break*/, 9];
|
|
44039
|
+
queuedEvent = eventsToReplay_1_1.value;
|
|
44040
|
+
_b.label = 5;
|
|
44041
|
+
case 5:
|
|
44042
|
+
_b.trys.push([5, 7, , 8]);
|
|
44043
|
+
return [4 /*yield*/, replayFn(queuedEvent.eventData)];
|
|
44044
|
+
case 6:
|
|
44045
|
+
result = _b.sent();
|
|
44046
|
+
queuedEvent.resolve(result);
|
|
44047
|
+
return [3 /*break*/, 8];
|
|
44048
|
+
case 7:
|
|
44049
|
+
error_1 = _b.sent();
|
|
44050
|
+
queuedEvent.reject(error_1);
|
|
44051
|
+
return [3 /*break*/, 8];
|
|
44052
|
+
case 8:
|
|
44053
|
+
eventsToReplay_1_1 = eventsToReplay_1.next();
|
|
44054
|
+
return [3 /*break*/, 4];
|
|
44055
|
+
case 9: return [3 /*break*/, 12];
|
|
44056
|
+
case 10:
|
|
44057
|
+
e_1_1 = _b.sent();
|
|
44058
|
+
e_1 = { error: e_1_1 };
|
|
44059
|
+
return [3 /*break*/, 12];
|
|
44060
|
+
case 11:
|
|
44061
|
+
try {
|
|
44062
|
+
if (eventsToReplay_1_1 && !eventsToReplay_1_1.done && (_a = eventsToReplay_1.return)) _a.call(eventsToReplay_1);
|
|
44063
|
+
}
|
|
44064
|
+
finally { if (e_1) throw e_1.error; }
|
|
44065
|
+
return [7 /*endfinally*/];
|
|
44066
|
+
case 12: return [3 /*break*/, 2];
|
|
44067
|
+
case 13: return [3 /*break*/, 15];
|
|
44068
|
+
case 14:
|
|
44069
|
+
this.setReplayState(false);
|
|
44070
|
+
return [7 /*endfinally*/];
|
|
44071
|
+
case 15: return [2 /*return*/];
|
|
44072
|
+
}
|
|
44073
|
+
});
|
|
44074
|
+
});
|
|
44075
|
+
};
|
|
44076
|
+
return EventQueue;
|
|
44077
|
+
}());
|
|
44078
|
+
|
|
42335
44079
|
var API_URL_OPTIONS = {
|
|
42336
44080
|
local: 'http://localhost:8006/api/',
|
|
42337
44081
|
staging: 'https://staging.feathery.io/api/',
|
|
@@ -42406,6 +44150,10 @@ var FeatheryClient = /** @class */ (function (_super) {
|
|
|
42406
44150
|
var _this = this;
|
|
42407
44151
|
var _a, _b;
|
|
42408
44152
|
_this = _super.call(this, formKey, ignoreNetworkErrors, draft, bypassCDN) || this;
|
|
44153
|
+
/**
|
|
44154
|
+
* Queue for events triggered before user interaction
|
|
44155
|
+
*/
|
|
44156
|
+
_this.userEventQueue = new EventQueue();
|
|
42409
44157
|
/**
|
|
42410
44158
|
* `beforeunload` event handler that flushes the pending submit custom changes
|
|
42411
44159
|
* when a user is attempting to exit the page.
|
|
@@ -42441,8 +44189,39 @@ var FeatheryClient = /** @class */ (function (_super) {
|
|
|
42441
44189
|
var _a, _b;
|
|
42442
44190
|
return __awaiter$2(this, void 0, void 0, function () {
|
|
42443
44191
|
return __generator(this, function (_c) {
|
|
42444
|
-
|
|
42445
|
-
|
|
44192
|
+
switch (_c.label) {
|
|
44193
|
+
case 0:
|
|
44194
|
+
(_b = (_a = featheryWindow()).removeEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, FEATHERY_INTERACTION_EVENT, this.handleInteraction);
|
|
44195
|
+
// replay queued events, then flush fields
|
|
44196
|
+
return [4 /*yield*/, this.replayQueuedEvents()];
|
|
44197
|
+
case 1:
|
|
44198
|
+
// replay queued events, then flush fields
|
|
44199
|
+
_c.sent();
|
|
44200
|
+
return [4 /*yield*/, this.submitCustom({}, { shouldFlush: true })];
|
|
44201
|
+
case 2:
|
|
44202
|
+
_c.sent();
|
|
44203
|
+
return [2 /*return*/];
|
|
44204
|
+
}
|
|
44205
|
+
});
|
|
44206
|
+
});
|
|
44207
|
+
};
|
|
44208
|
+
FeatheryClient.prototype.replayQueuedEvents = function () {
|
|
44209
|
+
return __awaiter$2(this, void 0, void 0, function () {
|
|
44210
|
+
var _this = this;
|
|
44211
|
+
return __generator(this, function (_a) {
|
|
44212
|
+
switch (_a.label) {
|
|
44213
|
+
case 0:
|
|
44214
|
+
if (this.userEventQueue.isEmpty())
|
|
44215
|
+
return [2 /*return*/];
|
|
44216
|
+
return [4 /*yield*/, this.userEventQueue.replayAll(function (eventData) { return __awaiter$2(_this, void 0, void 0, function () {
|
|
44217
|
+
return __generator(this, function (_a) {
|
|
44218
|
+
return [2 /*return*/, this._registerEventInternal(eventData)];
|
|
44219
|
+
});
|
|
44220
|
+
}); })];
|
|
44221
|
+
case 1:
|
|
44222
|
+
_a.sent();
|
|
44223
|
+
return [2 /*return*/];
|
|
44224
|
+
}
|
|
42446
44225
|
});
|
|
42447
44226
|
});
|
|
42448
44227
|
};
|
|
@@ -43133,15 +44912,24 @@ var FeatheryClient = /** @class */ (function (_super) {
|
|
|
43133
44912
|
});
|
|
43134
44913
|
};
|
|
43135
44914
|
FeatheryClient.prototype.registerEvent = function (eventData) {
|
|
44915
|
+
return __awaiter$2(this, void 0, void 0, function () {
|
|
44916
|
+
return __generator(this, function (_a) {
|
|
44917
|
+
if (this.draft)
|
|
44918
|
+
return [2 /*return*/];
|
|
44919
|
+
if (!isInteractionDetected() || this.userEventQueue.isReplayingEvents()) {
|
|
44920
|
+
return [2 /*return*/, this.userEventQueue.enqueue(eventData)];
|
|
44921
|
+
}
|
|
44922
|
+
return [2 /*return*/, this._registerEventInternal(eventData)];
|
|
44923
|
+
});
|
|
44924
|
+
});
|
|
44925
|
+
};
|
|
44926
|
+
FeatheryClient.prototype._registerEventInternal = function (eventData) {
|
|
43136
44927
|
return __awaiter$2(this, void 0, void 0, function () {
|
|
43137
44928
|
var _a, userId, collaboratorId, url, data, options, prom, stepKey, triggerEvent, eventPromise;
|
|
43138
44929
|
var _this = this;
|
|
43139
44930
|
return __generator(this, function (_b) {
|
|
43140
44931
|
switch (_b.label) {
|
|
43141
|
-
case 0:
|
|
43142
|
-
if (this.draft)
|
|
43143
|
-
return [2 /*return*/];
|
|
43144
|
-
return [4 /*yield*/, initFormsPromise];
|
|
44932
|
+
case 0: return [4 /*yield*/, initFormsPromise];
|
|
43145
44933
|
case 1:
|
|
43146
44934
|
_b.sent();
|
|
43147
44935
|
_a = initInfo(), userId = _a.userId, collaboratorId = _a.collaboratorId;
|
|
@@ -43316,7 +45104,7 @@ var FeatheryClient = /** @class */ (function (_super) {
|
|
|
43316
45104
|
userId = initInfo().userId;
|
|
43317
45105
|
url = "".concat(API_URL, "email/forward/");
|
|
43318
45106
|
data = {
|
|
43319
|
-
user_id: userId,
|
|
45107
|
+
user_id: options.submissionId || userId,
|
|
43320
45108
|
recipients: options.emails || [],
|
|
43321
45109
|
email_group: options.emailGroup || '',
|
|
43322
45110
|
panel_key: this.formKey
|
|
@@ -43653,9 +45441,9 @@ function init(sdkKey, options) {
|
|
|
43653
45441
|
if (runningInClient()) {
|
|
43654
45442
|
// Dynamically load libraries that must be client side
|
|
43655
45443
|
global.scriptjsLoadPromise = Promise.resolve().then(function () { return require(
|
|
43656
|
-
/* webpackChunkName: "scriptjs" */ './fthry_script.
|
|
45444
|
+
/* webpackChunkName: "scriptjs" */ './fthry_script.Cw49lCOF.js'); }).then(function (n) { return n.script; });
|
|
43657
45445
|
global.webfontloaderPromise = Promise.resolve().then(function () { return require(
|
|
43658
|
-
/* webpackChunkName: "webfontloader" */ './fthry_webfontloader.
|
|
45446
|
+
/* webpackChunkName: "webfontloader" */ './fthry_webfontloader.CoyxhM39.js'); }).then(function (n) { return n.webfontloader; });
|
|
43659
45447
|
// Client-side tracking logic
|
|
43660
45448
|
if (initState.userTracking === 'cookie') {
|
|
43661
45449
|
var cookieKey = "feathery-user-id-".concat(sdkKey);
|
|
@@ -43801,7 +45589,7 @@ function getFieldValues() {
|
|
|
43801
45589
|
return exports.__assign({}, exports.fieldValues);
|
|
43802
45590
|
}
|
|
43803
45591
|
function logFeatheryBadge() {
|
|
43804
|
-
console.log('%c Feathery %c v' + "2.15.
|
|
45592
|
+
console.log('%c Feathery %c v' + "2.15.2" + ' ', // replaced with real version during build
|
|
43805
45593
|
'background: #e2626e; color: white; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;', 'background: #fce7e9; color: #c5495a; padding: 2px 6px; border-radius: 0 3px 3px 0;');
|
|
43806
45594
|
}
|
|
43807
45595
|
|
|
@@ -45279,39 +47067,39 @@ breakpoint) {
|
|
|
45279
47067
|
return styles.getTarget('inner-container', undefined, viewport === 'mobile');
|
|
45280
47068
|
};
|
|
45281
47069
|
|
|
45282
|
-
var AddressLine1 = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.
|
|
45283
|
-
var ButtonGroupField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.
|
|
45284
|
-
var CheckboxField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.
|
|
47070
|
+
var AddressLine1 = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.Cp5mHHk3.js'); }); });
|
|
47071
|
+
var ButtonGroupField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.BN8zLfup.js'); }); });
|
|
47072
|
+
var CheckboxField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.DpwSZaXh.js'); }); });
|
|
45285
47073
|
var CheckboxGroupField = React.lazy(function () {
|
|
45286
|
-
return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.
|
|
47074
|
+
return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.B1CkkjWn.js'); });
|
|
45287
47075
|
});
|
|
45288
|
-
var ColorPickerField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.
|
|
45289
|
-
var CustomField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.
|
|
47076
|
+
var ColorPickerField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.HFaIUSxu.js'); }); });
|
|
47077
|
+
var CustomField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.CoJCmnOp.js'); }); });
|
|
45290
47078
|
var DateSelectorField = React.lazy(function () {
|
|
45291
|
-
return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.
|
|
47079
|
+
return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.CZOSIfEV.js'); });
|
|
45292
47080
|
});
|
|
45293
|
-
var DropdownField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.
|
|
47081
|
+
var DropdownField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.CRDnACxw.js'); }); });
|
|
45294
47082
|
var DropdownMultiField = React.lazy(function () {
|
|
45295
|
-
return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.
|
|
47083
|
+
return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.DEqnH31I.js'); });
|
|
45296
47084
|
});
|
|
45297
|
-
var FileUploadField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.
|
|
45298
|
-
var MatrixField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.
|
|
45299
|
-
var PasswordField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.
|
|
47085
|
+
var FileUploadField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.DbcTkrx8.js'); }); });
|
|
47086
|
+
var MatrixField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.BfGtKml0.js'); }); });
|
|
47087
|
+
var PasswordField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.DB4KHK9K.js'); }); });
|
|
45300
47088
|
var PaymentMethodField = React.lazy(function () {
|
|
45301
|
-
return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.
|
|
47089
|
+
return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.DwYI96Gn.js'); });
|
|
45302
47090
|
});
|
|
45303
|
-
var PhoneField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.
|
|
45304
|
-
var PinInputField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.
|
|
45305
|
-
var QRScanner = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.
|
|
47091
|
+
var PhoneField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.EU1uftki.js'); }); });
|
|
47092
|
+
var PinInputField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.BDTST35w.js'); }); });
|
|
47093
|
+
var QRScanner = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.BANnK-BV.js'); }); });
|
|
45306
47094
|
var RadioButtonGroupField = React.lazy(function () {
|
|
45307
47095
|
return Promise.resolve().then(function () { return require(
|
|
45308
|
-
/* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.
|
|
47096
|
+
/* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.BSCmisU5.js'); });
|
|
45309
47097
|
});
|
|
45310
|
-
var RatingField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.
|
|
45311
|
-
var SignatureField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.
|
|
45312
|
-
var SliderField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.
|
|
45313
|
-
var TextField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.
|
|
45314
|
-
var TextArea = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.
|
|
47098
|
+
var RatingField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.BjCAubFj.js'); }); });
|
|
47099
|
+
var SignatureField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.DXh3tbd1.js'); }); });
|
|
47100
|
+
var SliderField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.BzhucXqv.js'); }); });
|
|
47101
|
+
var TextField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.DanO29mY.js'); }); });
|
|
47102
|
+
var TextArea = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.bTWf3wVZ.js'); }); });
|
|
45315
47103
|
var Fields = {
|
|
45316
47104
|
AddressLine1: AddressLine1,
|
|
45317
47105
|
ButtonGroupField: ButtonGroupField,
|
|
@@ -46251,7 +48039,7 @@ function ElementSkeleton(_a) {
|
|
|
46251
48039
|
}
|
|
46252
48040
|
var templateObject_1;
|
|
46253
48041
|
|
|
46254
|
-
var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.
|
|
48042
|
+
var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.ujHj1dvo.js'); }); });
|
|
46255
48043
|
var Basic = {
|
|
46256
48044
|
ImageElement: ImageElement,
|
|
46257
48045
|
VideoElement: VideoElement,
|