@ibyar/expressions 1.1.0 → 1.2.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.
- package/api/abstract.js.map +1 -1
- package/api/class/class.js.map +1 -1
- package/api/computing/call.js.map +1 -1
- package/api/computing/new.js.map +1 -1
- package/api/computing/spread.js.map +1 -1
- package/api/computing/throw.js.map +1 -1
- package/api/computing/yield.js.map +1 -1
- package/api/definition/array.js.map +1 -1
- package/api/definition/bind.js.map +1 -1
- package/api/definition/function.js.map +1 -1
- package/api/definition/member.js.map +1 -1
- package/api/definition/object.js.map +1 -1
- package/api/definition/values.js.map +1 -1
- package/api/deserialize/deserialize.js.map +1 -1
- package/api/expression.d.ts +3 -0
- package/api/expression.d.ts.map +1 -1
- package/api/expression.js.map +1 -1
- package/api/module/export.js.map +1 -1
- package/api/module/import.js.map +1 -1
- package/api/operators/assignment.js.map +1 -1
- package/api/operators/binary.js.map +1 -1
- package/api/operators/logical.js.map +1 -1
- package/api/operators/pipeline.js.map +1 -1
- package/api/operators/unary.js.map +1 -1
- package/api/operators/update.js.map +1 -1
- package/api/statement/control/block.js.map +1 -1
- package/api/statement/control/if.js.map +1 -1
- package/api/statement/control/switch.js.map +1 -1
- package/api/statement/control/with.js.map +1 -1
- package/api/statement/declarations/declares.js.map +1 -1
- package/api/statement/iterations/for.js.map +1 -1
- package/api/statement/iterations/while.js.map +1 -1
- package/bin/cli.d.ts +3 -0
- package/bin/cli.d.ts.map +1 -0
- package/bin/cli.js +73 -0
- package/bin/cli.js.map +1 -0
- package/package.json +7 -4
- package/scope/event.js.map +1 -1
- package/scope/finalizer.js.map +1 -1
- package/scope/index.d.ts +1 -0
- package/scope/index.d.ts.map +1 -1
- package/scope/index.js +1 -0
- package/scope/index.js.map +1 -1
- package/scope/pool.js.map +1 -1
- package/scope/proxy.js.map +1 -1
- package/scope/scope.d.ts.map +1 -1
- package/scope/scope.js +4 -3
- package/scope/scope.js.map +1 -1
- package/scope/signal.d.ts +75 -0
- package/scope/signal.d.ts.map +1 -0
- package/scope/signal.js +226 -0
- package/scope/signal.js.map +1 -0
- package/scope/stack.d.ts +1 -1
- package/scope/stack.d.ts.map +1 -1
- package/scope/stack.js.map +1 -1
- package/scope/variable.d.ts +1 -0
- package/scope/variable.d.ts.map +1 -0
- package/scope/variable.js +2 -0
- package/scope/variable.js.map +1 -0
- package/scope/variables.d.ts +66 -0
- package/scope/variables.d.ts.map +1 -0
- package/scope/variables.js +214 -0
- package/scope/variables.js.map +1 -0
- package/v8/enums.d.ts +5 -5
- package/v8/enums.d.ts.map +1 -1
- package/v8/enums.js.map +1 -1
- package/v8/factory.js.map +1 -1
- package/v8/inline.js.map +1 -1
- package/v8/parser.js.map +1 -1
- package/v8/stream.js.map +1 -1
- package/v8/token.js.map +1 -1
- package/visit/visitor.js.map +1 -1
package/v8/token.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/expressions/v8/token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,GAAiB,MAAM,eAAe,CAAC;AAExD,MAAM,OAAO,KAAK;IA6xBG;IAAsB;IA3xB1C;;OAEG;IACI,MAAM,CAAU,WAAW,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpD;;;OAGG;IACI,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAErD;;OAEG;IACI,MAAM,CAAU,EAAE,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEhD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEnD;;OAEG;IACI,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEnD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEjD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEjD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEhD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEhD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEhD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEpD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEpD;;OAEG;IACI,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAErD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEjD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEhD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEhD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACI,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEnD;;OAEG;IACI,MAAM,CAAU,EAAE,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAE/C;;OAEG;IACI,MAAM,CAAU,EAAE,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAE/C;;;;OAIG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEhD;;;;OAIG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEhD;;OAEG;IACI,MAAM,CAAU,EAAE,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACI,MAAM,CAAU,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAU,EAAE,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACI,MAAM,CAAU,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEjD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEjD;;OAEG;IACI,MAAM,CAAU,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAExD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAU,aAAa,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE3D;;OAEG;IACI,MAAM,CAAU,aAAa,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE3D;;OAEG;IACI,MAAM,CAAU,cAAc,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE5D;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAExD;;OAEG;IACI,MAAM,CAAU,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3D;;OAEG;IACI,MAAM,CAAU,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3D;;OAEG;IACI,MAAM,CAAU,aAAa,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE1D;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAExD;;OAEG;IACI,MAAM,CAAU,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAU,cAAc,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE5D;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAExD;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAExD;;OAEG;IACI,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEzD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD;;;;;;OAMG;IACI,MAAM,CAAU,eAAe,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5D;;OAEG;IACI,MAAM,CAAU,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEjD;;;;;;OAMG;IACI,MAAM,CAAU,aAAa,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE3D;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEjD;;OAEG;IACI,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEtD;;OAEG;IACI,MAAM,CAAU,SAAS,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAErD;;OAEG;IACI,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjD;;OAEG;IACI,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElD;;OAEG;IACI,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,EAAE,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,MAAM,CAAU,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAU,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,CAAU,aAAa,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAU,EAAE,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,YAAY,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAU,EAAE,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAU,YAAY,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,CAAU,iBAAiB,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,CAAU,SAAS,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,CAAU,SAAS,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,YAAY,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAU,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC/D;;;;;OAKG;IACI,MAAM,CAAU,aAAa,GAAG,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAErE;;;;;OAKG;IACI,MAAM,CAAU,aAAa,GAAG,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,CAAU,eAAe,GAAG,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,CAAU,cAAc,GAAG,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAGhE,MAAM,CAAC,MAAM,CAAC,KAAY;QAChC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,IAAI,CAAC;YACb;gBACC,OAAO,KAAK,CAAC;SACd;IACF,CAAC;IACM,MAAM,CAAC,UAAU,CAAC,KAAY;QACpC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,IAAI,CAAC;YACb;gBACC,OAAO,KAAK,CAAC;SACd;IACF,CAAC;IACM,MAAM,CAAC,WAAW,CAAC,KAAY;QACrC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,IAAI,CAAC;YACb;gBACC,OAAO,KAAK,CAAC;SACd;IACF,CAAC;IACM,MAAM,CAAC,MAAM,CAAC,KAAY;QAChC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,KAAK,CAAC,MAAM,CAAC;YACrB,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,KAAK,CAAC,MAAM,CAAC;YACrB,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,KAAK,CAAC,MAAM,CAAC;SACrB;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,OAAO,CAAC,KAAY;QACjC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,KAAK,CAAC,MAAM,CAAC;YACrB,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,KAAK,CAAC,MAAM,CAAC;YACrB,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,KAAK,CAAC,MAAM,CAAC;SACrB;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,eAAe,CAAC,KAAY;QACzC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,KAAK,CAAC;YACjB,KAAK,KAAK,CAAC,KAAK,CAAC;YACjB,KAAK,KAAK,CAAC,KAAK,CAAC;YACjB,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,YAAY,CAAC,KAAY;QACtC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,KAAK;gBACf,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,SAAS,CAAC,KAAY;QACnC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,iBAAiB,CAAC;YAC7B,KAAK,KAAK,CAAC,YAAY,CAAC;YACxB,KAAK,KAAK,CAAC,YAAY,CAAC;YACxB,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,cAAc;gBACxB,kBAAkB;gBAClB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,qBAAqB,CAAC,KAAY;QAC/C,OAAO,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IACM,MAAM,CAAC,YAAY,CAAC,KAAY;QACtC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,cAAc,CAAC;YAC1B,KAAK,KAAK,CAAC,cAAc,CAAC;YAC1B,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,SAAS,CAAC;YACrB,KAAK,KAAK,CAAC,cAAc,CAAC;YAC1B,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,UAAU;gBACpB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,qBAAqB,CAAC,KAAY;QAC/C,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,SAAS,CAAC;YACrB,KAAK,KAAK,CAAC,cAAc;gBACxB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,eAAe,CAAC,KAAY;QACzC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,SAAS,CAAC;YACrB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,GAAG;gBACb,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,QAAQ,CAAC,KAAY;QAClC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,UAAU,CAAC,KAAY;QACpC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,aAAa;gBACvB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,KAAY;QAC1C,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,GAAG,CAAC,CAAE,wDAAwD;YACzE,wDAAwD;YACxD,yDAAyD;YACzD,0DAA0D;YAC1D,KAAK,KAAK,CAAC,KAAK,CAAC;YACjB,KAAK,KAAK,CAAC,KAAK,CAAC;YACjB,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,KAAK;gBACf,OAAO,IAAI,CAAC;YACb,0CAA0C;YAC1C,qCAAqC;YACrC;gBACC,OAAO,KAAK,CAAC;SACd;IACF,CAAC;IAEM,MAAM,CAAC,2BAA2B,CAAC,KAAY;QACrD,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,KAAK;gBACf,OAAO,IAAI,CAAC;YACb;gBACC,OAAO,KAAK,CAAC;SACd;IACF,CAAC;IACM,MAAM,CAAC,gBAAgB,CAAC,KAAY;QAC1C,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,eAAe,CAAC;YAC3B,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,cAAc,CAAC,KAAY;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;IACO,MAAM,CAAC,SAAS,CAAC,EAAU,EAAE,KAAY,EAAE,GAAU;QAC5D,OAAO,EAAE,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;IACvD,CAAC;IACM,MAAM,CAAC,UAAU,CAAC,KAAqB;QAC7C,IAAI,KAAK,YAAY,KAAK,EAAE;YAC3B,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;SACzB;QACD,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IACM,MAAM,CAAC,QAAQ,CAAC,KAAqB;QAC3C,IAAI,KAAK,YAAY,KAAK,EAAE;YAC3B,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;SACzB;QACD,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,KAAY;QACnC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,SAAS,CAAC;YACrB,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,SAAS,CAAC;YACrB,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,SAAS,CAAC;YACrB,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,EAAE;gBACZ,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,0BAA0B,CAAC,KAAY;QACpD,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,SAAS;gBACnB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAY;QACpC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,SAAS;gBACnB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,KAAY;QAC/C,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE;YAC9E,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7F,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC9B;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,KAAY;QACjC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,OAAO,CAAC;YACnB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,OAAO,CAAC;YACnB,KAAK,KAAK,CAAC,OAAO,CAAC;YACnB,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG;gBACb,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,KAAY;QACjC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,OAAO,CAAC;YACnB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,KAAK,CAAC;YACjB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,IAAI;gBACd,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,OAAO,CAAC,KAAY;QACjC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG;gBACb,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,cAAc,CAAC,KAAY;QACxC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,OAAO,CAAC;YACnB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,KAAK,CAAC;YACjB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,IAAI;gBACd,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,OAAO,CAAC,KAAY;QACjC,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,GAAG;gBACb,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACM,MAAM,CAAC,oBAAoB,CAAC,KAAY;QAC9C,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,KAAK,CAAC,SAAS,CAAC;YACrB,KAAK,KAAK,CAAC,GAAG,CAAC;YACf,KAAK,KAAK,CAAC,OAAO,CAAC;YACnB,KAAK,KAAK,CAAC,OAAO,CAAC;YACnB,KAAK,KAAK,CAAC,SAAS,CAAC;YACrB,KAAK,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,KAAK,CAAC,MAAM;gBAChB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,KAAY;QAC5C,QAAQ,KAAK,EAAE;YACd,KAAK,KAAK,CAAC,QAAQ;gBAClB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,KAAY,EAAE,IAAkB,EAAE,WAAoB,EAAE,aAAsB;QAC7G,IAAI,KAAK,CAAC,2BAA2B,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,CAAC,aAAa,CAAC;QAChD,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,CAAC,WAAW,CAAC;QAC9C,OAAO,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAY,EAAE,QAAiB;QACvD,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE;YACpC,OAAO,CAAC,CAAC;SACT;QACD,OAAO,KAAK,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED,YAAoB,IAAY,EAAU,UAAkB;QAAxC,SAAI,GAAJ,IAAI,CAAQ;QAAU,eAAU,GAAV,UAAU,CAAQ;IAAI,CAAC;IACjE,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IACD,KAAK,CAAC,KAAY;QACjB,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;IACnD,CAAC;;AAGF,MAAM,OAAO,eAAe;IACR;IAAqB;IAAgC;IAAxE,YAAmB,KAAY,EAAS,KAAuB,EAAS,KAAsB;QAA3E,UAAK,GAAL,KAAK,CAAO;QAAS,UAAK,GAAL,KAAK,CAAkB;QAAS,UAAK,GAAL,KAAK,CAAiB;IAAI,CAAC;IACnG,QAAQ;QACP,OAAO,IAAI,CAAC,KAAW,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,IAAW;QACjB,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAC5B,CAAC;IACD,SAAS,CAAC,IAAW;QACpB,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,IAAuD;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,QAAQ;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACD","sourcesContent":["import type { ExpressionNode } from '../api/expression.js';\nimport { isSloppy, LanguageMode, } from './language.js';\n\nexport class Token {\n\n\t/**\n\t * ___ ? ___ : ___\n\t */\n\tpublic static readonly CONDITIONAL = new Token('?', 3);\n\n\t/**\n\t * ___ ?? ___\n\t */\n\tpublic static readonly NULLISH = new Token('??', 3);\n\n\t/**\n\t * ___ |> ___ : ___ : ?\n\t * ___ |> ___ ( ___, ___ , ?)\n\t */\n\tpublic static readonly PIPELINE = new Token('|>', 3);\n\n\t/**\n\t * ___ || ___\n\t */\n\tpublic static readonly OR = new Token('||', 4);\n\n\t/**\n\t * ___ && ___\n\t */\n\tpublic static readonly AND = new Token('&&', 5);\n\n\t/**\n\t * ___ | ___\n\t */\n\tpublic static readonly BIT_OR = new Token('|', 6);\n\n\t/**\n\t * ___ ^ ___\n\t */\n\tpublic static readonly BIT_XOR = new Token('^', 7);\n\n\t/**\n\t * ___ | ___\n\t */\n\tpublic static readonly BIT_AND = new Token('&', 8);\n\n\t/**\n\t * ___ << ___\n\t */\n\tpublic static readonly SHL = new Token('<<', 11);\n\n\t/**\n\t * ___ >> ___\n\t */\n\tpublic static readonly SAR = new Token('>>', 11);\n\n\t/**\n\t * ___ >>> ___\n\t */\n\tpublic static readonly SHR = new Token('>>>', 11);\n\n\t/**\n\t * ___ * ___\n\t */\n\tpublic static readonly MUL = new Token('*', 13);\n\n\t/**\n\t * ___ / ___\n\t */\n\tpublic static readonly DIV = new Token('/', 13);\n\n\t/**\n\t * ___ % ___\n\t */\n\tpublic static readonly MOD = new Token('%', 13);\n\n\t/**\n\t * ___ %% ___\n\t */\n\tpublic static readonly MODULO = new Token('%%', 13);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly LARGER = new Token('>?', 13);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly SMALLER = new Token('<?', 13);\n\n\t/**\n\t * ___ ** ___\n\t */\n\tpublic static readonly EXP = new Token('**', 14);\n\n\t/**\n\t * ___ + ___\n\t */\n\tpublic static readonly ADD = new Token('+', 12);\n\n\t/**\n\t * ___ - ___\n\t */\n\tpublic static readonly SUB = new Token('-', 12);\n\n\t/**\n\t * ! ___\n\t */\n\tpublic static readonly NOT = new Token('!', 0);\n\n\t/**\n\t * ~ ___\n\t */\n\tpublic static readonly BIT_NOT = new Token('~', 0);\n\n\t/**\n\t * ___ < ___\n\t */\n\tpublic static readonly LT = new Token('<', 10);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly GT = new Token('>', 10);\n\n\t/**\n\t * ___++\n\t * \n\t * ++___\n\t */\n\tpublic static readonly INC = new Token('++', 0);\n\n\t/**\n\t * ___--\n\t * \n\t * --___\n\t */\n\tpublic static readonly DEC = new Token('--', 0);\n\n\t/**\n\t * ___ == ___\n\t */\n\tpublic static readonly EQ = new Token('==', 9);\n\n\t/**\n\t * ___ === ___\n\t */\n\tpublic static readonly EQ_STRICT = new Token('===', 9);\n\n\t/**\n\t * ___ != ___\n\t */\n\tpublic static readonly NE = new Token('!=', 9);\n\n\t/**\n\t * ___ !== ___\n\t */\n\tpublic static readonly NE_STRICT = new Token('!==', 9);\n\n\t/**\n\t * ___ <= ___\n\t */\n\tpublic static readonly LTE = new Token('<=', 10);\n\n\t/**\n\t * ___ >= ___\n\t */\n\tpublic static readonly GTE = new Token('>=', 10);\n\n\t/**\n\t * ___ <=> ___\n\t */\n\tpublic static readonly SPACESHIP = new Token('<=>', 10);\n\n\t/**\n\t * ___ = ___\n\t */\n\tpublic static readonly ASSIGN = new Token('=', 2);\n\n\t/**\n\t * ___ += ___\n\t */\n\tpublic static readonly ADD_ASSIGN = new Token('+=', 2);\n\n\t/**\n\t * ___ -= ___\n\t */\n\tpublic static readonly SUB_ASSIGN = new Token('-=', 2);\n\n\t/**\n\t * ___ *= ___\n\t */\n\tpublic static readonly MUL_ASSIGN = new Token('*=', 2);\n\n\t/**\n\t * ___ /= ___\n\t */\n\tpublic static readonly DIV_ASSIGN = new Token('/=', 2);\n\n\t/**\n\t * ___ %= ___\n\t */\n\tpublic static readonly MOD_ASSIGN = new Token('%=', 2);\n\n\t/**\n\t * ___ %% ___\n\t */\n\tpublic static readonly MODULO_ASSIGN = new Token('%%=', 2);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly LARGER_ASSIGN = new Token('>?=', 2);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly SMALLER_ASSIGN = new Token('<?=', 2);\n\n\t/**\n\t * ___ **= ___\n\t */\n\tpublic static readonly EXP_ASSIGN = new Token('**=', 2);\n\n\t/**\n\t * ___ ^= ___\n\t */\n\tpublic static readonly BIT_XOR_ASSIGN = new Token('^=', 2);\n\n\t/**\n\t * ___ &= ___\n\t */\n\tpublic static readonly BIT_AND_ASSIGN = new Token('&=', 2);\n\n\t/**\n\t * ___ |= ___\n\t */\n\tpublic static readonly BIT_OR_ASSIGN = new Token('|=', 2);\n\n\t/**\n\t * ___ &&= ___\n\t */\n\tpublic static readonly AND_ASSIGN = new Token('&&=', 2);\n\n\t/**\n\t * ___ ||= ___\n\t */\n\tpublic static readonly OR_ASSIGN = new Token('||=', 2);\n\n\t/**\n\t * ___ ??= ___\n\t */\n\tpublic static readonly NULLISH_ASSIGN = new Token('??=', 2);\n\n\t/**\n\t * ___ <<= ___\n\t */\n\tpublic static readonly SHL_ASSIGN = new Token('<<=', 2);\n\n\t/**\n\t * ___ >>= ___\n\t */\n\tpublic static readonly SAR_ASSIGN = new Token('>>=', 2);\n\n\t/**\n\t * ___ >>>= ___\n\t */\n\tpublic static readonly SHR_ASSIGN = new Token('>>>=', 2);\n\n\t/**\n\t * ___ . ___\n\t */\n\tpublic static readonly PERIOD = new Token('.', 0);\n\n\t/**\n\t * ___ ?. ___\n\t * \n\t * ___?.[___]\n\t * \n\t * ___?.()\n\t */\n\tpublic static readonly QUESTION_PERIOD = new Token('?.', 0);\n\n\t/**\n\t * ___ :: ___\n\t */\n\tpublic static readonly BIND = new Token('::', 0);\n\n\t/**\n\t * ___ ?:: ___\n\t * \n\t * ___?::[___]\n\t * \n\t * ___?::()\n\t */\n\tpublic static readonly QUESTION_BIND = new Token('?::', 0);\n\n\t/**\n\t * (\n\t */\n\tpublic static readonly LPAREN = new Token('(', 0);\n\n\t/**\n\t * )\n\t */\n\tpublic static readonly RPAREN = new Token(')', 0);\n\n\t/**\n\t * [\n\t */\n\tpublic static readonly LBRACK = new Token('[', 0);\n\n\t/**\n\t * ]\n\t */\n\tpublic static readonly RBRACK = new Token(']', 0);\n\n\t/**\n\t * {\n\t */\n\tpublic static readonly LBRACE = new Token('{', 0);\n\n\t/**\n\t * }\n\t */\n\tpublic static readonly RBRACE = new Token('}', 0);\n\n\t/**\n\t * :\n\t */\n\tpublic static readonly COLON = new Token(':', 0);\n\n\t/**\n\t * ...\n\t */\n\tpublic static readonly ELLIPSIS = new Token('...', 0);\n\n\t/**\n\t * ;\n\t */\n\tpublic static readonly SEMICOLON = new Token(';', 0);\n\n\t/**\n\t * end of source\n\t */\n\tpublic static readonly EOS = new Token('EOS', 0);\n\n\t/**\n\t * =>\n\t */\n\tpublic static readonly ARROW = new Token('=>', 0);\n\n\t/**\n\t * ___, ___, ___\n\t */\n\tpublic static readonly COMMA = new Token(',', 1);\n\tpublic static readonly ASYNC = new Token('async', 0);\n\tpublic static readonly AWAIT = new Token('await', 0);\n\tpublic static readonly BREAK = new Token('break', 0);\n\tpublic static readonly CASE = new Token('case', 0);\n\tpublic static readonly CATCH = new Token('catch', 0);\n\tpublic static readonly CLASS = new Token('class', 0);\n\tpublic static readonly CONST = new Token('const', 0);\n\tpublic static readonly CONTINUE = new Token('continue', 0);\n\tpublic static readonly DEBUGGER = new Token('debugger', 0);\n\tpublic static readonly DEFAULT = new Token('default', 0);\n\tpublic static readonly DELETE = new Token('delete', 0);\n\tpublic static readonly DO = new Token('do', 0);\n\tpublic static readonly ELSE = new Token('else', 0);\n\tpublic static readonly ENUM = new Token('enum', 0);\n\tpublic static readonly EXPORT = new Token('export', 0);\n\tpublic static readonly EXTENDS = new Token('extends', 0);\n\tpublic static readonly FALSE_LITERAL = new Token('false', 0);\n\tpublic static readonly FINALLY = new Token('finally', 0);\n\tpublic static readonly FOR = new Token('for', 0);\n\tpublic static readonly FUNCTION = new Token('function', 0);\n\tpublic static readonly GET = new Token('get', 0);\n\tpublic static readonly IF = new Token('if', 0);\n\tpublic static readonly IMPLEMENTS = new Token('implements', 0);\n\tpublic static readonly IMPORT = new Token('import', 0);\n\tpublic static readonly PRIVATE_NAME = new Token('PRIVATE_NAME', 0);\n\tpublic static readonly IN = new Token('in', 10);\n\tpublic static readonly INSTANCEOF = new Token('instanceof', 10);\n\tpublic static readonly LET = new Token('let', 0);\n\tpublic static readonly NEW = new Token('new', 0);\n\tpublic static readonly NULL_LITERAL = new Token('null', 0);\n\tpublic static readonly UNDEFINED_LITERAL = new Token('undefined', 0);\n\tpublic static readonly PACKAGE = new Token('package', 0);\n\tpublic static readonly INTERFACE = new Token('interface', 0);\n\tpublic static readonly PRIVATE = new Token('private', 0);\n\tpublic static readonly PROTECTED = new Token('protected', 0);\n\tpublic static readonly PUBLIC = new Token('public', 0);\n\tpublic static readonly RETURN = new Token('return', 0);\n\tpublic static readonly SET = new Token('set', 0);\n\tpublic static readonly STATIC = new Token('static', 0);\n\tpublic static readonly SUPER = new Token('super', 0);\n\tpublic static readonly SWITCH = new Token('switch', 0);\n\tpublic static readonly THIS = new Token('this', 0);\n\tpublic static readonly THROW = new Token('throw', 0);\n\tpublic static readonly TRUE_LITERAL = new Token('true', 0);\n\tpublic static readonly TRY = new Token('try', 0);\n\tpublic static readonly TYPEOF = new Token('typeof', 0);\n\tpublic static readonly VAR = new Token('var', 0);\n\tpublic static readonly VOID = new Token('void', 0);\n\tpublic static readonly WHILE = new Token('while', 0);\n\tpublic static readonly WITH = new Token('with', 0);\n\tpublic static readonly YIELD = new Token('yield', 0);\n\tpublic static readonly NUMBER = new Token('NUMBER', 0);\n\tpublic static readonly BIGINT = new Token('BIGINT', 0);\n\tpublic static readonly STRING = new Token('STRING', 0);\n\tpublic static readonly IDENTIFIER = new Token('IDENTIFIER', 0);\n\t/**\n\t * TEMPLATE_SPAN ::\n\t * \n\t * \t\t` LiteralChars* ${\n\t * \t\t| } LiteralChars* ${\n\t */\n\tpublic static readonly TEMPLATE_SPAN = new Token('TEMPLATE_SPAN', 0);\n\n\t/**\n\t * TEMPLATE_TAIL ::\n\t * \n\t * \t\t` LiteralChars* `\n\t * \t\t| } LiteralChar* `\n\t */\n\tpublic static readonly TEMPLATE_TAIL = new Token('TEMPLATE_TAIL', 0);\n\tpublic static readonly ILLEGAL = new Token('ILLEGAL', 0);\n\tpublic static readonly ESCAPED_KEYWORD = new Token('ESCAPED_KEYWORD', 0);\n\tpublic static readonly WHITESPACE = new Token('WHITESPACE', 0);\n\tpublic static readonly REGEXP_LITERAL = new Token('REGEXP_LITERAL', 0);\n\n\n\tpublic static isPair(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.LPAREN:\n\t\t\tcase Token.LBRACK:\n\t\t\tcase Token.LBRACE:\n\t\t\tcase Token.RBRACE:\n\t\t\tcase Token.RBRACK:\n\t\t\tcase Token.RPAREN:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\tpublic static isOpenPair(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.LPAREN:\n\t\t\tcase Token.LBRACK:\n\t\t\tcase Token.LBRACE:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\tpublic static isClosePair(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.RBRACE:\n\t\t\tcase Token.RBRACK:\n\t\t\tcase Token.RPAREN:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\tpublic static openOf(token: Token): Token {\n\t\tswitch (token) {\n\t\t\tcase Token.RBRACE:\n\t\t\t\treturn Token.LBRACE;\n\t\t\tcase Token.RBRACK:\n\t\t\t\treturn Token.LBRACK;\n\t\t\tcase Token.RPAREN:\n\t\t\t\treturn Token.LPAREN;\n\t\t}\n\t\treturn token;\n\t}\n\tpublic static closeOf(token: Token): Token {\n\t\tswitch (token) {\n\t\t\tcase Token.LBRACE:\n\t\t\t\treturn Token.RBRACE;\n\t\t\tcase Token.LBRACK:\n\t\t\t\treturn Token.RBRACK;\n\t\t\tcase Token.LPAREN:\n\t\t\t\treturn Token.RPAREN;\n\t\t}\n\t\treturn token;\n\t}\n\tpublic static isAnyIdentifier(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.IDENTIFIER:\n\t\t\tcase Token.GET:\n\t\t\tcase Token.SET:\n\t\t\tcase Token.ASYNC:\n\t\t\tcase Token.AWAIT:\n\t\t\tcase Token.YIELD:\n\t\t\tcase Token.LET:\n\t\t\tcase Token.STATIC:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isIdentifier(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.IDENTIFIER:\n\t\t\tcase Token.GET:\n\t\t\tcase Token.SET:\n\t\t\tcase Token.ASYNC:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isLiteral(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.UNDEFINED_LITERAL:\n\t\t\tcase Token.NULL_LITERAL:\n\t\t\tcase Token.TRUE_LITERAL:\n\t\t\tcase Token.FALSE_LITERAL:\n\t\t\tcase Token.NUMBER:\n\t\t\tcase Token.BIGINT:\n\t\t\tcase Token.STRING:\n\t\t\tcase Token.REGEXP_LITERAL:\n\t\t\t\t// case Token.SMI:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isArrowOrAssignmentOp(token: Token) {\n\t\treturn token === Token.ARROW || this.isAssignment(token);\n\t}\n\tpublic static isAssignment(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.ASSIGN:\n\t\t\tcase Token.ADD_ASSIGN:\n\t\t\tcase Token.SUB_ASSIGN:\n\t\t\tcase Token.MUL_ASSIGN:\n\t\t\tcase Token.DIV_ASSIGN:\n\t\t\tcase Token.MOD_ASSIGN:\n\t\t\tcase Token.MODULO_ASSIGN:\n\t\t\tcase Token.EXP_ASSIGN:\n\t\t\tcase Token.BIT_XOR_ASSIGN:\n\t\t\tcase Token.BIT_AND_ASSIGN:\n\t\t\tcase Token.BIT_OR_ASSIGN:\n\t\t\tcase Token.AND_ASSIGN:\n\t\t\tcase Token.OR_ASSIGN:\n\t\t\tcase Token.NULLISH_ASSIGN:\n\t\t\tcase Token.SHL_ASSIGN:\n\t\t\tcase Token.SAR_ASSIGN:\n\t\t\tcase Token.SHR_ASSIGN:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isLogicalAssignmentOp(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.AND_ASSIGN:\n\t\t\tcase Token.OR_ASSIGN:\n\t\t\tcase Token.NULLISH_ASSIGN:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isAutoSemicolon(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.SEMICOLON:\n\t\t\tcase Token.RBRACE:\n\t\t\tcase Token.EOS:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isMember(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.TEMPLATE_SPAN:\n\t\t\tcase Token.TEMPLATE_TAIL:\n\t\t\tcase Token.PERIOD:\n\t\t\tcase Token.LBRACK:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isTemplate(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.TEMPLATE_SPAN:\n\t\t\tcase Token.TEMPLATE_TAIL:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isNextLetKeyword(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.LBRACE:\n\t\t\tcase Token.LBRACK:\n\t\t\tcase Token.IDENTIFIER:\n\t\t\tcase Token.STATIC:\n\t\t\tcase Token.LET: // `let let;` is disallowed by static semantics, but the\n\t\t\t// token must be first interpreted as a keyword in order\n\t\t\t// for those semantics to apply. This ensures that ASI is\n\t\t\t// not honored when a LineTerminator separates the tokens.\n\t\t\tcase Token.YIELD:\n\t\t\tcase Token.AWAIT:\n\t\t\tcase Token.GET:\n\t\t\tcase Token.SET:\n\t\t\tcase Token.ASYNC:\n\t\t\t\treturn true;\n\t\t\t// case Token.FUTURE_STRICT_RESERVED_WORD:\n\t\t\t// return is_sloppy(language_mode());\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic static isInRangeIdentifierAndAsync(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.IDENTIFIER:\n\t\t\tcase Token.GET:\n\t\t\tcase Token.SET:\n\t\t\tcase Token.ASYNC:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\tpublic static isPropertyOrCall(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.TEMPLATE_SPAN:\n\t\t\tcase Token.TEMPLATE_TAIL:\n\t\t\tcase Token.PERIOD:\n\t\t\tcase Token.LBRACK:\n\t\t\tcase Token.QUESTION_PERIOD:\n\t\t\tcase Token.LPAREN:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isPropertyName(token: Token) {\n\t\treturn /\\w/.test(token.getName());\n\t}\n\tprivate static isInRange(op: number, start: Token, end: Token) {\n\t\treturn op >= start.precedence && op <= end.precedence;\n\t}\n\tpublic static isProperty(token: number | Token) {\n\t\tif (token instanceof Token) {\n\t\t\ttoken = token.precedence;\n\t\t}\n\t\treturn Token.isInRange(token, Token.PERIOD, Token.LBRACK);\n\t}\n\tpublic static isBinary(token: number | Token) {\n\t\tif (token instanceof Token) {\n\t\t\ttoken = token.precedence;\n\t\t}\n\t\treturn Token.isInRange(token, Token.COMMA, Token.SUB);\n\t}\n\n\tpublic static isCompare(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.EQ:\n\t\t\tcase Token.EQ_STRICT:\n\t\t\tcase Token.NE:\n\t\t\tcase Token.NE_STRICT:\n\t\t\tcase Token.LT:\n\t\t\tcase Token.GT:\n\t\t\tcase Token.LTE:\n\t\t\tcase Token.GTE:\n\t\t\tcase Token.SPACESHIP:\n\t\t\tcase Token.INSTANCEOF:\n\t\t\tcase Token.IN:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isOrderedRelationalCompare(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.LT:\n\t\t\tcase Token.GT:\n\t\t\tcase Token.LTE:\n\t\t\tcase Token.GTE:\n\t\t\tcase Token.SPACESHIP:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isEquality(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.EQ:\n\t\t\tcase Token.EQ_STRICT:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static binaryOpForAssignment(token: Token) {\n\t\tif (Token.isInRange(token.precedence, Token.NULLISH_ASSIGN, Token.SUB_ASSIGN)) {\n\t\t\tconst result = token.precedence - Token.NULLISH_ASSIGN.precedence + Token.NULLISH.precedence;\n\t\t\treturn Token.isBinary(result);\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isBitOp(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.BIT_NOT:\n\t\t\tcase Token.BIT_OR:\n\t\t\tcase Token.BIT_XOR:\n\t\t\tcase Token.BIT_AND:\n\t\t\tcase Token.SHL:\n\t\t\tcase Token.SAR:\n\t\t\tcase Token.SHR:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isUnary(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.ADD:\n\t\t\tcase Token.SUB:\n\t\t\tcase Token.NOT:\n\t\t\tcase Token.BIT_NOT:\n\t\t\tcase Token.DELETE:\n\t\t\tcase Token.AWAIT:\n\t\t\tcase Token.TYPEOF:\n\t\t\tcase Token.VOID:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isCount(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.INC:\n\t\t\tcase Token.DEC:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isUnaryOrCount(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.ADD:\n\t\t\tcase Token.SUB:\n\t\t\tcase Token.INC:\n\t\t\tcase Token.DEC:\n\t\t\tcase Token.NOT:\n\t\t\tcase Token.BIT_NOT:\n\t\t\tcase Token.DELETE:\n\t\t\tcase Token.AWAIT:\n\t\t\tcase Token.TYPEOF:\n\t\t\tcase Token.VOID:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isShift(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.SHL:\n\t\t\tcase Token.SAR:\n\t\t\tcase Token.SHR:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isStrictReservedWord(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.IMPLEMENTS:\n\t\t\tcase Token.INTERFACE:\n\t\t\tcase Token.LET:\n\t\t\tcase Token.PACKAGE:\n\t\t\tcase Token.PRIVATE:\n\t\t\tcase Token.PROTECTED:\n\t\t\tcase Token.PUBLIC:\n\t\t\tcase Token.STATIC:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isPipelineOperator(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.PIPELINE:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isValidIdentifier(token: Token, mode: LanguageMode, isGenerator: boolean, disallowAwait: boolean) {\n\t\tif (Token.isInRangeIdentifierAndAsync(token)) return true;\n\t\tif (token == Token.AWAIT) return !disallowAwait;\n\t\tif (token == Token.YIELD) return !isGenerator;\n\t\treturn Token.isStrictReservedWord(token) && isSloppy(mode);\n\t}\n\n\tpublic static precedence(token: Token, acceptIN: boolean) {\n\t\tif (!acceptIN && Token.IN === token) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn token.getPrecedence();\n\t}\n\n\tconstructor(private name: string, private precedence: number) { }\n\tgetName() {\n\t\treturn this.name;\n\t}\n\tgetPrecedence() {\n\t\treturn this.precedence;\n\t}\n\tequal(token: Token) {\n\t\treturn this === token || this.name === token.name;\n\t}\n}\n\nexport class TokenExpression {\n\tconstructor(public token: Token, public range: [number, number], public value?: ExpressionNode) { }\n\tgetValue<T extends ExpressionNode>(): T {\n\t\treturn this.value! as T;\n\t}\n\tisType(type: Token) {\n\t\treturn this.token === type;\n\t}\n\tisNotType(type: Token) {\n\t\treturn this.token !== type;\n\t}\n\n\ttest(func: (token: Token, value?: ExpressionNode) => boolean): boolean {\n\t\treturn func(this.token, this.value);\n\t}\n\ttoString(): string {\n\t\treturn JSON.stringify(this);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/expressions/v8/token.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ExpressionNode } from '../api/expression.js';\nimport { isSloppy, LanguageMode, } from './language.js';\n\nexport class Token {\n\n\t/**\n\t * ___ ? ___ : ___\n\t */\n\tpublic static readonly CONDITIONAL = new Token('?', 3);\n\n\t/**\n\t * ___ ?? ___\n\t */\n\tpublic static readonly NULLISH = new Token('??', 3);\n\n\t/**\n\t * ___ |> ___ : ___ : ?\n\t * ___ |> ___ ( ___, ___ , ?)\n\t */\n\tpublic static readonly PIPELINE = new Token('|>', 3);\n\n\t/**\n\t * ___ || ___\n\t */\n\tpublic static readonly OR = new Token('||', 4);\n\n\t/**\n\t * ___ && ___\n\t */\n\tpublic static readonly AND = new Token('&&', 5);\n\n\t/**\n\t * ___ | ___\n\t */\n\tpublic static readonly BIT_OR = new Token('|', 6);\n\n\t/**\n\t * ___ ^ ___\n\t */\n\tpublic static readonly BIT_XOR = new Token('^', 7);\n\n\t/**\n\t * ___ | ___\n\t */\n\tpublic static readonly BIT_AND = new Token('&', 8);\n\n\t/**\n\t * ___ << ___\n\t */\n\tpublic static readonly SHL = new Token('<<', 11);\n\n\t/**\n\t * ___ >> ___\n\t */\n\tpublic static readonly SAR = new Token('>>', 11);\n\n\t/**\n\t * ___ >>> ___\n\t */\n\tpublic static readonly SHR = new Token('>>>', 11);\n\n\t/**\n\t * ___ * ___\n\t */\n\tpublic static readonly MUL = new Token('*', 13);\n\n\t/**\n\t * ___ / ___\n\t */\n\tpublic static readonly DIV = new Token('/', 13);\n\n\t/**\n\t * ___ % ___\n\t */\n\tpublic static readonly MOD = new Token('%', 13);\n\n\t/**\n\t * ___ %% ___\n\t */\n\tpublic static readonly MODULO = new Token('%%', 13);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly LARGER = new Token('>?', 13);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly SMALLER = new Token('<?', 13);\n\n\t/**\n\t * ___ ** ___\n\t */\n\tpublic static readonly EXP = new Token('**', 14);\n\n\t/**\n\t * ___ + ___\n\t */\n\tpublic static readonly ADD = new Token('+', 12);\n\n\t/**\n\t * ___ - ___\n\t */\n\tpublic static readonly SUB = new Token('-', 12);\n\n\t/**\n\t * ! ___\n\t */\n\tpublic static readonly NOT = new Token('!', 0);\n\n\t/**\n\t * ~ ___\n\t */\n\tpublic static readonly BIT_NOT = new Token('~', 0);\n\n\t/**\n\t * ___ < ___\n\t */\n\tpublic static readonly LT = new Token('<', 10);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly GT = new Token('>', 10);\n\n\t/**\n\t * ___++\n\t * \n\t * ++___\n\t */\n\tpublic static readonly INC = new Token('++', 0);\n\n\t/**\n\t * ___--\n\t * \n\t * --___\n\t */\n\tpublic static readonly DEC = new Token('--', 0);\n\n\t/**\n\t * ___ == ___\n\t */\n\tpublic static readonly EQ = new Token('==', 9);\n\n\t/**\n\t * ___ === ___\n\t */\n\tpublic static readonly EQ_STRICT = new Token('===', 9);\n\n\t/**\n\t * ___ != ___\n\t */\n\tpublic static readonly NE = new Token('!=', 9);\n\n\t/**\n\t * ___ !== ___\n\t */\n\tpublic static readonly NE_STRICT = new Token('!==', 9);\n\n\t/**\n\t * ___ <= ___\n\t */\n\tpublic static readonly LTE = new Token('<=', 10);\n\n\t/**\n\t * ___ >= ___\n\t */\n\tpublic static readonly GTE = new Token('>=', 10);\n\n\t/**\n\t * ___ <=> ___\n\t */\n\tpublic static readonly SPACESHIP = new Token('<=>', 10);\n\n\t/**\n\t * ___ = ___\n\t */\n\tpublic static readonly ASSIGN = new Token('=', 2);\n\n\t/**\n\t * ___ += ___\n\t */\n\tpublic static readonly ADD_ASSIGN = new Token('+=', 2);\n\n\t/**\n\t * ___ -= ___\n\t */\n\tpublic static readonly SUB_ASSIGN = new Token('-=', 2);\n\n\t/**\n\t * ___ *= ___\n\t */\n\tpublic static readonly MUL_ASSIGN = new Token('*=', 2);\n\n\t/**\n\t * ___ /= ___\n\t */\n\tpublic static readonly DIV_ASSIGN = new Token('/=', 2);\n\n\t/**\n\t * ___ %= ___\n\t */\n\tpublic static readonly MOD_ASSIGN = new Token('%=', 2);\n\n\t/**\n\t * ___ %% ___\n\t */\n\tpublic static readonly MODULO_ASSIGN = new Token('%%=', 2);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly LARGER_ASSIGN = new Token('>?=', 2);\n\n\t/**\n\t * ___ > ___\n\t */\n\tpublic static readonly SMALLER_ASSIGN = new Token('<?=', 2);\n\n\t/**\n\t * ___ **= ___\n\t */\n\tpublic static readonly EXP_ASSIGN = new Token('**=', 2);\n\n\t/**\n\t * ___ ^= ___\n\t */\n\tpublic static readonly BIT_XOR_ASSIGN = new Token('^=', 2);\n\n\t/**\n\t * ___ &= ___\n\t */\n\tpublic static readonly BIT_AND_ASSIGN = new Token('&=', 2);\n\n\t/**\n\t * ___ |= ___\n\t */\n\tpublic static readonly BIT_OR_ASSIGN = new Token('|=', 2);\n\n\t/**\n\t * ___ &&= ___\n\t */\n\tpublic static readonly AND_ASSIGN = new Token('&&=', 2);\n\n\t/**\n\t * ___ ||= ___\n\t */\n\tpublic static readonly OR_ASSIGN = new Token('||=', 2);\n\n\t/**\n\t * ___ ??= ___\n\t */\n\tpublic static readonly NULLISH_ASSIGN = new Token('??=', 2);\n\n\t/**\n\t * ___ <<= ___\n\t */\n\tpublic static readonly SHL_ASSIGN = new Token('<<=', 2);\n\n\t/**\n\t * ___ >>= ___\n\t */\n\tpublic static readonly SAR_ASSIGN = new Token('>>=', 2);\n\n\t/**\n\t * ___ >>>= ___\n\t */\n\tpublic static readonly SHR_ASSIGN = new Token('>>>=', 2);\n\n\t/**\n\t * ___ . ___\n\t */\n\tpublic static readonly PERIOD = new Token('.', 0);\n\n\t/**\n\t * ___ ?. ___\n\t * \n\t * ___?.[___]\n\t * \n\t * ___?.()\n\t */\n\tpublic static readonly QUESTION_PERIOD = new Token('?.', 0);\n\n\t/**\n\t * ___ :: ___\n\t */\n\tpublic static readonly BIND = new Token('::', 0);\n\n\t/**\n\t * ___ ?:: ___\n\t * \n\t * ___?::[___]\n\t * \n\t * ___?::()\n\t */\n\tpublic static readonly QUESTION_BIND = new Token('?::', 0);\n\n\t/**\n\t * (\n\t */\n\tpublic static readonly LPAREN = new Token('(', 0);\n\n\t/**\n\t * )\n\t */\n\tpublic static readonly RPAREN = new Token(')', 0);\n\n\t/**\n\t * [\n\t */\n\tpublic static readonly LBRACK = new Token('[', 0);\n\n\t/**\n\t * ]\n\t */\n\tpublic static readonly RBRACK = new Token(']', 0);\n\n\t/**\n\t * {\n\t */\n\tpublic static readonly LBRACE = new Token('{', 0);\n\n\t/**\n\t * }\n\t */\n\tpublic static readonly RBRACE = new Token('}', 0);\n\n\t/**\n\t * :\n\t */\n\tpublic static readonly COLON = new Token(':', 0);\n\n\t/**\n\t * ...\n\t */\n\tpublic static readonly ELLIPSIS = new Token('...', 0);\n\n\t/**\n\t * ;\n\t */\n\tpublic static readonly SEMICOLON = new Token(';', 0);\n\n\t/**\n\t * end of source\n\t */\n\tpublic static readonly EOS = new Token('EOS', 0);\n\n\t/**\n\t * =>\n\t */\n\tpublic static readonly ARROW = new Token('=>', 0);\n\n\t/**\n\t * ___, ___, ___\n\t */\n\tpublic static readonly COMMA = new Token(',', 1);\n\tpublic static readonly ASYNC = new Token('async', 0);\n\tpublic static readonly AWAIT = new Token('await', 0);\n\tpublic static readonly BREAK = new Token('break', 0);\n\tpublic static readonly CASE = new Token('case', 0);\n\tpublic static readonly CATCH = new Token('catch', 0);\n\tpublic static readonly CLASS = new Token('class', 0);\n\tpublic static readonly CONST = new Token('const', 0);\n\tpublic static readonly CONTINUE = new Token('continue', 0);\n\tpublic static readonly DEBUGGER = new Token('debugger', 0);\n\tpublic static readonly DEFAULT = new Token('default', 0);\n\tpublic static readonly DELETE = new Token('delete', 0);\n\tpublic static readonly DO = new Token('do', 0);\n\tpublic static readonly ELSE = new Token('else', 0);\n\tpublic static readonly ENUM = new Token('enum', 0);\n\tpublic static readonly EXPORT = new Token('export', 0);\n\tpublic static readonly EXTENDS = new Token('extends', 0);\n\tpublic static readonly FALSE_LITERAL = new Token('false', 0);\n\tpublic static readonly FINALLY = new Token('finally', 0);\n\tpublic static readonly FOR = new Token('for', 0);\n\tpublic static readonly FUNCTION = new Token('function', 0);\n\tpublic static readonly GET = new Token('get', 0);\n\tpublic static readonly IF = new Token('if', 0);\n\tpublic static readonly IMPLEMENTS = new Token('implements', 0);\n\tpublic static readonly IMPORT = new Token('import', 0);\n\tpublic static readonly PRIVATE_NAME = new Token('PRIVATE_NAME', 0);\n\tpublic static readonly IN = new Token('in', 10);\n\tpublic static readonly INSTANCEOF = new Token('instanceof', 10);\n\tpublic static readonly LET = new Token('let', 0);\n\tpublic static readonly NEW = new Token('new', 0);\n\tpublic static readonly NULL_LITERAL = new Token('null', 0);\n\tpublic static readonly UNDEFINED_LITERAL = new Token('undefined', 0);\n\tpublic static readonly PACKAGE = new Token('package', 0);\n\tpublic static readonly INTERFACE = new Token('interface', 0);\n\tpublic static readonly PRIVATE = new Token('private', 0);\n\tpublic static readonly PROTECTED = new Token('protected', 0);\n\tpublic static readonly PUBLIC = new Token('public', 0);\n\tpublic static readonly RETURN = new Token('return', 0);\n\tpublic static readonly SET = new Token('set', 0);\n\tpublic static readonly STATIC = new Token('static', 0);\n\tpublic static readonly SUPER = new Token('super', 0);\n\tpublic static readonly SWITCH = new Token('switch', 0);\n\tpublic static readonly THIS = new Token('this', 0);\n\tpublic static readonly THROW = new Token('throw', 0);\n\tpublic static readonly TRUE_LITERAL = new Token('true', 0);\n\tpublic static readonly TRY = new Token('try', 0);\n\tpublic static readonly TYPEOF = new Token('typeof', 0);\n\tpublic static readonly VAR = new Token('var', 0);\n\tpublic static readonly VOID = new Token('void', 0);\n\tpublic static readonly WHILE = new Token('while', 0);\n\tpublic static readonly WITH = new Token('with', 0);\n\tpublic static readonly YIELD = new Token('yield', 0);\n\tpublic static readonly NUMBER = new Token('NUMBER', 0);\n\tpublic static readonly BIGINT = new Token('BIGINT', 0);\n\tpublic static readonly STRING = new Token('STRING', 0);\n\tpublic static readonly IDENTIFIER = new Token('IDENTIFIER', 0);\n\t/**\n\t * TEMPLATE_SPAN ::\n\t * \n\t * \t\t` LiteralChars* ${\n\t * \t\t| } LiteralChars* ${\n\t */\n\tpublic static readonly TEMPLATE_SPAN = new Token('TEMPLATE_SPAN', 0);\n\n\t/**\n\t * TEMPLATE_TAIL ::\n\t * \n\t * \t\t` LiteralChars* `\n\t * \t\t| } LiteralChar* `\n\t */\n\tpublic static readonly TEMPLATE_TAIL = new Token('TEMPLATE_TAIL', 0);\n\tpublic static readonly ILLEGAL = new Token('ILLEGAL', 0);\n\tpublic static readonly ESCAPED_KEYWORD = new Token('ESCAPED_KEYWORD', 0);\n\tpublic static readonly WHITESPACE = new Token('WHITESPACE', 0);\n\tpublic static readonly REGEXP_LITERAL = new Token('REGEXP_LITERAL', 0);\n\n\n\tpublic static isPair(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.LPAREN:\n\t\t\tcase Token.LBRACK:\n\t\t\tcase Token.LBRACE:\n\t\t\tcase Token.RBRACE:\n\t\t\tcase Token.RBRACK:\n\t\t\tcase Token.RPAREN:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\tpublic static isOpenPair(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.LPAREN:\n\t\t\tcase Token.LBRACK:\n\t\t\tcase Token.LBRACE:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\tpublic static isClosePair(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.RBRACE:\n\t\t\tcase Token.RBRACK:\n\t\t\tcase Token.RPAREN:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\tpublic static openOf(token: Token): Token {\n\t\tswitch (token) {\n\t\t\tcase Token.RBRACE:\n\t\t\t\treturn Token.LBRACE;\n\t\t\tcase Token.RBRACK:\n\t\t\t\treturn Token.LBRACK;\n\t\t\tcase Token.RPAREN:\n\t\t\t\treturn Token.LPAREN;\n\t\t}\n\t\treturn token;\n\t}\n\tpublic static closeOf(token: Token): Token {\n\t\tswitch (token) {\n\t\t\tcase Token.LBRACE:\n\t\t\t\treturn Token.RBRACE;\n\t\t\tcase Token.LBRACK:\n\t\t\t\treturn Token.RBRACK;\n\t\t\tcase Token.LPAREN:\n\t\t\t\treturn Token.RPAREN;\n\t\t}\n\t\treturn token;\n\t}\n\tpublic static isAnyIdentifier(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.IDENTIFIER:\n\t\t\tcase Token.GET:\n\t\t\tcase Token.SET:\n\t\t\tcase Token.ASYNC:\n\t\t\tcase Token.AWAIT:\n\t\t\tcase Token.YIELD:\n\t\t\tcase Token.LET:\n\t\t\tcase Token.STATIC:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isIdentifier(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.IDENTIFIER:\n\t\t\tcase Token.GET:\n\t\t\tcase Token.SET:\n\t\t\tcase Token.ASYNC:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isLiteral(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.UNDEFINED_LITERAL:\n\t\t\tcase Token.NULL_LITERAL:\n\t\t\tcase Token.TRUE_LITERAL:\n\t\t\tcase Token.FALSE_LITERAL:\n\t\t\tcase Token.NUMBER:\n\t\t\tcase Token.BIGINT:\n\t\t\tcase Token.STRING:\n\t\t\tcase Token.REGEXP_LITERAL:\n\t\t\t\t// case Token.SMI:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isArrowOrAssignmentOp(token: Token) {\n\t\treturn token === Token.ARROW || this.isAssignment(token);\n\t}\n\tpublic static isAssignment(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.ASSIGN:\n\t\t\tcase Token.ADD_ASSIGN:\n\t\t\tcase Token.SUB_ASSIGN:\n\t\t\tcase Token.MUL_ASSIGN:\n\t\t\tcase Token.DIV_ASSIGN:\n\t\t\tcase Token.MOD_ASSIGN:\n\t\t\tcase Token.MODULO_ASSIGN:\n\t\t\tcase Token.EXP_ASSIGN:\n\t\t\tcase Token.BIT_XOR_ASSIGN:\n\t\t\tcase Token.BIT_AND_ASSIGN:\n\t\t\tcase Token.BIT_OR_ASSIGN:\n\t\t\tcase Token.AND_ASSIGN:\n\t\t\tcase Token.OR_ASSIGN:\n\t\t\tcase Token.NULLISH_ASSIGN:\n\t\t\tcase Token.SHL_ASSIGN:\n\t\t\tcase Token.SAR_ASSIGN:\n\t\t\tcase Token.SHR_ASSIGN:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isLogicalAssignmentOp(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.AND_ASSIGN:\n\t\t\tcase Token.OR_ASSIGN:\n\t\t\tcase Token.NULLISH_ASSIGN:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isAutoSemicolon(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.SEMICOLON:\n\t\t\tcase Token.RBRACE:\n\t\t\tcase Token.EOS:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isMember(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.TEMPLATE_SPAN:\n\t\t\tcase Token.TEMPLATE_TAIL:\n\t\t\tcase Token.PERIOD:\n\t\t\tcase Token.LBRACK:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isTemplate(token: Token): boolean {\n\t\tswitch (token) {\n\t\t\tcase Token.TEMPLATE_SPAN:\n\t\t\tcase Token.TEMPLATE_TAIL:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isNextLetKeyword(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.LBRACE:\n\t\t\tcase Token.LBRACK:\n\t\t\tcase Token.IDENTIFIER:\n\t\t\tcase Token.STATIC:\n\t\t\tcase Token.LET: // `let let;` is disallowed by static semantics, but the\n\t\t\t// token must be first interpreted as a keyword in order\n\t\t\t// for those semantics to apply. This ensures that ASI is\n\t\t\t// not honored when a LineTerminator separates the tokens.\n\t\t\tcase Token.YIELD:\n\t\t\tcase Token.AWAIT:\n\t\t\tcase Token.GET:\n\t\t\tcase Token.SET:\n\t\t\tcase Token.ASYNC:\n\t\t\t\treturn true;\n\t\t\t// case Token.FUTURE_STRICT_RESERVED_WORD:\n\t\t\t// return is_sloppy(language_mode());\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic static isInRangeIdentifierAndAsync(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.IDENTIFIER:\n\t\t\tcase Token.GET:\n\t\t\tcase Token.SET:\n\t\t\tcase Token.ASYNC:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\tpublic static isPropertyOrCall(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.TEMPLATE_SPAN:\n\t\t\tcase Token.TEMPLATE_TAIL:\n\t\t\tcase Token.PERIOD:\n\t\t\tcase Token.LBRACK:\n\t\t\tcase Token.QUESTION_PERIOD:\n\t\t\tcase Token.LPAREN:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isPropertyName(token: Token) {\n\t\treturn /\\w/.test(token.getName());\n\t}\n\tprivate static isInRange(op: number, start: Token, end: Token) {\n\t\treturn op >= start.precedence && op <= end.precedence;\n\t}\n\tpublic static isProperty(token: number | Token) {\n\t\tif (token instanceof Token) {\n\t\t\ttoken = token.precedence;\n\t\t}\n\t\treturn Token.isInRange(token, Token.PERIOD, Token.LBRACK);\n\t}\n\tpublic static isBinary(token: number | Token) {\n\t\tif (token instanceof Token) {\n\t\t\ttoken = token.precedence;\n\t\t}\n\t\treturn Token.isInRange(token, Token.COMMA, Token.SUB);\n\t}\n\n\tpublic static isCompare(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.EQ:\n\t\t\tcase Token.EQ_STRICT:\n\t\t\tcase Token.NE:\n\t\t\tcase Token.NE_STRICT:\n\t\t\tcase Token.LT:\n\t\t\tcase Token.GT:\n\t\t\tcase Token.LTE:\n\t\t\tcase Token.GTE:\n\t\t\tcase Token.SPACESHIP:\n\t\t\tcase Token.INSTANCEOF:\n\t\t\tcase Token.IN:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isOrderedRelationalCompare(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.LT:\n\t\t\tcase Token.GT:\n\t\t\tcase Token.LTE:\n\t\t\tcase Token.GTE:\n\t\t\tcase Token.SPACESHIP:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isEquality(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.EQ:\n\t\t\tcase Token.EQ_STRICT:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static binaryOpForAssignment(token: Token) {\n\t\tif (Token.isInRange(token.precedence, Token.NULLISH_ASSIGN, Token.SUB_ASSIGN)) {\n\t\t\tconst result = token.precedence - Token.NULLISH_ASSIGN.precedence + Token.NULLISH.precedence;\n\t\t\treturn Token.isBinary(result);\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isBitOp(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.BIT_NOT:\n\t\t\tcase Token.BIT_OR:\n\t\t\tcase Token.BIT_XOR:\n\t\t\tcase Token.BIT_AND:\n\t\t\tcase Token.SHL:\n\t\t\tcase Token.SAR:\n\t\t\tcase Token.SHR:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isUnary(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.ADD:\n\t\t\tcase Token.SUB:\n\t\t\tcase Token.NOT:\n\t\t\tcase Token.BIT_NOT:\n\t\t\tcase Token.DELETE:\n\t\t\tcase Token.AWAIT:\n\t\t\tcase Token.TYPEOF:\n\t\t\tcase Token.VOID:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isCount(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.INC:\n\t\t\tcase Token.DEC:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isUnaryOrCount(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.ADD:\n\t\t\tcase Token.SUB:\n\t\t\tcase Token.INC:\n\t\t\tcase Token.DEC:\n\t\t\tcase Token.NOT:\n\t\t\tcase Token.BIT_NOT:\n\t\t\tcase Token.DELETE:\n\t\t\tcase Token.AWAIT:\n\t\t\tcase Token.TYPEOF:\n\t\t\tcase Token.VOID:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isShift(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.SHL:\n\t\t\tcase Token.SAR:\n\t\t\tcase Token.SHR:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tpublic static isStrictReservedWord(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.IMPLEMENTS:\n\t\t\tcase Token.INTERFACE:\n\t\t\tcase Token.LET:\n\t\t\tcase Token.PACKAGE:\n\t\t\tcase Token.PRIVATE:\n\t\t\tcase Token.PROTECTED:\n\t\t\tcase Token.PUBLIC:\n\t\t\tcase Token.STATIC:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isPipelineOperator(token: Token) {\n\t\tswitch (token) {\n\t\t\tcase Token.PIPELINE:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static isValidIdentifier(token: Token, mode: LanguageMode, isGenerator: boolean, disallowAwait: boolean) {\n\t\tif (Token.isInRangeIdentifierAndAsync(token)) return true;\n\t\tif (token == Token.AWAIT) return !disallowAwait;\n\t\tif (token == Token.YIELD) return !isGenerator;\n\t\treturn Token.isStrictReservedWord(token) && isSloppy(mode);\n\t}\n\n\tpublic static precedence(token: Token, acceptIN: boolean) {\n\t\tif (!acceptIN && Token.IN === token) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn token.getPrecedence();\n\t}\n\n\tconstructor(private name: string, private precedence: number) { }\n\tgetName() {\n\t\treturn this.name;\n\t}\n\tgetPrecedence() {\n\t\treturn this.precedence;\n\t}\n\tequal(token: Token) {\n\t\treturn this === token || this.name === token.name;\n\t}\n}\n\nexport class TokenExpression {\n\tconstructor(public token: Token, public range: [number, number], public value?: ExpressionNode) { }\n\tgetValue<T extends ExpressionNode>(): T {\n\t\treturn this.value! as T;\n\t}\n\tisType(type: Token) {\n\t\treturn this.token === type;\n\t}\n\tisNotType(type: Token) {\n\t\treturn this.token !== type;\n\t}\n\n\ttest(func: (token: Token, value?: ExpressionNode) => boolean): boolean {\n\t\treturn func(this.token, this.value);\n\t}\n\ttoString(): string {\n\t\treturn JSON.stringify(this);\n\t}\n}\n"]}
|
package/visit/visitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../../src/expressions/visit/visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAclE,CAAC;AAEF,MAAM,cAAe,SAAQ,KAAK;CAEjC;AAID,MAAM,OAAO,iBAAiB;IAErB,OAAO,CAAC,IAAoB;QACnC,OAAQ,IAAI,CAAC,WAAwD,CAAC,IAAI,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,IAAoB,EAAE,eAAgC;QAC3D,MAAM,OAAO,GAAmB;YAC/B,KAAK;gBACJ,MAAM,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;SACD,CAAC;QACF,MAAM,SAAS,GAAkB,CAAC,UAAU,EAAE,EAAE;YAC/C,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,IAAI;
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../../src/expressions/visit/visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAclE,CAAC;AAEF,MAAM,cAAe,SAAQ,KAAK;CAEjC;AAID,MAAM,OAAO,iBAAiB;IAErB,OAAO,CAAC,IAAoB;QACnC,OAAQ,IAAI,CAAC,WAAwD,CAAC,IAAI,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,IAAoB,EAAE,eAAgC;QAC3D,MAAM,OAAO,GAAmB;YAC/B,KAAK;gBACJ,MAAM,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;SACD,CAAC;QACF,MAAM,SAAS,GAAkB,CAAC,UAAU,EAAE,EAAE;YAC/C,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,IAAI,CAAC;YACJ,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,EAAE,CAAC;gBACxC,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAEO,mBAAmB,CAAC,IAAoB,EAAE,SAAwB;QACzE,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QACD,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxB,CAAC;CAED;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC","sourcesContent":["import { expressionTypes } from '../api/deserialize/type-store.js';\nimport { ExpressionNode, ExpressionNodConstructor, VisitNodeType } from '../api/expression.js';\n\nexport interface VisitorControl {\n\n\t/**\n\t * terminate the traversal\n\t */\n\tabort(): void;\n\n\t// /**\n\t// * indicate that the traversal need not continue any further down this subtree.\n\t// */\n\t// traverse(): void;\n};\n\nclass AbortException extends Error {\n\n}\n\nexport type VisitorCallback = (expression: ExpressionNode, type: string, control: VisitorControl) => void;\n\nexport class ExpressionVisitor {\n\n\tprivate getType(node: ExpressionNode): string {\n\t\treturn (node.constructor as ExpressionNodConstructor<ExpressionNode>).type;\n\t}\n\n\tvisit(node: ExpressionNode, visitorCallback: VisitorCallback): void {\n\t\tconst control: VisitorControl = {\n\t\t\tabort() {\n\t\t\t\tthrow new AbortException('terminate');\n\t\t\t}\n\t\t};\n\t\tconst visitNode: VisitNodeType = (expression) => {\n\t\t\tvisitorCallback(expression, this.getType(expression), control);\n\t\t\tthis.visitExpressionNode(expression, visitNode);\n\t\t};\n\t\ttry {\n\t\t\tvisitorCallback(node, this.getType(node), control);\n\t\t\tthis.visitExpressionNode(node, visitNode);\n\t\t} catch (abort) {\n\t\t\tif (!(abort instanceof AbortException)) {\n\t\t\t\tthrow abort;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate visitExpressionNode(node: ExpressionNode, visitNode: VisitNodeType): void {\n\t\tconst classType = expressionTypes.get(this.getType(node))!;\n\t\tconst visit = classType.visit;\n\t\tif (!visit) {\n\t\t\treturn;\n\t\t}\n\t\tvisit(node, visitNode);\n\t}\n\n}\n\nexport const expressionVisitor = new ExpressionVisitor();\n"]}
|