@airtasker/form-schema-compiler
Version:
a form schema compiler
108 lines (94 loc) • 4.78 kB
JavaScript
;
exports.__esModule = true;
var _PRECEDENCE, _ANNOTATION_TYPES, _ANNOTATIONS;
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var TYPES = exports.TYPES = {
Numeric: "Numeric",
String: "String",
Boolean: "Boolean",
Object: "Object",
Array: "Array",
Null: "Null",
RegExp: "RegExp",
Identifier: "Identifier",
Keyword: 'Keyword',
AssignExpression: "AssignExpression",
ObjectExpression: "ObjectExpression",
ObjectProperty: "ObjectProperty",
ArrayExpression: "ArrayExpression",
BinaryExpression: "BinaryExpression",
UnaryExpression: "UnaryExpression",
CallExpression: "CallExpression",
TemplateLiteral: "TemplateLiteral",
MemberExpression: "MemberExpression",
IfStatement: "IfStatement",
Components: "Components",
Operator: "Operator",
Punctuation: "Punctuation",
Raw: "Raw",
Program: 'Program',
BlockStatement: 'BlockStatement',
PropertyBinding: 'PropertyBinding',
EventBinding: 'EventBinding'
};
/**
those const not used in the app, leave here for reference
export const PRIMITIVES = [
TYPES.Numeric,
TYPES.String,
TYPES.Boolean,
TYPES.Null
];
export const OBJECTS = [TYPES.RegExp, TYPES.Identifier, TYPES.Component];
export const EXPRESSIONS = [
TYPES.ObjectExpression,
TYPES.ArrayExpression,
TYPES.BinaryExpression,
TYPES.AssignExpression,
TYPES.CallExpression,
TYPES.UnaryExpression,
TYPES.TemplateLiteral,
];
*/
var OPERATORS = exports.OPERATORS = {
Assign: "=",
Add: "+",
Subtract: "-",
Multiply: "*",
Remainder: "%",
Divide: "/",
GreaterThan: ">",
GreaterThanOrEqualTo: ">=",
LessThan: "<",
LessThanOrEqualTo: "<=",
EqualTo: "is",
NotEqualTo: "isnt",
And: "and",
Or: "or",
Match: "match",
Not: "not"
};
var PRECEDENCE = exports.PRECEDENCE = (_PRECEDENCE = {}, _defineProperty(_PRECEDENCE, OPERATORS.Assign, 1), _defineProperty(_PRECEDENCE, OPERATORS.Or, 2), _defineProperty(_PRECEDENCE, OPERATORS.And, 3), _defineProperty(_PRECEDENCE, OPERATORS.GreaterThan, 7), _defineProperty(_PRECEDENCE, OPERATORS.GreaterThanOrEqualTo, 7), _defineProperty(_PRECEDENCE, OPERATORS.LessThan, 7), _defineProperty(_PRECEDENCE, OPERATORS.LessThanOrEqualTo, 7), _defineProperty(_PRECEDENCE, OPERATORS.EqualTo, 7), _defineProperty(_PRECEDENCE, OPERATORS.NotEqualTo, 7), _defineProperty(_PRECEDENCE, OPERATORS.Match, 7), _defineProperty(_PRECEDENCE, OPERATORS.Add, 10), _defineProperty(_PRECEDENCE, OPERATORS.Subtract, 10), _defineProperty(_PRECEDENCE, OPERATORS.Multiply, 20), _defineProperty(_PRECEDENCE, OPERATORS.Divide, 20), _defineProperty(_PRECEDENCE, OPERATORS.Remainder, 20), _PRECEDENCE);
var BOOLEANS = exports.BOOLEANS = ["false", "true"];
var IF_KEYWORDS = exports.IF_KEYWORDS = {
If: 'if',
Else: 'else',
Then: 'then'
};
var KEYWORDS = exports.KEYWORDS = [].concat(BOOLEANS, _toConsumableArray(Object.values(IF_KEYWORDS)));
var PUNCTUATIONS = exports.PUNCTUATIONS = {
Braces: ["{", "}"],
SquareBrackets: ["[", "]"],
Parentheses: ["(", ")"],
Separator: ",",
Colon: ":",
BackQuote: "`",
SemiColon: ";"
};
var ANNOTATION_TYPES = exports.ANNOTATION_TYPES = (_ANNOTATION_TYPES = {}, _defineProperty(_ANNOTATION_TYPES, TYPES.PropertyBinding, TYPES.PropertyBinding), _defineProperty(_ANNOTATION_TYPES, TYPES.EventBinding, TYPES.EventBinding), _defineProperty(_ANNOTATION_TYPES, "Template", "Template"), _defineProperty(_ANNOTATION_TYPES, "Components", "Components"), _defineProperty(_ANNOTATION_TYPES, "TwoWayBinding", "TwoWayBinding"), _ANNOTATION_TYPES);
var ANNOTATIONS = exports.ANNOTATIONS = (_ANNOTATIONS = {}, _defineProperty(_ANNOTATIONS, ANNOTATION_TYPES.PropertyBinding, ["{", "}"]), _defineProperty(_ANNOTATIONS, ANNOTATION_TYPES.Template, ["#", "#"]), _defineProperty(_ANNOTATIONS, ANNOTATION_TYPES.Components, ["<", ">"]), _defineProperty(_ANNOTATIONS, ANNOTATION_TYPES.EventBinding, ["(", ")"]), _defineProperty(_ANNOTATIONS, ANNOTATION_TYPES.TwoWayBinding, ["[", "]"]), _ANNOTATIONS); // [minimum version, maximum version]
var COMPATIBLE_SCHEMA_VERSION = exports.COMPATIBLE_SCHEMA_VERSION = ["0.0.16", "0.1.3"];