summaryrefslogtreecommitdiffstats
path: root/node_modules/webpack/lib/BasicEvaluatedExpression.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/BasicEvaluatedExpression.js')
-rw-r--r--node_modules/webpack/lib/BasicEvaluatedExpression.js248
1 files changed, 0 insertions, 248 deletions
diff --git a/node_modules/webpack/lib/BasicEvaluatedExpression.js b/node_modules/webpack/lib/BasicEvaluatedExpression.js
deleted file mode 100644
index a0f7bd4..0000000
--- a/node_modules/webpack/lib/BasicEvaluatedExpression.js
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-
-"use strict";
-
-const TypeUnknown = 0;
-const TypeNull = 1;
-const TypeString = 2;
-const TypeNumber = 3;
-const TypeBoolean = 4;
-const TypeRegExp = 5;
-const TypeConditional = 6;
-const TypeArray = 7;
-const TypeConstArray = 8;
-const TypeIdentifier = 9;
-const TypeWrapped = 10;
-const TypeTemplateString = 11;
-
-class BasicEvaluatedExpression {
- constructor() {
- this.type = TypeUnknown;
- this.range = null;
- this.falsy = false;
- this.truthy = false;
- this.bool = null;
- this.number = null;
- this.regExp = null;
- this.string = null;
- this.quasis = null;
- this.parts = null;
- this.array = null;
- this.items = null;
- this.options = null;
- this.prefix = null;
- this.postfix = null;
- this.wrappedInnerExpressions = null;
- this.expression = null;
- }
-
- isNull() {
- return this.type === TypeNull;
- }
-
- isString() {
- return this.type === TypeString;
- }
-
- isNumber() {
- return this.type === TypeNumber;
- }
-
- isBoolean() {
- return this.type === TypeBoolean;
- }
-
- isRegExp() {
- return this.type === TypeRegExp;
- }
-
- isConditional() {
- return this.type === TypeConditional;
- }
-
- isArray() {
- return this.type === TypeArray;
- }
-
- isConstArray() {
- return this.type === TypeConstArray;
- }
-
- isIdentifier() {
- return this.type === TypeIdentifier;
- }
-
- isWrapped() {
- return this.type === TypeWrapped;
- }
-
- isTemplateString() {
- return this.type === TypeTemplateString;
- }
-
- isTruthy() {
- return this.truthy;
- }
-
- isFalsy() {
- return this.falsy;
- }
-
- asBool() {
- if (this.truthy) return true;
- if (this.falsy) return false;
- if (this.isBoolean()) return this.bool;
- if (this.isNull()) return false;
- if (this.isString()) return this.string !== "";
- if (this.isNumber()) return this.number !== 0;
- if (this.isRegExp()) return true;
- if (this.isArray()) return true;
- if (this.isConstArray()) return true;
- if (this.isWrapped()) {
- return (this.prefix && this.prefix.asBool()) ||
- (this.postfix && this.postfix.asBool())
- ? true
- : undefined;
- }
- if (this.isTemplateString()) {
- const str = this.asString();
- if (typeof str === "string") return str !== "";
- }
- return undefined;
- }
-
- asString() {
- if (this.isBoolean()) return `${this.bool}`;
- if (this.isNull()) return "null";
- if (this.isString()) return this.string;
- if (this.isNumber()) return `${this.number}`;
- if (this.isRegExp()) return `${this.regExp}`;
- if (this.isArray()) {
- let array = [];
- for (const item of this.items) {
- const itemStr = item.asString();
- if (itemStr === undefined) return undefined;
- array.push(itemStr);
- }
- return `${array}`;
- }
- if (this.isConstArray()) return `${this.array}`;
- if (this.isTemplateString()) {
- let str = "";
- for (const part of this.parts) {
- const partStr = part.asString();
- if (partStr === undefined) return undefined;
- str += partStr;
- }
- return str;
- }
- return undefined;
- }
-
- setString(string) {
- this.type = TypeString;
- this.string = string;
- return this;
- }
-
- setNull() {
- this.type = TypeNull;
- return this;
- }
-
- setNumber(number) {
- this.type = TypeNumber;
- this.number = number;
- return this;
- }
-
- setBoolean(bool) {
- this.type = TypeBoolean;
- this.bool = bool;
- return this;
- }
-
- setRegExp(regExp) {
- this.type = TypeRegExp;
- this.regExp = regExp;
- return this;
- }
-
- setIdentifier(identifier) {
- this.type = TypeIdentifier;
- this.identifier = identifier;
- return this;
- }
-
- setWrapped(prefix, postfix, innerExpressions) {
- this.type = TypeWrapped;
- this.prefix = prefix;
- this.postfix = postfix;
- this.wrappedInnerExpressions = innerExpressions;
- return this;
- }
-
- setOptions(options) {
- this.type = TypeConditional;
- this.options = options;
- return this;
- }
-
- addOptions(options) {
- if (!this.options) {
- this.type = TypeConditional;
- this.options = [];
- }
- for (const item of options) {
- this.options.push(item);
- }
- return this;
- }
-
- setItems(items) {
- this.type = TypeArray;
- this.items = items;
- return this;
- }
-
- setArray(array) {
- this.type = TypeConstArray;
- this.array = array;
- return this;
- }
-
- setTemplateString(quasis, parts, kind) {
- this.type = TypeTemplateString;
- this.quasis = quasis;
- this.parts = parts;
- this.templateStringKind = kind;
- return this;
- }
-
- setTruthy() {
- this.falsy = false;
- this.truthy = true;
- return this;
- }
-
- setFalsy() {
- this.falsy = true;
- this.truthy = false;
- return this;
- }
-
- setRange(range) {
- this.range = range;
- return this;
- }
-
- setExpression(expression) {
- this.expression = expression;
- return this;
- }
-}
-
-module.exports = BasicEvaluatedExpression;