1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = exports.PARAM_YIELD = exports.PARAM_RETURN = exports.PARAM_IN = exports.PARAM_AWAIT = exports.PARAM = void 0;
- exports.functionFlags = functionFlags;
- const PARAM = 0b0000,
- PARAM_YIELD = 0b0001,
- PARAM_AWAIT = 0b0010,
- PARAM_RETURN = 0b0100,
- PARAM_IN = 0b1000;
- exports.PARAM_IN = PARAM_IN;
- exports.PARAM_RETURN = PARAM_RETURN;
- exports.PARAM_AWAIT = PARAM_AWAIT;
- exports.PARAM_YIELD = PARAM_YIELD;
- exports.PARAM = PARAM;
- class ProductionParameterHandler {
- constructor() {
- this.stacks = [];
- }
- enter(flags) {
- this.stacks.push(flags);
- }
- exit() {
- this.stacks.pop();
- }
- currentFlags() {
- return this.stacks[this.stacks.length - 1];
- }
- get hasAwait() {
- return (this.currentFlags() & PARAM_AWAIT) > 0;
- }
- get hasYield() {
- return (this.currentFlags() & PARAM_YIELD) > 0;
- }
- get hasReturn() {
- return (this.currentFlags() & PARAM_RETURN) > 0;
- }
- get hasIn() {
- return (this.currentFlags() & PARAM_IN) > 0;
- }
- }
- exports.default = ProductionParameterHandler;
- function functionFlags(isAsync, isGenerator) {
- return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0);
- }
- //# sourceMappingURL=production-parameter.js.map
|