@sheetxl/sdk 0.7.28-beta.4 → 0.8.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/browser/cjs/{CD2RXdnfqSYNc6gX.cjs → BatsV2UUraVDCRXm.cjs} +1 -1
  2. package/browser/cjs/CUz53T65cRGQRgvv.cjs +33 -0
  3. package/browser/cjs/{BXtvdT1Z-MsB_o5F.cjs → DU0kYUtdFa3jK-im.cjs} +1 -1
  4. package/browser/cjs/{DcLpXGexEtOxi-dD.cjs → Dv4yIPLV98M5zLHa.cjs} +1 -1
  5. package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +1 -0
  6. package/browser/cjs/index.cjs +2 -2
  7. package/browser/esm/{CoA-sUxjiIUIpTUF.mjs → 6JKSOvc5czaQB2Bj.mjs} +3 -3
  8. package/browser/esm/{DBIu6NUHIcxOOBQp.mjs → B0HS42a7lga1k1U_.mjs} +1 -1
  9. package/browser/esm/{Dy4Sdpju1T2icURu.mjs → BtuJ9AGzeURtAsGo.mjs} +5797 -5410
  10. package/browser/esm/{0Mj5WKM362q6CECb.mjs → DGU6sM25u0EWCKl1.mjs} +3 -3
  11. package/browser/esm/{CKk58ZLcrllMzfou.mjs → DlPMeIyxT9tG_WDk.mjs} +2 -2
  12. package/browser/esm/{CPTtL2f6_4iblmFM.mjs → f2G3QRgEbvFJcoa2.mjs} +2 -2
  13. package/browser/esm/index.mjs +6 -6
  14. package/browser/esm/{CHSahmMFYNB0Ajkf.mjs → uyWBMSIxMlt8n5Z3.mjs} +2 -2
  15. package/node/esm/{DqgWsVXROpSgKq6c.mjs → -pxdn3M3tc6PLHs7.mjs} +20 -20
  16. package/node/esm/{BtGxbEbBm79YvF_k.mjs → 0n5bslM9jhO1JnI2.mjs} +1 -1
  17. package/node/esm/{DUYP6faJJHCaW1Xf.mjs → Cku7XiUvw1xrRasi.mjs} +1 -1
  18. package/node/esm/index.mjs +8279 -7901
  19. package/package.json +6 -6
  20. package/types/scripting-enums.json +4 -0
  21. package/types/scripting.d.ts +321 -19
  22. package/types/src/calculation/Calculation.d.ts +5 -0
  23. package/types/src/calculation/executor/CalcExecutor.d.ts +112 -3
  24. package/types/src/calculation/state/CalcNode.d.ts +20 -0
  25. package/types/src/calculation/state/CalculationContext.d.ts +3 -1
  26. package/types/src/calculation/state/IContextContainer.d.ts +31 -0
  27. package/types/src/cellRange/ICellRange.d.ts +39 -18
  28. package/types/src/lib/utils/_Utils.d.ts +7 -0
  29. package/types/src/primitives/PrimitiveUtils.d.ts +4 -2
  30. package/types/src/primitives/Range.d.ts +3 -1
  31. package/types/src/scripting/FunctionArguments.d.ts +22 -0
  32. package/types/src/scripting/TypedFunction.d.ts +60 -0
  33. package/types/src/sheet/Sheet.d.ts +8 -0
  34. package/types/src/sheet/SheetRange.d.ts +3 -0
  35. package/types/src/sheet/_SheetAutoFitUtils.d.ts +28 -0
  36. package/browser/cjs/BF14ZEAnaqxXroSj.cjs +0 -1
  37. package/browser/cjs/Bc4JjVVZfFo3R4He.cjs +0 -33
@@ -1,4 +1,4 @@
1
- const e=require("./Bc4JjVVZfFo3R4He.cjs");let t=require("@sheetxl/primitives");function n(e){console&&console.error&&console.error(`Error: ${e}`)}function r(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function i(e){let t=new Date().getTime(),n=e();return{time:new Date().getTime()-t,value:n}}function a(e){function t(){}t.prototype=e;let n=new t;function r(){return typeof n.bar}return r(),r(),e}var o=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(t=>{t.accept(e)})}},s=class extends o{constructor(e){super([]),this.idx=1,Object.assign(this,v(e))}set definition(e){}get definition(){return this.referencedRule===void 0?[]:this.referencedRule.definition}accept(e){e.visit(this)}},c=class extends o{constructor(e){super(e.definition),this.orgText=``,Object.assign(this,v(e))}},l=class extends o{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,v(e))}},u=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},d=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},f=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},p=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},m=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},h=class extends o{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,v(e))}},g=class{constructor(e){this.idx=1,Object.assign(this,v(e))}accept(e){e.visit(this)}};function _(e){function t(e){return e.map(_)}if(e instanceof s){let t={type:`NonTerminal`,name:e.nonTerminalName,idx:e.idx};return typeof e.label==`string`&&(t.label=e.label),t}if(e instanceof l)return{type:`Alternative`,definition:t(e.definition)};if(e instanceof u)return{type:`Option`,idx:e.idx,definition:t(e.definition)};if(e instanceof d)return{type:`RepetitionMandatory`,idx:e.idx,definition:t(e.definition)};if(e instanceof f)return{type:`RepetitionMandatoryWithSeparator`,idx:e.idx,separator:_(new g({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof m)return{type:`RepetitionWithSeparator`,idx:e.idx,separator:_(new g({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof p)return{type:`Repetition`,idx:e.idx,definition:t(e.definition)};if(e instanceof h)return{type:`Alternation`,idx:e.idx,definition:t(e.definition)};if(e instanceof g){let t={type:`Terminal`,name:e.terminalType.name,label:(n=e.terminalType,typeof(r=n).LABEL==`string`&&r.LABEL!==``?n.LABEL:n.name),idx:e.idx};typeof e.label==`string`&&(t.terminalLabel=e.label);let i=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=i instanceof RegExp?i.source:i),t}if(e instanceof c)return{type:`Rule`,name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error(`non exhaustive match`);var n,r}function v(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}var y=class{visit(e){let t=e;switch(t.constructor){case s:return this.visitNonTerminal(t);case l:return this.visitAlternative(t);case u:return this.visitOption(t);case d:return this.visitRepetitionMandatory(t);case f:return this.visitRepetitionMandatoryWithSeparator(t);case m:return this.visitRepetitionWithSeparator(t);case p:return this.visitRepetition(t);case h:return this.visitAlternation(t);case g:return this.visitTerminal(t);case c:return this.visitRule(t);default:throw Error(`non exhaustive match`)}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function b(e,t=[]){return e instanceof u||e instanceof p||e instanceof m||(e instanceof h?e.definition.some(e=>b(e,t)):!(e instanceof s&&t.includes(e))&&e instanceof o&&(e instanceof s&&t.push(e),e.definition.every(e=>b(e,t))))}function x(e){if(e instanceof s)return`SUBRULE`;if(e instanceof u)return`OPTION`;if(e instanceof h)return`OR`;if(e instanceof d)return`AT_LEAST_ONE`;if(e instanceof f)return`AT_LEAST_ONE_SEP`;if(e instanceof m)return`MANY_SEP`;if(e instanceof p)return`MANY`;if(e instanceof g)return`CONSUME`;throw Error(`non exhaustive match`)}var S=class{walk(e,t=[]){e.definition.forEach((n,r)=>{let i=e.definition.slice(r+1);if(n instanceof s)this.walkProdRef(n,i,t);else if(n instanceof g)this.walkTerminal(n,i,t);else if(n instanceof l)this.walkFlat(n,i,t);else if(n instanceof u)this.walkOption(n,i,t);else if(n instanceof d)this.walkAtLeastOne(n,i,t);else if(n instanceof f)this.walkAtLeastOneSep(n,i,t);else if(n instanceof m)this.walkManySep(n,i,t);else if(n instanceof p)this.walkMany(n,i,t);else{if(!(n instanceof h))throw Error(`non exhaustive match`);this.walkOr(n,i,t)}})}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){let r=t.concat(n);this.walk(e,r)}walkOption(e,t,n){let r=t.concat(n);this.walk(e,r)}walkAtLeastOne(e,t,n){let r=[new u({definition:e.definition})].concat(t,n);this.walk(e,r)}walkAtLeastOneSep(e,t,n){let r=C(e,t,n);this.walk(e,r)}walkMany(e,t,n){let r=[new u({definition:e.definition})].concat(t,n);this.walk(e,r)}walkManySep(e,t,n){let r=C(e,t,n);this.walk(e,r)}walkOr(e,t,n){let r=t.concat(n);e.definition.forEach(e=>{let t=new l({definition:[e]});this.walk(t,r)})}};function C(e,t,n){return[new u({definition:[new g({terminalType:e.separator})].concat(e.definition)})].concat(t,n)}function w(e){if(e instanceof s)return w(e.referencedRule);if(e instanceof g)return[e.terminalType];if(function(e){return e instanceof l||e instanceof u||e instanceof p||e instanceof d||e instanceof f||e instanceof m||e instanceof g||e instanceof c}(e))return function(e){let t=[],n=e.definition,r,i=0,a=n.length>i,o=!0;for(;a&&o;)r=n[i],o=b(r),t=t.concat(w(r)),i+=1,a=n.length>i;return[...new Set(t)]}(e);if(function(e){return e instanceof h}(e))return function(e){let t=e.definition.map(e=>w(e));return[...new Set(t.flat())]}(e);throw Error(`non exhaustive match`)}var T=`_~IN~_`,E=class extends S{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,n){}walkProdRef(e,t,n){let r=(i=e.referencedRule,a=e.idx,i.name+a+T+this.topProd.name);var i,a;let o=w(new l({definition:t.concat(n)}));this.follows[r]=o}};function D(e){return e.charCodeAt(0)}function O(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function k(e,t){if(!0===e[t])throw`duplicate flag `+t;e[t],e[t]=!0}function A(e){if(e===void 0)throw Error(`Internal Error - Should never get here!`);return!0}function j(){throw Error(`Internal Error - Should never get here!`)}function M(e){return e.type===`Character`}var N=[];for(let e=D(`0`);e<=D(`9`);e++)N.push(e);var P=[D(`_`)].concat(N);for(let e=D(`a`);e<=D(`z`);e++)P.push(e);for(let e=D(`A`);e<=D(`Z`);e++)P.push(e);var ee=[D(` `),D(`\f`),D(`
1
+ const e=require("./CUz53T65cRGQRgvv.cjs");let t=require("@sheetxl/primitives");function n(e){console&&console.error&&console.error(`Error: ${e}`)}function r(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function i(e){let t=new Date().getTime(),n=e();return{time:new Date().getTime()-t,value:n}}function a(e){function t(){}t.prototype=e;let n=new t;function r(){return typeof n.bar}return r(),r(),e}var o=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(t=>{t.accept(e)})}},s=class extends o{constructor(e){super([]),this.idx=1,Object.assign(this,v(e))}set definition(e){}get definition(){return this.referencedRule===void 0?[]:this.referencedRule.definition}accept(e){e.visit(this)}},c=class extends o{constructor(e){super(e.definition),this.orgText=``,Object.assign(this,v(e))}},l=class extends o{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,v(e))}},u=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},d=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},f=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},p=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},m=class extends o{constructor(e){super(e.definition),this.idx=1,Object.assign(this,v(e))}},h=class extends o{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,v(e))}},g=class{constructor(e){this.idx=1,Object.assign(this,v(e))}accept(e){e.visit(this)}};function _(e){function t(e){return e.map(_)}if(e instanceof s){let t={type:`NonTerminal`,name:e.nonTerminalName,idx:e.idx};return typeof e.label==`string`&&(t.label=e.label),t}if(e instanceof l)return{type:`Alternative`,definition:t(e.definition)};if(e instanceof u)return{type:`Option`,idx:e.idx,definition:t(e.definition)};if(e instanceof d)return{type:`RepetitionMandatory`,idx:e.idx,definition:t(e.definition)};if(e instanceof f)return{type:`RepetitionMandatoryWithSeparator`,idx:e.idx,separator:_(new g({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof m)return{type:`RepetitionWithSeparator`,idx:e.idx,separator:_(new g({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof p)return{type:`Repetition`,idx:e.idx,definition:t(e.definition)};if(e instanceof h)return{type:`Alternation`,idx:e.idx,definition:t(e.definition)};if(e instanceof g){let t={type:`Terminal`,name:e.terminalType.name,label:(n=e.terminalType,typeof(r=n).LABEL==`string`&&r.LABEL!==``?n.LABEL:n.name),idx:e.idx};typeof e.label==`string`&&(t.terminalLabel=e.label);let i=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=i instanceof RegExp?i.source:i),t}if(e instanceof c)return{type:`Rule`,name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error(`non exhaustive match`);var n,r}function v(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}var y=class{visit(e){let t=e;switch(t.constructor){case s:return this.visitNonTerminal(t);case l:return this.visitAlternative(t);case u:return this.visitOption(t);case d:return this.visitRepetitionMandatory(t);case f:return this.visitRepetitionMandatoryWithSeparator(t);case m:return this.visitRepetitionWithSeparator(t);case p:return this.visitRepetition(t);case h:return this.visitAlternation(t);case g:return this.visitTerminal(t);case c:return this.visitRule(t);default:throw Error(`non exhaustive match`)}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function b(e,t=[]){return e instanceof u||e instanceof p||e instanceof m||(e instanceof h?e.definition.some(e=>b(e,t)):!(e instanceof s&&t.includes(e))&&e instanceof o&&(e instanceof s&&t.push(e),e.definition.every(e=>b(e,t))))}function x(e){if(e instanceof s)return`SUBRULE`;if(e instanceof u)return`OPTION`;if(e instanceof h)return`OR`;if(e instanceof d)return`AT_LEAST_ONE`;if(e instanceof f)return`AT_LEAST_ONE_SEP`;if(e instanceof m)return`MANY_SEP`;if(e instanceof p)return`MANY`;if(e instanceof g)return`CONSUME`;throw Error(`non exhaustive match`)}var S=class{walk(e,t=[]){e.definition.forEach((n,r)=>{let i=e.definition.slice(r+1);if(n instanceof s)this.walkProdRef(n,i,t);else if(n instanceof g)this.walkTerminal(n,i,t);else if(n instanceof l)this.walkFlat(n,i,t);else if(n instanceof u)this.walkOption(n,i,t);else if(n instanceof d)this.walkAtLeastOne(n,i,t);else if(n instanceof f)this.walkAtLeastOneSep(n,i,t);else if(n instanceof m)this.walkManySep(n,i,t);else if(n instanceof p)this.walkMany(n,i,t);else{if(!(n instanceof h))throw Error(`non exhaustive match`);this.walkOr(n,i,t)}})}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){let r=t.concat(n);this.walk(e,r)}walkOption(e,t,n){let r=t.concat(n);this.walk(e,r)}walkAtLeastOne(e,t,n){let r=[new u({definition:e.definition})].concat(t,n);this.walk(e,r)}walkAtLeastOneSep(e,t,n){let r=C(e,t,n);this.walk(e,r)}walkMany(e,t,n){let r=[new u({definition:e.definition})].concat(t,n);this.walk(e,r)}walkManySep(e,t,n){let r=C(e,t,n);this.walk(e,r)}walkOr(e,t,n){let r=t.concat(n);e.definition.forEach(e=>{let t=new l({definition:[e]});this.walk(t,r)})}};function C(e,t,n){return[new u({definition:[new g({terminalType:e.separator})].concat(e.definition)})].concat(t,n)}function w(e){if(e instanceof s)return w(e.referencedRule);if(e instanceof g)return[e.terminalType];if(function(e){return e instanceof l||e instanceof u||e instanceof p||e instanceof d||e instanceof f||e instanceof m||e instanceof g||e instanceof c}(e))return function(e){let t=[],n=e.definition,r,i=0,a=n.length>i,o=!0;for(;a&&o;)r=n[i],o=b(r),t=t.concat(w(r)),i+=1,a=n.length>i;return[...new Set(t)]}(e);if(function(e){return e instanceof h}(e))return function(e){let t=e.definition.map(e=>w(e));return[...new Set(t.flat())]}(e);throw Error(`non exhaustive match`)}var T=`_~IN~_`,E=class extends S{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,n){}walkProdRef(e,t,n){let r=(i=e.referencedRule,a=e.idx,i.name+a+T+this.topProd.name);var i,a;let o=w(new l({definition:t.concat(n)}));this.follows[r]=o}};function D(e){return e.charCodeAt(0)}function O(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function k(e,t){if(!0===e[t])throw`duplicate flag `+t;e[t],e[t]=!0}function A(e){if(e===void 0)throw Error(`Internal Error - Should never get here!`);return!0}function j(){throw Error(`Internal Error - Should never get here!`)}function M(e){return e.type===`Character`}var N=[];for(let e=D(`0`);e<=D(`9`);e++)N.push(e);var P=[D(`_`)].concat(N);for(let e=D(`a`);e<=D(`z`);e++)P.push(e);for(let e=D(`A`);e<=D(`Z`);e++)P.push(e);var ee=[D(` `),D(`\f`),D(`
2
2
  `),D(`\r`),D(` `),D(`\v`),D(` `),D(`\xA0`),D(` `),D(` `),D(` `),D(` `),D(` `),D(` `),D(` `),D(` `),D(` `),D(` `),D(` `),D(` `),D(`\u2028`),D(`\u2029`),D(` `),D(` `),D(` `),D(``)],te=/[0-9a-fA-F]/,F=/[0-9]/,ne=/[1-9]/,I=class{visitChildren(e){for(let t in e){let n=e[t];e.hasOwnProperty(t)&&(n.type===void 0?Array.isArray(n)&&n.forEach(e=>{this.visit(e)},this):this.visit(n))}}visit(e){switch(e.type){case`Pattern`:this.visitPattern(e);break;case`Flags`:this.visitFlags(e);break;case`Disjunction`:this.visitDisjunction(e);break;case`Alternative`:this.visitAlternative(e);break;case`StartAnchor`:this.visitStartAnchor(e);break;case`EndAnchor`:this.visitEndAnchor(e);break;case`WordBoundary`:this.visitWordBoundary(e);break;case`NonWordBoundary`:this.visitNonWordBoundary(e);break;case`Lookahead`:this.visitLookahead(e);break;case`NegativeLookahead`:this.visitNegativeLookahead(e);break;case`Lookbehind`:this.visitLookbehind(e);break;case`NegativeLookbehind`:this.visitNegativeLookbehind(e);break;case`Character`:this.visitCharacter(e);break;case`Set`:this.visitSet(e);break;case`Group`:this.visitGroup(e);break;case`GroupBackReference`:this.visitGroupBackReference(e);break;case`Quantifier`:this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},L={},re=new class{constructor(){this.idx=0,this.input=``,this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar(`/`);let t=this.disjunction();this.consumeChar(`/`);let n={type:`Flags`,loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case`g`:k(n,`global`);break;case`i`:k(n,`ignoreCase`);break;case`m`:k(n,`multiLine`);break;case`u`:k(n,`unicode`);break;case`y`:k(n,`sticky`)}if(this.idx!==this.input.length)throw Error(`Redundant input: `+this.input.substring(this.idx));return{type:`Pattern`,flags:n,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()===`|`;)this.consumeChar(`|`),e.push(this.alternative());return{type:`Disjunction`,value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:`Alternative`,value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case`^`:return{type:`StartAnchor`,loc:this.loc(e)};case`$`:return{type:`EndAnchor`,loc:this.loc(e)};case`\\`:switch(this.popChar()){case`b`:return{type:`WordBoundary`,loc:this.loc(e)};case`B`:return{type:`NonWordBoundary`,loc:this.loc(e)}}throw Error(`Invalid Assertion Escape`);case`(`:let t;switch(this.consumeChar(`?`),this.popChar()){case`=`:t=`Lookahead`;break;case`!`:t=`NegativeLookahead`;break;case`<`:switch(this.popChar()){case`=`:t=`Lookbehind`;break;case`!`:t=`NegativeLookbehind`}}A(t);let n=this.disjunction();return this.consumeChar(`)`),{type:t,value:n,loc:this.loc(e)}}return j()}quantifier(e=!1){let t,n=this.idx;switch(this.popChar()){case`*`:t={atLeast:0,atMost:1/0};break;case`+`:t={atLeast:1,atMost:1/0};break;case`?`:t={atLeast:0,atMost:1};break;case`{`:let n=this.integerIncludingZero();switch(this.popChar()){case`}`:t={atLeast:n,atMost:n};break;case`,`:let e;this.isDigit()?(e=this.integerIncludingZero(),t={atLeast:n,atMost:e}):t={atLeast:n,atMost:1/0},this.consumeChar(`}`)}if(!0===e&&t===void 0)return;A(t)}if(!0!==e||t!==void 0)return A(t)?(this.peekChar(0)===`?`?(this.consumeChar(`?`),t.greedy=!1):t.greedy=!0,t.type=`Quantifier`,t.loc=this.loc(n),t):void 0}atom(){let e,t=this.idx;switch(this.peekChar()){case`.`:e=this.dotAll();break;case`\\`:e=this.atomEscape();break;case`[`:e=this.characterClass();break;case`(`:e=this.group()}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),A(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):j()}dotAll(){return this.consumeChar(`.`),{type:`Set`,complement:!0,value:[D(`
3
3
  `),D(`\r`),D(`\u2028`),D(`\u2029`)]}}atomEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:return this.decimalEscapeAtom();case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:`GroupBackReference`,value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case`d`:e=N;break;case`D`:e=N,t=!0;break;case`s`:e=ee;break;case`S`:e=ee,t=!0;break;case`w`:e=P;break;case`W`:e=P,t=!0}return A(e)?{type:`Set`,value:e,complement:t}:j()}controlEscapeAtom(){let e;switch(this.popChar()){case`f`:e=D(`\f`);break;case`n`:e=D(`
4
4
  `);break;case`r`:e=D(`\r`);break;case`t`:e=D(` `);break;case`v`:e=D(`\v`)}return A(e)?{type:`Character`,value:e}:j()}controlLetterEscapeAtom(){this.consumeChar(`c`);let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error(`Invalid `);return{type:`Character`,value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar(`0`),{type:`Character`,value:D(`\0`)}}hexEscapeSequenceAtom(){return this.consumeChar(`x`),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar(`u`),this.parseHexDigits(4)}identityEscapeAtom(){return{type:`Character`,value:D(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`