mirror of https://github.com/Budibase/budibase.git
1317 changed files with 769 additions and 71055 deletions
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/common/compileCode.js"],"names":["compileCode","code","func","safeCode","trimmed","trim","endsWith","substring","length","e","message"],"mappings":"wGAAA;AACA;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAAAC,IAAI,EAAI;AACjC,MAAIC,IAAJ;AACA,MAAIC,QAAJ;;AAEA,MAAI,kBAAS,SAAT,EAAoBF,IAApB,CAAJ,EAA+B;AAC7BE,IAAAA,QAAQ,GAAGF,IAAX;AACD,GAFD,MAEO;AACL,QAAIG,OAAO,GAAGH,IAAI,CAACI,IAAL,EAAd;AACAD,IAAAA,OAAO,GAAGA,OAAO,CAACE,QAAR,CAAiB,GAAjB;AACNF,IAAAA,OAAO,CAACG,SAAR,CAAkB,CAAlB,EAAqBH,OAAO,CAACI,MAAR,GAAiB,CAAtC,CADM;AAENJ,IAAAA,OAFJ;AAGAD,IAAAA,QAAQ,qBAAcC,OAAd,MAAR;AACD;;AAED,MAAI;AACFF,IAAAA,IAAI,GAAG,+BAAMC,QAAN,CAAP;AACD,GAFD,CAEE,OAAOM,CAAP,EAAU;AACVA,IAAAA,CAAC,CAACC,OAAF,oCAAsCT,IAAtC,gBAAgDQ,CAAC,CAACC,OAAlD;AACA,UAAMD,CAAN;AACD;;AAED,SAAOP,IAAP;AACD,CAtBM,C","sourcesContent":["import { compileCode as cCode } from \"@nx-js/compiler-util\"\nimport { includes } from \"lodash/fp\"\n\nexport const compileCode = code => {\n let func\n let safeCode\n\n if (includes(\"return \")(code)) {\n safeCode = code\n } else {\n let trimmed = code.trim()\n trimmed = trimmed.endsWith(\";\")\n ? trimmed.substring(0, trimmed.length - 1)\n : trimmed\n safeCode = `return (${trimmed})`\n }\n\n try {\n func = cCode(safeCode)\n } catch (e) {\n e.message = `Error compiling code : ${code} : ${e.message}`\n throw e\n }\n\n return func\n}\n"],"file":"compileCode.js"} |
|||
{"version":3,"sources":["../../src/common/compileCode.js"],"names":["compileCode","code","func","safeCode","trimmed","trim","endsWith","substring","length","e","message"],"mappings":"wGAAA;AACA;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAAAC,IAAI,EAAI;AACjC,MAAIC,IAAJ;AACA,MAAIC,QAAJ;;AAEA,MAAI,kBAAS,SAAT,EAAoBF,IAApB,CAAJ,EAA+B;AAC7BE,IAAAA,QAAQ,GAAGF,IAAX;AACD,GAFD,MAEO;AACL,QAAIG,OAAO,GAAGH,IAAI,CAACI,IAAL,EAAd;AACAD,IAAAA,OAAO,GAAGA,OAAO,CAACE,QAAR,CAAiB,GAAjB;AACNF,IAAAA,OAAO,CAACG,SAAR,CAAkB,CAAlB,EAAqBH,OAAO,CAACI,MAAR,GAAiB,CAAtC,CADM;AAENJ,IAAAA,OAFJ;AAGAD,IAAAA,QAAQ,qBAAcC,OAAd,MAAR;AACD;;AAED,MAAI;AACFF,IAAAA,IAAI,GAAG,+BAAMC,QAAN,CAAP;AACD,GAFD,CAEE,OAAOM,CAAP,EAAU;AACVA,IAAAA,CAAC,CAACC,OAAF,oCAAsCT,IAAtC,gBAAgDQ,CAAC,CAACC,OAAlD;AACA,UAAMD,CAAN;AACD;;AAED,SAAOP,IAAP;AACD,CAtBM,C","sourcesContent":["import { compileCode as cCode } from \"@nx-js/compiler-util\"\r\nimport { includes } from \"lodash/fp\"\r\n\r\nexport const compileCode = code => {\r\n let func\r\n let safeCode\r\n\r\n if (includes(\"return \")(code)) {\r\n safeCode = code\r\n } else {\r\n let trimmed = code.trim()\r\n trimmed = trimmed.endsWith(\";\")\r\n ? trimmed.substring(0, trimmed.length - 1)\r\n : trimmed\r\n safeCode = `return (${trimmed})`\r\n }\r\n\r\n try {\r\n func = cCode(safeCode)\r\n } catch (e) {\r\n e.message = `Error compiling code : ${code} : ${e.message}`\r\n throw e\r\n }\r\n\r\n return func\r\n}\r\n"],"file":"compileCode.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/common/errors.js"],"names":["BadRequestError","message","httpStatusCode","Error","UnauthorisedError","ForbiddenError","NotFoundError","ConflictError"],"mappings":"i9CAAaA,e;AACX,2BAAYC,OAAZ,EAAqB;AACnB,8BAAMA,OAAN;AACA,UAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,yEAJkCC,K;;;AAOxBC,iB;AACX,6BAAYH,OAAZ,EAAqB;AACnB,gCAAMA,OAAN;AACA,WAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,2EAJoCC,K;;;AAO1BE,c;AACX,0BAAYJ,OAAZ,EAAqB;AACnB,gCAAMA,OAAN;AACA,WAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,wEAJiCC,K;;;AAOvBG,a;AACX,yBAAYL,OAAZ,EAAqB;AACnB,gCAAMA,OAAN;AACA,WAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,uEAJgCC,K;;;AAOtBI,a;AACX,yBAAYN,OAAZ,EAAqB;AACnB,gCAAMA,OAAN;AACA,WAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,uEAJgCC,K","sourcesContent":["export class BadRequestError extends Error {\n constructor(message) {\n super(message)\n this.httpStatusCode = 400\n }\n}\n\nexport class UnauthorisedError extends Error {\n constructor(message) {\n super(message)\n this.httpStatusCode = 401\n }\n}\n\nexport class ForbiddenError extends Error {\n constructor(message) {\n super(message)\n this.httpStatusCode = 403\n }\n}\n\nexport class NotFoundError extends Error {\n constructor(message) {\n super(message)\n this.httpStatusCode = 404\n }\n}\n\nexport class ConflictError extends Error {\n constructor(message) {\n super(message)\n this.httpStatusCode = 409\n }\n}\n"],"file":"errors.js"} |
|||
{"version":3,"sources":["../../src/common/errors.js"],"names":["BadRequestError","message","httpStatusCode","Error","UnauthorisedError","ForbiddenError","NotFoundError","ConflictError"],"mappings":"i9CAAaA,e;AACX,2BAAYC,OAAZ,EAAqB;AACnB,8BAAMA,OAAN;AACA,UAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,yEAJkCC,K;;;AAOxBC,iB;AACX,6BAAYH,OAAZ,EAAqB;AACnB,gCAAMA,OAAN;AACA,WAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,2EAJoCC,K;;;AAO1BE,c;AACX,0BAAYJ,OAAZ,EAAqB;AACnB,gCAAMA,OAAN;AACA,WAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,wEAJiCC,K;;;AAOvBG,a;AACX,yBAAYL,OAAZ,EAAqB;AACnB,gCAAMA,OAAN;AACA,WAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,uEAJgCC,K;;;AAOtBI,a;AACX,yBAAYN,OAAZ,EAAqB;AACnB,gCAAMA,OAAN;AACA,WAAKC,cAAL,GAAsB,GAAtB,CAFmB;AAGpB,G,uEAJgCC,K","sourcesContent":["export class BadRequestError extends Error {\r\n constructor(message) {\r\n super(message)\r\n this.httpStatusCode = 400\r\n }\r\n}\r\n\r\nexport class UnauthorisedError extends Error {\r\n constructor(message) {\r\n super(message)\r\n this.httpStatusCode = 401\r\n }\r\n}\r\n\r\nexport class ForbiddenError extends Error {\r\n constructor(message) {\r\n super(message)\r\n this.httpStatusCode = 403\r\n }\r\n}\r\n\r\nexport class NotFoundError extends Error {\r\n constructor(message) {\r\n super(message)\r\n this.httpStatusCode = 404\r\n }\r\n}\r\n\r\nexport class ConflictError extends Error {\r\n constructor(message) {\r\n super(message)\r\n this.httpStatusCode = 409\r\n }\r\n}\r\n"],"file":"errors.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/common/eventAggregator.js"],"names":["publish","handlers","eventName","context","handler","subscribe","push","createEventAggregator","eventAggregator"],"mappings":"iZAAA,+B;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAAAC,QAAQ,6HAAI,iBAAOC,SAAP,oLAAkBC,OAAlB,2DAA4B,EAA5B;AACrB,2BAAID,SAAJ,EAAeD,QAAf,CADqB;;AAGJA,cAAAA,QAAQ,CAACC,SAAD,CAHJ,sGAGfE,OAHe;AAIlBA,gBAAAA,OAAO,CAACF,SAAD,EAAYC,OAAZ,CAJW,gTAAJ,mEAAxB;;;;AAQA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAAAJ,QAAQ,UAAI,UAACC,SAAD,EAAYE,OAAZ,EAAwB;AACpD,QAAI,CAAC,aAAIF,SAAJ,EAAeD,QAAf,CAAL,EAA+B;AAC7BA,MAAAA,QAAQ,CAACC,SAAD,CAAR,GAAsB,EAAtB;AACD;AACDD,IAAAA,QAAQ,CAACC,SAAD,CAAR,CAAoBI,IAApB,CAAyBF,OAAzB;AACD,GALyB,EAA1B;;AAOO,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AACzC,MAAMN,QAAQ,GAAG,EAAjB;AACA,MAAMO,eAAe,GAAG;AACtBR,IAAAA,OAAO,EAAEA,OAAO,CAACC,QAAD,CADM;AAEtBI,IAAAA,SAAS,EAAEA,SAAS,CAACJ,QAAD,CAFE,EAAxB;;AAIA,SAAOO,eAAP;AACD,CAPM,C;;AASQD,qB","sourcesContent":["import { has } from \"lodash/fp\"\n\nconst publish = handlers => async (eventName, context = {}) => {\n if (!has(eventName)(handlers)) return\n\n for (const handler of handlers[eventName]) {\n await handler(eventName, context)\n }\n}\n\nconst subscribe = handlers => (eventName, handler) => {\n if (!has(eventName)(handlers)) {\n handlers[eventName] = []\n }\n handlers[eventName].push(handler)\n}\n\nexport const createEventAggregator = () => {\n const handlers = {}\n const eventAggregator = {\n publish: publish(handlers),\n subscribe: subscribe(handlers),\n }\n return eventAggregator\n}\n\nexport default createEventAggregator\n"],"file":"eventAggregator.js"} |
|||
{"version":3,"sources":["../../src/common/eventAggregator.js"],"names":["publish","handlers","eventName","context","handler","subscribe","push","createEventAggregator","eventAggregator"],"mappings":"iZAAA,+B;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAAAC,QAAQ,6HAAI,iBAAOC,SAAP,oLAAkBC,OAAlB,2DAA4B,EAA5B;AACrB,2BAAID,SAAJ,EAAeD,QAAf,CADqB;;AAGJA,cAAAA,QAAQ,CAACC,SAAD,CAHJ,sGAGfE,OAHe;AAIlBA,gBAAAA,OAAO,CAACF,SAAD,EAAYC,OAAZ,CAJW,gTAAJ,mEAAxB;;;;AAQA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAAAJ,QAAQ,UAAI,UAACC,SAAD,EAAYE,OAAZ,EAAwB;AACpD,QAAI,CAAC,aAAIF,SAAJ,EAAeD,QAAf,CAAL,EAA+B;AAC7BA,MAAAA,QAAQ,CAACC,SAAD,CAAR,GAAsB,EAAtB;AACD;AACDD,IAAAA,QAAQ,CAACC,SAAD,CAAR,CAAoBI,IAApB,CAAyBF,OAAzB;AACD,GALyB,EAA1B;;AAOO,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AACzC,MAAMN,QAAQ,GAAG,EAAjB;AACA,MAAMO,eAAe,GAAG;AACtBR,IAAAA,OAAO,EAAEA,OAAO,CAACC,QAAD,CADM;AAEtBI,IAAAA,SAAS,EAAEA,SAAS,CAACJ,QAAD,CAFE,EAAxB;;AAIA,SAAOO,eAAP;AACD,CAPM,C;;AASQD,qB","sourcesContent":["import { has } from \"lodash/fp\"\r\n\r\nconst publish = handlers => async (eventName, context = {}) => {\r\n if (!has(eventName)(handlers)) return\r\n\r\n for (const handler of handlers[eventName]) {\r\n await handler(eventName, context)\r\n }\r\n}\r\n\r\nconst subscribe = handlers => (eventName, handler) => {\r\n if (!has(eventName)(handlers)) {\r\n handlers[eventName] = []\r\n }\r\n handlers[eventName].push(handler)\r\n}\r\n\r\nexport const createEventAggregator = () => {\r\n const handlers = {}\r\n const eventAggregator = {\r\n publish: publish(handlers),\r\n subscribe: subscribe(handlers),\r\n }\r\n return eventAggregator\r\n}\r\n\r\nexport default createEventAggregator\r\n"],"file":"eventAggregator.js"} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/common/validationCommon.js"],"names":["stringNotEmpty","s","trim","length","makerule","field","error","isValid","validationError","rule","item","applyRuleSet","ruleSet","itemToValidate","applyRule","isSomething","itemTovalidate"],"mappings":"wXAAA;AACA,gC;;AAEO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,CAAC,UAAI,wBAAYA,CAAZ,KAAkBA,CAAC,CAACC,IAAF,GAASC,MAAT,GAAkB,CAAxC,EAAxB,C;;AAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAQC,KAAR,EAAeC,OAAf,UAA4B,EAAEF,KAAK,EAALA,KAAF,EAASC,KAAK,EAALA,KAAT,EAAgBC,OAAO,EAAPA,OAAhB,EAA5B,EAAjB,C;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAOC,IAAP,4BAAsBD,IAAtB,IAA4BC,IAAI,EAAJA,IAA5B,KAAxB,C;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAAAC,OAAO,UAAI,UAAAC,cAAc;AACnD,oBAAED,OAAF,EAAW,CAAC,aAAIE,SAAS,CAACD,cAAD,CAAb,CAAD,EAAiC,gBAAOE,kBAAP,CAAjC,CAAX,CADmD,GAAlB,EAA5B,C;;AAGA,IAAMD,SAAS,GAAG,SAAZA,SAAY,CAAAE,cAAc,UAAI,UAAAP,IAAI;AAC7CA,MAAAA,IAAI,CAACF,OAAL,CAAaS,cAAb,IAA+B,IAA/B,GAAsCR,eAAe,CAACC,IAAD,EAAOO,cAAP,CADR,GAAR,EAAhC,C","sourcesContent":["import { filter, map } from \"lodash/fp\"\nimport { $, isSomething } from \"./index\"\n\nexport const stringNotEmpty = s => isSomething(s) && s.trim().length > 0\n\nexport const makerule = (field, error, isValid) => ({ field, error, isValid })\n\nexport const validationError = (rule, item) => ({ ...rule, item })\n\nexport const applyRuleSet = ruleSet => itemToValidate =>\n $(ruleSet, [map(applyRule(itemToValidate)), filter(isSomething)])\n\nexport const applyRule = itemTovalidate => rule =>\n rule.isValid(itemTovalidate) ? null : validationError(rule, itemTovalidate)\n"],"file":"validationCommon.js"} |
|||
{"version":3,"sources":["../../src/common/validationCommon.js"],"names":["stringNotEmpty","s","trim","length","makerule","field","error","isValid","validationError","rule","item","applyRuleSet","ruleSet","itemToValidate","applyRule","isSomething","itemTovalidate"],"mappings":"wXAAA;AACA,gC;;AAEO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,CAAC,UAAI,wBAAYA,CAAZ,KAAkBA,CAAC,CAACC,IAAF,GAASC,MAAT,GAAkB,CAAxC,EAAxB,C;;AAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAQC,KAAR,EAAeC,OAAf,UAA4B,EAAEF,KAAK,EAALA,KAAF,EAASC,KAAK,EAALA,KAAT,EAAgBC,OAAO,EAAPA,OAAhB,EAA5B,EAAjB,C;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAOC,IAAP,4BAAsBD,IAAtB,IAA4BC,IAAI,EAAJA,IAA5B,KAAxB,C;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAAAC,OAAO,UAAI,UAAAC,cAAc;AACnD,oBAAED,OAAF,EAAW,CAAC,aAAIE,SAAS,CAACD,cAAD,CAAb,CAAD,EAAiC,gBAAOE,kBAAP,CAAjC,CAAX,CADmD,GAAlB,EAA5B,C;;AAGA,IAAMD,SAAS,GAAG,SAAZA,SAAY,CAAAE,cAAc,UAAI,UAAAP,IAAI;AAC7CA,MAAAA,IAAI,CAACF,OAAL,CAAaS,cAAb,IAA+B,IAA/B,GAAsCR,eAAe,CAACC,IAAD,EAAOO,cAAP,CADR,GAAR,EAAhC,C","sourcesContent":["import { filter, map } from \"lodash/fp\"\r\nimport { $, isSomething } from \"./index\"\r\n\r\nexport const stringNotEmpty = s => isSomething(s) && s.trim().length > 0\r\n\r\nexport const makerule = (field, error, isValid) => ({ field, error, isValid })\r\n\r\nexport const validationError = (rule, item) => ({ ...rule, item })\r\n\r\nexport const applyRuleSet = ruleSet => itemToValidate =>\r\n $(ruleSet, [map(applyRule(itemToValidate)), filter(isSomething)])\r\n\r\nexport const applyRule = itemTovalidate => rule =>\r\n rule.isValid(itemTovalidate) ? null : validationError(rule, itemTovalidate)\r\n"],"file":"validationCommon.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../src/index.js"],"names":[],"mappings":"kpBAAA;AACA;AACA;AACA","sourcesContent":["export { validateRecord } from \"./records/validateRecord\";\nexport { events } from \"./common/events\";\nexport { safeParseField } from \"./schema/types\";\nexport { default as schemaValidator } from \"./schemaValidation\";"],"file":"index.js"} |
|||
{"version":3,"sources":["../src/index.js"],"names":[],"mappings":"kpBAAA;AACA;AACA;AACA","sourcesContent":["export { validateRecord } from \"./records/validateRecord\";\r\nexport { events } from \"./common/events\";\r\nexport { safeParseField } from \"./schema/types\";\r\nexport { default as schemaValidator } from \"./schemaValidation\";"],"file":"index.js"} |
|||
@ -1,17 +1,16 @@ |
|||
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.getNewRecord = void 0;var _shortid = require("shortid"); |
|||
var _types = require("../schema/types");function _createForOfIteratorHelper(o) {if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) {var i = 0;var F = function F() {};return { s: F, n: function n() {if (i >= o.length) return { done: true };return { done: false, value: o[i++] };}, e: function e(_e) {throw _e;}, f: F };}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var it,normalCompletion = true,didErr = false,err;return { s: function s() {it = o[Symbol.iterator]();}, n: function n() {var step = it.next();normalCompletion = step.done;return step;}, e: function e(_e2) {didErr = true;err = _e2;}, f: function f() {try {if (!normalCompletion && it["return"] != null) it["return"]();} finally {if (didErr) throw err;}} };}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(n);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) {arr2[i] = arr[i];}return arr2;} |
|||
|
|||
var getNewRecord = function getNewRecord(schema, modelName) { |
|||
var model = schema.findModel(modelName); |
|||
|
|||
var record = { |
|||
_id: (0, _shortid.generate)(), |
|||
_modelId: model.id };var _iterator = _createForOfIteratorHelper( |
|||
modelId: model._id }; |
|||
|
|||
|
|||
model.fields),_step;try {for (_iterator.s(); !(_step = _iterator.n()).done;) {var field = _step.value; |
|||
record[field.name] = (0, _types.getNewFieldValue)(field); |
|||
}} catch (err) {_iterator.e(err);} finally {_iterator.f();} |
|||
for (var field in model.schema.properties) { |
|||
record[field] = field["default"]; |
|||
} |
|||
|
|||
return record; |
|||
};exports.getNewRecord = getNewRecord; |
|||
|
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/records/getNewRecord.js"],"names":["getNewRecord","schema","modelName","model","findModel","record","_id","_modelId","id","fields","field","name"],"mappings":"yGAAA;AACA,wC;;AAEO,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,MAAD,EAASC,SAAT,EAAuB;AACjD,MAAMC,KAAK,GAAGF,MAAM,CAACG,SAAP,CAAiBF,SAAjB,CAAd;;AAEA,MAAMG,MAAM,GAAG;AACbC,IAAAA,GAAG,EAAE,wBADQ;AAEbC,IAAAA,QAAQ,EAAEJ,KAAK,CAACK,EAFH,EAAf,CAHiD;;;AAQ/BL,EAAAA,KAAK,CAACM,MARyB,aAQjD,oDAAgC,KAAvBC,KAAuB;AAC9BL,MAAAA,MAAM,CAACK,KAAK,CAACC,IAAP,CAAN,GAAqB,6BAAiBD,KAAjB,CAArB;AACD,KAVgD;;AAYjD,SAAOL,MAAP;AACD,CAbM,C","sourcesContent":["import { generate } from \"shortid\"\nimport { getNewFieldValue } from \"../schema/types\"\n\nexport const getNewRecord = (schema, modelName) => {\n const model = schema.findModel(modelName)\n\n const record = {\n _id: generate(),\n _modelId: model.id,\n }\n\n for (let field of model.fields) {\n record[field.name] = getNewFieldValue(field)\n }\n\n return record\n}\n"],"file":"getNewRecord.js"} |
|||
{"version":3,"sources":["../../src/records/getNewRecord.js"],"names":["getNewRecord","schema","modelName","model","findModel","record","_id","modelId","field","properties"],"mappings":"yGAAA;;AAEO,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,MAAD,EAASC,SAAT,EAAuB;AACjD,MAAMC,KAAK,GAAGF,MAAM,CAACG,SAAP,CAAiBF,SAAjB,CAAd;;AAEA,MAAMG,MAAM,GAAG;AACbC,IAAAA,GAAG,EAAE,wBADQ;AAEbC,IAAAA,OAAO,EAAEJ,KAAK,CAACG,GAFF,EAAf;;;AAKA,OAAK,IAAIE,KAAT,IAAkBL,KAAK,CAACF,MAAN,CAAaQ,UAA/B,EAA2C;AACzCJ,IAAAA,MAAM,CAACG,KAAD,CAAN,GAAgBA,KAAK,WAArB;AACD;;AAED,SAAOH,MAAP;AACD,CAbM,C","sourcesContent":["import { generate } from \"shortid\"\r\n\r\nexport const getNewRecord = (schema, modelName) => {\r\n const model = schema.findModel(modelName)\r\n\r\n const record = {\r\n _id: generate(),\r\n modelId: model._id,\r\n }\r\n\r\n for (let field in model.schema.properties) {\r\n record[field] = field.default\r\n }\r\n\r\n return record\r\n}\r\n"],"file":"getNewRecord.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/records/recordValidationRules.js"],"names":["getNewRecordValidationRule","invalidField","messageWhenInvalid","expressionWhenValid","commonRecordValidationRules","fieldNotEmpty","fieldName","fieldBetween","min","max","toString","fieldGreaterThan"],"mappings":"6JAAO,IAAMA,0BAA0B,GAAG,SAA7BA,0BAA6B;AACxCC,YADwC;AAExCC,kBAFwC;AAGxCC,mBAHwC;AAIpC;AACJF,MAAAA,YAAY,EAAZA,YADI;AAEJC,MAAAA,kBAAkB,EAAlBA,kBAFI;AAGJC,MAAAA,mBAAmB,EAAnBA,mBAHI,EAJoC,GAAnC,C;;;AAUA,IAAMC,2BAA2B,GAAG;AACzCC,EAAAA,aAAa,EAAE,uBAAAC,SAAS;AACtBN,MAAAA,0BAA0B;AACxBM,MAAAA,SADwB;AAErBA,MAAAA,SAFqB;AAGbA,MAAAA,SAHa,2BAGaA,SAHb,mBADJ,GADiB;;;AAQzCC,EAAAA,YAAY,EAAE,sBAACD,SAAD,EAAYE,GAAZ,EAAiBC,GAAjB;AACZT,MAAAA,0BAA0B;AACxBM,MAAAA,SADwB;AAErBA,MAAAA,SAFqB,8BAEQE,GAAG,CAACE,QAAJ,EAFR,kBAE8BD,GAAG,CAACC,QAAJ,EAF9B;AAGbJ,MAAAA,SAHa,mBAGKE,GAHL,0BAGwBF,SAHxB,mBAG0CG,GAH1C,OADd,GAR2B;;;AAezCE,EAAAA,gBAAgB,EAAE,0BAACL,SAAD,EAAYE,GAAZ,EAAiBC,GAAjB;AAChBT,MAAAA,0BAA0B;AACxBM,MAAAA,SADwB;AAErBA,MAAAA,SAFqB,mCAEaE,GAAG,CAACE,QAAJ,EAFb,kBAEmCD,GAAG,CAACC,QAAJ,EAFnC;AAGbJ,MAAAA,SAHa,mBAGKE,GAHL,QADV,GAfuB,EAApC,C","sourcesContent":["export const getNewRecordValidationRule = (\n invalidField,\n messageWhenInvalid,\n expressionWhenValid\n) => ({\n invalidField,\n messageWhenInvalid,\n expressionWhenValid,\n})\n\nexport const commonRecordValidationRules = {\n fieldNotEmpty: fieldName =>\n getNewRecordValidationRule(\n fieldName,\n `${fieldName} is empty`,\n `record['${fieldName}'] && record['${fieldName}'].length > 0`\n ),\n\n fieldBetween: (fieldName, min, max) =>\n getNewRecordValidationRule(\n fieldName,\n `${fieldName} must be between ${min.toString()} and ${max.toString()}`,\n `record['${fieldName}'] >= ${min} && record['${fieldName}'] <= ${max} `\n ),\n\n fieldGreaterThan: (fieldName, min, max) =>\n getNewRecordValidationRule(\n fieldName,\n `${fieldName} must be greater than ${min.toString()} and ${max.toString()}`,\n `record['${fieldName}'] >= ${min} `\n ),\n}\n"],"file":"recordValidationRules.js"} |
|||
{"version":3,"sources":["../../src/records/recordValidationRules.js"],"names":["getNewRecordValidationRule","invalidField","messageWhenInvalid","expressionWhenValid","commonRecordValidationRules","fieldNotEmpty","fieldName","fieldBetween","min","max","toString","fieldGreaterThan"],"mappings":"6JAAO,IAAMA,0BAA0B,GAAG,SAA7BA,0BAA6B;AACxCC,YADwC;AAExCC,kBAFwC;AAGxCC,mBAHwC;AAIpC;AACJF,MAAAA,YAAY,EAAZA,YADI;AAEJC,MAAAA,kBAAkB,EAAlBA,kBAFI;AAGJC,MAAAA,mBAAmB,EAAnBA,mBAHI,EAJoC,GAAnC,C;;;AAUA,IAAMC,2BAA2B,GAAG;AACzCC,EAAAA,aAAa,EAAE,uBAAAC,SAAS;AACtBN,MAAAA,0BAA0B;AACxBM,MAAAA,SADwB;AAErBA,MAAAA,SAFqB;AAGbA,MAAAA,SAHa,2BAGaA,SAHb,mBADJ,GADiB;;;AAQzCC,EAAAA,YAAY,EAAE,sBAACD,SAAD,EAAYE,GAAZ,EAAiBC,GAAjB;AACZT,MAAAA,0BAA0B;AACxBM,MAAAA,SADwB;AAErBA,MAAAA,SAFqB,8BAEQE,GAAG,CAACE,QAAJ,EAFR,kBAE8BD,GAAG,CAACC,QAAJ,EAF9B;AAGbJ,MAAAA,SAHa,mBAGKE,GAHL,0BAGwBF,SAHxB,mBAG0CG,GAH1C,OADd,GAR2B;;;AAezCE,EAAAA,gBAAgB,EAAE,0BAACL,SAAD,EAAYE,GAAZ,EAAiBC,GAAjB;AAChBT,MAAAA,0BAA0B;AACxBM,MAAAA,SADwB;AAErBA,MAAAA,SAFqB,mCAEaE,GAAG,CAACE,QAAJ,EAFb,kBAEmCD,GAAG,CAACC,QAAJ,EAFnC;AAGbJ,MAAAA,SAHa,mBAGKE,GAHL,QADV,GAfuB,EAApC,C","sourcesContent":["export const getNewRecordValidationRule = (\r\n invalidField,\r\n messageWhenInvalid,\r\n expressionWhenValid\r\n) => ({\r\n invalidField,\r\n messageWhenInvalid,\r\n expressionWhenValid,\r\n})\r\n\r\nexport const commonRecordValidationRules = {\r\n fieldNotEmpty: fieldName =>\r\n getNewRecordValidationRule(\r\n fieldName,\r\n `${fieldName} is empty`,\r\n `record['${fieldName}'] && record['${fieldName}'].length > 0`\r\n ),\r\n\r\n fieldBetween: (fieldName, min, max) =>\r\n getNewRecordValidationRule(\r\n fieldName,\r\n `${fieldName} must be between ${min.toString()} and ${max.toString()}`,\r\n `record['${fieldName}'] >= ${min} && record['${fieldName}'] <= ${max} `\r\n ),\r\n\r\n fieldGreaterThan: (fieldName, min, max) =>\r\n getNewRecordValidationRule(\r\n fieldName,\r\n `${fieldName} must be greater than ${min.toString()} and ${max.toString()}`,\r\n `record['${fieldName}'] >= ${min} `\r\n ),\r\n}\r\n"],"file":"recordValidationRules.js"} |
|||
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/schema/createActions.js"],"names":["createTrigger","actionName","eventName","optionsCreator","condition","createAction","name","behaviourSource","behaviourName","initialOptions"],"mappings":"iIAAO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,WAAO;AAClCC,IAAAA,UAAU,EAAE,EADsB;AAElCC,IAAAA,SAAS,EAAE,EAFuB;AAGlC;AACA;AACA;AACAC,IAAAA,cAAc,EAAE,EANkB;AAOlC;AACA;AACAC,IAAAA,SAAS,EAAE,EATuB,EAAP,EAAtB,C;;;AAYA,IAAMC,YAAY,GAAG,SAAfA,YAAe,WAAO;AACjCC,IAAAA,IAAI,EAAE,EAD2B;AAEjCC,IAAAA,eAAe,EAAE,EAFgB;AAGjC;AACAC,IAAAA,aAAa,EAAE,EAJkB;AAKjC;AACA;AACA;AACAC,IAAAA,cAAc,EAAE,EARiB,EAAP,EAArB,C","sourcesContent":["export const createTrigger = () => ({\n actionName: \"\",\n eventName: \"\",\n // function, has access to event context,\n // returns object that is used as parameter to action\n // only used if triggered by event\n optionsCreator: \"\",\n // action runs if true,\n // has access to event context\n condition: \"\",\n})\n\nexport const createAction = () => ({\n name: \"\",\n behaviourSource: \"\",\n // name of function in actionSource\n behaviourName: \"\",\n // parameter passed into behaviour.\n // any other parms passed at runtime e.g.\n // by trigger, or manually, will be merged into this\n initialOptions: {},\n})\n"],"file":"createActions.js"} |
|||
{"version":3,"sources":["../../src/schema/createActions.js"],"names":["createTrigger","actionName","eventName","optionsCreator","condition","createAction","name","behaviourSource","behaviourName","initialOptions"],"mappings":"iIAAO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,WAAO;AAClCC,IAAAA,UAAU,EAAE,EADsB;AAElCC,IAAAA,SAAS,EAAE,EAFuB;AAGlC;AACA;AACA;AACAC,IAAAA,cAAc,EAAE,EANkB;AAOlC;AACA;AACAC,IAAAA,SAAS,EAAE,EATuB,EAAP,EAAtB,C;;;AAYA,IAAMC,YAAY,GAAG,SAAfA,YAAe,WAAO;AACjCC,IAAAA,IAAI,EAAE,EAD2B;AAEjCC,IAAAA,eAAe,EAAE,EAFgB;AAGjC;AACAC,IAAAA,aAAa,EAAE,EAJkB;AAKjC;AACA;AACA;AACAC,IAAAA,cAAc,EAAE,EARiB,EAAP,EAArB,C","sourcesContent":["export const createTrigger = () => ({\r\n actionName: \"\",\r\n eventName: \"\",\r\n // function, has access to event context,\r\n // returns object that is used as parameter to action\r\n // only used if triggered by event\r\n optionsCreator: \"\",\r\n // action runs if true,\r\n // has access to event context\r\n condition: \"\",\r\n})\r\n\r\nexport const createAction = () => ({\r\n name: \"\",\r\n behaviourSource: \"\",\r\n // name of function in actionSource\r\n behaviourName: \"\",\r\n // parameter passed into behaviour.\r\n // any other parms passed at runtime e.g.\r\n // by trigger, or manually, will be merged into this\r\n initialOptions: {},\r\n})\r\n"],"file":"createActions.js"} |
|||
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/schema/fullSchema.js"],"names":["fullSchema","models","views","findModel","idOrName","find","m","id","name","toLowerCase","findView","findField","modelIdOrName","fieldName","model","fields","f","viewsForModel","modelId","filter","v"],"mappings":"uGAAO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,MAAD,EAASC,KAAT,EAAmB;AAC3C,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ;AACxBH,MAAAA,MAAM,CAACI,IAAP;AACE,gBAAAC,CAAC,UAAIA,CAAC,CAACC,EAAF,KAASH,QAAT,IAAqBE,CAAC,CAACE,IAAF,CAAOC,WAAP,OAAyBL,QAAQ,CAACK,WAAT,EAAlD,EADH,CADwB,GAA1B;;;AAKA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAN,QAAQ;AACvBF,MAAAA,KAAK,CAACG,IAAN;AACE,gBAAAC,CAAC,UAAIA,CAAC,CAACC,EAAF,KAASH,QAAT,IAAqBE,CAAC,CAACE,IAAF,CAAOC,WAAP,OAAyBL,QAAQ,CAACK,WAAT,EAAlD,EADH,CADuB,GAAzB;;;AAKA,MAAME,SAAS,GAAG,SAAZA,SAAY,CAACC,aAAD,EAAgBC,SAAhB,EAA8B;AAC9C,QAAMC,KAAK,GAAGb,MAAM,CAACI,IAAP;AACZ,cAAAC,CAAC;AACCA,QAAAA,CAAC,CAACC,EAAF,KAASK,aAAT;AACAN,QAAAA,CAAC,CAACE,IAAF,CAAOC,WAAP,OAAyBG,aAAa,CAACH,WAAd,EAF1B,GADW,CAAd;;AAKA,WAAOK,KAAK,CAACC,MAAN,CAAaV,IAAb;AACL,cAAAW,CAAC,UAAIA,CAAC,CAACR,IAAF,CAAOC,WAAP,OAAyBI,SAAS,CAACJ,WAAV,EAA7B,EADI,CAAP;;AAGD,GATD;;AAWA,MAAMQ,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,OAAO,UAAIhB,KAAK,CAACiB,MAAN,CAAa,UAAAC,CAAC,UAAIA,CAAC,CAACF,OAAF,KAAcA,OAAlB,EAAd,CAAJ,EAA7B;;AAEA,SAAO;AACLjB,IAAAA,MAAM,EAANA,MADK;AAELC,IAAAA,KAAK,EAALA,KAFK;AAGLC,IAAAA,SAAS,EAATA,SAHK;AAILQ,IAAAA,SAAS,EAATA,SAJK;AAKLD,IAAAA,QAAQ,EAARA,QALK;AAMLO,IAAAA,aAAa,EAAbA,aANK,EAAP;;AAQD,CAhCM,C","sourcesContent":["export const fullSchema = (models, views) => {\n const findModel = idOrName =>\n models.find(\n m => m.id === idOrName || m.name.toLowerCase() === idOrName.toLowerCase()\n )\n\n const findView = idOrName =>\n views.find(\n m => m.id === idOrName || m.name.toLowerCase() === idOrName.toLowerCase()\n )\n\n const findField = (modelIdOrName, fieldName) => {\n const model = models.find(\n m =>\n m.id === modelIdOrName ||\n m.name.toLowerCase() === modelIdOrName.toLowerCase()\n )\n return model.fields.find(\n f => f.name.toLowerCase() === fieldName.toLowerCase()\n )\n }\n\n const viewsForModel = modelId => views.filter(v => v.modelId === modelId)\n\n return {\n models,\n views,\n findModel,\n findField,\n findView,\n viewsForModel,\n }\n}\n"],"file":"fullSchema.js"} |
|||
{"version":3,"sources":["../../src/schema/fullSchema.js"],"names":["fullSchema","models","views","findModel","idOrName","find","m","id","name","toLowerCase","findView","findField","modelIdOrName","fieldName","model","fields","f","viewsForModel","modelId","filter","v"],"mappings":"uGAAO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,MAAD,EAASC,KAAT,EAAmB;AAC3C,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ;AACxBH,MAAAA,MAAM,CAACI,IAAP;AACE,gBAAAC,CAAC,UAAIA,CAAC,CAACC,EAAF,KAASH,QAAT,IAAqBE,CAAC,CAACE,IAAF,CAAOC,WAAP,OAAyBL,QAAQ,CAACK,WAAT,EAAlD,EADH,CADwB,GAA1B;;;AAKA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAN,QAAQ;AACvBF,MAAAA,KAAK,CAACG,IAAN;AACE,gBAAAC,CAAC,UAAIA,CAAC,CAACC,EAAF,KAASH,QAAT,IAAqBE,CAAC,CAACE,IAAF,CAAOC,WAAP,OAAyBL,QAAQ,CAACK,WAAT,EAAlD,EADH,CADuB,GAAzB;;;AAKA,MAAME,SAAS,GAAG,SAAZA,SAAY,CAACC,aAAD,EAAgBC,SAAhB,EAA8B;AAC9C,QAAMC,KAAK,GAAGb,MAAM,CAACI,IAAP;AACZ,cAAAC,CAAC;AACCA,QAAAA,CAAC,CAACC,EAAF,KAASK,aAAT;AACAN,QAAAA,CAAC,CAACE,IAAF,CAAOC,WAAP,OAAyBG,aAAa,CAACH,WAAd,EAF1B,GADW,CAAd;;AAKA,WAAOK,KAAK,CAACC,MAAN,CAAaV,IAAb;AACL,cAAAW,CAAC,UAAIA,CAAC,CAACR,IAAF,CAAOC,WAAP,OAAyBI,SAAS,CAACJ,WAAV,EAA7B,EADI,CAAP;;AAGD,GATD;;AAWA,MAAMQ,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,OAAO,UAAIhB,KAAK,CAACiB,MAAN,CAAa,UAAAC,CAAC,UAAIA,CAAC,CAACF,OAAF,KAAcA,OAAlB,EAAd,CAAJ,EAA7B;;AAEA,SAAO;AACLjB,IAAAA,MAAM,EAANA,MADK;AAELC,IAAAA,KAAK,EAALA,KAFK;AAGLC,IAAAA,SAAS,EAATA,SAHK;AAILQ,IAAAA,SAAS,EAATA,SAJK;AAKLD,IAAAA,QAAQ,EAARA,QALK;AAMLO,IAAAA,aAAa,EAAbA,aANK,EAAP;;AAQD,CAhCM,C","sourcesContent":["export const fullSchema = (models, views) => {\r\n const findModel = idOrName =>\r\n models.find(\r\n m => m.id === idOrName || m.name.toLowerCase() === idOrName.toLowerCase()\r\n )\r\n\r\n const findView = idOrName =>\r\n views.find(\r\n m => m.id === idOrName || m.name.toLowerCase() === idOrName.toLowerCase()\r\n )\r\n\r\n const findField = (modelIdOrName, fieldName) => {\r\n const model = models.find(\r\n m =>\r\n m.id === modelIdOrName ||\r\n m.name.toLowerCase() === modelIdOrName.toLowerCase()\r\n )\r\n return model.fields.find(\r\n f => f.name.toLowerCase() === fieldName.toLowerCase()\r\n )\r\n }\r\n\r\n const viewsForModel = modelId => views.filter(v => v.modelId === modelId)\r\n\r\n return {\r\n models,\r\n views,\r\n findModel,\r\n findField,\r\n findView,\r\n viewsForModel,\r\n }\r\n}\r\n"],"file":"fullSchema.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/schema/models.js"],"names":["newModel","id","name","fields","validationRules","primaryField","views","canDeleteModel","models","modelId","errors","model","links","filter","f","type","typeOptions","link","push","canDelete","length"],"mappings":"8HAAA,kC;;AAEO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,WAAO;AAC7BC,IAAAA,EAAE,EAAE,wBADyB;AAE7BC,IAAAA,IAAI,EAAE,EAFuB;AAG7BC,IAAAA,MAAM,EAAE,EAHqB;AAI7BC,IAAAA,eAAe,EAAE,EAJY;AAK7BC,IAAAA,YAAY,EAAE,EALe;AAM7BC,IAAAA,KAAK,EAAE,EANsB,EAAP,EAAjB;;;AASP;;;;;;AAMO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,MAAD,EAASC,OAAT,EAAqB;AACjD,MAAMC,MAAM,GAAG,EAAf,CADiD;;AAG/BF,EAAAA,MAH+B,aAGjD,oDAA0B,KAAjBG,KAAiB;AACxB,UAAMC,KAAK,GAAGD,KAAK,CAACR,MAAN,CAAaU,MAAb;AACZ,gBAAAC,CAAC,UAAIA,CAAC,CAACC,IAAF,KAAW,MAAX,IAAqBD,CAAC,CAACE,WAAF,CAAcP,OAAd,KAA0BA,OAAnD,EADW,CAAd,CADwB;;;AAKPG,MAAAA,KALO,cAKxB,uDAAwB,KAAfK,IAAe;AACtBP,UAAAA,MAAM,CAACQ,IAAP;AACUP,UAAAA,KAAK,CAACT,IADhB,uDAC+De,IAAI,CAACf,IADpE;;AAGD,SATuB;AAUzB,KAbgD;;AAejD,SAAO;AACLQ,IAAAA,MAAM,EAANA,MADK;AAELS,IAAAA,SAAS,EAAET,MAAM,CAACU,MAAP,GAAgB,CAFtB,EAAP;;AAID,CAnBM,C","sourcesContent":["import { generate } from \"shortid\"\n\nexport const newModel = () => ({\n id: generate(),\n name: \"\",\n fields: [],\n validationRules: [],\n primaryField: \"\",\n views: [],\n})\n\n/**\n *\n * @param {Array} models\n * @param {string} modelId\n * @returns {}\n */\nexport const canDeleteModel = (models, modelId) => {\n const errors = []\n\n for (let model of models) {\n const links = model.fields.filter(\n f => f.type === \"link\" && f.typeOptions.modelId === modelId\n )\n\n for (let link of links) {\n errors.push(\n `The \"${model.name}\" model links to this model, via field \"${link.name}\"`\n )\n }\n }\n\n return {\n errors,\n canDelete: errors.length > 0,\n }\n}\n"],"file":"models.js"} |
|||
{"version":3,"sources":["../../src/schema/models.js"],"names":["newModel","_id","name","type","key","schema","properties","required","canDeleteModel","models","modelId","errors","model","links","fields","filter","f","typeOptions","link","push","canDelete","length"],"mappings":"8HAAA,kC;;AAEO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,WAAO;AAC7BC,IAAAA,GAAG,EAAE,wBADwB;AAE7BC,IAAAA,IAAI,EAAE,EAFuB;AAG7BC,IAAAA,IAAI,EAAE,OAHuB;AAI7BC,IAAAA,GAAG,EAAE,MAJwB;AAK7BC,IAAAA,MAAM,EAAE;AACNF,MAAAA,IAAI,EAAE,QADA;AAENG,MAAAA,UAAU,EAAE;AACVJ,QAAAA,IAAI,EAAE,EAAEC,IAAI,EAAE,QAAR,EADI,EAFN;;AAKNI,MAAAA,QAAQ,EAAE,CAAC,MAAD,CALJ,EALqB,EAAP,EAAjB;;;;AAcP;;;;;;AAMO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,MAAD,EAASC,OAAT,EAAqB;AACjD,MAAMC,MAAM,GAAG,EAAf,CADiD;;AAG/BF,EAAAA,MAH+B,aAGjD,oDAA0B,KAAjBG,KAAiB;AACxB,UAAMC,KAAK,GAAGD,KAAK,CAACE,MAAN,CAAaC,MAAb;AACZ,gBAAAC,CAAC,UAAIA,CAAC,CAACb,IAAF,KAAW,MAAX,IAAqBa,CAAC,CAACC,WAAF,CAAcP,OAAd,KAA0BA,OAAnD,EADW,CAAd,CADwB;;;AAKPG,MAAAA,KALO,cAKxB,uDAAwB,KAAfK,IAAe;AACtBP,UAAAA,MAAM,CAACQ,IAAP;AACUP,UAAAA,KAAK,CAACV,IADhB,uDAC+DgB,IAAI,CAAChB,IADpE;;AAGD,SATuB;AAUzB,KAbgD;;AAejD,SAAO;AACLS,IAAAA,MAAM,EAANA,MADK;AAELS,IAAAA,SAAS,EAAET,MAAM,CAACU,MAAP,GAAgB,CAFtB,EAAP;;AAID,CAnBM,C","sourcesContent":["import { generate } from \"shortid\"\r\n\r\nexport const newModel = () => ({\r\n _id: generate(),\r\n name: \"\",\r\n type: \"model\",\r\n key: \"name\",\r\n schema: {\r\n type: \"object\",\r\n properties: {\r\n name: { type: \"string\" },\r\n },\r\n required: [\"name\"],\r\n },\r\n})\r\n\r\n/**\r\n *\r\n * @param {Array} models\r\n * @param {string} modelId\r\n * @returns {}\r\n */\r\nexport const canDeleteModel = (models, modelId) => {\r\n const errors = []\r\n\r\n for (let model of models) {\r\n const links = model.fields.filter(\r\n f => f.type === \"link\" && f.typeOptions.modelId === modelId\r\n )\r\n\r\n for (let link of links) {\r\n errors.push(\r\n `The \"${model.name}\" model links to this model, via field \"${link.name}\"`\r\n )\r\n }\r\n }\r\n\r\n return {\r\n errors,\r\n canDelete: errors.length > 0,\r\n }\r\n}\r\n"],"file":"models.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../../src/schema/types/array.js"],"names":["arrayFunctions","mapToParsedArrary","type","i","safeParseValue","parsedSuccess","arrayTryParse","isArray","defaultCase","parsedFailed","typeName","options","maxLength","defaultValue","isValid","isSafeInteger","requirementDescription","parse","toNumberOrNull","minLength","n","typeConstraints","val","opts","length","name","sampleValue","JSON","stringify"],"mappings":"uGAAA;AACA;;;;;;;AAOA;;;;;;;;AAQA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB;AACrB,oCAAc;AACZ,iBAAS,kBAAS,EAAT,CADG,EAAd,CADqB,GAAvB;;;AAKA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAC,IAAI;AAC5B;AACE,iBAAI,UAAAC,CAAC,UAAID,IAAI,CAACE,cAAL,CAAoBD,CAApB,CAAJ,EAAL,CADF;AAEEE,8BAFF,CAD4B,GAA9B;;;AAMA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAJ,IAAI;AACxB,2BAAW,CAACK,WAAD,EAAUN,iBAAiB,CAACC,IAAD,CAA3B,CAAX,EAA+C,CAACM,kBAAD,EAAcC,yBAAd,CAA/C,CADwB,GAA1B;;AAGA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAR,IAAI,0BAAaA,IAAb,QAArB;;AAEA,IAAMS,OAAO,GAAG;AACdC,EAAAA,SAAS,EAAE;AACTC,IAAAA,YAAY,EAAE,KADL;AAETC,IAAAA,OAAO,EAAEC,oBAFA;AAGTC,IAAAA,sBAAsB,EAAE,4BAHf;AAITC,IAAAA,KAAK,EAAEC,qBAJE,EADG;;AAOdC,EAAAA,SAAS,EAAE;AACTN,IAAAA,YAAY,EAAE,CADL;AAETC,IAAAA,OAAO,EAAE,iBAAAM,CAAC,UAAI,0BAAcA,CAAd,KAAoBA,CAAC,IAAI,CAA7B,EAFD;AAGTJ,IAAAA,sBAAsB,EAAE,4BAHf;AAITC,IAAAA,KAAK,EAAEC,qBAJE,EAPG,EAAhB;;;;AAeA,IAAMG,eAAe,GAAG;AACtB;AACE,UAACC,GAAD,EAAMC,IAAN,UAAeD,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAACE,MAAJ,IAAcD,IAAI,CAACJ,SAAlD,EADF;AAEE,UAACG,GAAD,EAAMC,IAAN,gCAA8BA,IAAI,CAACJ,SAAnC,uBAFF,CADsB;;AAKtB;AACE,UAACG,GAAD,EAAMC,IAAN,UAAeD,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAACE,MAAJ,IAAcD,IAAI,CAACX,SAAlD,EADF;AAEE,UAACU,GAAD,EAAMC,IAAN,4CAA0CA,IAAI,CAACX,SAA/C,eAFF,CALsB,CAAxB,C;;;;AAWe,kBAAAV,IAAI;AACjB;AACEQ,IAAAA,QAAQ,CAACR,IAAI,CAACuB,IAAN,CADV;AAEEnB,IAAAA,aAAa,CAACJ,IAAD,CAFf;AAGEF,IAAAA,cAAc,CAACE,IAAD,CAHhB;AAIES,IAAAA,OAJF;AAKEU,IAAAA,eALF;AAME,KAACnB,IAAI,CAACwB,WAAN,CANF;AAOEC,IAAAA,IAAI,CAACC,SAPP,CADiB,G","sourcesContent":["import { map, constant, isArray } from \"lodash/fp\"\nimport {\n typeFunctions,\n makerule,\n parsedFailed,\n getDefaultExport,\n parsedSuccess,\n} from \"./typeHelpers\"\nimport {\n switchCase,\n defaultCase,\n toNumberOrNull,\n $$,\n isSafeInteger,\n} from \"../../common/index.js\"\n\nconst arrayFunctions = () =>\n typeFunctions({\n default: constant([]),\n })\n\nconst mapToParsedArrary = type =>\n $$(\n map(i => type.safeParseValue(i)),\n parsedSuccess\n )\n\nconst arrayTryParse = type =>\n switchCase([isArray, mapToParsedArrary(type)], [defaultCase, parsedFailed])\n\nconst typeName = type => `array<${type}>`\n\nconst options = {\n maxLength: {\n defaultValue: 10000,\n isValid: isSafeInteger,\n requirementDescription: \"must be a positive integer\",\n parse: toNumberOrNull,\n },\n minLength: {\n defaultValue: 0,\n isValid: n => isSafeInteger(n) && n >= 0,\n requirementDescription: \"must be a positive integer\",\n parse: toNumberOrNull,\n },\n}\n\nconst typeConstraints = [\n makerule(\n (val, opts) => val === null || val.length >= opts.minLength,\n (val, opts) => `must choose ${opts.minLength} or more options`\n ),\n makerule(\n (val, opts) => val === null || val.length <= opts.maxLength,\n (val, opts) => `cannot choose more than ${opts.maxLength} options`\n ),\n]\n\nexport default type =>\n getDefaultExport(\n typeName(type.name),\n arrayTryParse(type),\n arrayFunctions(type),\n options,\n typeConstraints,\n [type.sampleValue],\n JSON.stringify\n )\n"],"file":"array.js"} |
|||
{"version":3,"sources":["../../../src/schema/types/array.js"],"names":["arrayFunctions","mapToParsedArrary","type","i","safeParseValue","parsedSuccess","arrayTryParse","isArray","defaultCase","parsedFailed","typeName","options","maxLength","defaultValue","isValid","isSafeInteger","requirementDescription","parse","toNumberOrNull","minLength","n","typeConstraints","val","opts","length","name","sampleValue","JSON","stringify"],"mappings":"uGAAA;AACA;;;;;;;AAOA;;;;;;;;AAQA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB;AACrB,oCAAc;AACZ,iBAAS,kBAAS,EAAT,CADG,EAAd,CADqB,GAAvB;;;AAKA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAC,IAAI;AAC5B;AACE,iBAAI,UAAAC,CAAC,UAAID,IAAI,CAACE,cAAL,CAAoBD,CAApB,CAAJ,EAAL,CADF;AAEEE,8BAFF,CAD4B,GAA9B;;;AAMA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAJ,IAAI;AACxB,2BAAW,CAACK,WAAD,EAAUN,iBAAiB,CAACC,IAAD,CAA3B,CAAX,EAA+C,CAACM,kBAAD,EAAcC,yBAAd,CAA/C,CADwB,GAA1B;;AAGA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAR,IAAI,0BAAaA,IAAb,QAArB;;AAEA,IAAMS,OAAO,GAAG;AACdC,EAAAA,SAAS,EAAE;AACTC,IAAAA,YAAY,EAAE,KADL;AAETC,IAAAA,OAAO,EAAEC,oBAFA;AAGTC,IAAAA,sBAAsB,EAAE,4BAHf;AAITC,IAAAA,KAAK,EAAEC,qBAJE,EADG;;AAOdC,EAAAA,SAAS,EAAE;AACTN,IAAAA,YAAY,EAAE,CADL;AAETC,IAAAA,OAAO,EAAE,iBAAAM,CAAC,UAAI,0BAAcA,CAAd,KAAoBA,CAAC,IAAI,CAA7B,EAFD;AAGTJ,IAAAA,sBAAsB,EAAE,4BAHf;AAITC,IAAAA,KAAK,EAAEC,qBAJE,EAPG,EAAhB;;;;AAeA,IAAMG,eAAe,GAAG;AACtB;AACE,UAACC,GAAD,EAAMC,IAAN,UAAeD,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAACE,MAAJ,IAAcD,IAAI,CAACJ,SAAlD,EADF;AAEE,UAACG,GAAD,EAAMC,IAAN,gCAA8BA,IAAI,CAACJ,SAAnC,uBAFF,CADsB;;AAKtB;AACE,UAACG,GAAD,EAAMC,IAAN,UAAeD,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAACE,MAAJ,IAAcD,IAAI,CAACX,SAAlD,EADF;AAEE,UAACU,GAAD,EAAMC,IAAN,4CAA0CA,IAAI,CAACX,SAA/C,eAFF,CALsB,CAAxB,C;;;;AAWe,kBAAAV,IAAI;AACjB;AACEQ,IAAAA,QAAQ,CAACR,IAAI,CAACuB,IAAN,CADV;AAEEnB,IAAAA,aAAa,CAACJ,IAAD,CAFf;AAGEF,IAAAA,cAAc,CAACE,IAAD,CAHhB;AAIES,IAAAA,OAJF;AAKEU,IAAAA,eALF;AAME,KAACnB,IAAI,CAACwB,WAAN,CANF;AAOEC,IAAAA,IAAI,CAACC,SAPP,CADiB,G","sourcesContent":["import { map, constant, isArray } from \"lodash/fp\"\r\nimport {\r\n typeFunctions,\r\n makerule,\r\n parsedFailed,\r\n getDefaultExport,\r\n parsedSuccess,\r\n} from \"./typeHelpers\"\r\nimport {\r\n switchCase,\r\n defaultCase,\r\n toNumberOrNull,\r\n $$,\r\n isSafeInteger,\r\n} from \"../../common/index.js\"\r\n\r\nconst arrayFunctions = () =>\r\n typeFunctions({\r\n default: constant([]),\r\n })\r\n\r\nconst mapToParsedArrary = type =>\r\n $$(\r\n map(i => type.safeParseValue(i)),\r\n parsedSuccess\r\n )\r\n\r\nconst arrayTryParse = type =>\r\n switchCase([isArray, mapToParsedArrary(type)], [defaultCase, parsedFailed])\r\n\r\nconst typeName = type => `array<${type}>`\r\n\r\nconst options = {\r\n maxLength: {\r\n defaultValue: 10000,\r\n isValid: isSafeInteger,\r\n requirementDescription: \"must be a positive integer\",\r\n parse: toNumberOrNull,\r\n },\r\n minLength: {\r\n defaultValue: 0,\r\n isValid: n => isSafeInteger(n) && n >= 0,\r\n requirementDescription: \"must be a positive integer\",\r\n parse: toNumberOrNull,\r\n },\r\n}\r\n\r\nconst typeConstraints = [\r\n makerule(\r\n (val, opts) => val === null || val.length >= opts.minLength,\r\n (val, opts) => `must choose ${opts.minLength} or more options`\r\n ),\r\n makerule(\r\n (val, opts) => val === null || val.length <= opts.maxLength,\r\n (val, opts) => `cannot choose more than ${opts.maxLength} options`\r\n ),\r\n]\r\n\r\nexport default type =>\r\n getDefaultExport(\r\n typeName(type.name),\r\n arrayTryParse(type),\r\n arrayFunctions(type),\r\n options,\r\n typeConstraints,\r\n [type.sampleValue],\r\n JSON.stringify\r\n )\r\n"],"file":"array.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../../src/schema/types/bool.js"],"names":["boolFunctions","boolTryParse","isBoolean","parsedSuccess","isNull","defaultCase","parsedFailed","options","allowNulls","defaultValue","isValid","requirementDescription","parse","toBoolOrNull","typeConstraints","val","opts","JSON","stringify"],"mappings":"uGAAA;AACA;;;;;;;AAOA;;;;;;;AAOA,IAAMA,aAAa,GAAG,gCAAc;AAClC,aAAS,kBAAS,IAAT,CADyB,EAAd,CAAtB;;;AAIA,IAAMC,YAAY,GAAG;AACnB,CAACC,aAAD,EAAYC,0BAAZ,CADmB;AAEnB,CAACC,UAAD,EAASD,0BAAT,CAFmB;AAGnB,CAAC,oBAAQ,MAAR,EAAgB,GAAhB,EAAqB,KAArB,EAA4B,IAA5B,CAAD,EAAoC,oBAAM,gCAAc,IAAd,CAAN,EAApC,CAHmB;AAInB,CAAC,oBAAQ,OAAR,EAAiB,GAAjB,EAAsB,IAAtB,EAA4B,KAA5B,CAAD,EAAqC,oBAAM,gCAAc,KAAd,CAAN,EAArC,CAJmB;AAKnB,CAACE,kBAAD,EAAcC,yBAAd,CALmB,CAArB;;;AAQA,IAAMC,OAAO,GAAG;AACdC,EAAAA,UAAU,EAAE;AACVC,IAAAA,YAAY,EAAE,IADJ;AAEVC,IAAAA,OAAO,EAAER,aAFC;AAGVS,IAAAA,sBAAsB,EAAE,yBAHd;AAIVC,IAAAA,KAAK,EAAEC,mBAJG,EADE,EAAhB;;;;AASA,IAAMC,eAAe,GAAG;AACtB;AACE,UAACC,GAAD,EAAMC,IAAN,UAAeA,IAAI,CAACR,UAAL,KAAoB,IAApB,IAA4BO,GAAG,KAAK,IAAnD,EADF;AAEE,oBAAM,sBAAN,EAFF,CADsB,CAAxB,C;;;;AAOe;AACb,MADa;AAEbd,YAFa;AAGbD,aAHa;AAIbO,OAJa;AAKbO,eALa;AAMb,IANa;AAObG,IAAI,CAACC,SAPQ,C","sourcesContent":["import { constant, isBoolean, isNull } from \"lodash/fp\"\nimport {\n typeFunctions,\n makerule,\n parsedFailed,\n parsedSuccess,\n getDefaultExport,\n} from \"./typeHelpers\"\nimport {\n switchCase,\n defaultCase,\n isOneOf,\n toBoolOrNull,\n} from \"../../common/index.js\"\n\nconst boolFunctions = typeFunctions({\n default: constant(null),\n})\n\nconst boolTryParse = switchCase(\n [isBoolean, parsedSuccess],\n [isNull, parsedSuccess],\n [isOneOf(\"true\", \"1\", \"yes\", \"on\"), () => parsedSuccess(true)],\n [isOneOf(\"false\", \"0\", \"no\", \"off\"), () => parsedSuccess(false)],\n [defaultCase, parsedFailed]\n)\n\nconst options = {\n allowNulls: {\n defaultValue: true,\n isValid: isBoolean,\n requirementDescription: \"must be a true or false\",\n parse: toBoolOrNull,\n },\n}\n\nconst typeConstraints = [\n makerule(\n (val, opts) => opts.allowNulls === true || val !== null,\n () => \"field cannot be null\"\n ),\n]\n\nexport default getDefaultExport(\n \"bool\",\n boolTryParse,\n boolFunctions,\n options,\n typeConstraints,\n true,\n JSON.stringify\n)\n"],"file":"bool.js"} |
|||
{"version":3,"sources":["../../../src/schema/types/bool.js"],"names":["boolFunctions","boolTryParse","isBoolean","parsedSuccess","isNull","defaultCase","parsedFailed","options","allowNulls","defaultValue","isValid","requirementDescription","parse","toBoolOrNull","typeConstraints","val","opts","JSON","stringify"],"mappings":"uGAAA;AACA;;;;;;;AAOA;;;;;;;AAOA,IAAMA,aAAa,GAAG,gCAAc;AAClC,aAAS,kBAAS,IAAT,CADyB,EAAd,CAAtB;;;AAIA,IAAMC,YAAY,GAAG;AACnB,CAACC,aAAD,EAAYC,0BAAZ,CADmB;AAEnB,CAACC,UAAD,EAASD,0BAAT,CAFmB;AAGnB,CAAC,oBAAQ,MAAR,EAAgB,GAAhB,EAAqB,KAArB,EAA4B,IAA5B,CAAD,EAAoC,oBAAM,gCAAc,IAAd,CAAN,EAApC,CAHmB;AAInB,CAAC,oBAAQ,OAAR,EAAiB,GAAjB,EAAsB,IAAtB,EAA4B,KAA5B,CAAD,EAAqC,oBAAM,gCAAc,KAAd,CAAN,EAArC,CAJmB;AAKnB,CAACE,kBAAD,EAAcC,yBAAd,CALmB,CAArB;;;AAQA,IAAMC,OAAO,GAAG;AACdC,EAAAA,UAAU,EAAE;AACVC,IAAAA,YAAY,EAAE,IADJ;AAEVC,IAAAA,OAAO,EAAER,aAFC;AAGVS,IAAAA,sBAAsB,EAAE,yBAHd;AAIVC,IAAAA,KAAK,EAAEC,mBAJG,EADE,EAAhB;;;;AASA,IAAMC,eAAe,GAAG;AACtB;AACE,UAACC,GAAD,EAAMC,IAAN,UAAeA,IAAI,CAACR,UAAL,KAAoB,IAApB,IAA4BO,GAAG,KAAK,IAAnD,EADF;AAEE,oBAAM,sBAAN,EAFF,CADsB,CAAxB,C;;;;AAOe;AACb,MADa;AAEbd,YAFa;AAGbD,aAHa;AAIbO,OAJa;AAKbO,eALa;AAMb,IANa;AAObG,IAAI,CAACC,SAPQ,C","sourcesContent":["import { constant, isBoolean, isNull } from \"lodash/fp\"\r\nimport {\r\n typeFunctions,\r\n makerule,\r\n parsedFailed,\r\n parsedSuccess,\r\n getDefaultExport,\r\n} from \"./typeHelpers\"\r\nimport {\r\n switchCase,\r\n defaultCase,\r\n isOneOf,\r\n toBoolOrNull,\r\n} from \"../../common/index.js\"\r\n\r\nconst boolFunctions = typeFunctions({\r\n default: constant(null),\r\n})\r\n\r\nconst boolTryParse = switchCase(\r\n [isBoolean, parsedSuccess],\r\n [isNull, parsedSuccess],\r\n [isOneOf(\"true\", \"1\", \"yes\", \"on\"), () => parsedSuccess(true)],\r\n [isOneOf(\"false\", \"0\", \"no\", \"off\"), () => parsedSuccess(false)],\r\n [defaultCase, parsedFailed]\r\n)\r\n\r\nconst options = {\r\n allowNulls: {\r\n defaultValue: true,\r\n isValid: isBoolean,\r\n requirementDescription: \"must be a true or false\",\r\n parse: toBoolOrNull,\r\n },\r\n}\r\n\r\nconst typeConstraints = [\r\n makerule(\r\n (val, opts) => opts.allowNulls === true || val !== null,\r\n () => \"field cannot be null\"\r\n ),\r\n]\r\n\r\nexport default getDefaultExport(\r\n \"bool\",\r\n boolTryParse,\r\n boolFunctions,\r\n options,\r\n typeConstraints,\r\n true,\r\n JSON.stringify\r\n)\r\n"],"file":"bool.js"} |
|||
@ -1,78 +1,18 @@ |
|||
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _fp = require("lodash/fp"); |
|||
var _typeHelpers = require("./typeHelpers"); |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
var _common = require("../../common"); |
|||
|
|||
var dateFunctions = (0, _typeHelpers.typeFunctions)({ |
|||
"default": (0, _fp.constant)(null), |
|||
now: function now() {return new Date();} }); |
|||
|
|||
|
|||
var isValidDate = function isValidDate(d) {return d instanceof Date && !isNaN(d);}; |
|||
|
|||
var parseStringToDate = function parseStringToDate(s) {return ( |
|||
(0, _common.switchCase)( |
|||
[isValidDate, _typeHelpers.parsedSuccess], |
|||
[_common.defaultCase, _typeHelpers.parsedFailed])( |
|||
new Date(s)));}; |
|||
|
|||
var isNullOrEmpty = function isNullOrEmpty(d) {return (0, _fp.isNull)(d) || (d || "").toString() === "";}; |
|||
|
|||
var isDateOrEmpty = function isDateOrEmpty(d) {return (0, _fp.isDate)(d) || isNullOrEmpty(d);}; |
|||
|
|||
var dateTryParse = (0, _common.switchCase)( |
|||
[isDateOrEmpty, _typeHelpers.parsedSuccess], |
|||
[_fp.isString, parseStringToDate], |
|||
[_common.defaultCase, _typeHelpers.parsedFailed]); |
|||
|
|||
|
|||
var options = { |
|||
maxValue: { |
|||
defaultValue: null, |
|||
//defaultValue: new Date(32503680000000),
|
|||
isValid: isDateOrEmpty, |
|||
requirementDescription: "must be a valid date", |
|||
parse: _common.toDateOrNull }, |
|||
|
|||
minValue: { |
|||
defaultValue: null, |
|||
//defaultValue: new Date(-8520336000000),
|
|||
isValid: isDateOrEmpty, |
|||
requirementDescription: "must be a valid date", |
|||
parse: _common.toDateOrNull } }; |
|||
|
|||
|
|||
|
|||
var typeConstraints = [ |
|||
(0, _typeHelpers.makerule)( |
|||
function (val, opts) {return ( |
|||
val === null || isNullOrEmpty(opts.minValue) || val >= opts.minValue);}, |
|||
function (val, opts) {return "value (".concat( |
|||
val.toString(), ") must be greater than or equal to ").concat( |
|||
opts.minValue);}), |
|||
|
|||
|
|||
(0, _typeHelpers.makerule)( |
|||
function (val, opts) {return ( |
|||
val === null || isNullOrEmpty(opts.maxValue) || val <= opts.maxValue);}, |
|||
function (val, opts) {return "value (".concat( |
|||
val.toString(), ") must be less than or equal to ").concat( |
|||
opts.minValue, " options");})];var _default = |
|||
|
|||
|
|||
|
|||
|
|||
(0, _typeHelpers.getDefaultExport)( |
|||
"datetime", |
|||
dateTryParse, |
|||
dateFunctions, |
|||
options, |
|||
typeConstraints, |
|||
new Date(1984, 4, 1), |
|||
function (date) {return JSON.stringify(date).replace(new RegExp('"', "g"), "");});exports["default"] = _default; |
|||
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _default2 = { |
|||
isType: function isType(schema) {return ( |
|||
schema.anyOf && |
|||
schema.anyOf.filter(function (s) {return s.type === "string" && s.format === "date-time";}). |
|||
length > 0);}, |
|||
|
|||
fromSchema: function fromSchema(schema) {return { |
|||
type: "datetime", |
|||
"default": schema["default"] };}, |
|||
|
|||
toSchema: function toSchema() {return { |
|||
anyOf: [{ type: "string", format: "date-time" }, { "const": "" }], |
|||
"default": "" };}, |
|||
|
|||
"default": function _default() {return { |
|||
type: "datetime", |
|||
"default": "" };} };exports["default"] = _default2; |
|||
//# sourceMappingURL=datetime.js.map
|
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../../src/schema/types/datetime.js"],"names":["dateFunctions","now","Date","isValidDate","d","isNaN","parseStringToDate","s","parsedSuccess","defaultCase","parsedFailed","isNullOrEmpty","toString","isDateOrEmpty","dateTryParse","isString","options","maxValue","defaultValue","isValid","requirementDescription","parse","toDateOrNull","minValue","typeConstraints","val","opts","date","JSON","stringify","replace","RegExp"],"mappings":"uGAAA;AACA;;;;;;;AAOA;;AAEA,IAAMA,aAAa,GAAG,gCAAc;AAClC,aAAS,kBAAS,IAAT,CADyB;AAElCC,EAAAA,GAAG,EAAE,uBAAM,IAAIC,IAAJ,EAAN,EAF6B,EAAd,CAAtB;;;AAKA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAAAC,CAAC,UAAIA,CAAC,YAAYF,IAAb,IAAqB,CAACG,KAAK,CAACD,CAAD,CAA/B,EAArB;;AAEA,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAC,CAAC;AACzB;AACE,KAACJ,WAAD,EAAcK,0BAAd,CADF;AAEE,KAACC,mBAAD,EAAcC,yBAAd,CAFF;AAGE,QAAIR,IAAJ,CAASK,CAAT,CAHF,CADyB,GAA3B;;AAMA,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAAAP,CAAC,UAAI,gBAAOA,CAAP,KAAa,CAACA,CAAC,IAAI,EAAN,EAAUQ,QAAV,OAAyB,EAA1C,EAAvB;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAT,CAAC,UAAI,gBAAOA,CAAP,KAAaO,aAAa,CAACP,CAAD,CAA9B,EAAvB;;AAEA,IAAMU,YAAY,GAAG;AACnB,CAACD,aAAD,EAAgBL,0BAAhB,CADmB;AAEnB,CAACO,YAAD,EAAWT,iBAAX,CAFmB;AAGnB,CAACG,mBAAD,EAAcC,yBAAd,CAHmB,CAArB;;;AAMA,IAAMM,OAAO,GAAG;AACdC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,YAAY,EAAE,IADN;AAER;AACAC,IAAAA,OAAO,EAAEN,aAHD;AAIRO,IAAAA,sBAAsB,EAAE,sBAJhB;AAKRC,IAAAA,KAAK,EAAEC,oBALC,EADI;;AAQdC,EAAAA,QAAQ,EAAE;AACRL,IAAAA,YAAY,EAAE,IADN;AAER;AACAC,IAAAA,OAAO,EAAEN,aAHD;AAIRO,IAAAA,sBAAsB,EAAE,sBAJhB;AAKRC,IAAAA,KAAK,EAAEC,oBALC,EARI,EAAhB;;;;AAiBA,IAAME,eAAe,GAAG;AACtB;AACE,UAACC,GAAD,EAAMC,IAAN;AACED,IAAAA,GAAG,KAAK,IAAR,IAAgBd,aAAa,CAACe,IAAI,CAACH,QAAN,CAA7B,IAAgDE,GAAG,IAAIC,IAAI,CAACH,QAD9D,GADF;AAGE,UAACE,GAAD,EAAMC,IAAN;AACYD,EAAAA,GAAG,CAACb,QAAJ,EADZ;AAEIc,EAAAA,IAAI,CAACH,QAFT,GAHF,CADsB;;;AAStB;AACE,UAACE,GAAD,EAAMC,IAAN;AACED,IAAAA,GAAG,KAAK,IAAR,IAAgBd,aAAa,CAACe,IAAI,CAACT,QAAN,CAA7B,IAAgDQ,GAAG,IAAIC,IAAI,CAACT,QAD9D,GADF;AAGE,UAACQ,GAAD,EAAMC,IAAN;AACYD,EAAAA,GAAG,CAACb,QAAJ,EADZ;AAEIc,EAAAA,IAAI,CAACH,QAFT,eAHF,CATsB,CAAxB,C;;;;;AAmBe;AACb,UADa;AAEbT,YAFa;AAGbd,aAHa;AAIbgB,OAJa;AAKbQ,eALa;AAMb,IAAItB,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CANa;AAOb,UAAAyB,IAAI,UAAIC,IAAI,CAACC,SAAL,CAAeF,IAAf,EAAqBG,OAArB,CAA6B,IAAIC,MAAJ,CAAW,GAAX,EAAgB,GAAhB,CAA7B,EAAmD,EAAnD,CAAJ,EAPS,C","sourcesContent":["import { constant, isDate, isString, isNull } from \"lodash/fp\"\nimport {\n makerule,\n typeFunctions,\n parsedFailed,\n parsedSuccess,\n getDefaultExport,\n} from \"./typeHelpers\"\nimport { switchCase, defaultCase, toDateOrNull } from \"../../common\"\n\nconst dateFunctions = typeFunctions({\n default: constant(null),\n now: () => new Date(),\n})\n\nconst isValidDate = d => d instanceof Date && !isNaN(d)\n\nconst parseStringToDate = s =>\n switchCase(\n [isValidDate, parsedSuccess],\n [defaultCase, parsedFailed]\n )(new Date(s))\n\nconst isNullOrEmpty = d => isNull(d) || (d || \"\").toString() === \"\"\n\nconst isDateOrEmpty = d => isDate(d) || isNullOrEmpty(d)\n\nconst dateTryParse = switchCase(\n [isDateOrEmpty, parsedSuccess],\n [isString, parseStringToDate],\n [defaultCase, parsedFailed]\n)\n\nconst options = {\n maxValue: {\n defaultValue: null,\n //defaultValue: new Date(32503680000000),\n isValid: isDateOrEmpty,\n requirementDescription: \"must be a valid date\",\n parse: toDateOrNull,\n },\n minValue: {\n defaultValue: null,\n //defaultValue: new Date(-8520336000000),\n isValid: isDateOrEmpty,\n requirementDescription: \"must be a valid date\",\n parse: toDateOrNull,\n },\n}\n\nconst typeConstraints = [\n makerule(\n (val, opts) =>\n val === null || isNullOrEmpty(opts.minValue) || val >= opts.minValue,\n (val, opts) =>\n `value (${val.toString()}) must be greater than or equal to ${\n opts.minValue\n }`\n ),\n makerule(\n (val, opts) =>\n val === null || isNullOrEmpty(opts.maxValue) || val <= opts.maxValue,\n (val, opts) =>\n `value (${val.toString()}) must be less than or equal to ${\n opts.minValue\n } options`\n ),\n]\n\nexport default getDefaultExport(\n \"datetime\",\n dateTryParse,\n dateFunctions,\n options,\n typeConstraints,\n new Date(1984, 4, 1),\n date => JSON.stringify(date).replace(new RegExp('\"', \"g\"), \"\")\n)\n"],"file":"datetime.js"} |
|||
{"version":3,"sources":["../../../src/schema/types/datetime.js"],"names":["isType","schema","anyOf","filter","s","type","format","length","fromSchema","toSchema"],"mappings":"uHAAe;AACbA,EAAAA,MAAM,EAAE,gBAAAC,MAAM;AACZA,MAAAA,MAAM,CAACC,KAAP;AACAD,MAAAA,MAAM,CAACC,KAAP,CAAaC,MAAb,CAAoB,UAAAC,CAAC,UAAIA,CAAC,CAACC,IAAF,KAAW,QAAX,IAAuBD,CAAC,CAACE,MAAF,KAAa,WAAxC,EAArB;AACGC,MAAAA,MADH,GACY,CAHA,GADD;;AAMbC,EAAAA,UAAU,EAAE,oBAAAP,MAAM,UAAK;AACrBI,MAAAA,IAAI,EAAE,UADe;AAErB,iBAASJ,MAAM,WAFM,EAAL,EANL;;AAUbQ,EAAAA,QAAQ,EAAE,4BAAO;AACfP,MAAAA,KAAK,EAAE,CAAC,EAAEG,IAAI,EAAE,QAAR,EAAkBC,MAAM,EAAE,WAA1B,EAAD,EAA0C,EAAE,SAAO,EAAT,EAA1C,CADQ;AAEf,iBAAS,EAFM,EAAP,EAVG;;AAcb,aAAS,4BAAO;AACdD,MAAAA,IAAI,EAAE,UADQ;AAEd,iBAAS,EAFK,EAAP,EAdI,E","sourcesContent":["export default {\r\n isType: schema =>\r\n schema.anyOf &&\r\n schema.anyOf.filter(s => s.type === \"string\" && s.format === \"date-time\")\r\n .length > 0,\r\n\r\n fromSchema: schema => ({\r\n type: \"datetime\",\r\n default: schema.default,\r\n }),\r\n toSchema: () => ({\r\n anyOf: [{ type: \"string\", format: \"date-time\" }, { const: \"\" }],\r\n default: \"\",\r\n }),\r\n default: () => ({\r\n type: \"datetime\",\r\n default: \"\",\r\n }),\r\n}\r\n"],"file":"datetime.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../../src/schema/types/file.js"],"names":["illegalCharacters","isLegalFilename","filePath","fn","fileName","length","split","f","fileNothing","relativePath","size","fileFunctions","fileTryParse","v","isValidFile","parsedSuccess","isNull","defaultCase","parsedFailed","splitKey","last","options","typeConstraints","JSON","stringify"],"mappings":"iIAAA;AACA;;;;;;AAMA;;;;;;;;AAQA,IAAMA,iBAAiB,GAAG,mBAA1B;;AAEO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,QAAQ,EAAI;AACzC,MAAMC,EAAE,GAAGC,QAAQ,CAACF,QAAD,CAAnB;AACA;AACEC,IAAAA,EAAE,CAACE,MAAH,IAAa,GAAb;AACA,0BAAaF,EAAE,CAACG,KAAH,CAAS,EAAT,CAAb,EAA2BN,iBAAiB,CAACM,KAAlB,CAAwB,EAAxB,CAA3B,EAAwDD,MAAxD,KAAmE,CADnE;AAEA,qBAAK,UAAAE,CAAC,UAAIA,CAAC,KAAK,IAAV,EAAN,EAAsB,qBAASL,QAAT,CAAtB,CAHF;;AAKD,CAPM,C;;AASP,IAAMM,WAAW,GAAG,SAAdA,WAAc,WAAO,EAAEC,YAAY,EAAE,EAAhB,EAAoBC,IAAI,EAAE,CAA1B,EAAP,EAApB;;AAEA,IAAMC,aAAa,GAAG,gCAAc;AAClC,aAASH,WADyB,EAAd,CAAtB;;;AAIA,IAAMI,YAAY,GAAG,SAAfA,YAAe,CAAAC,CAAC;AACpB;AACE,KAACC,WAAD,EAAcC,0BAAd,CADF;AAEE,KAACC,UAAD,EAAS,oBAAM,gCAAcR,WAAW,EAAzB,CAAN,EAAT,CAFF;AAGE,KAACS,kBAAD,EAAcC,yBAAd,CAHF;AAIEL,IAAAA,CAJF,CADoB,GAAtB;;AAOA,IAAMT,QAAQ,GAAG,SAAXA,QAAW,CAAAF,QAAQ,UAAI,cAAEA,QAAF,EAAY,CAACiB,eAAD,EAAWC,QAAX,CAAZ,CAAJ,EAAzB;;AAEA,IAAMN,WAAW,GAAG,SAAdA,WAAc,CAAAP,CAAC;AACnB,KAAC,gBAAOA,CAAP,CAAD;AACA,iBAAI,cAAJ,EAAoBA,CAApB,CADA;AAEA,iBAAI,MAAJ,EAAYA,CAAZ,CAFA;AAGA,sBAASA,CAAC,CAACG,IAAX,CAHA;AAIA,sBAASH,CAAC,CAACE,YAAX,CAJA;AAKAR,IAAAA,eAAe,CAACM,CAAC,CAACE,YAAH,CANI,GAArB;;AAQA,IAAMY,OAAO,GAAG,EAAhB;;AAEA,IAAMC,eAAe,GAAG,EAAxB,C;;AAEe;AACb,MADa;AAEbV,YAFa;AAGbD,aAHa;AAIbU,OAJa;AAKbC,eALa;AAMb,EAAEb,YAAY,EAAE,eAAhB,EAAiCC,IAAI,EAAE,IAAvC,EANa;AAOba,IAAI,CAACC,SAPQ,C","sourcesContent":["import { last, has, isString, intersection, isNull, isNumber } from \"lodash/fp\"\nimport {\n typeFunctions,\n parsedFailed,\n parsedSuccess,\n getDefaultExport,\n} from \"./typeHelpers\"\nimport {\n switchCase,\n defaultCase,\n none,\n $,\n splitKey,\n} from \"../../common/index.js\"\n\nconst illegalCharacters = \"*?\\\\/:<>|\\0\\b\\f\\v\"\n\nexport const isLegalFilename = filePath => {\n const fn = fileName(filePath)\n return (\n fn.length <= 255 &&\n intersection(fn.split(\"\"))(illegalCharacters.split(\"\")).length === 0 &&\n none(f => f === \"..\")(splitKey(filePath))\n )\n}\n\nconst fileNothing = () => ({ relativePath: \"\", size: 0 })\n\nconst fileFunctions = typeFunctions({\n default: fileNothing,\n})\n\nconst fileTryParse = v =>\n switchCase(\n [isValidFile, parsedSuccess],\n [isNull, () => parsedSuccess(fileNothing())],\n [defaultCase, parsedFailed]\n )(v)\n\nconst fileName = filePath => $(filePath, [splitKey, last])\n\nconst isValidFile = f =>\n !isNull(f) &&\n has(\"relativePath\")(f) &&\n has(\"size\")(f) &&\n isNumber(f.size) &&\n isString(f.relativePath) &&\n isLegalFilename(f.relativePath)\n\nconst options = {}\n\nconst typeConstraints = []\n\nexport default getDefaultExport(\n \"file\",\n fileTryParse,\n fileFunctions,\n options,\n typeConstraints,\n { relativePath: \"some_file.jpg\", size: 1000 },\n JSON.stringify\n)\n"],"file":"file.js"} |
|||
{"version":3,"sources":["../../../src/schema/types/file.js"],"names":["illegalCharacters","isLegalFilename","filePath","fn","fileName","length","split","f","fileNothing","relativePath","size","fileFunctions","fileTryParse","v","isValidFile","parsedSuccess","isNull","defaultCase","parsedFailed","splitKey","last","options","typeConstraints","JSON","stringify"],"mappings":"iIAAA;AACA;;;;;;AAMA;;;;;;;;AAQA,IAAMA,iBAAiB,GAAG,mBAA1B;;AAEO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,QAAQ,EAAI;AACzC,MAAMC,EAAE,GAAGC,QAAQ,CAACF,QAAD,CAAnB;AACA;AACEC,IAAAA,EAAE,CAACE,MAAH,IAAa,GAAb;AACA,0BAAaF,EAAE,CAACG,KAAH,CAAS,EAAT,CAAb,EAA2BN,iBAAiB,CAACM,KAAlB,CAAwB,EAAxB,CAA3B,EAAwDD,MAAxD,KAAmE,CADnE;AAEA,qBAAK,UAAAE,CAAC,UAAIA,CAAC,KAAK,IAAV,EAAN,EAAsB,qBAASL,QAAT,CAAtB,CAHF;;AAKD,CAPM,C;;AASP,IAAMM,WAAW,GAAG,SAAdA,WAAc,WAAO,EAAEC,YAAY,EAAE,EAAhB,EAAoBC,IAAI,EAAE,CAA1B,EAAP,EAApB;;AAEA,IAAMC,aAAa,GAAG,gCAAc;AAClC,aAASH,WADyB,EAAd,CAAtB;;;AAIA,IAAMI,YAAY,GAAG,SAAfA,YAAe,CAAAC,CAAC;AACpB;AACE,KAACC,WAAD,EAAcC,0BAAd,CADF;AAEE,KAACC,UAAD,EAAS,oBAAM,gCAAcR,WAAW,EAAzB,CAAN,EAAT,CAFF;AAGE,KAACS,kBAAD,EAAcC,yBAAd,CAHF;AAIEL,IAAAA,CAJF,CADoB,GAAtB;;AAOA,IAAMT,QAAQ,GAAG,SAAXA,QAAW,CAAAF,QAAQ,UAAI,cAAEA,QAAF,EAAY,CAACiB,eAAD,EAAWC,QAAX,CAAZ,CAAJ,EAAzB;;AAEA,IAAMN,WAAW,GAAG,SAAdA,WAAc,CAAAP,CAAC;AACnB,KAAC,gBAAOA,CAAP,CAAD;AACA,iBAAI,cAAJ,EAAoBA,CAApB,CADA;AAEA,iBAAI,MAAJ,EAAYA,CAAZ,CAFA;AAGA,sBAASA,CAAC,CAACG,IAAX,CAHA;AAIA,sBAASH,CAAC,CAACE,YAAX,CAJA;AAKAR,IAAAA,eAAe,CAACM,CAAC,CAACE,YAAH,CANI,GAArB;;AAQA,IAAMY,OAAO,GAAG,EAAhB;;AAEA,IAAMC,eAAe,GAAG,EAAxB,C;;AAEe;AACb,MADa;AAEbV,YAFa;AAGbD,aAHa;AAIbU,OAJa;AAKbC,eALa;AAMb,EAAEb,YAAY,EAAE,eAAhB,EAAiCC,IAAI,EAAE,IAAvC,EANa;AAOba,IAAI,CAACC,SAPQ,C","sourcesContent":["import { last, has, isString, intersection, isNull, isNumber } from \"lodash/fp\"\r\nimport {\r\n typeFunctions,\r\n parsedFailed,\r\n parsedSuccess,\r\n getDefaultExport,\r\n} from \"./typeHelpers\"\r\nimport {\r\n switchCase,\r\n defaultCase,\r\n none,\r\n $,\r\n splitKey,\r\n} from \"../../common/index.js\"\r\n\r\nconst illegalCharacters = \"*?\\\\/:<>|\\0\\b\\f\\v\"\r\n\r\nexport const isLegalFilename = filePath => {\r\n const fn = fileName(filePath)\r\n return (\r\n fn.length <= 255 &&\r\n intersection(fn.split(\"\"))(illegalCharacters.split(\"\")).length === 0 &&\r\n none(f => f === \"..\")(splitKey(filePath))\r\n )\r\n}\r\n\r\nconst fileNothing = () => ({ relativePath: \"\", size: 0 })\r\n\r\nconst fileFunctions = typeFunctions({\r\n default: fileNothing,\r\n})\r\n\r\nconst fileTryParse = v =>\r\n switchCase(\r\n [isValidFile, parsedSuccess],\r\n [isNull, () => parsedSuccess(fileNothing())],\r\n [defaultCase, parsedFailed]\r\n )(v)\r\n\r\nconst fileName = filePath => $(filePath, [splitKey, last])\r\n\r\nconst isValidFile = f =>\r\n !isNull(f) &&\r\n has(\"relativePath\")(f) &&\r\n has(\"size\")(f) &&\r\n isNumber(f.size) &&\r\n isString(f.relativePath) &&\r\n isLegalFilename(f.relativePath)\r\n\r\nconst options = {}\r\n\r\nconst typeConstraints = []\r\n\r\nexport default getDefaultExport(\r\n \"file\",\r\n fileTryParse,\r\n fileFunctions,\r\n options,\r\n typeConstraints,\r\n { relativePath: \"some_file.jpg\", size: 1000 },\r\n JSON.stringify\r\n)\r\n"],"file":"file.js"} |
|||
@ -1,85 +1,54 @@ |
|||
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.detectType = exports.validateTypeConstraints = exports.getDefaultOptions = exports.validateFieldParse = exports.safeParseField = exports.getNewFieldValue = exports.getSampleFieldValue = exports.getType = exports.all = void 0;var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _lodash = require("lodash"); |
|||
var _fp = require("lodash/fp"); |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
var _common = require("../../common"); |
|||
var _typeHelpers = require("./typeHelpers"); |
|||
var _string = _interopRequireDefault(require("./string")); |
|||
var _bool = _interopRequireDefault(require("./bool")); |
|||
var _number = _interopRequireDefault(require("./number")); |
|||
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.listTypes = listTypes;exports.newField = newField;exports.fieldsToSchema = fieldsToSchema;exports.schemaToFields = schemaToFields;var _boolean2 = _interopRequireDefault(require("./boolean")); |
|||
var _datetime = _interopRequireDefault(require("./datetime")); |
|||
var _array = _interopRequireDefault(require("./array")); |
|||
var _link = _interopRequireDefault(require("./link")); |
|||
var _file = _interopRequireDefault(require("./file")); |
|||
var _errors = require("../../common/errors"); |
|||
|
|||
var allTypes = function allTypes() { |
|||
var basicTypes = { |
|||
string: _string["default"], |
|||
number: _number["default"], |
|||
datetime: _datetime["default"], |
|||
bool: _bool["default"], |
|||
link: _link["default"], |
|||
file: _file["default"] }; |
|||
|
|||
|
|||
var arrays = (0, _common.$)(basicTypes, [ |
|||
_fp.keys, |
|||
(0, _fp.map)(function (k) { |
|||
var kvType = {}; |
|||
var concreteArray = (0, _array["default"])(basicTypes[k]); |
|||
kvType[concreteArray.name] = concreteArray; |
|||
return kvType; |
|||
}), |
|||
function (types) {return _lodash.assign.apply(void 0, [{}].concat((0, _toConsumableArray2["default"])(types)));}]); |
|||
|
|||
|
|||
return (0, _lodash.merge)({}, basicTypes, arrays); |
|||
}; |
|||
|
|||
var all = allTypes();exports.all = all; |
|||
|
|||
var getType = function getType(typeName) { |
|||
if (!(0, _fp.has)(typeName)(all)) |
|||
throw new _errors.BadRequestError("Do not recognise type ".concat(typeName)); |
|||
return all[typeName]; |
|||
};exports.getType = getType; |
|||
|
|||
var getSampleFieldValue = function getSampleFieldValue(field) {return getType(field.type).sampleValue;};exports.getSampleFieldValue = getSampleFieldValue; |
|||
|
|||
var getNewFieldValue = function getNewFieldValue(field) {return getType(field.type).getNew(field);};exports.getNewFieldValue = getNewFieldValue; |
|||
|
|||
var safeParseField = function safeParseField(field, record) {return ( |
|||
getType(field.type).safeParseField(field, record));};exports.safeParseField = safeParseField; |
|||
|
|||
var validateFieldParse = function validateFieldParse(field, record) {return ( |
|||
(0, _fp.has)(field.name)(record) ? |
|||
getType(field.type).tryParse(record[field.name]) : |
|||
(0, _typeHelpers.parsedSuccess)(undefined));}; // fields may be undefined by default
|
|||
exports.validateFieldParse = validateFieldParse; |
|||
var getDefaultOptions = function getDefaultOptions(type) {return getType(type).getDefaultOptions();};exports.getDefaultOptions = getDefaultOptions; |
|||
|
|||
var validateTypeConstraints = function validateTypeConstraints(field, record) {return ( |
|||
getType(field.type).validateTypeConstraints(field, record));};exports.validateTypeConstraints = validateTypeConstraints; |
|||
|
|||
var detectType = function detectType(value) { |
|||
if ((0, _fp.isString)(value)) return _string["default"]; |
|||
if ((0, _fp.isBoolean)(value)) return _bool["default"]; |
|||
if ((0, _fp.isNumber)(value)) return _number["default"]; |
|||
if ((0, _fp.isDate)(value)) return _datetime["default"]; |
|||
if ((0, _fp.isArray)(value)) return (0, _array["default"])(detectType(value[0])); |
|||
if ((0, _fp.isObject)(value) && (0, _fp.has)("key")(value) && (0, _fp.has)("value")(value)) return _link["default"]; |
|||
if ((0, _fp.isObject)(value) && (0, _fp.has)("relativePath")(value) && (0, _fp.has)("size")(value)) |
|||
return _file["default"]; |
|||
|
|||
throw new _errors.BadRequestError("cannot determine type: ".concat(JSON.stringify(value))); |
|||
};exports.detectType = detectType; |
|||
var _number = _interopRequireDefault(require("./number")); |
|||
var _select = _interopRequireDefault(require("./select")); |
|||
var _text = _interopRequireDefault(require("./text")); |
|||
|
|||
var allTypes = { |
|||
"boolean": _boolean2["default"], |
|||
datetime: _datetime["default"], |
|||
link: _link["default"], |
|||
number: _number["default"], |
|||
select: _select["default"], |
|||
text: _text["default"] }; |
|||
|
|||
|
|||
function listTypes() { |
|||
return Object.keys(allTypes); |
|||
} |
|||
|
|||
function newField(name, type) { |
|||
var field = allTypes[type]["default"](); |
|||
field.name = name; |
|||
field.required = false; |
|||
return field; |
|||
} |
|||
|
|||
function fieldsToSchema(fields) { |
|||
var required = fields.filter(function (f) {return f.required;}).map(function (f) {return f.name;}); |
|||
|
|||
return { |
|||
type: "object", |
|||
required: required, |
|||
properties: fields.reduce(function (sch, field) { |
|||
sch[field.name] = allTypes[field.type].toSchema(field); |
|||
return sch; |
|||
}, {}) }; |
|||
|
|||
} |
|||
|
|||
function schemaToFields(modelSchema) { |
|||
return Object.keys(modelSchema.properties).map(function (key) { |
|||
var schema = modelSchema.properties[key]; |
|||
for (var type in allTypes) { |
|||
if (allTypes[type].isType(schema)) { |
|||
var field = allTypes[type].fromSchema(schema); |
|||
field.required = modelSchema.required.includes(key); |
|||
field.name = key; |
|||
return field; |
|||
} |
|||
} |
|||
}); |
|||
} |
|||
//# sourceMappingURL=index.js.map
|
|||
File diff suppressed because one or more lines are too long
@ -1,42 +1,26 @@ |
|||
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _fp = require("lodash/fp"); |
|||
var _typeHelpers = require("./typeHelpers"); |
|||
var _index = require("../../common/index.js"); |
|||
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _default2 = { |
|||
isType: function isType(schema) {return schema.type === "object" && schema.properties.modelId;}, |
|||
|
|||
fromSchema: function fromSchema(schema) {return { |
|||
type: "link", |
|||
modelId: schema.properties.modelId["const"], |
|||
viewId: schema.properties.viewId["const"], |
|||
"default": schema["default"] };}, |
|||
|
|||
|
|||
toSchema: function toSchema(field) {return { |
|||
type: "object", |
|||
properties: { |
|||
_id: { type: "string" }, |
|||
viewId: field.viewId ? { "const": field.viewId } : undefined, |
|||
modelId: field.modelId ? { "const": field.modelId } : undefined }, |
|||
|
|||
required: ["_id"], |
|||
"default": { _id: "" } };}, |
|||
|
|||
var linkNothing = function linkNothing() {return "";}; |
|||
|
|||
var linkFunctions = (0, _typeHelpers.typeFunctions)({ |
|||
"default": linkNothing }); |
|||
|
|||
|
|||
var linkTryParse = function linkTryParse(v) {return ( |
|||
(0, _index.switchCase)( |
|||
[_fp.isString, function (s) {return (0, _typeHelpers.parsedSuccess)(s);}], |
|||
[_fp.isNull, function () {return (0, _typeHelpers.parsedSuccess)(linkNothing());}], |
|||
[_fp.isUndefined, function () {return (0, _typeHelpers.parsedSuccess)(linkNothing());}], |
|||
[_index.defaultCase, function (s) {return (0, _typeHelpers.parsedSuccess)(s.toString());}])( |
|||
v));}; |
|||
|
|||
var options = { |
|||
modelId: { |
|||
defaultValue: "", |
|||
isValid: _index.isNonEmptyString, |
|||
requirementDescription: "must choose a model", |
|||
parse: function parse(s) {return s;} } }; |
|||
|
|||
|
|||
|
|||
var typeConstraints = [];var _default = |
|||
|
|||
(0, _typeHelpers.getDefaultExport)( |
|||
"link", |
|||
linkTryParse, |
|||
linkFunctions, |
|||
options, |
|||
typeConstraints, |
|||
"abcd1234", |
|||
JSON.stringify);exports["default"] = _default; |
|||
"default": function _default() {return { |
|||
type: "link", |
|||
modelId: null, |
|||
viewId: null };} };exports["default"] = _default2; |
|||
//# sourceMappingURL=link.js.map
|
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../../src/schema/types/link.js"],"names":["linkNothing","linkFunctions","linkTryParse","v","isString","s","isNull","isUndefined","defaultCase","toString","options","modelId","defaultValue","isValid","isNonEmptyString","requirementDescription","parse","typeConstraints","JSON","stringify"],"mappings":"uGAAA;AACA;AACA;;;;;;AAMA,IAAMA,WAAW,GAAG,SAAdA,WAAc,WAAM,EAAN,EAApB;;AAEA,IAAMC,aAAa,GAAG,gCAAc;AAClC,aAASD,WADyB,EAAd,CAAtB;;;AAIA,IAAME,YAAY,GAAG,SAAfA,YAAe,CAAAC,CAAC;AACpB;AACE,KAACC,YAAD,EAAW,UAAAC,CAAC,UAAI,gCAAcA,CAAd,CAAJ,EAAZ,CADF;AAEE,KAACC,UAAD,EAAS,oBAAM,gCAAcN,WAAW,EAAzB,CAAN,EAAT,CAFF;AAGE,KAACO,eAAD,EAAc,oBAAM,gCAAcP,WAAW,EAAzB,CAAN,EAAd,CAHF;AAIE,KAACQ,kBAAD,EAAc,UAAAH,CAAC,UAAI,gCAAcA,CAAC,CAACI,QAAF,EAAd,CAAJ,EAAf,CAJF;AAKEN,IAAAA,CALF,CADoB,GAAtB;;AAQA,IAAMO,OAAO,GAAG;AACdC,EAAAA,OAAO,EAAE;AACPC,IAAAA,YAAY,EAAE,EADP;AAEPC,IAAAA,OAAO,EAAEC,uBAFF;AAGPC,IAAAA,sBAAsB,EAAE,qBAHjB;AAIPC,IAAAA,KAAK,EAAE,eAAAX,CAAC,UAAIA,CAAJ,EAJD,EADK,EAAhB;;;;AASA,IAAMY,eAAe,GAAG,EAAxB,C;;AAEe;AACb,MADa;AAEbf,YAFa;AAGbD,aAHa;AAIbS,OAJa;AAKbO,eALa;AAMb,UANa;AAObC,IAAI,CAACC,SAPQ,C","sourcesContent":["import { isString, isUndefined, isNull } from \"lodash/fp\"\nimport { typeFunctions, parsedSuccess, getDefaultExport } from \"./typeHelpers\"\nimport {\n switchCase,\n defaultCase,\n isNonEmptyString,\n} from \"../../common/index.js\"\n\nconst linkNothing = () => \"\"\n\nconst linkFunctions = typeFunctions({\n default: linkNothing,\n})\n\nconst linkTryParse = v =>\n switchCase(\n [isString, s => parsedSuccess(s)],\n [isNull, () => parsedSuccess(linkNothing())],\n [isUndefined, () => parsedSuccess(linkNothing())],\n [defaultCase, s => parsedSuccess(s.toString())]\n )(v)\n\nconst options = {\n modelId: {\n defaultValue: \"\",\n isValid: isNonEmptyString,\n requirementDescription: \"must choose a model\",\n parse: s => s,\n },\n}\n\nconst typeConstraints = []\n\nexport default getDefaultExport(\n \"link\",\n linkTryParse,\n linkFunctions,\n options,\n typeConstraints,\n \"abcd1234\",\n JSON.stringify\n)\n"],"file":"link.js"} |
|||
{"version":3,"sources":["../../../src/schema/types/link.js"],"names":["isType","schema","type","properties","modelId","fromSchema","viewId","toSchema","field","_id","undefined","required"],"mappings":"uHAAe;AACbA,EAAAA,MAAM,EAAE,gBAAAC,MAAM,UAAIA,MAAM,CAACC,IAAP,KAAgB,QAAhB,IAA4BD,MAAM,CAACE,UAAP,CAAkBC,OAAlD,EADD;;AAGbC,EAAAA,UAAU,EAAE,oBAAAJ,MAAM,UAAK;AACrBC,MAAAA,IAAI,EAAE,MADe;AAErBE,MAAAA,OAAO,EAAEH,MAAM,CAACE,UAAP,CAAkBC,OAAlB,SAFY;AAGrBE,MAAAA,MAAM,EAAEL,MAAM,CAACE,UAAP,CAAkBG,MAAlB,SAHa;AAIrB,iBAASL,MAAM,WAJM,EAAL,EAHL;;;AAUbM,EAAAA,QAAQ,EAAE,kBAAAC,KAAK,UAAK;AAClBN,MAAAA,IAAI,EAAE,QADY;AAElBC,MAAAA,UAAU,EAAE;AACVM,QAAAA,GAAG,EAAE,EAAEP,IAAI,EAAE,QAAR,EADK;AAEVI,QAAAA,MAAM,EAAEE,KAAK,CAACF,MAAN,GAAe,EAAE,SAAOE,KAAK,CAACF,MAAf,EAAf,GAAyCI,SAFvC;AAGVN,QAAAA,OAAO,EAAEI,KAAK,CAACJ,OAAN,GAAgB,EAAE,SAAOI,KAAK,CAACJ,OAAf,EAAhB,GAA2CM,SAH1C,EAFM;;AAOlBC,MAAAA,QAAQ,EAAE,CAAC,KAAD,CAPQ;AAQlB,iBAAS,EAAEF,GAAG,EAAE,EAAP,EARS,EAAL,EAVF;;;AAqBb,aAAS,4BAAO;AACdP,MAAAA,IAAI,EAAE,MADQ;AAEdE,MAAAA,OAAO,EAAE,IAFK;AAGdE,MAAAA,MAAM,EAAE,IAHM,EAAP,EArBI,E","sourcesContent":["export default {\r\n isType: schema => schema.type === \"object\" && schema.properties.modelId,\r\n\r\n fromSchema: schema => ({\r\n type: \"link\",\r\n modelId: schema.properties.modelId.const,\r\n viewId: schema.properties.viewId.const,\r\n default: schema.default,\r\n }),\r\n\r\n toSchema: field => ({\r\n type: \"object\",\r\n properties: {\r\n _id: { type: \"string\" },\r\n viewId: field.viewId ? { const: field.viewId } : undefined,\r\n modelId: field.modelId ? { const: field.modelId } : undefined,\r\n },\r\n required: [\"_id\"],\r\n default: { _id: \"\" },\r\n }),\r\n\r\n default: () => ({\r\n type: \"link\",\r\n modelId: null,\r\n viewId: null,\r\n }),\r\n}\r\n"],"file":"link.js"} |
|||
@ -1,94 +1,14 @@ |
|||
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _fp = require("lodash/fp"); |
|||
var _typeHelpers = require("./typeHelpers"); |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
var _index = require("../../common/index.js"); |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
var numberFunctions = (0, _typeHelpers.typeFunctions)({ |
|||
"default": (0, _fp.constant)(null) }); |
|||
|
|||
|
|||
var parseStringtoNumberOrNull = function parseStringtoNumberOrNull(s) { |
|||
var num = Number(s); |
|||
return isNaN(num) ? (0, _typeHelpers.parsedFailed)(s) : (0, _typeHelpers.parsedSuccess)(num); |
|||
}; |
|||
|
|||
var numberTryParse = (0, _index.switchCase)( |
|||
[_fp.isNumber, _typeHelpers.parsedSuccess], |
|||
[_fp.isString, parseStringtoNumberOrNull], |
|||
[_fp.isNull, _typeHelpers.parsedSuccess], |
|||
[_index.defaultCase, _typeHelpers.parsedFailed]); |
|||
|
|||
|
|||
var options = { |
|||
maxValue: { |
|||
defaultValue: Number.MAX_SAFE_INTEGER, |
|||
isValid: _index.isSafeInteger, |
|||
requirementDescription: "must be a valid integer", |
|||
parse: _index.toNumberOrNull }, |
|||
|
|||
minValue: { |
|||
defaultValue: 0 - Number.MAX_SAFE_INTEGER, |
|||
isValid: _index.isSafeInteger, |
|||
requirementDescription: "must be a valid integer", |
|||
parse: _index.toNumberOrNull }, |
|||
|
|||
decimalPlaces: { |
|||
defaultValue: 0, |
|||
isValid: function isValid(n) {return (0, _index.isSafeInteger)(n) && n >= 0;}, |
|||
requirementDescription: "must be a positive integer", |
|||
parse: _index.toNumberOrNull } }; |
|||
|
|||
|
|||
|
|||
var getDecimalPlaces = function getDecimalPlaces(val) { |
|||
var splitDecimal = val.toString().split("."); |
|||
if (splitDecimal.length === 1) return 0; |
|||
return splitDecimal[1].length; |
|||
}; |
|||
|
|||
var typeConstraints = [ |
|||
(0, _typeHelpers.makerule)( |
|||
function (val, opts) {return ( |
|||
val === null || opts.minValue === null || val >= opts.minValue);}, |
|||
function (val, opts) {return "value (".concat( |
|||
val.toString(), ") must be greater than or equal to ").concat( |
|||
opts.minValue);}), |
|||
|
|||
|
|||
(0, _typeHelpers.makerule)( |
|||
function (val, opts) {return ( |
|||
val === null || opts.maxValue === null || val <= opts.maxValue);}, |
|||
function (val, opts) {return "value (".concat( |
|||
val.toString(), ") must be less than or equal to ").concat( |
|||
opts.minValue, " options");}), |
|||
|
|||
|
|||
(0, _typeHelpers.makerule)( |
|||
function (val, opts) {return ( |
|||
val === null || opts.decimalPlaces >= getDecimalPlaces(val));}, |
|||
function (val, opts) {return "value (".concat( |
|||
val.toString(), ") must have ").concat( |
|||
opts.decimalPlaces, " decimal places or less");})];var _default = |
|||
|
|||
|
|||
|
|||
|
|||
(0, _typeHelpers.getDefaultExport)( |
|||
"number", |
|||
numberTryParse, |
|||
numberFunctions, |
|||
options, |
|||
typeConstraints, |
|||
1, |
|||
function (num) {return num.toString();});exports["default"] = _default; |
|||
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _default2 = { |
|||
isType: function isType(schema) {return schema.type === "number";}, |
|||
fromSchema: function fromSchema(schema) {return schema;}, |
|||
toSchema: function toSchema(field) {return { |
|||
type: "number", |
|||
maximum: field.maximum, |
|||
minimum: field.minimum, |
|||
"default": undefined };}, |
|||
|
|||
"default": function _default() {return { |
|||
type: "number", |
|||
maximum: null, |
|||
minimum: null };} };exports["default"] = _default2; |
|||
//# sourceMappingURL=number.js.map
|
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../../src/schema/types/number.js"],"names":["numberFunctions","parseStringtoNumberOrNull","s","num","Number","isNaN","numberTryParse","isNumber","parsedSuccess","isString","isNull","defaultCase","parsedFailed","options","maxValue","defaultValue","MAX_SAFE_INTEGER","isValid","isSafeInteger","requirementDescription","parse","toNumberOrNull","minValue","decimalPlaces","n","getDecimalPlaces","val","splitDecimal","toString","split","length","typeConstraints","opts"],"mappings":"uGAAA;AACA;;;;;;;AAOA;;;;;;;AAOA,IAAMA,eAAe,GAAG,gCAAc;AACpC,aAAS,kBAAS,IAAT,CAD2B,EAAd,CAAxB;;;AAIA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAAC,CAAC,EAAI;AACrC,MAAMC,GAAG,GAAGC,MAAM,CAACF,CAAD,CAAlB;AACA,SAAOG,KAAK,CAACF,GAAD,CAAL,GAAa,+BAAaD,CAAb,CAAb,GAA+B,gCAAcC,GAAd,CAAtC;AACD,CAHD;;AAKA,IAAMG,cAAc,GAAG;AACrB,CAACC,YAAD,EAAWC,0BAAX,CADqB;AAErB,CAACC,YAAD,EAAWR,yBAAX,CAFqB;AAGrB,CAACS,UAAD,EAASF,0BAAT,CAHqB;AAIrB,CAACG,kBAAD,EAAcC,yBAAd,CAJqB,CAAvB;;;AAOA,IAAMC,OAAO,GAAG;AACdC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,YAAY,EAAEX,MAAM,CAACY,gBADb;AAERC,IAAAA,OAAO,EAAEC,oBAFD;AAGRC,IAAAA,sBAAsB,EAAE,yBAHhB;AAIRC,IAAAA,KAAK,EAAEC,qBAJC,EADI;;AAOdC,EAAAA,QAAQ,EAAE;AACRP,IAAAA,YAAY,EAAE,IAAIX,MAAM,CAACY,gBADjB;AAERC,IAAAA,OAAO,EAAEC,oBAFD;AAGRC,IAAAA,sBAAsB,EAAE,yBAHhB;AAIRC,IAAAA,KAAK,EAAEC,qBAJC,EAPI;;AAadE,EAAAA,aAAa,EAAE;AACbR,IAAAA,YAAY,EAAE,CADD;AAEbE,IAAAA,OAAO,EAAE,iBAAAO,CAAC,UAAI,0BAAcA,CAAd,KAAoBA,CAAC,IAAI,CAA7B,EAFG;AAGbL,IAAAA,sBAAsB,EAAE,4BAHX;AAIbC,IAAAA,KAAK,EAAEC,qBAJM,EAbD,EAAhB;;;;AAqBA,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,GAAG,EAAI;AAC9B,MAAMC,YAAY,GAAGD,GAAG,CAACE,QAAJ,GAAeC,KAAf,CAAqB,GAArB,CAArB;AACA,MAAIF,YAAY,CAACG,MAAb,KAAwB,CAA5B,EAA+B,OAAO,CAAP;AAC/B,SAAOH,YAAY,CAAC,CAAD,CAAZ,CAAgBG,MAAvB;AACD,CAJD;;AAMA,IAAMC,eAAe,GAAG;AACtB;AACE,UAACL,GAAD,EAAMM,IAAN;AACEN,IAAAA,GAAG,KAAK,IAAR,IAAgBM,IAAI,CAACV,QAAL,KAAkB,IAAlC,IAA0CI,GAAG,IAAIM,IAAI,CAACV,QADxD,GADF;AAGE,UAACI,GAAD,EAAMM,IAAN;AACYN,EAAAA,GAAG,CAACE,QAAJ,EADZ;AAEII,EAAAA,IAAI,CAACV,QAFT,GAHF,CADsB;;;AAStB;AACE,UAACI,GAAD,EAAMM,IAAN;AACEN,IAAAA,GAAG,KAAK,IAAR,IAAgBM,IAAI,CAAClB,QAAL,KAAkB,IAAlC,IAA0CY,GAAG,IAAIM,IAAI,CAAClB,QADxD,GADF;AAGE,UAACY,GAAD,EAAMM,IAAN;AACYN,EAAAA,GAAG,CAACE,QAAJ,EADZ;AAEII,EAAAA,IAAI,CAACV,QAFT,eAHF,CATsB;;;AAiBtB;AACE,UAACI,GAAD,EAAMM,IAAN;AACEN,IAAAA,GAAG,KAAK,IAAR,IAAgBM,IAAI,CAACT,aAAL,IAAsBE,gBAAgB,CAACC,GAAD,CADxD,GADF;AAGE,UAACA,GAAD,EAAMM,IAAN;AACYN,EAAAA,GAAG,CAACE,QAAJ,EADZ;AAEII,EAAAA,IAAI,CAACT,aAFT,8BAHF,CAjBsB,CAAxB,C;;;;;AA2Be;AACb,QADa;AAEbjB,cAFa;AAGbN,eAHa;AAIba,OAJa;AAKbkB,eALa;AAMb,CANa;AAOb,UAAA5B,GAAG,UAAIA,GAAG,CAACyB,QAAJ,EAAJ,EAPU,C","sourcesContent":["import { constant, isNumber, isString, isNull } from \"lodash/fp\"\nimport {\n makerule,\n typeFunctions,\n parsedFailed,\n parsedSuccess,\n getDefaultExport,\n} from \"./typeHelpers\"\nimport {\n switchCase,\n defaultCase,\n toNumberOrNull,\n isSafeInteger,\n} from \"../../common/index.js\"\n\nconst numberFunctions = typeFunctions({\n default: constant(null),\n})\n\nconst parseStringtoNumberOrNull = s => {\n const num = Number(s)\n return isNaN(num) ? parsedFailed(s) : parsedSuccess(num)\n}\n\nconst numberTryParse = switchCase(\n [isNumber, parsedSuccess],\n [isString, parseStringtoNumberOrNull],\n [isNull, parsedSuccess],\n [defaultCase, parsedFailed]\n)\n\nconst options = {\n maxValue: {\n defaultValue: Number.MAX_SAFE_INTEGER,\n isValid: isSafeInteger,\n requirementDescription: \"must be a valid integer\",\n parse: toNumberOrNull,\n },\n minValue: {\n defaultValue: 0 - Number.MAX_SAFE_INTEGER,\n isValid: isSafeInteger,\n requirementDescription: \"must be a valid integer\",\n parse: toNumberOrNull,\n },\n decimalPlaces: {\n defaultValue: 0,\n isValid: n => isSafeInteger(n) && n >= 0,\n requirementDescription: \"must be a positive integer\",\n parse: toNumberOrNull,\n },\n}\n\nconst getDecimalPlaces = val => {\n const splitDecimal = val.toString().split(\".\")\n if (splitDecimal.length === 1) return 0\n return splitDecimal[1].length\n}\n\nconst typeConstraints = [\n makerule(\n (val, opts) =>\n val === null || opts.minValue === null || val >= opts.minValue,\n (val, opts) =>\n `value (${val.toString()}) must be greater than or equal to ${\n opts.minValue\n }`\n ),\n makerule(\n (val, opts) =>\n val === null || opts.maxValue === null || val <= opts.maxValue,\n (val, opts) =>\n `value (${val.toString()}) must be less than or equal to ${\n opts.minValue\n } options`\n ),\n makerule(\n (val, opts) =>\n val === null || opts.decimalPlaces >= getDecimalPlaces(val),\n (val, opts) =>\n `value (${val.toString()}) must have ${\n opts.decimalPlaces\n } decimal places or less`\n ),\n]\n\nexport default getDefaultExport(\n \"number\",\n numberTryParse,\n numberFunctions,\n options,\n typeConstraints,\n 1,\n num => num.toString()\n)\n"],"file":"number.js"} |
|||
{"version":3,"sources":["../../../src/schema/types/number.js"],"names":["isType","schema","type","fromSchema","toSchema","field","maximum","minimum","undefined"],"mappings":"uHAAe;AACbA,EAAAA,MAAM,EAAE,gBAAAC,MAAM,UAAIA,MAAM,CAACC,IAAP,KAAgB,QAApB,EADD;AAEbC,EAAAA,UAAU,EAAE,oBAAAF,MAAM,UAAIA,MAAJ,EAFL;AAGbG,EAAAA,QAAQ,EAAE,kBAAAC,KAAK,UAAK;AAClBH,MAAAA,IAAI,EAAE,QADY;AAElBI,MAAAA,OAAO,EAAED,KAAK,CAACC,OAFG;AAGlBC,MAAAA,OAAO,EAAEF,KAAK,CAACE,OAHG;AAIlB,iBAASC,SAJS,EAAL,EAHF;;AASb,aAAS,4BAAO;AACdN,MAAAA,IAAI,EAAE,QADQ;AAEdI,MAAAA,OAAO,EAAE,IAFK;AAGdC,MAAAA,OAAO,EAAE,IAHK,EAAP,EATI,E","sourcesContent":["export default {\r\n isType: schema => schema.type === \"number\",\r\n fromSchema: schema => schema,\r\n toSchema: field => ({\r\n type: \"number\",\r\n maximum: field.maximum,\r\n minimum: field.minimum,\r\n default: undefined,\r\n }),\r\n default: () => ({\r\n type: \"number\",\r\n maximum: null,\r\n minimum: null,\r\n }),\r\n}\r\n"],"file":"number.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../../src/schema/types/object.js"],"names":["objectFunctions","definition","allTypes","initialise","defClone","k","getNew","parseObject","record","type","safeParseValue","objectTryParse","isNull","parsedSuccess","isObject","defaultCase","parsedFailed","typeName","defaultOptions","typeConstraints","sampleValue","JSON","stringify"],"mappings":"uGAAA;AACA;;;;;;AAMA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,UAAD,EAAaC,QAAb;AACtB,oCAAc;AACZ,iBAAS,sBAAS,IAAT,CADG;AAEZC,MAAAA,UAAU,EAAE;AACV,wBAAE,kBAAKF,UAAL,CAAF,EAAoB;AAClB,2BAAI,YAAM;AACR,gBAAMG,QAAQ,GAAG,mBAAMH,UAAN,CAAjB;AACA,iBAAK,IAAMI,CAAX,IAAgBD,QAAhB,EAA0B;AACxBA,cAAAA,QAAQ,CAACC,CAAD,CAAR,GAAcH,QAAQ,CAACG,CAAD,CAAR,CAAYC,MAAZ,EAAd;AACD;AACD,mBAAOF,QAAP;AACD,WAND,CADkB,CAApB,CADU,GAFA,EAAd,CADsB,GAAxB;;;;AAeA,IAAMG,WAAW,GAAG,SAAdA,WAAc,CAACN,UAAD,EAAaC,QAAb,UAA0B,UAAAM,MAAM,EAAI;AACtD,QAAMJ,QAAQ,GAAG,mBAAMH,UAAN,CAAjB;AACA,SAAK,IAAMI,CAAX,IAAgBD,QAAhB,EAA0B;AACxB,UAAMK,IAAI,GAAGP,QAAQ,CAACE,QAAQ,CAACC,CAAD,CAAT,CAArB;AACAD,MAAAA,QAAQ,CAACC,CAAD,CAAR,GAAc,iBAAIG,MAAJ,EAAYH,CAAZ;AACVI,MAAAA,IAAI,CAACC,cAAL,CAAoBF,MAAM,CAACH,CAAD,CAA1B,CADU;AAEVI,MAAAA,IAAI,CAACH,MAAL,EAFJ;AAGD;AACD,WAAO,gCAAcF,QAAd,CAAP;AACD,GATmB,EAApB;;AAWA,IAAMO,cAAc,GAAG,SAAjBA,cAAiB,CAACV,UAAD,EAAaC,QAAb;AACrB;AACE,KAACU,cAAD,EAASC,0BAAT,CADF;AAEE,KAACC,gBAAD,EAAWP,WAAW,CAACN,UAAD,EAAaC,QAAb,CAAtB,CAFF;AAGE,KAACa,kBAAD,EAAcC,yBAAd,CAHF,CADqB,GAAvB,C;;;AAOe;AACbC,QADa;AAEbhB,UAFa;AAGbC,QAHa;AAIbgB,cAJa;AAKbC,eALa;AAMbC,WANa;;AAQb;AACEH,IAAAA,QADF;AAEEN,IAAAA,cAAc,CAACV,UAAD,EAAaC,QAAb,CAFhB;AAGEF,IAAAA,eAAe,CAACC,UAAD,EAAaC,QAAb,CAHjB;AAIEgB,IAAAA,cAJF;AAKEC,IAAAA,eALF;AAMEC,IAAAA,WANF;AAOEC,IAAAA,IAAI,CAACC,SAPP,CARa,G","sourcesContent":["import { keys, isObject, has, clone, map, isNull, constant } from \"lodash\"\nimport {\n typeFunctions,\n parsedFailed,\n parsedSuccess,\n getDefaultExport,\n} from \"./typeHelpers\"\nimport { switchCase, defaultCase, $ } from \"../../common/index.js\"\n\nconst objectFunctions = (definition, allTypes) =>\n typeFunctions({\n default: constant(null),\n initialise: () =>\n $(keys(definition), [\n map(() => {\n const defClone = clone(definition)\n for (const k in defClone) {\n defClone[k] = allTypes[k].getNew()\n }\n return defClone\n }),\n ]),\n })\n\nconst parseObject = (definition, allTypes) => record => {\n const defClone = clone(definition)\n for (const k in defClone) {\n const type = allTypes[defClone[k]]\n defClone[k] = has(record, k)\n ? type.safeParseValue(record[k])\n : type.getNew()\n }\n return parsedSuccess(defClone)\n}\n\nconst objectTryParse = (definition, allTypes) =>\n switchCase(\n [isNull, parsedSuccess],\n [isObject, parseObject(definition, allTypes)],\n [defaultCase, parsedFailed]\n )\n\nexport default (\n typeName,\n definition,\n allTypes,\n defaultOptions,\n typeConstraints,\n sampleValue\n) =>\n getDefaultExport(\n typeName,\n objectTryParse(definition, allTypes),\n objectFunctions(definition, allTypes),\n defaultOptions,\n typeConstraints,\n sampleValue,\n JSON.stringify\n )\n"],"file":"object.js"} |
|||
{"version":3,"sources":["../../../src/schema/types/object.js"],"names":["objectFunctions","definition","allTypes","initialise","defClone","k","getNew","parseObject","record","type","safeParseValue","objectTryParse","isNull","parsedSuccess","isObject","defaultCase","parsedFailed","typeName","defaultOptions","typeConstraints","sampleValue","JSON","stringify"],"mappings":"uGAAA;AACA;;;;;;AAMA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,UAAD,EAAaC,QAAb;AACtB,oCAAc;AACZ,iBAAS,sBAAS,IAAT,CADG;AAEZC,MAAAA,UAAU,EAAE;AACV,wBAAE,kBAAKF,UAAL,CAAF,EAAoB;AAClB,2BAAI,YAAM;AACR,gBAAMG,QAAQ,GAAG,mBAAMH,UAAN,CAAjB;AACA,iBAAK,IAAMI,CAAX,IAAgBD,QAAhB,EAA0B;AACxBA,cAAAA,QAAQ,CAACC,CAAD,CAAR,GAAcH,QAAQ,CAACG,CAAD,CAAR,CAAYC,MAAZ,EAAd;AACD;AACD,mBAAOF,QAAP;AACD,WAND,CADkB,CAApB,CADU,GAFA,EAAd,CADsB,GAAxB;;;;AAeA,IAAMG,WAAW,GAAG,SAAdA,WAAc,CAACN,UAAD,EAAaC,QAAb,UAA0B,UAAAM,MAAM,EAAI;AACtD,QAAMJ,QAAQ,GAAG,mBAAMH,UAAN,CAAjB;AACA,SAAK,IAAMI,CAAX,IAAgBD,QAAhB,EAA0B;AACxB,UAAMK,IAAI,GAAGP,QAAQ,CAACE,QAAQ,CAACC,CAAD,CAAT,CAArB;AACAD,MAAAA,QAAQ,CAACC,CAAD,CAAR,GAAc,iBAAIG,MAAJ,EAAYH,CAAZ;AACVI,MAAAA,IAAI,CAACC,cAAL,CAAoBF,MAAM,CAACH,CAAD,CAA1B,CADU;AAEVI,MAAAA,IAAI,CAACH,MAAL,EAFJ;AAGD;AACD,WAAO,gCAAcF,QAAd,CAAP;AACD,GATmB,EAApB;;AAWA,IAAMO,cAAc,GAAG,SAAjBA,cAAiB,CAACV,UAAD,EAAaC,QAAb;AACrB;AACE,KAACU,cAAD,EAASC,0BAAT,CADF;AAEE,KAACC,gBAAD,EAAWP,WAAW,CAACN,UAAD,EAAaC,QAAb,CAAtB,CAFF;AAGE,KAACa,kBAAD,EAAcC,yBAAd,CAHF,CADqB,GAAvB,C;;;AAOe;AACbC,QADa;AAEbhB,UAFa;AAGbC,QAHa;AAIbgB,cAJa;AAKbC,eALa;AAMbC,WANa;;AAQb;AACEH,IAAAA,QADF;AAEEN,IAAAA,cAAc,CAACV,UAAD,EAAaC,QAAb,CAFhB;AAGEF,IAAAA,eAAe,CAACC,UAAD,EAAaC,QAAb,CAHjB;AAIEgB,IAAAA,cAJF;AAKEC,IAAAA,eALF;AAMEC,IAAAA,WANF;AAOEC,IAAAA,IAAI,CAACC,SAPP,CARa,G","sourcesContent":["import { keys, isObject, has, clone, map, isNull, constant } from \"lodash\"\r\nimport {\r\n typeFunctions,\r\n parsedFailed,\r\n parsedSuccess,\r\n getDefaultExport,\r\n} from \"./typeHelpers\"\r\nimport { switchCase, defaultCase, $ } from \"../../common/index.js\"\r\n\r\nconst objectFunctions = (definition, allTypes) =>\r\n typeFunctions({\r\n default: constant(null),\r\n initialise: () =>\r\n $(keys(definition), [\r\n map(() => {\r\n const defClone = clone(definition)\r\n for (const k in defClone) {\r\n defClone[k] = allTypes[k].getNew()\r\n }\r\n return defClone\r\n }),\r\n ]),\r\n })\r\n\r\nconst parseObject = (definition, allTypes) => record => {\r\n const defClone = clone(definition)\r\n for (const k in defClone) {\r\n const type = allTypes[defClone[k]]\r\n defClone[k] = has(record, k)\r\n ? type.safeParseValue(record[k])\r\n : type.getNew()\r\n }\r\n return parsedSuccess(defClone)\r\n}\r\n\r\nconst objectTryParse = (definition, allTypes) =>\r\n switchCase(\r\n [isNull, parsedSuccess],\r\n [isObject, parseObject(definition, allTypes)],\r\n [defaultCase, parsedFailed]\r\n )\r\n\r\nexport default (\r\n typeName,\r\n definition,\r\n allTypes,\r\n defaultOptions,\r\n typeConstraints,\r\n sampleValue\r\n) =>\r\n getDefaultExport(\r\n typeName,\r\n objectTryParse(definition, allTypes),\r\n objectFunctions(definition, allTypes),\r\n defaultOptions,\r\n typeConstraints,\r\n sampleValue,\r\n JSON.stringify\r\n )\r\n"],"file":"object.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../../src/schema/types/string.js"],"names":["stringFunctions","stringTryParse","isString","parsedSuccess","isNull","defaultCase","v","toString","options","maxLength","defaultValue","isValid","n","requirementDescription","parse","toNumberOrNull","values","length","s","allowDeclaredValuesOnly","isBoolean","toBoolOrNull","typeConstraints","val","opts","str"],"mappings":"uGAAA;AACA;;;;;;AAMA;;;;;;;;;AASA,IAAMA,eAAe,GAAG,gCAAc;AACpC,aAAS,kBAAS,IAAT,CAD2B,EAAd,CAAxB;;;AAIA,IAAMC,cAAc,GAAG;AACrB,CAACC,YAAD,EAAWC,0BAAX,CADqB;AAErB,CAACC,UAAD,EAASD,0BAAT,CAFqB;AAGrB,CAACE,kBAAD,EAAc,UAAAC,CAAC,UAAI,gCAAcA,CAAC,CAACC,QAAF,EAAd,CAAJ,EAAf,CAHqB,CAAvB;;;AAMA,IAAMC,OAAO,GAAG;AACdC,EAAAA,SAAS,EAAE;AACTC,IAAAA,YAAY,EAAE,IADL;AAETC,IAAAA,OAAO,EAAE,iBAAAC,CAAC,UAAIA,CAAC,KAAK,IAAN,IAAe,0BAAcA,CAAd,KAAoBA,CAAC,GAAG,CAA3C,EAFD;AAGTC,IAAAA,sBAAsB;AACpB,uEAJO;AAKTC,IAAAA,KAAK,EAAEC,qBALE,EADG;;AAQdC,EAAAA,MAAM,EAAE;AACNN,IAAAA,YAAY,EAAE,IADR;AAENC,IAAAA,OAAO,EAAE,iBAAAL,CAAC;AACRA,QAAAA,CAAC,KAAK,IAAN,IAAe,4BAAgBA,CAAhB,KAAsBA,CAAC,CAACW,MAAF,GAAW,CAAjC,IAAsCX,CAAC,CAACW,MAAF,GAAW,KADxD,GAFJ;AAINJ,IAAAA,sBAAsB;AACpB,0EALI;AAMNC,IAAAA,KAAK,EAAE,eAAAI,CAAC,UAAIA,CAAJ,EANF,EARM;;AAgBdC,EAAAA,uBAAuB,EAAE;AACvBT,IAAAA,YAAY,EAAE,KADS;AAEvBC,IAAAA,OAAO,EAAES,aAFc;AAGvBP,IAAAA,sBAAsB,EAAE,+CAHD;AAIvBC,IAAAA,KAAK,EAAEO,mBAJgB,EAhBX,EAAhB;;;;AAwBA,IAAMC,eAAe,GAAG;AACtB;AACE,UAACC,GAAD,EAAMC,IAAN;AACED,IAAAA,GAAG,KAAK,IAAR,IAAgBC,IAAI,CAACf,SAAL,KAAmB,IAAnC,IAA2Cc,GAAG,CAACN,MAAJ,IAAcO,IAAI,CAACf,SADhE,GADF;AAGE,UAACc,GAAD,EAAMC,IAAN,oDAAkDA,IAAI,CAACf,SAAvD,GAHF,CADsB;;AAMtB;AACE,UAACc,GAAD,EAAMC,IAAN;AACED,IAAAA,GAAG,KAAK,IAAR;AACAC,IAAAA,IAAI,CAACL,uBAAL,KAAiC,KADjC;AAEA,sBAASI,GAAT,EAAcC,IAAI,CAACR,MAAnB,CAHF,GADF;AAKE,UAAAO,GAAG,sBAAQA,GAAR,sDALL,CANsB,CAAxB,C;;;;AAee;AACb,QADa;AAEbtB,cAFa;AAGbD,eAHa;AAIbQ,OAJa;AAKbc,eALa;AAMb,OANa;AAOb,UAAAG,GAAG,UAAIA,GAAJ,EAPU,C","sourcesContent":["import { constant, isString, isNull, includes, isBoolean } from \"lodash/fp\"\nimport {\n typeFunctions,\n makerule,\n parsedSuccess,\n getDefaultExport,\n} from \"./typeHelpers\"\nimport {\n switchCase,\n defaultCase,\n toBoolOrNull,\n toNumberOrNull,\n isSafeInteger,\n isArrayOfString,\n} from \"../../common/index.js\"\n\nconst stringFunctions = typeFunctions({\n default: constant(null),\n})\n\nconst stringTryParse = switchCase(\n [isString, parsedSuccess],\n [isNull, parsedSuccess],\n [defaultCase, v => parsedSuccess(v.toString())]\n)\n\nconst options = {\n maxLength: {\n defaultValue: null,\n isValid: n => n === null || (isSafeInteger(n) && n > 0),\n requirementDescription:\n \"max length must be null (no limit) or a greater than zero integer\",\n parse: toNumberOrNull,\n },\n values: {\n defaultValue: null,\n isValid: v =>\n v === null || (isArrayOfString(v) && v.length > 0 && v.length < 10000),\n requirementDescription:\n \"'values' must be null (no values) or an array of at least one string\",\n parse: s => s,\n },\n allowDeclaredValuesOnly: {\n defaultValue: false,\n isValid: isBoolean,\n requirementDescription: \"allowDeclaredValuesOnly must be true or false\",\n parse: toBoolOrNull,\n },\n}\n\nconst typeConstraints = [\n makerule(\n (val, opts) =>\n val === null || opts.maxLength === null || val.length <= opts.maxLength,\n (val, opts) => `value exceeds maximum length of ${opts.maxLength}`\n ),\n makerule(\n (val, opts) =>\n val === null ||\n opts.allowDeclaredValuesOnly === false ||\n includes(val)(opts.values),\n val => `\"${val}\" does not exist in the list of allowed values`\n ),\n]\n\nexport default getDefaultExport(\n \"string\",\n stringTryParse,\n stringFunctions,\n options,\n typeConstraints,\n \"abcde\",\n str => str\n)\n"],"file":"string.js"} |
|||
{"version":3,"sources":["../../../src/schema/types/string.js"],"names":["stringFunctions","stringTryParse","isString","parsedSuccess","isNull","defaultCase","v","toString","options","maxLength","defaultValue","isValid","n","requirementDescription","parse","toNumberOrNull","values","length","s","allowDeclaredValuesOnly","isBoolean","toBoolOrNull","typeConstraints","val","opts","str"],"mappings":"uGAAA;AACA;;;;;;AAMA;;;;;;;;;AASA,IAAMA,eAAe,GAAG,gCAAc;AACpC,aAAS,kBAAS,IAAT,CAD2B,EAAd,CAAxB;;;AAIA,IAAMC,cAAc,GAAG;AACrB,CAACC,YAAD,EAAWC,0BAAX,CADqB;AAErB,CAACC,UAAD,EAASD,0BAAT,CAFqB;AAGrB,CAACE,kBAAD,EAAc,UAAAC,CAAC,UAAI,gCAAcA,CAAC,CAACC,QAAF,EAAd,CAAJ,EAAf,CAHqB,CAAvB;;;AAMA,IAAMC,OAAO,GAAG;AACdC,EAAAA,SAAS,EAAE;AACTC,IAAAA,YAAY,EAAE,IADL;AAETC,IAAAA,OAAO,EAAE,iBAAAC,CAAC,UAAIA,CAAC,KAAK,IAAN,IAAe,0BAAcA,CAAd,KAAoBA,CAAC,GAAG,CAA3C,EAFD;AAGTC,IAAAA,sBAAsB;AACpB,uEAJO;AAKTC,IAAAA,KAAK,EAAEC,qBALE,EADG;;AAQdC,EAAAA,MAAM,EAAE;AACNN,IAAAA,YAAY,EAAE,IADR;AAENC,IAAAA,OAAO,EAAE,iBAAAL,CAAC;AACRA,QAAAA,CAAC,KAAK,IAAN,IAAe,4BAAgBA,CAAhB,KAAsBA,CAAC,CAACW,MAAF,GAAW,CAAjC,IAAsCX,CAAC,CAACW,MAAF,GAAW,KADxD,GAFJ;AAINJ,IAAAA,sBAAsB;AACpB,0EALI;AAMNC,IAAAA,KAAK,EAAE,eAAAI,CAAC,UAAIA,CAAJ,EANF,EARM;;AAgBdC,EAAAA,uBAAuB,EAAE;AACvBT,IAAAA,YAAY,EAAE,KADS;AAEvBC,IAAAA,OAAO,EAAES,aAFc;AAGvBP,IAAAA,sBAAsB,EAAE,+CAHD;AAIvBC,IAAAA,KAAK,EAAEO,mBAJgB,EAhBX,EAAhB;;;;AAwBA,IAAMC,eAAe,GAAG;AACtB;AACE,UAACC,GAAD,EAAMC,IAAN;AACED,IAAAA,GAAG,KAAK,IAAR,IAAgBC,IAAI,CAACf,SAAL,KAAmB,IAAnC,IAA2Cc,GAAG,CAACN,MAAJ,IAAcO,IAAI,CAACf,SADhE,GADF;AAGE,UAACc,GAAD,EAAMC,IAAN,oDAAkDA,IAAI,CAACf,SAAvD,GAHF,CADsB;;AAMtB;AACE,UAACc,GAAD,EAAMC,IAAN;AACED,IAAAA,GAAG,KAAK,IAAR;AACAC,IAAAA,IAAI,CAACL,uBAAL,KAAiC,KADjC;AAEA,sBAASI,GAAT,EAAcC,IAAI,CAACR,MAAnB,CAHF,GADF;AAKE,UAAAO,GAAG,sBAAQA,GAAR,sDALL,CANsB,CAAxB,C;;;;AAee;AACb,QADa;AAEbtB,cAFa;AAGbD,eAHa;AAIbQ,OAJa;AAKbc,eALa;AAMb,OANa;AAOb,UAAAG,GAAG,UAAIA,GAAJ,EAPU,C","sourcesContent":["import { constant, isString, isNull, includes, isBoolean } from \"lodash/fp\"\r\nimport {\r\n typeFunctions,\r\n makerule,\r\n parsedSuccess,\r\n getDefaultExport,\r\n} from \"./typeHelpers\"\r\nimport {\r\n switchCase,\r\n defaultCase,\r\n toBoolOrNull,\r\n toNumberOrNull,\r\n isSafeInteger,\r\n isArrayOfString,\r\n} from \"../../common/index.js\"\r\n\r\nconst stringFunctions = typeFunctions({\r\n default: constant(null),\r\n})\r\n\r\nconst stringTryParse = switchCase(\r\n [isString, parsedSuccess],\r\n [isNull, parsedSuccess],\r\n [defaultCase, v => parsedSuccess(v.toString())]\r\n)\r\n\r\nconst options = {\r\n maxLength: {\r\n defaultValue: null,\r\n isValid: n => n === null || (isSafeInteger(n) && n > 0),\r\n requirementDescription:\r\n \"max length must be null (no limit) or a greater than zero integer\",\r\n parse: toNumberOrNull,\r\n },\r\n values: {\r\n defaultValue: null,\r\n isValid: v =>\r\n v === null || (isArrayOfString(v) && v.length > 0 && v.length < 10000),\r\n requirementDescription:\r\n \"'values' must be null (no values) or an array of at least one string\",\r\n parse: s => s,\r\n },\r\n allowDeclaredValuesOnly: {\r\n defaultValue: false,\r\n isValid: isBoolean,\r\n requirementDescription: \"allowDeclaredValuesOnly must be true or false\",\r\n parse: toBoolOrNull,\r\n },\r\n}\r\n\r\nconst typeConstraints = [\r\n makerule(\r\n (val, opts) =>\r\n val === null || opts.maxLength === null || val.length <= opts.maxLength,\r\n (val, opts) => `value exceeds maximum length of ${opts.maxLength}`\r\n ),\r\n makerule(\r\n (val, opts) =>\r\n val === null ||\r\n opts.allowDeclaredValuesOnly === false ||\r\n includes(val)(opts.values),\r\n val => `\"${val}\" does not exist in the list of allowed values`\r\n ),\r\n]\r\n\r\nexport default getDefaultExport(\r\n \"string\",\r\n stringTryParse,\r\n stringFunctions,\r\n options,\r\n typeConstraints,\r\n \"abcde\",\r\n str => str\r\n)\r\n"],"file":"string.js"} |
|||
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/schema/views.js"],"names":["newView","modelId","id","name"],"mappings":"oGAAA;;AAEO,IAAMA,OAAO,GAAG,SAAVA,OAAU,QAACC,OAAD,uEAAW,IAAX,QAAqB;AAC1CC,IAAAA,EAAE,EAAE,wBADsC;AAE1CC,IAAAA,IAAI,EAAE,EAFoC;AAG1CF,IAAAA,OAAO,EAAPA,OAH0C,EAArB,EAAhB,C","sourcesContent":["import { generate } from \"shortid\"\n\nexport const newView = (modelId = null) => ({\n id: generate(),\n name: \"\",\n modelId,\n})\n"],"file":"views.js"} |
|||
{"version":3,"sources":["../../src/schema/views.js"],"names":["newView","modelId","id","name"],"mappings":"oGAAA;;AAEO,IAAMA,OAAO,GAAG,SAAVA,OAAU,QAACC,OAAD,uEAAW,IAAX,QAAqB;AAC1CC,IAAAA,EAAE,EAAE,wBADsC;AAE1CC,IAAAA,IAAI,EAAE,EAFoC;AAG1CF,IAAAA,OAAO,EAAPA,OAH0C,EAArB,EAAhB,C","sourcesContent":["import { generate } from \"shortid\"\r\n\r\nexport const newView = (modelId = null) => ({\r\n id: generate(),\r\n name: \"\",\r\n modelId,\r\n})\r\n"],"file":"views.js"} |
|||
@ -1 +1 @@ |
|||
{"version":3,"sources":["../../src/schemaValidation/index.js"],"names":["ajv","Ajv"],"mappings":"4LAAA;;AAEA,IAAMA,GAAG,GAAG,IAAIC,eAAJ,EAAZ,C;;AAEeD,G","sourcesContent":["import Ajv from \"ajv\";\n\nconst ajv = new Ajv();\n\nexport default ajv;"],"file":"index.js"} |
|||
{"version":3,"sources":["../../src/schemaValidation/index.js"],"names":["ajv","Ajv"],"mappings":"4LAAA;;AAEA,IAAMA,GAAG,GAAG,IAAIC,eAAJ,EAAZ,C;;AAEeD,G","sourcesContent":["import Ajv from \"ajv\";\r\n\r\nconst ajv = new Ajv();\r\n\r\nexport default ajv;"],"file":"index.js"} |
|||
@ -1 +0,0 @@ |
|||
../@babel/cli/bin/babel.js |
|||
@ -1 +0,0 @@ |
|||
../@babel/cli/bin/babel-external-helpers.js |
|||
@ -1 +0,0 @@ |
|||
../cross-env/dist/bin/cross-env.js |
|||
@ -1 +0,0 @@ |
|||
../cross-env/dist/bin/cross-env-shell.js |
|||
@ -1 +0,0 @@ |
|||
../jest/bin/jest.js |
|||
@ -1 +0,0 @@ |
|||
../rimraf/bin.js |
|||
@ -1,22 +0,0 @@ |
|||
MIT License |
|||
|
|||
Copyright (c) 2014-present Sebastian McKenzie and other contributors |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining |
|||
a copy of this software and associated documentation files (the |
|||
"Software"), to deal in the Software without restriction, including |
|||
without limitation the rights to use, copy, modify, merge, publish, |
|||
distribute, sublicense, and/or sell copies of the Software, and to |
|||
permit persons to whom the Software is furnished to do so, subject to |
|||
the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be |
|||
included in all copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
|||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
|||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|||
@ -1,19 +0,0 @@ |
|||
# @babel/template |
|||
|
|||
> Generate an AST from a string template. |
|||
|
|||
See our website [@babel/template](https://babeljs.io/docs/en/next/babel-template.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20template%22+is%3Aopen) associated with this package. |
|||
|
|||
## Install |
|||
|
|||
Using npm: |
|||
|
|||
```sh |
|||
npm install --save-dev @babel/template |
|||
``` |
|||
|
|||
or using yarn: |
|||
|
|||
```sh |
|||
yarn add @babel/template --dev |
|||
``` |
|||
@ -1,83 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = createTemplateBuilder; |
|||
|
|||
var _options = require("./options"); |
|||
|
|||
var _string = _interopRequireDefault(require("./string")); |
|||
|
|||
var _literal = _interopRequireDefault(require("./literal")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
const NO_PLACEHOLDER = (0, _options.validate)({ |
|||
placeholderPattern: false |
|||
}); |
|||
|
|||
function createTemplateBuilder(formatter, defaultOpts) { |
|||
const templateFnCache = new WeakMap(); |
|||
const templateAstCache = new WeakMap(); |
|||
const cachedOpts = defaultOpts || (0, _options.validate)(null); |
|||
return Object.assign((tpl, ...args) => { |
|||
if (typeof tpl === "string") { |
|||
if (args.length > 1) throw new Error("Unexpected extra params."); |
|||
return extendedTrace((0, _string.default)(formatter, tpl, (0, _options.merge)(cachedOpts, (0, _options.validate)(args[0])))); |
|||
} else if (Array.isArray(tpl)) { |
|||
let builder = templateFnCache.get(tpl); |
|||
|
|||
if (!builder) { |
|||
builder = (0, _literal.default)(formatter, tpl, cachedOpts); |
|||
templateFnCache.set(tpl, builder); |
|||
} |
|||
|
|||
return extendedTrace(builder(args)); |
|||
} else if (typeof tpl === "object" && tpl) { |
|||
if (args.length > 0) throw new Error("Unexpected extra params."); |
|||
return createTemplateBuilder(formatter, (0, _options.merge)(cachedOpts, (0, _options.validate)(tpl))); |
|||
} |
|||
|
|||
throw new Error(`Unexpected template param ${typeof tpl}`); |
|||
}, { |
|||
ast: (tpl, ...args) => { |
|||
if (typeof tpl === "string") { |
|||
if (args.length > 1) throw new Error("Unexpected extra params."); |
|||
return (0, _string.default)(formatter, tpl, (0, _options.merge)((0, _options.merge)(cachedOpts, (0, _options.validate)(args[0])), NO_PLACEHOLDER))(); |
|||
} else if (Array.isArray(tpl)) { |
|||
let builder = templateAstCache.get(tpl); |
|||
|
|||
if (!builder) { |
|||
builder = (0, _literal.default)(formatter, tpl, (0, _options.merge)(cachedOpts, NO_PLACEHOLDER)); |
|||
templateAstCache.set(tpl, builder); |
|||
} |
|||
|
|||
return builder(args)(); |
|||
} |
|||
|
|||
throw new Error(`Unexpected template param ${typeof tpl}`); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
function extendedTrace(fn) { |
|||
let rootStack = ""; |
|||
|
|||
try { |
|||
throw new Error(); |
|||
} catch (error) { |
|||
if (error.stack) { |
|||
rootStack = error.stack.split("\n").slice(3).join("\n"); |
|||
} |
|||
} |
|||
|
|||
return arg => { |
|||
try { |
|||
return fn(arg); |
|||
} catch (err) { |
|||
err.stack += `\n =============\n${rootStack}`; |
|||
throw err; |
|||
} |
|||
}; |
|||
} |
|||
@ -1,63 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.program = exports.expression = exports.statement = exports.statements = exports.smart = void 0; |
|||
|
|||
function makeStatementFormatter(fn) { |
|||
return { |
|||
code: str => `/* @babel/template */;\n${str}`, |
|||
validate: () => {}, |
|||
unwrap: ast => { |
|||
return fn(ast.program.body.slice(1)); |
|||
} |
|||
}; |
|||
} |
|||
|
|||
const smart = makeStatementFormatter(body => { |
|||
if (body.length > 1) { |
|||
return body; |
|||
} else { |
|||
return body[0]; |
|||
} |
|||
}); |
|||
exports.smart = smart; |
|||
const statements = makeStatementFormatter(body => body); |
|||
exports.statements = statements; |
|||
const statement = makeStatementFormatter(body => { |
|||
if (body.length === 0) { |
|||
throw new Error("Found nothing to return."); |
|||
} |
|||
|
|||
if (body.length > 1) { |
|||
throw new Error("Found multiple statements but wanted one"); |
|||
} |
|||
|
|||
return body[0]; |
|||
}); |
|||
exports.statement = statement; |
|||
const expression = { |
|||
code: str => `(\n${str}\n)`, |
|||
validate: ({ |
|||
program |
|||
}) => { |
|||
if (program.body.length > 1) { |
|||
throw new Error("Found multiple statements but wanted one"); |
|||
} |
|||
|
|||
const expression = program.body[0].expression; |
|||
|
|||
if (expression.start === 0) { |
|||
throw new Error("Parse result included parens."); |
|||
} |
|||
}, |
|||
unwrap: ast => ast.program.body[0].expression |
|||
}; |
|||
exports.expression = expression; |
|||
const program = { |
|||
code: str => str, |
|||
validate: () => {}, |
|||
unwrap: ast => ast.program |
|||
}; |
|||
exports.program = program; |
|||
@ -1,38 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = exports.program = exports.expression = exports.statements = exports.statement = exports.smart = void 0; |
|||
|
|||
var formatters = _interopRequireWildcard(require("./formatters")); |
|||
|
|||
var _builder = _interopRequireDefault(require("./builder")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
const smart = (0, _builder.default)(formatters.smart); |
|||
exports.smart = smart; |
|||
const statement = (0, _builder.default)(formatters.statement); |
|||
exports.statement = statement; |
|||
const statements = (0, _builder.default)(formatters.statements); |
|||
exports.statements = statements; |
|||
const expression = (0, _builder.default)(formatters.expression); |
|||
exports.expression = expression; |
|||
const program = (0, _builder.default)(formatters.program); |
|||
exports.program = program; |
|||
|
|||
var _default = Object.assign(smart.bind(undefined), { |
|||
smart, |
|||
statement, |
|||
statements, |
|||
expression, |
|||
program, |
|||
ast: smart.ast |
|||
}); |
|||
|
|||
exports.default = _default; |
|||
@ -1,82 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = literalTemplate; |
|||
|
|||
var _options = require("./options"); |
|||
|
|||
var _parse = _interopRequireDefault(require("./parse")); |
|||
|
|||
var _populate = _interopRequireDefault(require("./populate")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function literalTemplate(formatter, tpl, opts) { |
|||
const { |
|||
metadata, |
|||
names |
|||
} = buildLiteralData(formatter, tpl, opts); |
|||
return arg => { |
|||
const defaultReplacements = arg.reduce((acc, replacement, i) => { |
|||
acc[names[i]] = replacement; |
|||
return acc; |
|||
}, {}); |
|||
return arg => { |
|||
const replacements = (0, _options.normalizeReplacements)(arg); |
|||
|
|||
if (replacements) { |
|||
Object.keys(replacements).forEach(key => { |
|||
if (Object.prototype.hasOwnProperty.call(defaultReplacements, key)) { |
|||
throw new Error("Unexpected replacement overlap."); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
return formatter.unwrap((0, _populate.default)(metadata, replacements ? Object.assign(replacements, defaultReplacements) : defaultReplacements)); |
|||
}; |
|||
}; |
|||
} |
|||
|
|||
function buildLiteralData(formatter, tpl, opts) { |
|||
let names; |
|||
let nameSet; |
|||
let metadata; |
|||
let prefix = ""; |
|||
|
|||
do { |
|||
prefix += "$"; |
|||
const result = buildTemplateCode(tpl, prefix); |
|||
names = result.names; |
|||
nameSet = new Set(names); |
|||
metadata = (0, _parse.default)(formatter, formatter.code(result.code), { |
|||
parser: opts.parser, |
|||
placeholderWhitelist: new Set(result.names.concat(opts.placeholderWhitelist ? Array.from(opts.placeholderWhitelist) : [])), |
|||
placeholderPattern: opts.placeholderPattern, |
|||
preserveComments: opts.preserveComments, |
|||
syntacticPlaceholders: opts.syntacticPlaceholders |
|||
}); |
|||
} while (metadata.placeholders.some(placeholder => placeholder.isDuplicate && nameSet.has(placeholder.name))); |
|||
|
|||
return { |
|||
metadata, |
|||
names |
|||
}; |
|||
} |
|||
|
|||
function buildTemplateCode(tpl, prefix) { |
|||
const names = []; |
|||
let code = tpl[0]; |
|||
|
|||
for (let i = 1; i < tpl.length; i++) { |
|||
const value = `${prefix}${i - 1}`; |
|||
names.push(value); |
|||
code += value + tpl[i]; |
|||
} |
|||
|
|||
return { |
|||
names, |
|||
code |
|||
}; |
|||
} |
|||
@ -1,82 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.merge = merge; |
|||
exports.validate = validate; |
|||
exports.normalizeReplacements = normalizeReplacements; |
|||
|
|||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } |
|||
|
|||
function merge(a, b) { |
|||
const { |
|||
placeholderWhitelist = a.placeholderWhitelist, |
|||
placeholderPattern = a.placeholderPattern, |
|||
preserveComments = a.preserveComments, |
|||
syntacticPlaceholders = a.syntacticPlaceholders |
|||
} = b; |
|||
return { |
|||
parser: Object.assign({}, a.parser, {}, b.parser), |
|||
placeholderWhitelist, |
|||
placeholderPattern, |
|||
preserveComments, |
|||
syntacticPlaceholders |
|||
}; |
|||
} |
|||
|
|||
function validate(opts) { |
|||
if (opts != null && typeof opts !== "object") { |
|||
throw new Error("Unknown template options."); |
|||
} |
|||
|
|||
const _ref = opts || {}, |
|||
{ |
|||
placeholderWhitelist, |
|||
placeholderPattern, |
|||
preserveComments, |
|||
syntacticPlaceholders |
|||
} = _ref, |
|||
parser = _objectWithoutPropertiesLoose(_ref, ["placeholderWhitelist", "placeholderPattern", "preserveComments", "syntacticPlaceholders"]); |
|||
|
|||
if (placeholderWhitelist != null && !(placeholderWhitelist instanceof Set)) { |
|||
throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined"); |
|||
} |
|||
|
|||
if (placeholderPattern != null && !(placeholderPattern instanceof RegExp) && placeholderPattern !== false) { |
|||
throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined"); |
|||
} |
|||
|
|||
if (preserveComments != null && typeof preserveComments !== "boolean") { |
|||
throw new Error("'.preserveComments' must be a boolean, null, or undefined"); |
|||
} |
|||
|
|||
if (syntacticPlaceholders != null && typeof syntacticPlaceholders !== "boolean") { |
|||
throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined"); |
|||
} |
|||
|
|||
if (syntacticPlaceholders === true && (placeholderWhitelist != null || placeholderPattern != null)) { |
|||
throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'"); |
|||
} |
|||
|
|||
return { |
|||
parser, |
|||
placeholderWhitelist: placeholderWhitelist || undefined, |
|||
placeholderPattern: placeholderPattern == null ? undefined : placeholderPattern, |
|||
preserveComments: preserveComments == null ? undefined : preserveComments, |
|||
syntacticPlaceholders: syntacticPlaceholders == null ? undefined : syntacticPlaceholders |
|||
}; |
|||
} |
|||
|
|||
function normalizeReplacements(replacements) { |
|||
if (Array.isArray(replacements)) { |
|||
return replacements.reduce((acc, replacement, i) => { |
|||
acc["$" + i] = replacement; |
|||
return acc; |
|||
}, {}); |
|||
} else if (typeof replacements === "object" || replacements == null) { |
|||
return replacements || undefined; |
|||
} |
|||
|
|||
throw new Error("Template replacements must be an array, object, null, or undefined"); |
|||
} |
|||
@ -1,171 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = parseAndBuildMetadata; |
|||
|
|||
var t = _interopRequireWildcard(require("@babel/types")); |
|||
|
|||
var _parser = require("@babel/parser"); |
|||
|
|||
var _codeFrame = require("@babel/code-frame"); |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
const PATTERN = /^[_$A-Z0-9]+$/; |
|||
|
|||
function parseAndBuildMetadata(formatter, code, opts) { |
|||
const ast = parseWithCodeFrame(code, opts.parser); |
|||
const { |
|||
placeholderWhitelist, |
|||
placeholderPattern, |
|||
preserveComments, |
|||
syntacticPlaceholders |
|||
} = opts; |
|||
t.removePropertiesDeep(ast, { |
|||
preserveComments |
|||
}); |
|||
formatter.validate(ast); |
|||
const syntactic = { |
|||
placeholders: [], |
|||
placeholderNames: new Set() |
|||
}; |
|||
const legacy = { |
|||
placeholders: [], |
|||
placeholderNames: new Set() |
|||
}; |
|||
const isLegacyRef = { |
|||
value: undefined |
|||
}; |
|||
t.traverse(ast, placeholderVisitorHandler, { |
|||
syntactic, |
|||
legacy, |
|||
isLegacyRef, |
|||
placeholderWhitelist, |
|||
placeholderPattern, |
|||
syntacticPlaceholders |
|||
}); |
|||
return Object.assign({ |
|||
ast |
|||
}, isLegacyRef.value ? legacy : syntactic); |
|||
} |
|||
|
|||
function placeholderVisitorHandler(node, ancestors, state) { |
|||
let name; |
|||
|
|||
if (t.isPlaceholder(node)) { |
|||
if (state.syntacticPlaceholders === false) { |
|||
throw new Error("%%foo%%-style placeholders can't be used when " + "'.syntacticPlaceholders' is false."); |
|||
} else { |
|||
name = node.name.name; |
|||
state.isLegacyRef.value = false; |
|||
} |
|||
} else if (state.isLegacyRef.value === false || state.syntacticPlaceholders) { |
|||
return; |
|||
} else if (t.isIdentifier(node) || t.isJSXIdentifier(node)) { |
|||
name = node.name; |
|||
state.isLegacyRef.value = true; |
|||
} else if (t.isStringLiteral(node)) { |
|||
name = node.value; |
|||
state.isLegacyRef.value = true; |
|||
} else { |
|||
return; |
|||
} |
|||
|
|||
if (!state.isLegacyRef.value && (state.placeholderPattern != null || state.placeholderWhitelist != null)) { |
|||
throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'"); |
|||
} |
|||
|
|||
if (state.isLegacyRef.value && (state.placeholderPattern === false || !(state.placeholderPattern || PATTERN).test(name)) && (!state.placeholderWhitelist || !state.placeholderWhitelist.has(name))) { |
|||
return; |
|||
} |
|||
|
|||
ancestors = ancestors.slice(); |
|||
const { |
|||
node: parent, |
|||
key |
|||
} = ancestors[ancestors.length - 1]; |
|||
let type; |
|||
|
|||
if (t.isStringLiteral(node) || t.isPlaceholder(node, { |
|||
expectedNode: "StringLiteral" |
|||
})) { |
|||
type = "string"; |
|||
} else if (t.isNewExpression(parent) && key === "arguments" || t.isCallExpression(parent) && key === "arguments" || t.isFunction(parent) && key === "params") { |
|||
type = "param"; |
|||
} else if (t.isExpressionStatement(parent) && !t.isPlaceholder(node)) { |
|||
type = "statement"; |
|||
ancestors = ancestors.slice(0, -1); |
|||
} else if (t.isStatement(node) && t.isPlaceholder(node)) { |
|||
type = "statement"; |
|||
} else { |
|||
type = "other"; |
|||
} |
|||
|
|||
const { |
|||
placeholders, |
|||
placeholderNames |
|||
} = state.isLegacyRef.value ? state.legacy : state.syntactic; |
|||
placeholders.push({ |
|||
name, |
|||
type, |
|||
resolve: ast => resolveAncestors(ast, ancestors), |
|||
isDuplicate: placeholderNames.has(name) |
|||
}); |
|||
placeholderNames.add(name); |
|||
} |
|||
|
|||
function resolveAncestors(ast, ancestors) { |
|||
let parent = ast; |
|||
|
|||
for (let i = 0; i < ancestors.length - 1; i++) { |
|||
const { |
|||
key, |
|||
index |
|||
} = ancestors[i]; |
|||
|
|||
if (index === undefined) { |
|||
parent = parent[key]; |
|||
} else { |
|||
parent = parent[key][index]; |
|||
} |
|||
} |
|||
|
|||
const { |
|||
key, |
|||
index |
|||
} = ancestors[ancestors.length - 1]; |
|||
return { |
|||
parent, |
|||
key, |
|||
index |
|||
}; |
|||
} |
|||
|
|||
function parseWithCodeFrame(code, parserOpts) { |
|||
parserOpts = Object.assign({ |
|||
allowReturnOutsideFunction: true, |
|||
allowSuperOutsideMethod: true, |
|||
sourceType: "module" |
|||
}, parserOpts, { |
|||
plugins: (parserOpts.plugins || []).concat("placeholders") |
|||
}); |
|||
|
|||
try { |
|||
return (0, _parser.parse)(code, parserOpts); |
|||
} catch (err) { |
|||
const loc = err.loc; |
|||
|
|||
if (loc) { |
|||
err.message += "\n" + (0, _codeFrame.codeFrameColumns)(code, { |
|||
start: loc |
|||
}); |
|||
err.code = "BABEL_TEMPLATE_PARSE_ERROR"; |
|||
} |
|||
|
|||
throw err; |
|||
} |
|||
} |
|||
@ -1,127 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = populatePlaceholders; |
|||
|
|||
var t = _interopRequireWildcard(require("@babel/types")); |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
function populatePlaceholders(metadata, replacements) { |
|||
const ast = t.cloneNode(metadata.ast); |
|||
|
|||
if (replacements) { |
|||
metadata.placeholders.forEach(placeholder => { |
|||
if (!Object.prototype.hasOwnProperty.call(replacements, placeholder.name)) { |
|||
const placeholderName = placeholder.name; |
|||
throw new Error(`Error: No substitution given for "${placeholderName}". If this is not meant to be a
|
|||
placeholder you may want to consider passing one of the following options to @babel/template: |
|||
- { placeholderPattern: false, placeholderWhitelist: new Set(['${placeholderName}'])} |
|||
- { placeholderPattern: /^${placeholderName}$/ }`);
|
|||
} |
|||
}); |
|||
Object.keys(replacements).forEach(key => { |
|||
if (!metadata.placeholderNames.has(key)) { |
|||
throw new Error(`Unknown substitution "${key}" given`); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
metadata.placeholders.slice().reverse().forEach(placeholder => { |
|||
try { |
|||
applyReplacement(placeholder, ast, replacements && replacements[placeholder.name] || null); |
|||
} catch (e) { |
|||
e.message = `@babel/template placeholder "${placeholder.name}": ${e.message}`; |
|||
throw e; |
|||
} |
|||
}); |
|||
return ast; |
|||
} |
|||
|
|||
function applyReplacement(placeholder, ast, replacement) { |
|||
if (placeholder.isDuplicate) { |
|||
if (Array.isArray(replacement)) { |
|||
replacement = replacement.map(node => t.cloneNode(node)); |
|||
} else if (typeof replacement === "object") { |
|||
replacement = t.cloneNode(replacement); |
|||
} |
|||
} |
|||
|
|||
const { |
|||
parent, |
|||
key, |
|||
index |
|||
} = placeholder.resolve(ast); |
|||
|
|||
if (placeholder.type === "string") { |
|||
if (typeof replacement === "string") { |
|||
replacement = t.stringLiteral(replacement); |
|||
} |
|||
|
|||
if (!replacement || !t.isStringLiteral(replacement)) { |
|||
throw new Error("Expected string substitution"); |
|||
} |
|||
} else if (placeholder.type === "statement") { |
|||
if (index === undefined) { |
|||
if (!replacement) { |
|||
replacement = t.emptyStatement(); |
|||
} else if (Array.isArray(replacement)) { |
|||
replacement = t.blockStatement(replacement); |
|||
} else if (typeof replacement === "string") { |
|||
replacement = t.expressionStatement(t.identifier(replacement)); |
|||
} else if (!t.isStatement(replacement)) { |
|||
replacement = t.expressionStatement(replacement); |
|||
} |
|||
} else { |
|||
if (replacement && !Array.isArray(replacement)) { |
|||
if (typeof replacement === "string") { |
|||
replacement = t.identifier(replacement); |
|||
} |
|||
|
|||
if (!t.isStatement(replacement)) { |
|||
replacement = t.expressionStatement(replacement); |
|||
} |
|||
} |
|||
} |
|||
} else if (placeholder.type === "param") { |
|||
if (typeof replacement === "string") { |
|||
replacement = t.identifier(replacement); |
|||
} |
|||
|
|||
if (index === undefined) throw new Error("Assertion failure."); |
|||
} else { |
|||
if (typeof replacement === "string") { |
|||
replacement = t.identifier(replacement); |
|||
} |
|||
|
|||
if (Array.isArray(replacement)) { |
|||
throw new Error("Cannot replace single expression with an array."); |
|||
} |
|||
} |
|||
|
|||
if (index === undefined) { |
|||
t.validate(parent, key, replacement); |
|||
parent[key] = replacement; |
|||
} else { |
|||
const items = parent[key].slice(); |
|||
|
|||
if (placeholder.type === "statement" || placeholder.type === "param") { |
|||
if (replacement == null) { |
|||
items.splice(index, 1); |
|||
} else if (Array.isArray(replacement)) { |
|||
items.splice(index, 1, ...replacement); |
|||
} else { |
|||
items[index] = replacement; |
|||
} |
|||
} else { |
|||
items[index] = replacement; |
|||
} |
|||
|
|||
t.validate(parent, key, items); |
|||
parent[key] = items; |
|||
} |
|||
} |
|||
@ -1,24 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = stringTemplate; |
|||
|
|||
var _options = require("./options"); |
|||
|
|||
var _parse = _interopRequireDefault(require("./parse")); |
|||
|
|||
var _populate = _interopRequireDefault(require("./populate")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function stringTemplate(formatter, code, opts) { |
|||
code = formatter.code(code); |
|||
let metadata; |
|||
return arg => { |
|||
const replacements = (0, _options.normalizeReplacements)(arg); |
|||
if (!metadata) metadata = (0, _parse.default)(formatter, code, opts); |
|||
return formatter.unwrap((0, _populate.default)(metadata, replacements)); |
|||
}; |
|||
} |
|||
@ -1 +0,0 @@ |
|||
../@babel/parser/bin/babel-parser.js |
|||
@ -1,19 +0,0 @@ |
|||
{ |
|||
"name": "@babel/template", |
|||
"version": "7.8.6", |
|||
"description": "Generate an AST from a string template.", |
|||
"author": "Sebastian McKenzie <sebmck@gmail.com>", |
|||
"homepage": "https://babeljs.io/", |
|||
"license": "MIT", |
|||
"publishConfig": { |
|||
"access": "public" |
|||
}, |
|||
"repository": "https://github.com/babel/babel/tree/master/packages/babel-template", |
|||
"main": "lib/index.js", |
|||
"dependencies": { |
|||
"@babel/code-frame": "^7.8.3", |
|||
"@babel/parser": "^7.8.6", |
|||
"@babel/types": "^7.8.6" |
|||
}, |
|||
"gitHead": "750d3dde3bd2d390819820fd22c05441da78751b" |
|||
} |
|||
@ -1,22 +0,0 @@ |
|||
MIT License |
|||
|
|||
Copyright (c) 2014-present Sebastian McKenzie and other contributors |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining |
|||
a copy of this software and associated documentation files (the |
|||
"Software"), to deal in the Software without restriction, including |
|||
without limitation the rights to use, copy, modify, merge, publish, |
|||
distribute, sublicense, and/or sell copies of the Software, and to |
|||
permit persons to whom the Software is furnished to do so, subject to |
|||
the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be |
|||
included in all copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
|||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
|||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|||
@ -1,19 +0,0 @@ |
|||
# @babel/types |
|||
|
|||
> Babel Types is a Lodash-esque utility library for AST nodes |
|||
|
|||
See our website [@babel/types](https://babeljs.io/docs/en/next/babel-types.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20types%22+is%3Aopen) associated with this package. |
|||
|
|||
## Install |
|||
|
|||
Using npm: |
|||
|
|||
```sh |
|||
npm install --save-dev @babel/types |
|||
``` |
|||
|
|||
or using yarn: |
|||
|
|||
```sh |
|||
yarn add @babel/types --dev |
|||
``` |
|||
@ -1,17 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = assertNode; |
|||
|
|||
var _isNode = _interopRequireDefault(require("../validators/isNode")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function assertNode(node) { |
|||
if (!(0, _isNode.default)(node)) { |
|||
const type = node && node.type || JSON.stringify(node); |
|||
throw new TypeError(`Not a valid node of type "${type}"`); |
|||
} |
|||
} |
|||
File diff suppressed because it is too large
@ -1,42 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = builder; |
|||
|
|||
var _clone = _interopRequireDefault(require("lodash/clone")); |
|||
|
|||
var _definitions = require("../definitions"); |
|||
|
|||
var _validate = _interopRequireDefault(require("../validators/validate")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function builder(type, ...args) { |
|||
const keys = _definitions.BUILDER_KEYS[type]; |
|||
const countArgs = args.length; |
|||
|
|||
if (countArgs > keys.length) { |
|||
throw new Error(`${type}: Too many arguments passed. Received ${countArgs} but can receive no more than ${keys.length}`); |
|||
} |
|||
|
|||
const node = { |
|||
type |
|||
}; |
|||
let i = 0; |
|||
keys.forEach(key => { |
|||
const field = _definitions.NODE_FIELDS[type][key]; |
|||
let arg; |
|||
if (i < countArgs) arg = args[i]; |
|||
if (arg === undefined) arg = (0, _clone.default)(field.default); |
|||
node[key] = arg; |
|||
i++; |
|||
}); |
|||
|
|||
for (const key of Object.keys(node)) { |
|||
(0, _validate.default)(node, key, node[key]); |
|||
} |
|||
|
|||
return node; |
|||
} |
|||
@ -1,28 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = createTypeAnnotationBasedOnTypeof; |
|||
|
|||
var _generated = require("../generated"); |
|||
|
|||
function createTypeAnnotationBasedOnTypeof(type) { |
|||
if (type === "string") { |
|||
return (0, _generated.stringTypeAnnotation)(); |
|||
} else if (type === "number") { |
|||
return (0, _generated.numberTypeAnnotation)(); |
|||
} else if (type === "undefined") { |
|||
return (0, _generated.voidTypeAnnotation)(); |
|||
} else if (type === "boolean") { |
|||
return (0, _generated.booleanTypeAnnotation)(); |
|||
} else if (type === "function") { |
|||
return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Function")); |
|||
} else if (type === "object") { |
|||
return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Object")); |
|||
} else if (type === "symbol") { |
|||
return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Symbol")); |
|||
} else { |
|||
throw new Error("Invalid typeof value"); |
|||
} |
|||
} |
|||
@ -1,22 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = createUnionTypeAnnotation; |
|||
|
|||
var _generated = require("../generated"); |
|||
|
|||
var _removeTypeDuplicates = _interopRequireDefault(require("../../modifications/flow/removeTypeDuplicates")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function createUnionTypeAnnotation(types) { |
|||
const flattened = (0, _removeTypeDuplicates.default)(types); |
|||
|
|||
if (flattened.length === 1) { |
|||
return flattened[0]; |
|||
} else { |
|||
return (0, _generated.unionTypeAnnotation)(flattened); |
|||
} |
|||
} |
|||
File diff suppressed because it is too large
@ -1,31 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = buildChildren; |
|||
|
|||
var _generated = require("../../validators/generated"); |
|||
|
|||
var _cleanJSXElementLiteralChild = _interopRequireDefault(require("../../utils/react/cleanJSXElementLiteralChild")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function buildChildren(node) { |
|||
const elements = []; |
|||
|
|||
for (let i = 0; i < node.children.length; i++) { |
|||
let child = node.children[i]; |
|||
|
|||
if ((0, _generated.isJSXText)(child)) { |
|||
(0, _cleanJSXElementLiteralChild.default)(child, elements); |
|||
continue; |
|||
} |
|||
|
|||
if ((0, _generated.isJSXExpressionContainer)(child)) child = child.expression; |
|||
if ((0, _generated.isJSXEmptyExpression)(child)) continue; |
|||
elements.push(child); |
|||
} |
|||
|
|||
return elements; |
|||
} |
|||
@ -1,14 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = clone; |
|||
|
|||
var _cloneNode = _interopRequireDefault(require("./cloneNode")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function clone(node) { |
|||
return (0, _cloneNode.default)(node, false); |
|||
} |
|||
@ -1,14 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = cloneDeep; |
|||
|
|||
var _cloneNode = _interopRequireDefault(require("./cloneNode")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function cloneDeep(node) { |
|||
return (0, _cloneNode.default)(node); |
|||
} |
|||
@ -1,14 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = cloneDeepWithoutLoc; |
|||
|
|||
var _cloneNode = _interopRequireDefault(require("./cloneNode")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function cloneDeepWithoutLoc(node) { |
|||
return (0, _cloneNode.default)(node, true, true); |
|||
} |
|||
@ -1,101 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = cloneNode; |
|||
|
|||
var _definitions = require("../definitions"); |
|||
|
|||
const has = Function.call.bind(Object.prototype.hasOwnProperty); |
|||
|
|||
function cloneIfNode(obj, deep, withoutLoc) { |
|||
if (obj && typeof obj.type === "string") { |
|||
return cloneNode(obj, deep, withoutLoc); |
|||
} |
|||
|
|||
return obj; |
|||
} |
|||
|
|||
function cloneIfNodeOrArray(obj, deep, withoutLoc) { |
|||
if (Array.isArray(obj)) { |
|||
return obj.map(node => cloneIfNode(node, deep, withoutLoc)); |
|||
} |
|||
|
|||
return cloneIfNode(obj, deep, withoutLoc); |
|||
} |
|||
|
|||
function cloneNode(node, deep = true, withoutLoc = false) { |
|||
if (!node) return node; |
|||
const { |
|||
type |
|||
} = node; |
|||
const newNode = { |
|||
type |
|||
}; |
|||
|
|||
if (type === "Identifier") { |
|||
newNode.name = node.name; |
|||
|
|||
if (has(node, "optional") && typeof node.optional === "boolean") { |
|||
newNode.optional = node.optional; |
|||
} |
|||
|
|||
if (has(node, "typeAnnotation")) { |
|||
newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true, withoutLoc) : node.typeAnnotation; |
|||
} |
|||
} else if (!has(_definitions.NODE_FIELDS, type)) { |
|||
throw new Error(`Unknown node type: "${type}"`); |
|||
} else { |
|||
for (const field of Object.keys(_definitions.NODE_FIELDS[type])) { |
|||
if (has(node, field)) { |
|||
if (deep) { |
|||
newNode[field] = type === "File" && field === "comments" ? maybeCloneComments(node.comments, deep, withoutLoc) : cloneIfNodeOrArray(node[field], true, withoutLoc); |
|||
} else { |
|||
newNode[field] = node[field]; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
if (has(node, "loc")) { |
|||
if (withoutLoc) { |
|||
newNode.loc = null; |
|||
} else { |
|||
newNode.loc = node.loc; |
|||
} |
|||
} |
|||
|
|||
if (has(node, "leadingComments")) { |
|||
newNode.leadingComments = maybeCloneComments(node.leadingComments, deep, withoutLoc); |
|||
} |
|||
|
|||
if (has(node, "innerComments")) { |
|||
newNode.innerComments = maybeCloneComments(node.innerComments, deep, withoutLoc); |
|||
} |
|||
|
|||
if (has(node, "trailingComments")) { |
|||
newNode.trailingComments = maybeCloneComments(node.trailingComments, deep, withoutLoc); |
|||
} |
|||
|
|||
if (has(node, "extra")) { |
|||
newNode.extra = Object.assign({}, node.extra); |
|||
} |
|||
|
|||
return newNode; |
|||
} |
|||
|
|||
function cloneCommentsWithoutLoc(comments) { |
|||
return comments.map(({ |
|||
type, |
|||
value |
|||
}) => ({ |
|||
type, |
|||
value, |
|||
loc: null |
|||
})); |
|||
} |
|||
|
|||
function maybeCloneComments(comments, deep, withoutLoc) { |
|||
return deep && withoutLoc ? cloneCommentsWithoutLoc(comments) : comments; |
|||
} |
|||
@ -1,14 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = cloneWithoutLoc; |
|||
|
|||
var _cloneNode = _interopRequireDefault(require("./cloneNode")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function cloneWithoutLoc(node) { |
|||
return (0, _cloneNode.default)(node, false, true); |
|||
} |
|||
@ -1,17 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = addComment; |
|||
|
|||
var _addComments = _interopRequireDefault(require("./addComments")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function addComment(node, type, content, line) { |
|||
return (0, _addComments.default)(node, type, [{ |
|||
type: line ? "CommentLine" : "CommentBlock", |
|||
value: content |
|||
}]); |
|||
} |
|||
@ -1,23 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = addComments; |
|||
|
|||
function addComments(node, type, comments) { |
|||
if (!comments || !node) return node; |
|||
const key = `${type}Comments`; |
|||
|
|||
if (node[key]) { |
|||
if (type === "leading") { |
|||
node[key] = comments.concat(node[key]); |
|||
} else { |
|||
node[key] = node[key].concat(comments); |
|||
} |
|||
} else { |
|||
node[key] = comments; |
|||
} |
|||
|
|||
return node; |
|||
} |
|||
@ -1,14 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = inheritInnerComments; |
|||
|
|||
var _inherit = _interopRequireDefault(require("../utils/inherit")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function inheritInnerComments(child, parent) { |
|||
(0, _inherit.default)("innerComments", child, parent); |
|||
} |
|||
@ -1,14 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = inheritLeadingComments; |
|||
|
|||
var _inherit = _interopRequireDefault(require("../utils/inherit")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function inheritLeadingComments(child, parent) { |
|||
(0, _inherit.default)("leadingComments", child, parent); |
|||
} |
|||
@ -1,14 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = inheritTrailingComments; |
|||
|
|||
var _inherit = _interopRequireDefault(require("../utils/inherit")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function inheritTrailingComments(child, parent) { |
|||
(0, _inherit.default)("trailingComments", child, parent); |
|||
} |
|||
@ -1,21 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = inheritsComments; |
|||
|
|||
var _inheritTrailingComments = _interopRequireDefault(require("./inheritTrailingComments")); |
|||
|
|||
var _inheritLeadingComments = _interopRequireDefault(require("./inheritLeadingComments")); |
|||
|
|||
var _inheritInnerComments = _interopRequireDefault(require("./inheritInnerComments")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function inheritsComments(child, parent) { |
|||
(0, _inheritTrailingComments.default)(child, parent); |
|||
(0, _inheritLeadingComments.default)(child, parent); |
|||
(0, _inheritInnerComments.default)(child, parent); |
|||
return child; |
|||
} |
|||
@ -1,16 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = removeComments; |
|||
|
|||
var _constants = require("../constants"); |
|||
|
|||
function removeComments(node) { |
|||
_constants.COMMENT_KEYS.forEach(key => { |
|||
node[key] = null; |
|||
}); |
|||
|
|||
return node; |
|||
} |
|||
@ -1,97 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.PRIVATE_TYPES = exports.JSX_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.FLOWTYPE_TYPES = exports.FLOW_TYPES = exports.MODULESPECIFIER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.MODULEDECLARATION_TYPES = exports.CLASS_TYPES = exports.PATTERN_TYPES = exports.UNARYLIKE_TYPES = exports.PROPERTY_TYPES = exports.OBJECTMEMBER_TYPES = exports.METHOD_TYPES = exports.USERWHITESPACABLE_TYPES = exports.IMMUTABLE_TYPES = exports.LITERAL_TYPES = exports.TSENTITYNAME_TYPES = exports.LVAL_TYPES = exports.PATTERNLIKE_TYPES = exports.DECLARATION_TYPES = exports.PUREISH_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FUNCTION_TYPES = exports.FORXSTATEMENT_TYPES = exports.FOR_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.WHILE_TYPES = exports.LOOP_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.SCOPABLE_TYPES = exports.BINARY_TYPES = exports.EXPRESSION_TYPES = void 0; |
|||
|
|||
var _definitions = require("../../definitions"); |
|||
|
|||
const EXPRESSION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Expression"]; |
|||
exports.EXPRESSION_TYPES = EXPRESSION_TYPES; |
|||
const BINARY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Binary"]; |
|||
exports.BINARY_TYPES = BINARY_TYPES; |
|||
const SCOPABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Scopable"]; |
|||
exports.SCOPABLE_TYPES = SCOPABLE_TYPES; |
|||
const BLOCKPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["BlockParent"]; |
|||
exports.BLOCKPARENT_TYPES = BLOCKPARENT_TYPES; |
|||
const BLOCK_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Block"]; |
|||
exports.BLOCK_TYPES = BLOCK_TYPES; |
|||
const STATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Statement"]; |
|||
exports.STATEMENT_TYPES = STATEMENT_TYPES; |
|||
const TERMINATORLESS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Terminatorless"]; |
|||
exports.TERMINATORLESS_TYPES = TERMINATORLESS_TYPES; |
|||
const COMPLETIONSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["CompletionStatement"]; |
|||
exports.COMPLETIONSTATEMENT_TYPES = COMPLETIONSTATEMENT_TYPES; |
|||
const CONDITIONAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Conditional"]; |
|||
exports.CONDITIONAL_TYPES = CONDITIONAL_TYPES; |
|||
const LOOP_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Loop"]; |
|||
exports.LOOP_TYPES = LOOP_TYPES; |
|||
const WHILE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["While"]; |
|||
exports.WHILE_TYPES = WHILE_TYPES; |
|||
const EXPRESSIONWRAPPER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExpressionWrapper"]; |
|||
exports.EXPRESSIONWRAPPER_TYPES = EXPRESSIONWRAPPER_TYPES; |
|||
const FOR_TYPES = _definitions.FLIPPED_ALIAS_KEYS["For"]; |
|||
exports.FOR_TYPES = FOR_TYPES; |
|||
const FORXSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ForXStatement"]; |
|||
exports.FORXSTATEMENT_TYPES = FORXSTATEMENT_TYPES; |
|||
const FUNCTION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Function"]; |
|||
exports.FUNCTION_TYPES = FUNCTION_TYPES; |
|||
const FUNCTIONPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FunctionParent"]; |
|||
exports.FUNCTIONPARENT_TYPES = FUNCTIONPARENT_TYPES; |
|||
const PUREISH_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pureish"]; |
|||
exports.PUREISH_TYPES = PUREISH_TYPES; |
|||
const DECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Declaration"]; |
|||
exports.DECLARATION_TYPES = DECLARATION_TYPES; |
|||
const PATTERNLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["PatternLike"]; |
|||
exports.PATTERNLIKE_TYPES = PATTERNLIKE_TYPES; |
|||
const LVAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["LVal"]; |
|||
exports.LVAL_TYPES = LVAL_TYPES; |
|||
const TSENTITYNAME_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSEntityName"]; |
|||
exports.TSENTITYNAME_TYPES = TSENTITYNAME_TYPES; |
|||
const LITERAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Literal"]; |
|||
exports.LITERAL_TYPES = LITERAL_TYPES; |
|||
const IMMUTABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Immutable"]; |
|||
exports.IMMUTABLE_TYPES = IMMUTABLE_TYPES; |
|||
const USERWHITESPACABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UserWhitespacable"]; |
|||
exports.USERWHITESPACABLE_TYPES = USERWHITESPACABLE_TYPES; |
|||
const METHOD_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Method"]; |
|||
exports.METHOD_TYPES = METHOD_TYPES; |
|||
const OBJECTMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ObjectMember"]; |
|||
exports.OBJECTMEMBER_TYPES = OBJECTMEMBER_TYPES; |
|||
const PROPERTY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Property"]; |
|||
exports.PROPERTY_TYPES = PROPERTY_TYPES; |
|||
const UNARYLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UnaryLike"]; |
|||
exports.UNARYLIKE_TYPES = UNARYLIKE_TYPES; |
|||
const PATTERN_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pattern"]; |
|||
exports.PATTERN_TYPES = PATTERN_TYPES; |
|||
const CLASS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Class"]; |
|||
exports.CLASS_TYPES = CLASS_TYPES; |
|||
const MODULEDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleDeclaration"]; |
|||
exports.MODULEDECLARATION_TYPES = MODULEDECLARATION_TYPES; |
|||
const EXPORTDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExportDeclaration"]; |
|||
exports.EXPORTDECLARATION_TYPES = EXPORTDECLARATION_TYPES; |
|||
const MODULESPECIFIER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleSpecifier"]; |
|||
exports.MODULESPECIFIER_TYPES = MODULESPECIFIER_TYPES; |
|||
const FLOW_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Flow"]; |
|||
exports.FLOW_TYPES = FLOW_TYPES; |
|||
const FLOWTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowType"]; |
|||
exports.FLOWTYPE_TYPES = FLOWTYPE_TYPES; |
|||
const FLOWBASEANNOTATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"]; |
|||
exports.FLOWBASEANNOTATION_TYPES = FLOWBASEANNOTATION_TYPES; |
|||
const FLOWDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowDeclaration"]; |
|||
exports.FLOWDECLARATION_TYPES = FLOWDECLARATION_TYPES; |
|||
const FLOWPREDICATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowPredicate"]; |
|||
exports.FLOWPREDICATE_TYPES = FLOWPREDICATE_TYPES; |
|||
const ENUMBODY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumBody"]; |
|||
exports.ENUMBODY_TYPES = ENUMBODY_TYPES; |
|||
const ENUMMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumMember"]; |
|||
exports.ENUMMEMBER_TYPES = ENUMMEMBER_TYPES; |
|||
const JSX_TYPES = _definitions.FLIPPED_ALIAS_KEYS["JSX"]; |
|||
exports.JSX_TYPES = JSX_TYPES; |
|||
const PRIVATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Private"]; |
|||
exports.PRIVATE_TYPES = PRIVATE_TYPES; |
|||
const TSTYPEELEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSTypeElement"]; |
|||
exports.TSTYPEELEMENT_TYPES = TSTYPEELEMENT_TYPES; |
|||
const TSTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSType"]; |
|||
exports.TSTYPE_TYPES = TSTYPE_TYPES; |
|||
@ -1,49 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.NOT_LOCAL_BINDING = exports.BLOCK_SCOPED_SYMBOL = exports.INHERIT_KEYS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = exports.ASSIGNMENT_OPERATORS = exports.BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.UPDATE_OPERATORS = exports.LOGICAL_OPERATORS = exports.COMMENT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = void 0; |
|||
const STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; |
|||
exports.STATEMENT_OR_BLOCK_KEYS = STATEMENT_OR_BLOCK_KEYS; |
|||
const FLATTENABLE_KEYS = ["body", "expressions"]; |
|||
exports.FLATTENABLE_KEYS = FLATTENABLE_KEYS; |
|||
const FOR_INIT_KEYS = ["left", "init"]; |
|||
exports.FOR_INIT_KEYS = FOR_INIT_KEYS; |
|||
const COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"]; |
|||
exports.COMMENT_KEYS = COMMENT_KEYS; |
|||
const LOGICAL_OPERATORS = ["||", "&&", "??"]; |
|||
exports.LOGICAL_OPERATORS = LOGICAL_OPERATORS; |
|||
const UPDATE_OPERATORS = ["++", "--"]; |
|||
exports.UPDATE_OPERATORS = UPDATE_OPERATORS; |
|||
const BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="]; |
|||
exports.BOOLEAN_NUMBER_BINARY_OPERATORS = BOOLEAN_NUMBER_BINARY_OPERATORS; |
|||
const EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="]; |
|||
exports.EQUALITY_BINARY_OPERATORS = EQUALITY_BINARY_OPERATORS; |
|||
const COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, "in", "instanceof"]; |
|||
exports.COMPARISON_BINARY_OPERATORS = COMPARISON_BINARY_OPERATORS; |
|||
const BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS]; |
|||
exports.BOOLEAN_BINARY_OPERATORS = BOOLEAN_BINARY_OPERATORS; |
|||
const NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"]; |
|||
exports.NUMBER_BINARY_OPERATORS = NUMBER_BINARY_OPERATORS; |
|||
const BINARY_OPERATORS = ["+", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS]; |
|||
exports.BINARY_OPERATORS = BINARY_OPERATORS; |
|||
const ASSIGNMENT_OPERATORS = ["=", "+=", ...NUMBER_BINARY_OPERATORS.map(op => op + "="), ...LOGICAL_OPERATORS.map(op => op + "=")]; |
|||
exports.ASSIGNMENT_OPERATORS = ASSIGNMENT_OPERATORS; |
|||
const BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; |
|||
exports.BOOLEAN_UNARY_OPERATORS = BOOLEAN_UNARY_OPERATORS; |
|||
const NUMBER_UNARY_OPERATORS = ["+", "-", "~"]; |
|||
exports.NUMBER_UNARY_OPERATORS = NUMBER_UNARY_OPERATORS; |
|||
const STRING_UNARY_OPERATORS = ["typeof"]; |
|||
exports.STRING_UNARY_OPERATORS = STRING_UNARY_OPERATORS; |
|||
const UNARY_OPERATORS = ["void", "throw", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS]; |
|||
exports.UNARY_OPERATORS = UNARY_OPERATORS; |
|||
const INHERIT_KEYS = { |
|||
optional: ["typeAnnotation", "typeParameters", "returnType"], |
|||
force: ["start", "loc", "end"] |
|||
}; |
|||
exports.INHERIT_KEYS = INHERIT_KEYS; |
|||
const BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"); |
|||
exports.BLOCK_SCOPED_SYMBOL = BLOCK_SCOPED_SYMBOL; |
|||
const NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding"); |
|||
exports.NOT_LOCAL_BINDING = NOT_LOCAL_BINDING; |
|||
@ -1,14 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = ensureBlock; |
|||
|
|||
var _toBlock = _interopRequireDefault(require("./toBlock")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function ensureBlock(node, key = "body") { |
|||
return node[key] = (0, _toBlock.default)(node[key], node); |
|||
} |
|||
@ -1,73 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = gatherSequenceExpressions; |
|||
|
|||
var _getBindingIdentifiers = _interopRequireDefault(require("../retrievers/getBindingIdentifiers")); |
|||
|
|||
var _generated = require("../validators/generated"); |
|||
|
|||
var _generated2 = require("../builders/generated"); |
|||
|
|||
var _cloneNode = _interopRequireDefault(require("../clone/cloneNode")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function gatherSequenceExpressions(nodes, scope, declars) { |
|||
const exprs = []; |
|||
let ensureLastUndefined = true; |
|||
|
|||
for (const node of nodes) { |
|||
ensureLastUndefined = false; |
|||
|
|||
if ((0, _generated.isExpression)(node)) { |
|||
exprs.push(node); |
|||
} else if ((0, _generated.isExpressionStatement)(node)) { |
|||
exprs.push(node.expression); |
|||
} else if ((0, _generated.isVariableDeclaration)(node)) { |
|||
if (node.kind !== "var") return; |
|||
|
|||
for (const declar of node.declarations) { |
|||
const bindings = (0, _getBindingIdentifiers.default)(declar); |
|||
|
|||
for (const key of Object.keys(bindings)) { |
|||
declars.push({ |
|||
kind: node.kind, |
|||
id: (0, _cloneNode.default)(bindings[key]) |
|||
}); |
|||
} |
|||
|
|||
if (declar.init) { |
|||
exprs.push((0, _generated2.assignmentExpression)("=", declar.id, declar.init)); |
|||
} |
|||
} |
|||
|
|||
ensureLastUndefined = true; |
|||
} else if ((0, _generated.isIfStatement)(node)) { |
|||
const consequent = node.consequent ? gatherSequenceExpressions([node.consequent], scope, declars) : scope.buildUndefinedNode(); |
|||
const alternate = node.alternate ? gatherSequenceExpressions([node.alternate], scope, declars) : scope.buildUndefinedNode(); |
|||
if (!consequent || !alternate) return; |
|||
exprs.push((0, _generated2.conditionalExpression)(node.test, consequent, alternate)); |
|||
} else if ((0, _generated.isBlockStatement)(node)) { |
|||
const body = gatherSequenceExpressions(node.body, scope, declars); |
|||
if (!body) return; |
|||
exprs.push(body); |
|||
} else if ((0, _generated.isEmptyStatement)(node)) { |
|||
ensureLastUndefined = true; |
|||
} else { |
|||
return; |
|||
} |
|||
} |
|||
|
|||
if (ensureLastUndefined) { |
|||
exprs.push(scope.buildUndefinedNode()); |
|||
} |
|||
|
|||
if (exprs.length === 1) { |
|||
return exprs[0]; |
|||
} else { |
|||
return (0, _generated2.sequenceExpression)(exprs); |
|||
} |
|||
} |
|||
@ -1,16 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = toBindingIdentifierName; |
|||
|
|||
var _toIdentifier = _interopRequireDefault(require("./toIdentifier")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function toBindingIdentifierName(name) { |
|||
name = (0, _toIdentifier.default)(name); |
|||
if (name === "eval" || name === "arguments") name = "_" + name; |
|||
return name; |
|||
} |
|||
@ -1,34 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = toBlock; |
|||
|
|||
var _generated = require("../validators/generated"); |
|||
|
|||
var _generated2 = require("../builders/generated"); |
|||
|
|||
function toBlock(node, parent) { |
|||
if ((0, _generated.isBlockStatement)(node)) { |
|||
return node; |
|||
} |
|||
|
|||
let blockNodes = []; |
|||
|
|||
if ((0, _generated.isEmptyStatement)(node)) { |
|||
blockNodes = []; |
|||
} else { |
|||
if (!(0, _generated.isStatement)(node)) { |
|||
if ((0, _generated.isFunction)(parent)) { |
|||
node = (0, _generated2.returnStatement)(node); |
|||
} else { |
|||
node = (0, _generated2.expressionStatement)(node); |
|||
} |
|||
} |
|||
|
|||
blockNodes = [node]; |
|||
} |
|||
|
|||
return (0, _generated2.blockStatement)(blockNodes); |
|||
} |
|||
@ -1,15 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = toComputedKey; |
|||
|
|||
var _generated = require("../validators/generated"); |
|||
|
|||
var _generated2 = require("../builders/generated"); |
|||
|
|||
function toComputedKey(node, key = node.key || node.property) { |
|||
if (!node.computed && (0, _generated.isIdentifier)(key)) key = (0, _generated2.stringLiteral)(key.name); |
|||
return key; |
|||
} |
|||
@ -1,30 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = toExpression; |
|||
|
|||
var _generated = require("../validators/generated"); |
|||
|
|||
function toExpression(node) { |
|||
if ((0, _generated.isExpressionStatement)(node)) { |
|||
node = node.expression; |
|||
} |
|||
|
|||
if ((0, _generated.isExpression)(node)) { |
|||
return node; |
|||
} |
|||
|
|||
if ((0, _generated.isClass)(node)) { |
|||
node.type = "ClassExpression"; |
|||
} else if ((0, _generated.isFunction)(node)) { |
|||
node.type = "FunctionExpression"; |
|||
} |
|||
|
|||
if (!(0, _generated.isExpression)(node)) { |
|||
throw new Error(`cannot turn ${node.type} to an expression`); |
|||
} |
|||
|
|||
return node; |
|||
} |
|||
@ -1,25 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = toIdentifier; |
|||
|
|||
var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function toIdentifier(name) { |
|||
name = name + ""; |
|||
name = name.replace(/[^a-zA-Z0-9$_]/g, "-"); |
|||
name = name.replace(/^[-0-9]+/, ""); |
|||
name = name.replace(/[-\s]+(.)?/g, function (match, c) { |
|||
return c ? c.toUpperCase() : ""; |
|||
}); |
|||
|
|||
if (!(0, _isValidIdentifier.default)(name)) { |
|||
name = `_${name}`; |
|||
} |
|||
|
|||
return name || "_"; |
|||
} |
|||
@ -1,48 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = toKeyAlias; |
|||
|
|||
var _generated = require("../validators/generated"); |
|||
|
|||
var _cloneNode = _interopRequireDefault(require("../clone/cloneNode")); |
|||
|
|||
var _removePropertiesDeep = _interopRequireDefault(require("../modifications/removePropertiesDeep")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function toKeyAlias(node, key = node.key) { |
|||
let alias; |
|||
|
|||
if (node.kind === "method") { |
|||
return toKeyAlias.increment() + ""; |
|||
} else if ((0, _generated.isIdentifier)(key)) { |
|||
alias = key.name; |
|||
} else if ((0, _generated.isStringLiteral)(key)) { |
|||
alias = JSON.stringify(key.value); |
|||
} else { |
|||
alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key))); |
|||
} |
|||
|
|||
if (node.computed) { |
|||
alias = `[${alias}]`; |
|||
} |
|||
|
|||
if (node.static) { |
|||
alias = `static:${alias}`; |
|||
} |
|||
|
|||
return alias; |
|||
} |
|||
|
|||
toKeyAlias.uid = 0; |
|||
|
|||
toKeyAlias.increment = function () { |
|||
if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) { |
|||
return toKeyAlias.uid = 0; |
|||
} else { |
|||
return toKeyAlias.uid++; |
|||
} |
|||
}; |
|||
@ -1,23 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = toSequenceExpression; |
|||
|
|||
var _gatherSequenceExpressions = _interopRequireDefault(require("./gatherSequenceExpressions")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function toSequenceExpression(nodes, scope) { |
|||
if (!nodes || !nodes.length) return; |
|||
const declars = []; |
|||
const result = (0, _gatherSequenceExpressions.default)(nodes, scope, declars); |
|||
if (!result) return; |
|||
|
|||
for (const declar of declars) { |
|||
scope.push(declar); |
|||
} |
|||
|
|||
return result; |
|||
} |
|||
@ -1,44 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = toStatement; |
|||
|
|||
var _generated = require("../validators/generated"); |
|||
|
|||
var _generated2 = require("../builders/generated"); |
|||
|
|||
function toStatement(node, ignore) { |
|||
if ((0, _generated.isStatement)(node)) { |
|||
return node; |
|||
} |
|||
|
|||
let mustHaveId = false; |
|||
let newType; |
|||
|
|||
if ((0, _generated.isClass)(node)) { |
|||
mustHaveId = true; |
|||
newType = "ClassDeclaration"; |
|||
} else if ((0, _generated.isFunction)(node)) { |
|||
mustHaveId = true; |
|||
newType = "FunctionDeclaration"; |
|||
} else if ((0, _generated.isAssignmentExpression)(node)) { |
|||
return (0, _generated2.expressionStatement)(node); |
|||
} |
|||
|
|||
if (mustHaveId && !node.id) { |
|||
newType = false; |
|||
} |
|||
|
|||
if (!newType) { |
|||
if (ignore) { |
|||
return false; |
|||
} else { |
|||
throw new Error(`cannot turn ${node.type} to a statement`); |
|||
} |
|||
} |
|||
|
|||
node.type = newType; |
|||
return node; |
|||
} |
|||
@ -1,88 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = valueToNode; |
|||
|
|||
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject")); |
|||
|
|||
var _isRegExp = _interopRequireDefault(require("lodash/isRegExp")); |
|||
|
|||
var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); |
|||
|
|||
var _generated = require("../builders/generated"); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function valueToNode(value) { |
|||
if (value === undefined) { |
|||
return (0, _generated.identifier)("undefined"); |
|||
} |
|||
|
|||
if (value === true || value === false) { |
|||
return (0, _generated.booleanLiteral)(value); |
|||
} |
|||
|
|||
if (value === null) { |
|||
return (0, _generated.nullLiteral)(); |
|||
} |
|||
|
|||
if (typeof value === "string") { |
|||
return (0, _generated.stringLiteral)(value); |
|||
} |
|||
|
|||
if (typeof value === "number") { |
|||
let result; |
|||
|
|||
if (Number.isFinite(value)) { |
|||
result = (0, _generated.numericLiteral)(Math.abs(value)); |
|||
} else { |
|||
let numerator; |
|||
|
|||
if (Number.isNaN(value)) { |
|||
numerator = (0, _generated.numericLiteral)(0); |
|||
} else { |
|||
numerator = (0, _generated.numericLiteral)(1); |
|||
} |
|||
|
|||
result = (0, _generated.binaryExpression)("/", numerator, (0, _generated.numericLiteral)(0)); |
|||
} |
|||
|
|||
if (value < 0 || Object.is(value, -0)) { |
|||
result = (0, _generated.unaryExpression)("-", result); |
|||
} |
|||
|
|||
return result; |
|||
} |
|||
|
|||
if ((0, _isRegExp.default)(value)) { |
|||
const pattern = value.source; |
|||
const flags = value.toString().match(/\/([a-z]+|)$/)[1]; |
|||
return (0, _generated.regExpLiteral)(pattern, flags); |
|||
} |
|||
|
|||
if (Array.isArray(value)) { |
|||
return (0, _generated.arrayExpression)(value.map(valueToNode)); |
|||
} |
|||
|
|||
if ((0, _isPlainObject.default)(value)) { |
|||
const props = []; |
|||
|
|||
for (const key of Object.keys(value)) { |
|||
let nodeKey; |
|||
|
|||
if ((0, _isValidIdentifier.default)(key)) { |
|||
nodeKey = (0, _generated.identifier)(key); |
|||
} else { |
|||
nodeKey = (0, _generated.stringLiteral)(key); |
|||
} |
|||
|
|||
props.push((0, _generated.objectProperty)(nodeKey, valueToNode(value[key]))); |
|||
} |
|||
|
|||
return (0, _generated.objectExpression)(props); |
|||
} |
|||
|
|||
throw new Error("don't know how to turn this value into a node"); |
|||
} |
|||
@ -1,858 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.patternLikeCommon = exports.functionDeclarationCommon = exports.functionTypeAnnotationCommon = exports.functionCommon = void 0; |
|||
|
|||
var _is = _interopRequireDefault(require("../validators/is")); |
|||
|
|||
var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); |
|||
|
|||
var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); |
|||
|
|||
var _constants = require("../constants"); |
|||
|
|||
var _utils = _interopRequireWildcard(require("./utils")); |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
(0, _utils.default)("ArrayExpression", { |
|||
fields: { |
|||
elements: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement"))), |
|||
default: !process.env.BABEL_TYPES_8_BREAKING ? [] : undefined |
|||
} |
|||
}, |
|||
visitor: ["elements"], |
|||
aliases: ["Expression"] |
|||
}); |
|||
(0, _utils.default)("AssignmentExpression", { |
|||
fields: { |
|||
operator: { |
|||
validate: function () { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) { |
|||
return (0, _utils.assertValueType)("string"); |
|||
} |
|||
|
|||
const identifier = (0, _utils.assertOneOf)(..._constants.ASSIGNMENT_OPERATORS); |
|||
const pattern = (0, _utils.assertOneOf)("="); |
|||
return function (node, key, val) { |
|||
const validator = (0, _is.default)("Pattern", node.left) ? pattern : identifier; |
|||
validator(node, key, val); |
|||
}; |
|||
}() |
|||
}, |
|||
left: { |
|||
validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern") |
|||
}, |
|||
right: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
}, |
|||
builder: ["operator", "left", "right"], |
|||
visitor: ["left", "right"], |
|||
aliases: ["Expression"] |
|||
}); |
|||
(0, _utils.default)("BinaryExpression", { |
|||
builder: ["operator", "left", "right"], |
|||
fields: { |
|||
operator: { |
|||
validate: (0, _utils.assertOneOf)(..._constants.BINARY_OPERATORS) |
|||
}, |
|||
left: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
right: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
}, |
|||
visitor: ["left", "right"], |
|||
aliases: ["Binary", "Expression"] |
|||
}); |
|||
(0, _utils.default)("InterpreterDirective", { |
|||
builder: ["value"], |
|||
fields: { |
|||
value: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("Directive", { |
|||
visitor: ["value"], |
|||
fields: { |
|||
value: { |
|||
validate: (0, _utils.assertNodeType)("DirectiveLiteral") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("DirectiveLiteral", { |
|||
builder: ["value"], |
|||
fields: { |
|||
value: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("BlockStatement", { |
|||
builder: ["body", "directives"], |
|||
visitor: ["directives", "body"], |
|||
fields: { |
|||
directives: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), |
|||
default: [] |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) |
|||
} |
|||
}, |
|||
aliases: ["Scopable", "BlockParent", "Block", "Statement"] |
|||
}); |
|||
(0, _utils.default)("BreakStatement", { |
|||
visitor: ["label"], |
|||
fields: { |
|||
label: { |
|||
validate: (0, _utils.assertNodeType)("Identifier"), |
|||
optional: true |
|||
} |
|||
}, |
|||
aliases: ["Statement", "Terminatorless", "CompletionStatement"] |
|||
}); |
|||
(0, _utils.default)("CallExpression", { |
|||
visitor: ["callee", "arguments", "typeParameters", "typeArguments"], |
|||
builder: ["callee", "arguments"], |
|||
aliases: ["Expression"], |
|||
fields: Object.assign({ |
|||
callee: { |
|||
validate: (0, _utils.assertNodeType)("Expression", "V8IntrinsicIdentifier") |
|||
}, |
|||
arguments: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder"))) |
|||
} |
|||
}, !process.env.BABEL_TYPES_8_BREAKING ? { |
|||
optional: { |
|||
validate: (0, _utils.assertOneOf)(true, false), |
|||
optional: true |
|||
} |
|||
} : {}, { |
|||
typeArguments: { |
|||
validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), |
|||
optional: true |
|||
}, |
|||
typeParameters: { |
|||
validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), |
|||
optional: true |
|||
} |
|||
}) |
|||
}); |
|||
(0, _utils.default)("CatchClause", { |
|||
visitor: ["param", "body"], |
|||
fields: { |
|||
param: { |
|||
validate: (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"), |
|||
optional: true |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("BlockStatement") |
|||
} |
|||
}, |
|||
aliases: ["Scopable", "BlockParent"] |
|||
}); |
|||
(0, _utils.default)("ConditionalExpression", { |
|||
visitor: ["test", "consequent", "alternate"], |
|||
fields: { |
|||
test: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
consequent: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
alternate: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
}, |
|||
aliases: ["Expression", "Conditional"] |
|||
}); |
|||
(0, _utils.default)("ContinueStatement", { |
|||
visitor: ["label"], |
|||
fields: { |
|||
label: { |
|||
validate: (0, _utils.assertNodeType)("Identifier"), |
|||
optional: true |
|||
} |
|||
}, |
|||
aliases: ["Statement", "Terminatorless", "CompletionStatement"] |
|||
}); |
|||
(0, _utils.default)("DebuggerStatement", { |
|||
aliases: ["Statement"] |
|||
}); |
|||
(0, _utils.default)("DoWhileStatement", { |
|||
visitor: ["test", "body"], |
|||
fields: { |
|||
test: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("Statement") |
|||
} |
|||
}, |
|||
aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"] |
|||
}); |
|||
(0, _utils.default)("EmptyStatement", { |
|||
aliases: ["Statement"] |
|||
}); |
|||
(0, _utils.default)("ExpressionStatement", { |
|||
visitor: ["expression"], |
|||
fields: { |
|||
expression: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
}, |
|||
aliases: ["Statement", "ExpressionWrapper"] |
|||
}); |
|||
(0, _utils.default)("File", { |
|||
builder: ["program", "comments", "tokens"], |
|||
visitor: ["program"], |
|||
fields: { |
|||
program: { |
|||
validate: (0, _utils.assertNodeType)("Program") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ForInStatement", { |
|||
visitor: ["left", "right", "body"], |
|||
aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], |
|||
fields: { |
|||
left: { |
|||
validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("VariableDeclaration", "LVal") : (0, _utils.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern") |
|||
}, |
|||
right: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("Statement") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ForStatement", { |
|||
visitor: ["init", "test", "update", "body"], |
|||
aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"], |
|||
fields: { |
|||
init: { |
|||
validate: (0, _utils.assertNodeType)("VariableDeclaration", "Expression"), |
|||
optional: true |
|||
}, |
|||
test: { |
|||
validate: (0, _utils.assertNodeType)("Expression"), |
|||
optional: true |
|||
}, |
|||
update: { |
|||
validate: (0, _utils.assertNodeType)("Expression"), |
|||
optional: true |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("Statement") |
|||
} |
|||
} |
|||
}); |
|||
const functionCommon = { |
|||
params: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"))) |
|||
}, |
|||
generator: { |
|||
default: false |
|||
}, |
|||
async: { |
|||
default: false |
|||
} |
|||
}; |
|||
exports.functionCommon = functionCommon; |
|||
const functionTypeAnnotationCommon = { |
|||
returnType: { |
|||
validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), |
|||
optional: true |
|||
}, |
|||
typeParameters: { |
|||
validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), |
|||
optional: true |
|||
} |
|||
}; |
|||
exports.functionTypeAnnotationCommon = functionTypeAnnotationCommon; |
|||
const functionDeclarationCommon = Object.assign({}, functionCommon, { |
|||
declare: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
}, |
|||
id: { |
|||
validate: (0, _utils.assertNodeType)("Identifier"), |
|||
optional: true |
|||
} |
|||
}); |
|||
exports.functionDeclarationCommon = functionDeclarationCommon; |
|||
(0, _utils.default)("FunctionDeclaration", { |
|||
builder: ["id", "params", "body", "generator", "async"], |
|||
visitor: ["id", "params", "body", "returnType", "typeParameters"], |
|||
fields: Object.assign({}, functionDeclarationCommon, {}, functionTypeAnnotationCommon, { |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("BlockStatement") |
|||
} |
|||
}), |
|||
aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"], |
|||
validate: function () { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return () => {}; |
|||
const identifier = (0, _utils.assertNodeType)("Identifier"); |
|||
return function (parent, key, node) { |
|||
if (!(0, _is.default)("ExportDefaultDeclaration", parent)) { |
|||
identifier(node, "id", node.id); |
|||
} |
|||
}; |
|||
}() |
|||
}); |
|||
(0, _utils.default)("FunctionExpression", { |
|||
inherits: "FunctionDeclaration", |
|||
aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], |
|||
fields: Object.assign({}, functionCommon, {}, functionTypeAnnotationCommon, { |
|||
id: { |
|||
validate: (0, _utils.assertNodeType)("Identifier"), |
|||
optional: true |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("BlockStatement") |
|||
} |
|||
}) |
|||
}); |
|||
const patternLikeCommon = { |
|||
typeAnnotation: { |
|||
validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), |
|||
optional: true |
|||
}, |
|||
decorators: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))) |
|||
} |
|||
}; |
|||
exports.patternLikeCommon = patternLikeCommon; |
|||
(0, _utils.default)("Identifier", { |
|||
builder: ["name"], |
|||
visitor: ["typeAnnotation", "decorators"], |
|||
aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"], |
|||
fields: Object.assign({}, patternLikeCommon, { |
|||
name: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), function (node, key, val) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
|
|||
if (!(0, _isValidIdentifier.default)(val, false)) { |
|||
throw new TypeError(`"${val}" is not a valid identifier name`); |
|||
} |
|||
}) |
|||
}, |
|||
optional: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
} |
|||
}), |
|||
|
|||
validate(parent, key, node) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
const match = /\.(\w+)$/.exec(key); |
|||
if (!match) return; |
|||
const [, parentKey] = match; |
|||
const nonComp = { |
|||
computed: false |
|||
}; |
|||
|
|||
if (parentKey === "property") { |
|||
if ((0, _is.default)("MemberExpression", parent, nonComp)) return; |
|||
if ((0, _is.default)("OptionalMemberExpression", parent, nonComp)) return; |
|||
} else if (parentKey === "key") { |
|||
if ((0, _is.default)("Property", parent, nonComp)) return; |
|||
if ((0, _is.default)("Method", parent, nonComp)) return; |
|||
} else if (parentKey === "exported") { |
|||
if ((0, _is.default)("ExportSpecifier", parent)) return; |
|||
} else if (parentKey === "imported") { |
|||
if ((0, _is.default)("ImportSpecifier", parent, { |
|||
imported: node |
|||
})) return; |
|||
} else if (parentKey === "meta") { |
|||
if ((0, _is.default)("MetaProperty", parent, { |
|||
meta: node |
|||
})) return; |
|||
} |
|||
|
|||
if (((0, _helperValidatorIdentifier.isKeyword)(node.name) || (0, _helperValidatorIdentifier.isReservedWord)(node.name)) && node.name !== "this") { |
|||
throw new TypeError(`"${node.name}" is not a valid identifier`); |
|||
} |
|||
} |
|||
|
|||
}); |
|||
(0, _utils.default)("IfStatement", { |
|||
visitor: ["test", "consequent", "alternate"], |
|||
aliases: ["Statement", "Conditional"], |
|||
fields: { |
|||
test: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
consequent: { |
|||
validate: (0, _utils.assertNodeType)("Statement") |
|||
}, |
|||
alternate: { |
|||
optional: true, |
|||
validate: (0, _utils.assertNodeType)("Statement") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("LabeledStatement", { |
|||
visitor: ["label", "body"], |
|||
aliases: ["Statement"], |
|||
fields: { |
|||
label: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("Statement") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("StringLiteral", { |
|||
builder: ["value"], |
|||
fields: { |
|||
value: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
} |
|||
}, |
|||
aliases: ["Expression", "Pureish", "Literal", "Immutable"] |
|||
}); |
|||
(0, _utils.default)("NumericLiteral", { |
|||
builder: ["value"], |
|||
deprecatedAlias: "NumberLiteral", |
|||
fields: { |
|||
value: { |
|||
validate: (0, _utils.assertValueType)("number") |
|||
} |
|||
}, |
|||
aliases: ["Expression", "Pureish", "Literal", "Immutable"] |
|||
}); |
|||
(0, _utils.default)("NullLiteral", { |
|||
aliases: ["Expression", "Pureish", "Literal", "Immutable"] |
|||
}); |
|||
(0, _utils.default)("BooleanLiteral", { |
|||
builder: ["value"], |
|||
fields: { |
|||
value: { |
|||
validate: (0, _utils.assertValueType)("boolean") |
|||
} |
|||
}, |
|||
aliases: ["Expression", "Pureish", "Literal", "Immutable"] |
|||
}); |
|||
(0, _utils.default)("RegExpLiteral", { |
|||
builder: ["pattern", "flags"], |
|||
deprecatedAlias: "RegexLiteral", |
|||
aliases: ["Expression", "Pureish", "Literal"], |
|||
fields: { |
|||
pattern: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
}, |
|||
flags: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), function (node, key, val) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
const invalid = /[^gimsuy]/.exec(val); |
|||
|
|||
if (invalid) { |
|||
throw new TypeError(`"${invalid[0]}" is not a valid RegExp flag`); |
|||
} |
|||
}), |
|||
default: "" |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("LogicalExpression", { |
|||
builder: ["operator", "left", "right"], |
|||
visitor: ["left", "right"], |
|||
aliases: ["Binary", "Expression"], |
|||
fields: { |
|||
operator: { |
|||
validate: (0, _utils.assertOneOf)(..._constants.LOGICAL_OPERATORS) |
|||
}, |
|||
left: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
right: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("MemberExpression", { |
|||
builder: ["object", "property", "computed", "optional"], |
|||
visitor: ["object", "property"], |
|||
aliases: ["Expression", "LVal"], |
|||
fields: Object.assign({ |
|||
object: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
property: { |
|||
validate: function () { |
|||
const normal = (0, _utils.assertNodeType)("Identifier", "PrivateName"); |
|||
const computed = (0, _utils.assertNodeType)("Expression"); |
|||
return function (node, key, val) { |
|||
const validator = node.computed ? computed : normal; |
|||
validator(node, key, val); |
|||
}; |
|||
}() |
|||
}, |
|||
computed: { |
|||
default: false |
|||
} |
|||
}, !process.env.BABEL_TYPES_8_BREAKING ? { |
|||
optional: { |
|||
validate: (0, _utils.assertOneOf)(true, false), |
|||
optional: true |
|||
} |
|||
} : {}) |
|||
}); |
|||
(0, _utils.default)("NewExpression", { |
|||
inherits: "CallExpression" |
|||
}); |
|||
(0, _utils.default)("Program", { |
|||
visitor: ["directives", "body"], |
|||
builder: ["body", "directives", "sourceType", "interpreter"], |
|||
fields: { |
|||
sourceFile: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
}, |
|||
sourceType: { |
|||
validate: (0, _utils.assertOneOf)("script", "module"), |
|||
default: "script" |
|||
}, |
|||
interpreter: { |
|||
validate: (0, _utils.assertNodeType)("InterpreterDirective"), |
|||
default: null, |
|||
optional: true |
|||
}, |
|||
directives: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), |
|||
default: [] |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) |
|||
} |
|||
}, |
|||
aliases: ["Scopable", "BlockParent", "Block"] |
|||
}); |
|||
(0, _utils.default)("ObjectExpression", { |
|||
visitor: ["properties"], |
|||
aliases: ["Expression"], |
|||
fields: { |
|||
properties: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectMethod", "ObjectProperty", "SpreadElement"))) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ObjectMethod", { |
|||
builder: ["kind", "key", "params", "body", "computed", "generator", "async"], |
|||
fields: Object.assign({}, functionCommon, {}, functionTypeAnnotationCommon, { |
|||
kind: Object.assign({ |
|||
validate: (0, _utils.assertOneOf)("method", "get", "set") |
|||
}, !process.env.BABEL_TYPES_8_BREAKING ? { |
|||
default: "method" |
|||
} : {}), |
|||
computed: { |
|||
default: false |
|||
}, |
|||
key: { |
|||
validate: function () { |
|||
const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); |
|||
const computed = (0, _utils.assertNodeType)("Expression"); |
|||
return function (node, key, val) { |
|||
const validator = node.computed ? computed : normal; |
|||
validator(node, key, val); |
|||
}; |
|||
}() |
|||
}, |
|||
decorators: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), |
|||
optional: true |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("BlockStatement") |
|||
} |
|||
}), |
|||
visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], |
|||
aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"] |
|||
}); |
|||
(0, _utils.default)("ObjectProperty", { |
|||
builder: ["key", "value", "computed", "shorthand", ...(!process.env.BABEL_TYPES_8_BREAKING ? ["decorators"] : [])], |
|||
fields: { |
|||
computed: { |
|||
default: false |
|||
}, |
|||
key: { |
|||
validate: function () { |
|||
const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); |
|||
const computed = (0, _utils.assertNodeType)("Expression"); |
|||
return function (node, key, val) { |
|||
const validator = node.computed ? computed : normal; |
|||
validator(node, key, val); |
|||
}; |
|||
}() |
|||
}, |
|||
value: { |
|||
validate: (0, _utils.assertNodeType)("Expression", "PatternLike") |
|||
}, |
|||
shorthand: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("boolean"), function (node, key, val) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
|
|||
if (val && node.computed) { |
|||
throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true"); |
|||
} |
|||
}, function (node, key, val) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
|
|||
if (val && !(0, _is.default)("Identifier", node.key)) { |
|||
throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier"); |
|||
} |
|||
}), |
|||
default: false |
|||
}, |
|||
decorators: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), |
|||
optional: true |
|||
} |
|||
}, |
|||
visitor: ["key", "value", "decorators"], |
|||
aliases: ["UserWhitespacable", "Property", "ObjectMember"], |
|||
validate: function () { |
|||
const pattern = (0, _utils.assertNodeType)("Identifier", "Pattern"); |
|||
const expression = (0, _utils.assertNodeType)("Expression"); |
|||
return function (parent, key, node) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
const validator = (0, _is.default)("ObjectPattern", parent) ? pattern : expression; |
|||
validator(node, "value", node.value); |
|||
}; |
|||
}() |
|||
}); |
|||
(0, _utils.default)("RestElement", { |
|||
visitor: ["argument", "typeAnnotation"], |
|||
builder: ["argument"], |
|||
aliases: ["LVal", "PatternLike"], |
|||
deprecatedAlias: "RestProperty", |
|||
fields: Object.assign({}, patternLikeCommon, { |
|||
argument: { |
|||
validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "Pattern", "MemberExpression") |
|||
} |
|||
}), |
|||
|
|||
validate(parent, key) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
const match = /(\w+)\[(\d+)\]/.exec(key); |
|||
if (!match) throw new Error("Internal Babel error: malformed key."); |
|||
const [, listKey, index] = match; |
|||
|
|||
if (parent[listKey].length > index + 1) { |
|||
throw new TypeError(`RestElement must be last element of ${listKey}`); |
|||
} |
|||
} |
|||
|
|||
}); |
|||
(0, _utils.default)("ReturnStatement", { |
|||
visitor: ["argument"], |
|||
aliases: ["Statement", "Terminatorless", "CompletionStatement"], |
|||
fields: { |
|||
argument: { |
|||
validate: (0, _utils.assertNodeType)("Expression"), |
|||
optional: true |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("SequenceExpression", { |
|||
visitor: ["expressions"], |
|||
fields: { |
|||
expressions: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression"))) |
|||
} |
|||
}, |
|||
aliases: ["Expression"] |
|||
}); |
|||
(0, _utils.default)("ParenthesizedExpression", { |
|||
visitor: ["expression"], |
|||
aliases: ["Expression", "ExpressionWrapper"], |
|||
fields: { |
|||
expression: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("SwitchCase", { |
|||
visitor: ["test", "consequent"], |
|||
fields: { |
|||
test: { |
|||
validate: (0, _utils.assertNodeType)("Expression"), |
|||
optional: true |
|||
}, |
|||
consequent: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("SwitchStatement", { |
|||
visitor: ["discriminant", "cases"], |
|||
aliases: ["Statement", "BlockParent", "Scopable"], |
|||
fields: { |
|||
discriminant: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
cases: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("SwitchCase"))) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ThisExpression", { |
|||
aliases: ["Expression"] |
|||
}); |
|||
(0, _utils.default)("ThrowStatement", { |
|||
visitor: ["argument"], |
|||
aliases: ["Statement", "Terminatorless", "CompletionStatement"], |
|||
fields: { |
|||
argument: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("TryStatement", { |
|||
visitor: ["block", "handler", "finalizer"], |
|||
aliases: ["Statement"], |
|||
fields: { |
|||
block: { |
|||
validate: (0, _utils.chain)((0, _utils.assertNodeType)("BlockStatement"), function (node) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
|
|||
if (!node.handler && !node.finalizer) { |
|||
throw new TypeError("TryStatement expects either a handler or finalizer, or both"); |
|||
} |
|||
}) |
|||
}, |
|||
handler: { |
|||
optional: true, |
|||
validate: (0, _utils.assertNodeType)("CatchClause") |
|||
}, |
|||
finalizer: { |
|||
optional: true, |
|||
validate: (0, _utils.assertNodeType)("BlockStatement") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("UnaryExpression", { |
|||
builder: ["operator", "argument", "prefix"], |
|||
fields: { |
|||
prefix: { |
|||
default: true |
|||
}, |
|||
argument: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
operator: { |
|||
validate: (0, _utils.assertOneOf)(..._constants.UNARY_OPERATORS) |
|||
} |
|||
}, |
|||
visitor: ["argument"], |
|||
aliases: ["UnaryLike", "Expression"] |
|||
}); |
|||
(0, _utils.default)("UpdateExpression", { |
|||
builder: ["operator", "argument", "prefix"], |
|||
fields: { |
|||
prefix: { |
|||
default: false |
|||
}, |
|||
argument: { |
|||
validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("Expression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression") |
|||
}, |
|||
operator: { |
|||
validate: (0, _utils.assertOneOf)(..._constants.UPDATE_OPERATORS) |
|||
} |
|||
}, |
|||
visitor: ["argument"], |
|||
aliases: ["Expression"] |
|||
}); |
|||
(0, _utils.default)("VariableDeclaration", { |
|||
builder: ["kind", "declarations"], |
|||
visitor: ["declarations"], |
|||
aliases: ["Statement", "Declaration"], |
|||
fields: { |
|||
declare: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
}, |
|||
kind: { |
|||
validate: (0, _utils.assertOneOf)("var", "let", "const") |
|||
}, |
|||
declarations: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("VariableDeclarator"))) |
|||
} |
|||
}, |
|||
|
|||
validate(parent, key, node) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
if (!(0, _is.default)("ForXStatement", parent, { |
|||
left: node |
|||
})) return; |
|||
|
|||
if (node.declarations.length !== 1) { |
|||
throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`); |
|||
} |
|||
} |
|||
|
|||
}); |
|||
(0, _utils.default)("VariableDeclarator", { |
|||
visitor: ["id", "init"], |
|||
fields: { |
|||
id: { |
|||
validate: function () { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) { |
|||
return (0, _utils.assertNodeType)("LVal"); |
|||
} |
|||
|
|||
const normal = (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"); |
|||
const without = (0, _utils.assertNodeType)("Identifier"); |
|||
return function (node, key, val) { |
|||
const validator = node.init ? normal : without; |
|||
validator(node, key, val); |
|||
}; |
|||
}() |
|||
}, |
|||
definite: { |
|||
optional: true, |
|||
validate: (0, _utils.assertValueType)("boolean") |
|||
}, |
|||
init: { |
|||
optional: true, |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("WhileStatement", { |
|||
visitor: ["test", "body"], |
|||
aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"], |
|||
fields: { |
|||
test: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("Statement") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("WithStatement", { |
|||
visitor: ["object", "body"], |
|||
aliases: ["Statement"], |
|||
fields: { |
|||
object: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("Statement") |
|||
} |
|||
} |
|||
}); |
|||
@ -1,467 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.classMethodOrDeclareMethodCommon = exports.classMethodOrPropertyCommon = void 0; |
|||
|
|||
var _utils = _interopRequireWildcard(require("./utils")); |
|||
|
|||
var _core = require("./core"); |
|||
|
|||
var _is = _interopRequireDefault(require("../validators/is")); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
(0, _utils.default)("AssignmentPattern", { |
|||
visitor: ["left", "right", "decorators"], |
|||
builder: ["left", "right"], |
|||
aliases: ["Pattern", "PatternLike", "LVal"], |
|||
fields: Object.assign({}, _core.patternLikeCommon, { |
|||
left: { |
|||
validate: (0, _utils.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression") |
|||
}, |
|||
right: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
decorators: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), |
|||
optional: true |
|||
} |
|||
}) |
|||
}); |
|||
(0, _utils.default)("ArrayPattern", { |
|||
visitor: ["elements", "typeAnnotation"], |
|||
builder: ["elements"], |
|||
aliases: ["Pattern", "PatternLike", "LVal"], |
|||
fields: Object.assign({}, _core.patternLikeCommon, { |
|||
elements: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "PatternLike"))) |
|||
}, |
|||
decorators: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), |
|||
optional: true |
|||
} |
|||
}) |
|||
}); |
|||
(0, _utils.default)("ArrowFunctionExpression", { |
|||
builder: ["params", "body", "async"], |
|||
visitor: ["params", "body", "returnType", "typeParameters"], |
|||
aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], |
|||
fields: Object.assign({}, _core.functionCommon, {}, _core.functionTypeAnnotationCommon, { |
|||
expression: { |
|||
validate: (0, _utils.assertValueType)("boolean") |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("BlockStatement", "Expression") |
|||
} |
|||
}) |
|||
}); |
|||
(0, _utils.default)("ClassBody", { |
|||
visitor: ["body"], |
|||
fields: { |
|||
body: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "TSDeclareMethod", "TSIndexSignature"))) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ClassExpression", { |
|||
builder: ["id", "superClass", "body", "decorators"], |
|||
visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"], |
|||
aliases: ["Scopable", "Class", "Expression"], |
|||
fields: { |
|||
id: { |
|||
validate: (0, _utils.assertNodeType)("Identifier"), |
|||
optional: true |
|||
}, |
|||
typeParameters: { |
|||
validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), |
|||
optional: true |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("ClassBody") |
|||
}, |
|||
superClass: { |
|||
optional: true, |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
superTypeParameters: { |
|||
validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), |
|||
optional: true |
|||
}, |
|||
implements: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))), |
|||
optional: true |
|||
}, |
|||
decorators: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), |
|||
optional: true |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ClassDeclaration", { |
|||
inherits: "ClassExpression", |
|||
aliases: ["Scopable", "Class", "Statement", "Declaration"], |
|||
fields: { |
|||
declare: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
}, |
|||
abstract: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
} |
|||
}, |
|||
validate: function () { |
|||
const identifier = (0, _utils.assertNodeType)("Identifier"); |
|||
return function (parent, key, node) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
|
|||
if (!(0, _is.default)("ExportDefaultDeclaration", parent)) { |
|||
identifier(node, "id", node.id); |
|||
} |
|||
}; |
|||
}() |
|||
}); |
|||
(0, _utils.default)("ExportAllDeclaration", { |
|||
visitor: ["source"], |
|||
aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], |
|||
fields: { |
|||
source: { |
|||
validate: (0, _utils.assertNodeType)("StringLiteral") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ExportDefaultDeclaration", { |
|||
visitor: ["declaration"], |
|||
aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], |
|||
fields: { |
|||
declaration: { |
|||
validate: (0, _utils.assertNodeType)("FunctionDeclaration", "TSDeclareFunction", "ClassDeclaration", "Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ExportNamedDeclaration", { |
|||
visitor: ["declaration", "specifiers", "source"], |
|||
aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], |
|||
fields: { |
|||
declaration: { |
|||
optional: true, |
|||
validate: (0, _utils.chain)((0, _utils.assertNodeType)("Declaration"), function (node, key, val) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
|
|||
if (val && node.specifiers.length) { |
|||
throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration"); |
|||
} |
|||
}, function (node, key, val) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
|
|||
if (val && node.source) { |
|||
throw new TypeError("Cannot export a declaration from a source"); |
|||
} |
|||
}) |
|||
}, |
|||
specifiers: { |
|||
default: [], |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)(function () { |
|||
const sourced = (0, _utils.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"); |
|||
const sourceless = (0, _utils.assertNodeType)("ExportSpecifier"); |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return sourced; |
|||
return function (node, key, val) { |
|||
const validator = node.source ? sourced : sourceless; |
|||
validator(node, key, val); |
|||
}; |
|||
}())) |
|||
}, |
|||
source: { |
|||
validate: (0, _utils.assertNodeType)("StringLiteral"), |
|||
optional: true |
|||
}, |
|||
exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("ExportSpecifier", { |
|||
visitor: ["local", "exported"], |
|||
aliases: ["ModuleSpecifier"], |
|||
fields: { |
|||
local: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
}, |
|||
exported: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ForOfStatement", { |
|||
visitor: ["left", "right", "body"], |
|||
builder: ["left", "right", "body", "await"], |
|||
aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], |
|||
fields: { |
|||
left: { |
|||
validate: function () { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) { |
|||
return (0, _utils.assertNodeType)("VariableDeclaration", "LVal"); |
|||
} |
|||
|
|||
const declaration = (0, _utils.assertNodeType)("VariableDeclaration"); |
|||
const lval = (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern"); |
|||
return function (node, key, val) { |
|||
if ((0, _is.default)("VariableDeclaration", val)) { |
|||
declaration(node, key, val); |
|||
} else { |
|||
lval(node, key, val); |
|||
} |
|||
}; |
|||
}() |
|||
}, |
|||
right: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("Statement") |
|||
}, |
|||
await: { |
|||
default: false |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ImportDeclaration", { |
|||
visitor: ["specifiers", "source"], |
|||
aliases: ["Statement", "Declaration", "ModuleDeclaration"], |
|||
fields: { |
|||
specifiers: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"))) |
|||
}, |
|||
source: { |
|||
validate: (0, _utils.assertNodeType)("StringLiteral") |
|||
}, |
|||
importKind: { |
|||
validate: (0, _utils.assertOneOf)("type", "typeof", "value"), |
|||
optional: true |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ImportDefaultSpecifier", { |
|||
visitor: ["local"], |
|||
aliases: ["ModuleSpecifier"], |
|||
fields: { |
|||
local: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ImportNamespaceSpecifier", { |
|||
visitor: ["local"], |
|||
aliases: ["ModuleSpecifier"], |
|||
fields: { |
|||
local: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ImportSpecifier", { |
|||
visitor: ["local", "imported"], |
|||
aliases: ["ModuleSpecifier"], |
|||
fields: { |
|||
local: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
}, |
|||
imported: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
}, |
|||
importKind: { |
|||
validate: (0, _utils.assertOneOf)("type", "typeof"), |
|||
optional: true |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("MetaProperty", { |
|||
visitor: ["meta", "property"], |
|||
aliases: ["Expression"], |
|||
fields: { |
|||
meta: { |
|||
validate: (0, _utils.chain)((0, _utils.assertNodeType)("Identifier"), function (node, key, val) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
let property; |
|||
|
|||
switch (val.name) { |
|||
case "function": |
|||
property = "sent"; |
|||
break; |
|||
|
|||
case "new": |
|||
property = "target"; |
|||
break; |
|||
|
|||
case "import": |
|||
property = "meta"; |
|||
break; |
|||
} |
|||
|
|||
if (!(0, _is.default)("Identifier", node.property, { |
|||
name: property |
|||
})) { |
|||
throw new TypeError("Unrecognised MetaProperty"); |
|||
} |
|||
}) |
|||
}, |
|||
property: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
} |
|||
} |
|||
}); |
|||
const classMethodOrPropertyCommon = { |
|||
abstract: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
}, |
|||
accessibility: { |
|||
validate: (0, _utils.assertOneOf)("public", "private", "protected"), |
|||
optional: true |
|||
}, |
|||
static: { |
|||
default: false |
|||
}, |
|||
computed: { |
|||
default: false |
|||
}, |
|||
optional: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
}, |
|||
key: { |
|||
validate: (0, _utils.chain)(function () { |
|||
const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); |
|||
const computed = (0, _utils.assertNodeType)("Expression"); |
|||
return function (node, key, val) { |
|||
const validator = node.computed ? computed : normal; |
|||
validator(node, key, val); |
|||
}; |
|||
}(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "Expression")) |
|||
} |
|||
}; |
|||
exports.classMethodOrPropertyCommon = classMethodOrPropertyCommon; |
|||
const classMethodOrDeclareMethodCommon = Object.assign({}, _core.functionCommon, {}, classMethodOrPropertyCommon, { |
|||
kind: { |
|||
validate: (0, _utils.assertOneOf)("get", "set", "method", "constructor"), |
|||
default: "method" |
|||
}, |
|||
access: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")), |
|||
optional: true |
|||
}, |
|||
decorators: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), |
|||
optional: true |
|||
} |
|||
}); |
|||
exports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon; |
|||
(0, _utils.default)("ClassMethod", { |
|||
aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"], |
|||
builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"], |
|||
visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], |
|||
fields: Object.assign({}, classMethodOrDeclareMethodCommon, {}, _core.functionTypeAnnotationCommon, { |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("BlockStatement") |
|||
} |
|||
}) |
|||
}); |
|||
(0, _utils.default)("ObjectPattern", { |
|||
visitor: ["properties", "typeAnnotation", "decorators"], |
|||
builder: ["properties"], |
|||
aliases: ["Pattern", "PatternLike", "LVal"], |
|||
fields: Object.assign({}, _core.patternLikeCommon, { |
|||
properties: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("RestElement", "ObjectProperty"))) |
|||
} |
|||
}) |
|||
}); |
|||
(0, _utils.default)("SpreadElement", { |
|||
visitor: ["argument"], |
|||
aliases: ["UnaryLike"], |
|||
deprecatedAlias: "SpreadProperty", |
|||
fields: { |
|||
argument: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("Super", { |
|||
aliases: ["Expression"] |
|||
}); |
|||
(0, _utils.default)("TaggedTemplateExpression", { |
|||
visitor: ["tag", "quasi"], |
|||
aliases: ["Expression"], |
|||
fields: { |
|||
tag: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
quasi: { |
|||
validate: (0, _utils.assertNodeType)("TemplateLiteral") |
|||
}, |
|||
typeParameters: { |
|||
validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), |
|||
optional: true |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("TemplateElement", { |
|||
builder: ["value", "tail"], |
|||
fields: { |
|||
value: { |
|||
validate: (0, _utils.assertShape)({ |
|||
raw: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
}, |
|||
cooked: { |
|||
validate: (0, _utils.assertValueType)("string"), |
|||
optional: true |
|||
} |
|||
}) |
|||
}, |
|||
tail: { |
|||
default: false |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("TemplateLiteral", { |
|||
visitor: ["quasis", "expressions"], |
|||
aliases: ["Expression", "Literal"], |
|||
fields: { |
|||
quasis: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TemplateElement"))) |
|||
}, |
|||
expressions: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression")), function (node, key, val) { |
|||
if (node.quasis.length !== val.length + 1) { |
|||
throw new TypeError(`Number of ${node.type} quasis should be exactly one more than the number of expressions.\nExpected ${val.length + 1} quasis but got ${node.quasis.length}`); |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("YieldExpression", { |
|||
builder: ["argument", "delegate"], |
|||
visitor: ["argument"], |
|||
aliases: ["Expression", "Terminatorless"], |
|||
fields: { |
|||
delegate: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("boolean"), function (node, key, val) { |
|||
if (!process.env.BABEL_TYPES_8_BREAKING) return; |
|||
|
|||
if (val && !node.argument) { |
|||
throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument"); |
|||
} |
|||
}), |
|||
default: false |
|||
}, |
|||
argument: { |
|||
optional: true, |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
@ -1,241 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
var _utils = _interopRequireWildcard(require("./utils")); |
|||
|
|||
var _es = require("./es2015"); |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
(0, _utils.default)("ArgumentPlaceholder", {}); |
|||
(0, _utils.default)("AwaitExpression", { |
|||
builder: ["argument"], |
|||
visitor: ["argument"], |
|||
aliases: ["Expression", "Terminatorless"], |
|||
fields: { |
|||
argument: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("BindExpression", { |
|||
visitor: ["object", "callee"], |
|||
aliases: ["Expression"], |
|||
fields: !process.env.BABEL_TYPES_8_BREAKING ? {} : { |
|||
object: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
callee: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ClassProperty", { |
|||
visitor: ["key", "value", "typeAnnotation", "decorators"], |
|||
builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], |
|||
aliases: ["Property"], |
|||
fields: Object.assign({}, _es.classMethodOrPropertyCommon, { |
|||
value: { |
|||
validate: (0, _utils.assertNodeType)("Expression"), |
|||
optional: true |
|||
}, |
|||
definite: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
}, |
|||
typeAnnotation: { |
|||
validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), |
|||
optional: true |
|||
}, |
|||
decorators: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), |
|||
optional: true |
|||
}, |
|||
readonly: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
}, |
|||
declare: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
} |
|||
}) |
|||
}); |
|||
(0, _utils.default)("OptionalMemberExpression", { |
|||
builder: ["object", "property", "computed", "optional"], |
|||
visitor: ["object", "property"], |
|||
aliases: ["Expression"], |
|||
fields: { |
|||
object: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
property: { |
|||
validate: function () { |
|||
const normal = (0, _utils.assertNodeType)("Identifier"); |
|||
const computed = (0, _utils.assertNodeType)("Expression"); |
|||
return function (node, key, val) { |
|||
const validator = node.computed ? computed : normal; |
|||
validator(node, key, val); |
|||
}; |
|||
}() |
|||
}, |
|||
computed: { |
|||
default: false |
|||
}, |
|||
optional: { |
|||
validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)()) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("PipelineTopicExpression", { |
|||
builder: ["expression"], |
|||
visitor: ["expression"], |
|||
fields: { |
|||
expression: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("PipelineBareFunction", { |
|||
builder: ["callee"], |
|||
visitor: ["callee"], |
|||
fields: { |
|||
callee: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("PipelinePrimaryTopicReference", { |
|||
aliases: ["Expression"] |
|||
}); |
|||
(0, _utils.default)("OptionalCallExpression", { |
|||
visitor: ["callee", "arguments", "typeParameters", "typeArguments"], |
|||
builder: ["callee", "arguments", "optional"], |
|||
aliases: ["Expression"], |
|||
fields: { |
|||
callee: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
}, |
|||
arguments: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName"))) |
|||
}, |
|||
optional: { |
|||
validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)()) |
|||
}, |
|||
typeArguments: { |
|||
validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), |
|||
optional: true |
|||
}, |
|||
typeParameters: { |
|||
validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), |
|||
optional: true |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ClassPrivateProperty", { |
|||
visitor: ["key", "value", "decorators"], |
|||
builder: ["key", "value", "decorators"], |
|||
aliases: ["Property", "Private"], |
|||
fields: { |
|||
key: { |
|||
validate: (0, _utils.assertNodeType)("PrivateName") |
|||
}, |
|||
value: { |
|||
validate: (0, _utils.assertNodeType)("Expression"), |
|||
optional: true |
|||
}, |
|||
decorators: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), |
|||
optional: true |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ClassPrivateMethod", { |
|||
builder: ["kind", "key", "params", "body", "static"], |
|||
visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], |
|||
aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"], |
|||
fields: Object.assign({}, _es.classMethodOrDeclareMethodCommon, { |
|||
key: { |
|||
validate: (0, _utils.assertNodeType)("PrivateName") |
|||
}, |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("BlockStatement") |
|||
} |
|||
}) |
|||
}); |
|||
(0, _utils.default)("Import", { |
|||
aliases: ["Expression"] |
|||
}); |
|||
(0, _utils.default)("Decorator", { |
|||
visitor: ["expression"], |
|||
fields: { |
|||
expression: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("DoExpression", { |
|||
visitor: ["body"], |
|||
aliases: ["Expression"], |
|||
fields: { |
|||
body: { |
|||
validate: (0, _utils.assertNodeType)("BlockStatement") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ExportDefaultSpecifier", { |
|||
visitor: ["exported"], |
|||
aliases: ["ModuleSpecifier"], |
|||
fields: { |
|||
exported: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("ExportNamespaceSpecifier", { |
|||
visitor: ["exported"], |
|||
aliases: ["ModuleSpecifier"], |
|||
fields: { |
|||
exported: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("PrivateName", { |
|||
visitor: ["id"], |
|||
aliases: ["Private"], |
|||
fields: { |
|||
id: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("BigIntLiteral", { |
|||
builder: ["value"], |
|||
fields: { |
|||
value: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
} |
|||
}, |
|||
aliases: ["Expression", "Pureish", "Literal", "Immutable"] |
|||
}); |
|||
(0, _utils.default)("RecordExpression", { |
|||
visitor: ["properties"], |
|||
aliases: ["Expression"], |
|||
fields: { |
|||
properties: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectProperty", "ObjectMethod", "SpreadElement"))) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("TupleExpression", { |
|||
fields: { |
|||
elements: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement"))), |
|||
default: [] |
|||
} |
|||
}, |
|||
visitor: ["elements"], |
|||
aliases: ["Expression"] |
|||
}); |
|||
@ -1,461 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
var _utils = _interopRequireWildcard(require("./utils")); |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
const defineInterfaceishType = (name, typeParameterType = "TypeParameterDeclaration") => { |
|||
(0, _utils.default)(name, { |
|||
builder: ["id", "typeParameters", "extends", "body"], |
|||
visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
typeParameters: (0, _utils.validateOptionalType)(typeParameterType), |
|||
extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), |
|||
mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), |
|||
implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements")), |
|||
body: (0, _utils.validateType)("ObjectTypeAnnotation") |
|||
} |
|||
}); |
|||
}; |
|||
|
|||
(0, _utils.default)("AnyTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("ArrayTypeAnnotation", { |
|||
visitor: ["elementType"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
elementType: (0, _utils.validateType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("BooleanTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("BooleanLiteralTypeAnnotation", { |
|||
builder: ["value"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
value: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("NullLiteralTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("ClassImplements", { |
|||
visitor: ["id", "typeParameters"], |
|||
aliases: ["Flow"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") |
|||
} |
|||
}); |
|||
defineInterfaceishType("DeclareClass"); |
|||
(0, _utils.default)("DeclareFunction", { |
|||
visitor: ["id"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
predicate: (0, _utils.validateOptionalType)("DeclaredPredicate") |
|||
} |
|||
}); |
|||
defineInterfaceishType("DeclareInterface"); |
|||
(0, _utils.default)("DeclareModule", { |
|||
builder: ["id", "body", "kind"], |
|||
visitor: ["id", "body"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), |
|||
body: (0, _utils.validateType)("BlockStatement"), |
|||
kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("CommonJS", "ES")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("DeclareModuleExports", { |
|||
visitor: ["typeAnnotation"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
typeAnnotation: (0, _utils.validateType)("TypeAnnotation") |
|||
} |
|||
}); |
|||
(0, _utils.default)("DeclareTypeAlias", { |
|||
visitor: ["id", "typeParameters", "right"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), |
|||
right: (0, _utils.validateType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("DeclareOpaqueType", { |
|||
visitor: ["id", "typeParameters", "supertype"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), |
|||
supertype: (0, _utils.validateOptionalType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("DeclareVariable", { |
|||
visitor: ["id"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier") |
|||
} |
|||
}); |
|||
(0, _utils.default)("DeclareExportDeclaration", { |
|||
visitor: ["declaration", "specifiers", "source"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
declaration: (0, _utils.validateOptionalType)("Flow"), |
|||
specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)(["ExportSpecifier", "ExportNamespaceSpecifier"])), |
|||
source: (0, _utils.validateOptionalType)("StringLiteral"), |
|||
default: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("DeclareExportAllDeclaration", { |
|||
visitor: ["source"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
source: (0, _utils.validateType)("StringLiteral"), |
|||
exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("DeclaredPredicate", { |
|||
visitor: ["value"], |
|||
aliases: ["Flow", "FlowPredicate"], |
|||
fields: { |
|||
value: (0, _utils.validateType)("Flow") |
|||
} |
|||
}); |
|||
(0, _utils.default)("ExistsTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType"] |
|||
}); |
|||
(0, _utils.default)("FunctionTypeAnnotation", { |
|||
visitor: ["typeParameters", "params", "rest", "returnType"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), |
|||
params: (0, _utils.validate)((0, _utils.arrayOfType)("FunctionTypeParam")), |
|||
rest: (0, _utils.validateOptionalType)("FunctionTypeParam"), |
|||
returnType: (0, _utils.validateType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("FunctionTypeParam", { |
|||
visitor: ["name", "typeAnnotation"], |
|||
aliases: ["Flow"], |
|||
fields: { |
|||
name: (0, _utils.validateOptionalType)("Identifier"), |
|||
typeAnnotation: (0, _utils.validateType)("FlowType"), |
|||
optional: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("GenericTypeAnnotation", { |
|||
visitor: ["id", "typeParameters"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), |
|||
typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") |
|||
} |
|||
}); |
|||
(0, _utils.default)("InferredPredicate", { |
|||
aliases: ["Flow", "FlowPredicate"] |
|||
}); |
|||
(0, _utils.default)("InterfaceExtends", { |
|||
visitor: ["id", "typeParameters"], |
|||
aliases: ["Flow"], |
|||
fields: { |
|||
id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), |
|||
typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") |
|||
} |
|||
}); |
|||
defineInterfaceishType("InterfaceDeclaration"); |
|||
(0, _utils.default)("InterfaceTypeAnnotation", { |
|||
visitor: ["extends", "body"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), |
|||
body: (0, _utils.validateType)("ObjectTypeAnnotation") |
|||
} |
|||
}); |
|||
(0, _utils.default)("IntersectionTypeAnnotation", { |
|||
visitor: ["types"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("MixedTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("EmptyTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("NullableTypeAnnotation", { |
|||
visitor: ["typeAnnotation"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
typeAnnotation: (0, _utils.validateType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("NumberLiteralTypeAnnotation", { |
|||
builder: ["value"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
value: (0, _utils.validate)((0, _utils.assertValueType)("number")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("NumberTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("ObjectTypeAnnotation", { |
|||
visitor: ["properties", "indexers", "callProperties", "internalSlots"], |
|||
aliases: ["Flow", "FlowType"], |
|||
builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"], |
|||
fields: { |
|||
properties: (0, _utils.validate)((0, _utils.arrayOfType)(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])), |
|||
indexers: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeIndexer")), |
|||
callProperties: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeCallProperty")), |
|||
internalSlots: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeInternalSlot")), |
|||
exact: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
default: false |
|||
}, |
|||
inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("ObjectTypeInternalSlot", { |
|||
visitor: ["id", "value", "optional", "static", "method"], |
|||
aliases: ["Flow", "UserWhitespacable"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
value: (0, _utils.validateType)("FlowType"), |
|||
optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), |
|||
static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), |
|||
method: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("ObjectTypeCallProperty", { |
|||
visitor: ["value"], |
|||
aliases: ["Flow", "UserWhitespacable"], |
|||
fields: { |
|||
value: (0, _utils.validateType)("FlowType"), |
|||
static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("ObjectTypeIndexer", { |
|||
visitor: ["id", "key", "value", "variance"], |
|||
aliases: ["Flow", "UserWhitespacable"], |
|||
fields: { |
|||
id: (0, _utils.validateOptionalType)("Identifier"), |
|||
key: (0, _utils.validateType)("FlowType"), |
|||
value: (0, _utils.validateType)("FlowType"), |
|||
static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), |
|||
variance: (0, _utils.validateOptionalType)("Variance") |
|||
} |
|||
}); |
|||
(0, _utils.default)("ObjectTypeProperty", { |
|||
visitor: ["key", "value", "variance"], |
|||
aliases: ["Flow", "UserWhitespacable"], |
|||
fields: { |
|||
key: (0, _utils.validateType)(["Identifier", "StringLiteral"]), |
|||
value: (0, _utils.validateType)("FlowType"), |
|||
kind: (0, _utils.validate)((0, _utils.assertOneOf)("init", "get", "set")), |
|||
static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), |
|||
proto: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), |
|||
optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), |
|||
variance: (0, _utils.validateOptionalType)("Variance") |
|||
} |
|||
}); |
|||
(0, _utils.default)("ObjectTypeSpreadProperty", { |
|||
visitor: ["argument"], |
|||
aliases: ["Flow", "UserWhitespacable"], |
|||
fields: { |
|||
argument: (0, _utils.validateType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("OpaqueType", { |
|||
visitor: ["id", "typeParameters", "supertype", "impltype"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), |
|||
supertype: (0, _utils.validateOptionalType)("FlowType"), |
|||
impltype: (0, _utils.validateType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("QualifiedTypeIdentifier", { |
|||
visitor: ["id", "qualification"], |
|||
aliases: ["Flow"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
qualification: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]) |
|||
} |
|||
}); |
|||
(0, _utils.default)("StringLiteralTypeAnnotation", { |
|||
builder: ["value"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
value: (0, _utils.validate)((0, _utils.assertValueType)("string")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("StringTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("SymbolTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("ThisTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("TupleTypeAnnotation", { |
|||
visitor: ["types"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("TypeofTypeAnnotation", { |
|||
visitor: ["argument"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
argument: (0, _utils.validateType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TypeAlias", { |
|||
visitor: ["id", "typeParameters", "right"], |
|||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), |
|||
right: (0, _utils.validateType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TypeAnnotation", { |
|||
aliases: ["Flow"], |
|||
visitor: ["typeAnnotation"], |
|||
fields: { |
|||
typeAnnotation: (0, _utils.validateType)("FlowType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TypeCastExpression", { |
|||
visitor: ["expression", "typeAnnotation"], |
|||
aliases: ["Flow", "ExpressionWrapper", "Expression"], |
|||
fields: { |
|||
expression: (0, _utils.validateType)("Expression"), |
|||
typeAnnotation: (0, _utils.validateType)("TypeAnnotation") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TypeParameter", { |
|||
aliases: ["Flow"], |
|||
visitor: ["bound", "default", "variance"], |
|||
fields: { |
|||
name: (0, _utils.validate)((0, _utils.assertValueType)("string")), |
|||
bound: (0, _utils.validateOptionalType)("TypeAnnotation"), |
|||
default: (0, _utils.validateOptionalType)("FlowType"), |
|||
variance: (0, _utils.validateOptionalType)("Variance") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TypeParameterDeclaration", { |
|||
aliases: ["Flow"], |
|||
visitor: ["params"], |
|||
fields: { |
|||
params: (0, _utils.validate)((0, _utils.arrayOfType)("TypeParameter")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("TypeParameterInstantiation", { |
|||
aliases: ["Flow"], |
|||
visitor: ["params"], |
|||
fields: { |
|||
params: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("UnionTypeAnnotation", { |
|||
visitor: ["types"], |
|||
aliases: ["Flow", "FlowType"], |
|||
fields: { |
|||
types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("Variance", { |
|||
aliases: ["Flow"], |
|||
builder: ["kind"], |
|||
fields: { |
|||
kind: (0, _utils.validate)((0, _utils.assertOneOf)("minus", "plus")) |
|||
} |
|||
}); |
|||
(0, _utils.default)("VoidTypeAnnotation", { |
|||
aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] |
|||
}); |
|||
(0, _utils.default)("EnumDeclaration", { |
|||
aliases: ["Statement", "Declaration"], |
|||
visitor: ["id", "body"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
body: (0, _utils.validateType)(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"]) |
|||
} |
|||
}); |
|||
(0, _utils.default)("EnumBooleanBody", { |
|||
aliases: ["EnumBody"], |
|||
visitor: ["members"], |
|||
fields: { |
|||
explicit: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), |
|||
members: (0, _utils.validateArrayOfType)("EnumBooleanMember") |
|||
} |
|||
}); |
|||
(0, _utils.default)("EnumNumberBody", { |
|||
aliases: ["EnumBody"], |
|||
visitor: ["members"], |
|||
fields: { |
|||
explicit: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), |
|||
members: (0, _utils.validateArrayOfType)("EnumNumberMember") |
|||
} |
|||
}); |
|||
(0, _utils.default)("EnumStringBody", { |
|||
aliases: ["EnumBody"], |
|||
visitor: ["members"], |
|||
fields: { |
|||
explicit: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), |
|||
members: (0, _utils.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"]) |
|||
} |
|||
}); |
|||
(0, _utils.default)("EnumSymbolBody", { |
|||
aliases: ["EnumBody"], |
|||
visitor: ["members"], |
|||
fields: { |
|||
members: (0, _utils.validateArrayOfType)("EnumDefaultedMember") |
|||
} |
|||
}); |
|||
(0, _utils.default)("EnumBooleanMember", { |
|||
aliases: ["EnumMember"], |
|||
visitor: ["id"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
init: (0, _utils.validateType)("BooleanLiteral") |
|||
} |
|||
}); |
|||
(0, _utils.default)("EnumNumberMember", { |
|||
aliases: ["EnumMember"], |
|||
visitor: ["id", "init"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
init: (0, _utils.validateType)("NumericLiteral") |
|||
} |
|||
}); |
|||
(0, _utils.default)("EnumStringMember", { |
|||
aliases: ["EnumMember"], |
|||
visitor: ["id", "init"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
init: (0, _utils.validateType)("StringLiteral") |
|||
} |
|||
}); |
|||
(0, _utils.default)("EnumDefaultedMember", { |
|||
aliases: ["EnumMember"], |
|||
visitor: ["id"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier") |
|||
} |
|||
}); |
|||
@ -1,99 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
Object.defineProperty(exports, "VISITOR_KEYS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _utils.VISITOR_KEYS; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "ALIAS_KEYS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _utils.ALIAS_KEYS; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "FLIPPED_ALIAS_KEYS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _utils.FLIPPED_ALIAS_KEYS; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "NODE_FIELDS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _utils.NODE_FIELDS; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "BUILDER_KEYS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _utils.BUILDER_KEYS; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "DEPRECATED_KEYS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _utils.DEPRECATED_KEYS; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "NODE_PARENT_VALIDATIONS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _utils.NODE_PARENT_VALIDATIONS; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "PLACEHOLDERS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _placeholders.PLACEHOLDERS; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "PLACEHOLDERS_ALIAS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _placeholders.PLACEHOLDERS_ALIAS; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "PLACEHOLDERS_FLIPPED_ALIAS", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _placeholders.PLACEHOLDERS_FLIPPED_ALIAS; |
|||
} |
|||
}); |
|||
exports.TYPES = void 0; |
|||
|
|||
var _toFastProperties = _interopRequireDefault(require("to-fast-properties")); |
|||
|
|||
require("./core"); |
|||
|
|||
require("./es2015"); |
|||
|
|||
require("./flow"); |
|||
|
|||
require("./jsx"); |
|||
|
|||
require("./misc"); |
|||
|
|||
require("./experimental"); |
|||
|
|||
require("./typescript"); |
|||
|
|||
var _utils = require("./utils"); |
|||
|
|||
var _placeholders = require("./placeholders"); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
(0, _toFastProperties.default)(_utils.VISITOR_KEYS); |
|||
(0, _toFastProperties.default)(_utils.ALIAS_KEYS); |
|||
(0, _toFastProperties.default)(_utils.FLIPPED_ALIAS_KEYS); |
|||
(0, _toFastProperties.default)(_utils.NODE_FIELDS); |
|||
(0, _toFastProperties.default)(_utils.BUILDER_KEYS); |
|||
(0, _toFastProperties.default)(_utils.DEPRECATED_KEYS); |
|||
(0, _toFastProperties.default)(_placeholders.PLACEHOLDERS_ALIAS); |
|||
(0, _toFastProperties.default)(_placeholders.PLACEHOLDERS_FLIPPED_ALIAS); |
|||
const TYPES = Object.keys(_utils.VISITOR_KEYS).concat(Object.keys(_utils.FLIPPED_ALIAS_KEYS)).concat(Object.keys(_utils.DEPRECATED_KEYS)); |
|||
exports.TYPES = TYPES; |
|||
@ -1,161 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
var _utils = _interopRequireWildcard(require("./utils")); |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
(0, _utils.default)("JSXAttribute", { |
|||
visitor: ["name", "value"], |
|||
aliases: ["JSX", "Immutable"], |
|||
fields: { |
|||
name: { |
|||
validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXNamespacedName") |
|||
}, |
|||
value: { |
|||
optional: true, |
|||
validate: (0, _utils.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXClosingElement", { |
|||
visitor: ["name"], |
|||
aliases: ["JSX", "Immutable"], |
|||
fields: { |
|||
name: { |
|||
validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXElement", { |
|||
builder: ["openingElement", "closingElement", "children", "selfClosing"], |
|||
visitor: ["openingElement", "children", "closingElement"], |
|||
aliases: ["JSX", "Immutable", "Expression"], |
|||
fields: { |
|||
openingElement: { |
|||
validate: (0, _utils.assertNodeType)("JSXOpeningElement") |
|||
}, |
|||
closingElement: { |
|||
optional: true, |
|||
validate: (0, _utils.assertNodeType)("JSXClosingElement") |
|||
}, |
|||
children: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXEmptyExpression", { |
|||
aliases: ["JSX"] |
|||
}); |
|||
(0, _utils.default)("JSXExpressionContainer", { |
|||
visitor: ["expression"], |
|||
aliases: ["JSX", "Immutable"], |
|||
fields: { |
|||
expression: { |
|||
validate: (0, _utils.assertNodeType)("Expression", "JSXEmptyExpression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXSpreadChild", { |
|||
visitor: ["expression"], |
|||
aliases: ["JSX", "Immutable"], |
|||
fields: { |
|||
expression: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXIdentifier", { |
|||
builder: ["name"], |
|||
aliases: ["JSX"], |
|||
fields: { |
|||
name: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXMemberExpression", { |
|||
visitor: ["object", "property"], |
|||
aliases: ["JSX"], |
|||
fields: { |
|||
object: { |
|||
validate: (0, _utils.assertNodeType)("JSXMemberExpression", "JSXIdentifier") |
|||
}, |
|||
property: { |
|||
validate: (0, _utils.assertNodeType)("JSXIdentifier") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXNamespacedName", { |
|||
visitor: ["namespace", "name"], |
|||
aliases: ["JSX"], |
|||
fields: { |
|||
namespace: { |
|||
validate: (0, _utils.assertNodeType)("JSXIdentifier") |
|||
}, |
|||
name: { |
|||
validate: (0, _utils.assertNodeType)("JSXIdentifier") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXOpeningElement", { |
|||
builder: ["name", "attributes", "selfClosing"], |
|||
visitor: ["name", "attributes"], |
|||
aliases: ["JSX", "Immutable"], |
|||
fields: { |
|||
name: { |
|||
validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") |
|||
}, |
|||
selfClosing: { |
|||
default: false |
|||
}, |
|||
attributes: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXAttribute", "JSXSpreadAttribute"))) |
|||
}, |
|||
typeParameters: { |
|||
validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), |
|||
optional: true |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXSpreadAttribute", { |
|||
visitor: ["argument"], |
|||
aliases: ["JSX"], |
|||
fields: { |
|||
argument: { |
|||
validate: (0, _utils.assertNodeType)("Expression") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXText", { |
|||
aliases: ["JSX", "Immutable"], |
|||
builder: ["value"], |
|||
fields: { |
|||
value: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXFragment", { |
|||
builder: ["openingFragment", "closingFragment", "children"], |
|||
visitor: ["openingFragment", "children", "closingFragment"], |
|||
aliases: ["JSX", "Immutable", "Expression"], |
|||
fields: { |
|||
openingFragment: { |
|||
validate: (0, _utils.assertNodeType)("JSXOpeningFragment") |
|||
}, |
|||
closingFragment: { |
|||
validate: (0, _utils.assertNodeType)("JSXClosingFragment") |
|||
}, |
|||
children: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("JSXOpeningFragment", { |
|||
aliases: ["JSX", "Immutable"] |
|||
}); |
|||
(0, _utils.default)("JSXClosingFragment", { |
|||
aliases: ["JSX", "Immutable"] |
|||
}); |
|||
@ -1,33 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
var _utils = _interopRequireWildcard(require("./utils")); |
|||
|
|||
var _placeholders = require("./placeholders"); |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
(0, _utils.default)("Noop", { |
|||
visitor: [] |
|||
}); |
|||
(0, _utils.default)("Placeholder", { |
|||
visitor: [], |
|||
builder: ["expectedNode", "name"], |
|||
fields: { |
|||
name: { |
|||
validate: (0, _utils.assertNodeType)("Identifier") |
|||
}, |
|||
expectedNode: { |
|||
validate: (0, _utils.assertOneOf)(..._placeholders.PLACEHOLDERS) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("V8IntrinsicIdentifier", { |
|||
builder: ["name"], |
|||
fields: { |
|||
name: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
} |
|||
} |
|||
}); |
|||
@ -1,33 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0; |
|||
|
|||
var _utils = require("./utils"); |
|||
|
|||
const PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"]; |
|||
exports.PLACEHOLDERS = PLACEHOLDERS; |
|||
const PLACEHOLDERS_ALIAS = { |
|||
Declaration: ["Statement"], |
|||
Pattern: ["PatternLike", "LVal"] |
|||
}; |
|||
exports.PLACEHOLDERS_ALIAS = PLACEHOLDERS_ALIAS; |
|||
|
|||
for (const type of PLACEHOLDERS) { |
|||
const alias = _utils.ALIAS_KEYS[type]; |
|||
if (alias && alias.length) PLACEHOLDERS_ALIAS[type] = alias; |
|||
} |
|||
|
|||
const PLACEHOLDERS_FLIPPED_ALIAS = {}; |
|||
exports.PLACEHOLDERS_FLIPPED_ALIAS = PLACEHOLDERS_FLIPPED_ALIAS; |
|||
Object.keys(PLACEHOLDERS_ALIAS).forEach(type => { |
|||
PLACEHOLDERS_ALIAS[type].forEach(alias => { |
|||
if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) { |
|||
PLACEHOLDERS_FLIPPED_ALIAS[alias] = []; |
|||
} |
|||
|
|||
PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type); |
|||
}); |
|||
}); |
|||
@ -1,417 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
var _utils = _interopRequireWildcard(require("./utils")); |
|||
|
|||
var _core = require("./core"); |
|||
|
|||
var _es = require("./es2015"); |
|||
|
|||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
|||
|
|||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
|||
|
|||
const bool = (0, _utils.assertValueType)("boolean"); |
|||
const tSFunctionTypeAnnotationCommon = { |
|||
returnType: { |
|||
validate: (0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"), |
|||
optional: true |
|||
}, |
|||
typeParameters: { |
|||
validate: (0, _utils.assertNodeType)("TSTypeParameterDeclaration", "Noop"), |
|||
optional: true |
|||
} |
|||
}; |
|||
(0, _utils.default)("TSParameterProperty", { |
|||
aliases: ["LVal"], |
|||
visitor: ["parameter"], |
|||
fields: { |
|||
accessibility: { |
|||
validate: (0, _utils.assertOneOf)("public", "private", "protected"), |
|||
optional: true |
|||
}, |
|||
readonly: { |
|||
validate: (0, _utils.assertValueType)("boolean"), |
|||
optional: true |
|||
}, |
|||
parameter: { |
|||
validate: (0, _utils.assertNodeType)("Identifier", "AssignmentPattern") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSDeclareFunction", { |
|||
aliases: ["Statement", "Declaration"], |
|||
visitor: ["id", "typeParameters", "params", "returnType"], |
|||
fields: Object.assign({}, _core.functionDeclarationCommon, {}, tSFunctionTypeAnnotationCommon) |
|||
}); |
|||
(0, _utils.default)("TSDeclareMethod", { |
|||
visitor: ["decorators", "key", "typeParameters", "params", "returnType"], |
|||
fields: Object.assign({}, _es.classMethodOrDeclareMethodCommon, {}, tSFunctionTypeAnnotationCommon) |
|||
}); |
|||
(0, _utils.default)("TSQualifiedName", { |
|||
aliases: ["TSEntityName"], |
|||
visitor: ["left", "right"], |
|||
fields: { |
|||
left: (0, _utils.validateType)("TSEntityName"), |
|||
right: (0, _utils.validateType)("Identifier") |
|||
} |
|||
}); |
|||
const signatureDeclarationCommon = { |
|||
typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), |
|||
parameters: (0, _utils.validateArrayOfType)(["Identifier", "RestElement"]), |
|||
typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") |
|||
}; |
|||
const callConstructSignatureDeclaration = { |
|||
aliases: ["TSTypeElement"], |
|||
visitor: ["typeParameters", "parameters", "typeAnnotation"], |
|||
fields: signatureDeclarationCommon |
|||
}; |
|||
(0, _utils.default)("TSCallSignatureDeclaration", callConstructSignatureDeclaration); |
|||
(0, _utils.default)("TSConstructSignatureDeclaration", callConstructSignatureDeclaration); |
|||
const namedTypeElementCommon = { |
|||
key: (0, _utils.validateType)("Expression"), |
|||
computed: (0, _utils.validate)(bool), |
|||
optional: (0, _utils.validateOptional)(bool) |
|||
}; |
|||
(0, _utils.default)("TSPropertySignature", { |
|||
aliases: ["TSTypeElement"], |
|||
visitor: ["key", "typeAnnotation", "initializer"], |
|||
fields: Object.assign({}, namedTypeElementCommon, { |
|||
readonly: (0, _utils.validateOptional)(bool), |
|||
typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), |
|||
initializer: (0, _utils.validateOptionalType)("Expression") |
|||
}) |
|||
}); |
|||
(0, _utils.default)("TSMethodSignature", { |
|||
aliases: ["TSTypeElement"], |
|||
visitor: ["key", "typeParameters", "parameters", "typeAnnotation"], |
|||
fields: Object.assign({}, signatureDeclarationCommon, {}, namedTypeElementCommon) |
|||
}); |
|||
(0, _utils.default)("TSIndexSignature", { |
|||
aliases: ["TSTypeElement"], |
|||
visitor: ["parameters", "typeAnnotation"], |
|||
fields: { |
|||
readonly: (0, _utils.validateOptional)(bool), |
|||
parameters: (0, _utils.validateArrayOfType)("Identifier"), |
|||
typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") |
|||
} |
|||
}); |
|||
const tsKeywordTypes = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"]; |
|||
|
|||
for (const type of tsKeywordTypes) { |
|||
(0, _utils.default)(type, { |
|||
aliases: ["TSType"], |
|||
visitor: [], |
|||
fields: {} |
|||
}); |
|||
} |
|||
|
|||
(0, _utils.default)("TSThisType", { |
|||
aliases: ["TSType"], |
|||
visitor: [], |
|||
fields: {} |
|||
}); |
|||
const fnOrCtr = { |
|||
aliases: ["TSType"], |
|||
visitor: ["typeParameters", "parameters", "typeAnnotation"], |
|||
fields: signatureDeclarationCommon |
|||
}; |
|||
(0, _utils.default)("TSFunctionType", fnOrCtr); |
|||
(0, _utils.default)("TSConstructorType", fnOrCtr); |
|||
(0, _utils.default)("TSTypeReference", { |
|||
aliases: ["TSType"], |
|||
visitor: ["typeName", "typeParameters"], |
|||
fields: { |
|||
typeName: (0, _utils.validateType)("TSEntityName"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypePredicate", { |
|||
aliases: ["TSType"], |
|||
visitor: ["parameterName", "typeAnnotation"], |
|||
builder: ["parameterName", "typeAnnotation", "asserts"], |
|||
fields: { |
|||
parameterName: (0, _utils.validateType)(["Identifier", "TSThisType"]), |
|||
typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), |
|||
asserts: (0, _utils.validateOptional)(bool) |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypeQuery", { |
|||
aliases: ["TSType"], |
|||
visitor: ["exprName"], |
|||
fields: { |
|||
exprName: (0, _utils.validateType)(["TSEntityName", "TSImportType"]) |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypeLiteral", { |
|||
aliases: ["TSType"], |
|||
visitor: ["members"], |
|||
fields: { |
|||
members: (0, _utils.validateArrayOfType)("TSTypeElement") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSArrayType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["elementType"], |
|||
fields: { |
|||
elementType: (0, _utils.validateType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTupleType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["elementTypes"], |
|||
fields: { |
|||
elementTypes: (0, _utils.validateArrayOfType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSOptionalType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["typeAnnotation"], |
|||
fields: { |
|||
typeAnnotation: (0, _utils.validateType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSRestType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["typeAnnotation"], |
|||
fields: { |
|||
typeAnnotation: (0, _utils.validateType)("TSType") |
|||
} |
|||
}); |
|||
const unionOrIntersection = { |
|||
aliases: ["TSType"], |
|||
visitor: ["types"], |
|||
fields: { |
|||
types: (0, _utils.validateArrayOfType)("TSType") |
|||
} |
|||
}; |
|||
(0, _utils.default)("TSUnionType", unionOrIntersection); |
|||
(0, _utils.default)("TSIntersectionType", unionOrIntersection); |
|||
(0, _utils.default)("TSConditionalType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["checkType", "extendsType", "trueType", "falseType"], |
|||
fields: { |
|||
checkType: (0, _utils.validateType)("TSType"), |
|||
extendsType: (0, _utils.validateType)("TSType"), |
|||
trueType: (0, _utils.validateType)("TSType"), |
|||
falseType: (0, _utils.validateType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSInferType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["typeParameter"], |
|||
fields: { |
|||
typeParameter: (0, _utils.validateType)("TSTypeParameter") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSParenthesizedType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["typeAnnotation"], |
|||
fields: { |
|||
typeAnnotation: (0, _utils.validateType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypeOperator", { |
|||
aliases: ["TSType"], |
|||
visitor: ["typeAnnotation"], |
|||
fields: { |
|||
operator: (0, _utils.validate)((0, _utils.assertValueType)("string")), |
|||
typeAnnotation: (0, _utils.validateType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSIndexedAccessType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["objectType", "indexType"], |
|||
fields: { |
|||
objectType: (0, _utils.validateType)("TSType"), |
|||
indexType: (0, _utils.validateType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSMappedType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["typeParameter", "typeAnnotation"], |
|||
fields: { |
|||
readonly: (0, _utils.validateOptional)(bool), |
|||
typeParameter: (0, _utils.validateType)("TSTypeParameter"), |
|||
optional: (0, _utils.validateOptional)(bool), |
|||
typeAnnotation: (0, _utils.validateOptionalType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSLiteralType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["literal"], |
|||
fields: { |
|||
literal: (0, _utils.validateType)(["NumericLiteral", "StringLiteral", "BooleanLiteral"]) |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSExpressionWithTypeArguments", { |
|||
aliases: ["TSType"], |
|||
visitor: ["expression", "typeParameters"], |
|||
fields: { |
|||
expression: (0, _utils.validateType)("TSEntityName"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSInterfaceDeclaration", { |
|||
aliases: ["Statement", "Declaration"], |
|||
visitor: ["id", "typeParameters", "extends", "body"], |
|||
fields: { |
|||
declare: (0, _utils.validateOptional)(bool), |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), |
|||
extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("TSExpressionWithTypeArguments")), |
|||
body: (0, _utils.validateType)("TSInterfaceBody") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSInterfaceBody", { |
|||
visitor: ["body"], |
|||
fields: { |
|||
body: (0, _utils.validateArrayOfType)("TSTypeElement") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypeAliasDeclaration", { |
|||
aliases: ["Statement", "Declaration"], |
|||
visitor: ["id", "typeParameters", "typeAnnotation"], |
|||
fields: { |
|||
declare: (0, _utils.validateOptional)(bool), |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), |
|||
typeAnnotation: (0, _utils.validateType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSAsExpression", { |
|||
aliases: ["Expression"], |
|||
visitor: ["expression", "typeAnnotation"], |
|||
fields: { |
|||
expression: (0, _utils.validateType)("Expression"), |
|||
typeAnnotation: (0, _utils.validateType)("TSType") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypeAssertion", { |
|||
aliases: ["Expression"], |
|||
visitor: ["typeAnnotation", "expression"], |
|||
fields: { |
|||
typeAnnotation: (0, _utils.validateType)("TSType"), |
|||
expression: (0, _utils.validateType)("Expression") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSEnumDeclaration", { |
|||
aliases: ["Statement", "Declaration"], |
|||
visitor: ["id", "members"], |
|||
fields: { |
|||
declare: (0, _utils.validateOptional)(bool), |
|||
const: (0, _utils.validateOptional)(bool), |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
members: (0, _utils.validateArrayOfType)("TSEnumMember"), |
|||
initializer: (0, _utils.validateOptionalType)("Expression") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSEnumMember", { |
|||
visitor: ["id", "initializer"], |
|||
fields: { |
|||
id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), |
|||
initializer: (0, _utils.validateOptionalType)("Expression") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSModuleDeclaration", { |
|||
aliases: ["Statement", "Declaration"], |
|||
visitor: ["id", "body"], |
|||
fields: { |
|||
declare: (0, _utils.validateOptional)(bool), |
|||
global: (0, _utils.validateOptional)(bool), |
|||
id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), |
|||
body: (0, _utils.validateType)(["TSModuleBlock", "TSModuleDeclaration"]) |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSModuleBlock", { |
|||
aliases: ["Scopable", "Block", "BlockParent"], |
|||
visitor: ["body"], |
|||
fields: { |
|||
body: (0, _utils.validateArrayOfType)("Statement") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSImportType", { |
|||
aliases: ["TSType"], |
|||
visitor: ["argument", "qualifier", "typeParameters"], |
|||
fields: { |
|||
argument: (0, _utils.validateType)("StringLiteral"), |
|||
qualifier: (0, _utils.validateOptionalType)("TSEntityName"), |
|||
typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSImportEqualsDeclaration", { |
|||
aliases: ["Statement"], |
|||
visitor: ["id", "moduleReference"], |
|||
fields: { |
|||
isExport: (0, _utils.validate)(bool), |
|||
id: (0, _utils.validateType)("Identifier"), |
|||
moduleReference: (0, _utils.validateType)(["TSEntityName", "TSExternalModuleReference"]) |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSExternalModuleReference", { |
|||
visitor: ["expression"], |
|||
fields: { |
|||
expression: (0, _utils.validateType)("StringLiteral") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSNonNullExpression", { |
|||
aliases: ["Expression"], |
|||
visitor: ["expression"], |
|||
fields: { |
|||
expression: (0, _utils.validateType)("Expression") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSExportAssignment", { |
|||
aliases: ["Statement"], |
|||
visitor: ["expression"], |
|||
fields: { |
|||
expression: (0, _utils.validateType)("Expression") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSNamespaceExportDeclaration", { |
|||
aliases: ["Statement"], |
|||
visitor: ["id"], |
|||
fields: { |
|||
id: (0, _utils.validateType)("Identifier") |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypeAnnotation", { |
|||
visitor: ["typeAnnotation"], |
|||
fields: { |
|||
typeAnnotation: { |
|||
validate: (0, _utils.assertNodeType)("TSType") |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypeParameterInstantiation", { |
|||
visitor: ["params"], |
|||
fields: { |
|||
params: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSType"))) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypeParameterDeclaration", { |
|||
visitor: ["params"], |
|||
fields: { |
|||
params: { |
|||
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSTypeParameter"))) |
|||
} |
|||
} |
|||
}); |
|||
(0, _utils.default)("TSTypeParameter", { |
|||
builder: ["constraint", "default", "name"], |
|||
visitor: ["constraint", "default"], |
|||
fields: { |
|||
name: { |
|||
validate: (0, _utils.assertValueType)("string") |
|||
}, |
|||
constraint: { |
|||
validate: (0, _utils.assertNodeType)("TSType"), |
|||
optional: true |
|||
}, |
|||
default: { |
|||
validate: (0, _utils.assertNodeType)("TSType"), |
|||
optional: true |
|||
} |
|||
} |
|||
}); |
|||
@ -1,315 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.validate = validate; |
|||
exports.typeIs = typeIs; |
|||
exports.validateType = validateType; |
|||
exports.validateOptional = validateOptional; |
|||
exports.validateOptionalType = validateOptionalType; |
|||
exports.arrayOf = arrayOf; |
|||
exports.arrayOfType = arrayOfType; |
|||
exports.validateArrayOfType = validateArrayOfType; |
|||
exports.assertEach = assertEach; |
|||
exports.assertOneOf = assertOneOf; |
|||
exports.assertNodeType = assertNodeType; |
|||
exports.assertNodeOrValueType = assertNodeOrValueType; |
|||
exports.assertValueType = assertValueType; |
|||
exports.assertShape = assertShape; |
|||
exports.assertOptionalChainStart = assertOptionalChainStart; |
|||
exports.chain = chain; |
|||
exports.default = defineType; |
|||
exports.NODE_PARENT_VALIDATIONS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = void 0; |
|||
|
|||
var _is = _interopRequireDefault(require("../validators/is")); |
|||
|
|||
var _validate = require("../validators/validate"); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
const VISITOR_KEYS = {}; |
|||
exports.VISITOR_KEYS = VISITOR_KEYS; |
|||
const ALIAS_KEYS = {}; |
|||
exports.ALIAS_KEYS = ALIAS_KEYS; |
|||
const FLIPPED_ALIAS_KEYS = {}; |
|||
exports.FLIPPED_ALIAS_KEYS = FLIPPED_ALIAS_KEYS; |
|||
const NODE_FIELDS = {}; |
|||
exports.NODE_FIELDS = NODE_FIELDS; |
|||
const BUILDER_KEYS = {}; |
|||
exports.BUILDER_KEYS = BUILDER_KEYS; |
|||
const DEPRECATED_KEYS = {}; |
|||
exports.DEPRECATED_KEYS = DEPRECATED_KEYS; |
|||
const NODE_PARENT_VALIDATIONS = {}; |
|||
exports.NODE_PARENT_VALIDATIONS = NODE_PARENT_VALIDATIONS; |
|||
|
|||
function getType(val) { |
|||
if (Array.isArray(val)) { |
|||
return "array"; |
|||
} else if (val === null) { |
|||
return "null"; |
|||
} else { |
|||
return typeof val; |
|||
} |
|||
} |
|||
|
|||
function validate(validate) { |
|||
return { |
|||
validate |
|||
}; |
|||
} |
|||
|
|||
function typeIs(typeName) { |
|||
return typeof typeName === "string" ? assertNodeType(typeName) : assertNodeType(...typeName); |
|||
} |
|||
|
|||
function validateType(typeName) { |
|||
return validate(typeIs(typeName)); |
|||
} |
|||
|
|||
function validateOptional(validate) { |
|||
return { |
|||
validate, |
|||
optional: true |
|||
}; |
|||
} |
|||
|
|||
function validateOptionalType(typeName) { |
|||
return { |
|||
validate: typeIs(typeName), |
|||
optional: true |
|||
}; |
|||
} |
|||
|
|||
function arrayOf(elementType) { |
|||
return chain(assertValueType("array"), assertEach(elementType)); |
|||
} |
|||
|
|||
function arrayOfType(typeName) { |
|||
return arrayOf(typeIs(typeName)); |
|||
} |
|||
|
|||
function validateArrayOfType(typeName) { |
|||
return validate(arrayOfType(typeName)); |
|||
} |
|||
|
|||
function assertEach(callback) { |
|||
function validator(node, key, val) { |
|||
if (!Array.isArray(val)) return; |
|||
|
|||
for (let i = 0; i < val.length; i++) { |
|||
const subkey = `${key}[${i}]`; |
|||
const v = val[i]; |
|||
callback(node, subkey, v); |
|||
if (process.env.BABEL_TYPES_8_BREAKING) (0, _validate.validateChild)(node, subkey, v); |
|||
} |
|||
} |
|||
|
|||
validator.each = callback; |
|||
return validator; |
|||
} |
|||
|
|||
function assertOneOf(...values) { |
|||
function validate(node, key, val) { |
|||
if (values.indexOf(val) < 0) { |
|||
throw new TypeError(`Property ${key} expected value to be one of ${JSON.stringify(values)} but got ${JSON.stringify(val)}`); |
|||
} |
|||
} |
|||
|
|||
validate.oneOf = values; |
|||
return validate; |
|||
} |
|||
|
|||
function assertNodeType(...types) { |
|||
function validate(node, key, val) { |
|||
for (const type of types) { |
|||
if ((0, _is.default)(type, val)) { |
|||
(0, _validate.validateChild)(node, key, val); |
|||
return; |
|||
} |
|||
} |
|||
|
|||
throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val && val.type)}`); |
|||
} |
|||
|
|||
validate.oneOfNodeTypes = types; |
|||
return validate; |
|||
} |
|||
|
|||
function assertNodeOrValueType(...types) { |
|||
function validate(node, key, val) { |
|||
for (const type of types) { |
|||
if (getType(val) === type || (0, _is.default)(type, val)) { |
|||
(0, _validate.validateChild)(node, key, val); |
|||
return; |
|||
} |
|||
} |
|||
|
|||
throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val && val.type)}`); |
|||
} |
|||
|
|||
validate.oneOfNodeOrValueTypes = types; |
|||
return validate; |
|||
} |
|||
|
|||
function assertValueType(type) { |
|||
function validate(node, key, val) { |
|||
const valid = getType(val) === type; |
|||
|
|||
if (!valid) { |
|||
throw new TypeError(`Property ${key} expected type of ${type} but got ${getType(val)}`); |
|||
} |
|||
} |
|||
|
|||
validate.type = type; |
|||
return validate; |
|||
} |
|||
|
|||
function assertShape(shape) { |
|||
function validate(node, key, val) { |
|||
const errors = []; |
|||
|
|||
for (const property of Object.keys(shape)) { |
|||
try { |
|||
(0, _validate.validateField)(node, property, val[property], shape[property]); |
|||
} catch (error) { |
|||
if (error instanceof TypeError) { |
|||
errors.push(error.message); |
|||
continue; |
|||
} |
|||
|
|||
throw error; |
|||
} |
|||
} |
|||
|
|||
if (errors.length) { |
|||
throw new TypeError(`Property ${key} of ${node.type} expected to have the following:\n${errors.join("\n")}`); |
|||
} |
|||
} |
|||
|
|||
validate.shapeOf = shape; |
|||
return validate; |
|||
} |
|||
|
|||
function assertOptionalChainStart() { |
|||
function validate(node) { |
|||
var _current; |
|||
|
|||
let current = node; |
|||
|
|||
while (node) { |
|||
const { |
|||
type |
|||
} = current; |
|||
|
|||
if (type === "OptionalCallExpression") { |
|||
if (current.optional) return; |
|||
current = current.callee; |
|||
continue; |
|||
} |
|||
|
|||
if (type === "OptionalMemberExpression") { |
|||
if (current.optional) return; |
|||
current = current.object; |
|||
continue; |
|||
} |
|||
|
|||
break; |
|||
} |
|||
|
|||
throw new TypeError(`Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${(_current = current) == null ? void 0 : _current.type}`); |
|||
} |
|||
|
|||
return validate; |
|||
} |
|||
|
|||
function chain(...fns) { |
|||
function validate(...args) { |
|||
for (const fn of fns) { |
|||
fn(...args); |
|||
} |
|||
} |
|||
|
|||
validate.chainOf = fns; |
|||
return validate; |
|||
} |
|||
|
|||
const validTypeOpts = ["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"]; |
|||
const validFieldKeys = ["default", "optional", "validate"]; |
|||
|
|||
function defineType(type, opts = {}) { |
|||
const inherits = opts.inherits && store[opts.inherits] || {}; |
|||
let fields = opts.fields; |
|||
|
|||
if (!fields) { |
|||
fields = {}; |
|||
|
|||
if (inherits.fields) { |
|||
const keys = Object.getOwnPropertyNames(inherits.fields); |
|||
|
|||
for (const key of keys) { |
|||
const field = inherits.fields[key]; |
|||
fields[key] = { |
|||
default: field.default, |
|||
optional: field.optional, |
|||
validate: field.validate |
|||
}; |
|||
} |
|||
} |
|||
} |
|||
|
|||
const visitor = opts.visitor || inherits.visitor || []; |
|||
const aliases = opts.aliases || inherits.aliases || []; |
|||
const builder = opts.builder || inherits.builder || opts.visitor || []; |
|||
|
|||
for (const k of Object.keys(opts)) { |
|||
if (validTypeOpts.indexOf(k) === -1) { |
|||
throw new Error(`Unknown type option "${k}" on ${type}`); |
|||
} |
|||
} |
|||
|
|||
if (opts.deprecatedAlias) { |
|||
DEPRECATED_KEYS[opts.deprecatedAlias] = type; |
|||
} |
|||
|
|||
for (const key of visitor.concat(builder)) { |
|||
fields[key] = fields[key] || {}; |
|||
} |
|||
|
|||
for (const key of Object.keys(fields)) { |
|||
const field = fields[key]; |
|||
|
|||
if (field.default !== undefined && builder.indexOf(key) === -1) { |
|||
field.optional = true; |
|||
} |
|||
|
|||
if (field.default === undefined) { |
|||
field.default = null; |
|||
} else if (!field.validate && field.default != null) { |
|||
field.validate = assertValueType(getType(field.default)); |
|||
} |
|||
|
|||
for (const k of Object.keys(field)) { |
|||
if (validFieldKeys.indexOf(k) === -1) { |
|||
throw new Error(`Unknown field key "${k}" on ${type}.${key}`); |
|||
} |
|||
} |
|||
} |
|||
|
|||
VISITOR_KEYS[type] = opts.visitor = visitor; |
|||
BUILDER_KEYS[type] = opts.builder = builder; |
|||
NODE_FIELDS[type] = opts.fields = fields; |
|||
ALIAS_KEYS[type] = opts.aliases = aliases; |
|||
aliases.forEach(alias => { |
|||
FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || []; |
|||
FLIPPED_ALIAS_KEYS[alias].push(type); |
|||
}); |
|||
|
|||
if (opts.validate) { |
|||
NODE_PARENT_VALIDATIONS[type] = opts.validate; |
|||
} |
|||
|
|||
store[type] = opts; |
|||
} |
|||
|
|||
const store = {}; |
|||
File diff suppressed because one or more lines are too long
@ -1,588 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
var _exportNames = { |
|||
react: true, |
|||
assertNode: true, |
|||
createTypeAnnotationBasedOnTypeof: true, |
|||
createUnionTypeAnnotation: true, |
|||
cloneNode: true, |
|||
clone: true, |
|||
cloneDeep: true, |
|||
cloneDeepWithoutLoc: true, |
|||
cloneWithoutLoc: true, |
|||
addComment: true, |
|||
addComments: true, |
|||
inheritInnerComments: true, |
|||
inheritLeadingComments: true, |
|||
inheritsComments: true, |
|||
inheritTrailingComments: true, |
|||
removeComments: true, |
|||
ensureBlock: true, |
|||
toBindingIdentifierName: true, |
|||
toBlock: true, |
|||
toComputedKey: true, |
|||
toExpression: true, |
|||
toIdentifier: true, |
|||
toKeyAlias: true, |
|||
toSequenceExpression: true, |
|||
toStatement: true, |
|||
valueToNode: true, |
|||
appendToMemberExpression: true, |
|||
inherits: true, |
|||
prependToMemberExpression: true, |
|||
removeProperties: true, |
|||
removePropertiesDeep: true, |
|||
removeTypeDuplicates: true, |
|||
getBindingIdentifiers: true, |
|||
getOuterBindingIdentifiers: true, |
|||
traverse: true, |
|||
traverseFast: true, |
|||
shallowEqual: true, |
|||
is: true, |
|||
isBinding: true, |
|||
isBlockScoped: true, |
|||
isImmutable: true, |
|||
isLet: true, |
|||
isNode: true, |
|||
isNodesEquivalent: true, |
|||
isPlaceholderType: true, |
|||
isReferenced: true, |
|||
isScope: true, |
|||
isSpecifierDefault: true, |
|||
isType: true, |
|||
isValidES3Identifier: true, |
|||
isValidIdentifier: true, |
|||
isVar: true, |
|||
matchesPattern: true, |
|||
validate: true, |
|||
buildMatchMemberExpression: true |
|||
}; |
|||
Object.defineProperty(exports, "assertNode", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _assertNode.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "createTypeAnnotationBasedOnTypeof", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _createTypeAnnotationBasedOnTypeof.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "createUnionTypeAnnotation", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _createUnionTypeAnnotation.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "cloneNode", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _cloneNode.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "clone", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _clone.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "cloneDeep", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _cloneDeep.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "cloneDeepWithoutLoc", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _cloneDeepWithoutLoc.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "cloneWithoutLoc", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _cloneWithoutLoc.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "addComment", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _addComment.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "addComments", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _addComments.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "inheritInnerComments", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _inheritInnerComments.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "inheritLeadingComments", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _inheritLeadingComments.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "inheritsComments", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _inheritsComments.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "inheritTrailingComments", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _inheritTrailingComments.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "removeComments", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _removeComments.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "ensureBlock", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _ensureBlock.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "toBindingIdentifierName", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _toBindingIdentifierName.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "toBlock", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _toBlock.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "toComputedKey", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _toComputedKey.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "toExpression", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _toExpression.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "toIdentifier", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _toIdentifier.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "toKeyAlias", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _toKeyAlias.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "toSequenceExpression", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _toSequenceExpression.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "toStatement", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _toStatement.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "valueToNode", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _valueToNode.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "appendToMemberExpression", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _appendToMemberExpression.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "inherits", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _inherits.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "prependToMemberExpression", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _prependToMemberExpression.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "removeProperties", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _removeProperties.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "removePropertiesDeep", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _removePropertiesDeep.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "removeTypeDuplicates", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _removeTypeDuplicates.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "getBindingIdentifiers", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _getBindingIdentifiers.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "getOuterBindingIdentifiers", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _getOuterBindingIdentifiers.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "traverse", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _traverse.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "traverseFast", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _traverseFast.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "shallowEqual", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _shallowEqual.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "is", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _is.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isBinding", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isBinding.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isBlockScoped", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isBlockScoped.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isImmutable", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isImmutable.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isLet", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isLet.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isNode", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isNode.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isNodesEquivalent", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isNodesEquivalent.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isPlaceholderType", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isPlaceholderType.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isReferenced", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isReferenced.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isScope", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isScope.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isSpecifierDefault", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isSpecifierDefault.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isType", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isType.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isValidES3Identifier", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isValidES3Identifier.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isValidIdentifier", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isValidIdentifier.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "isVar", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _isVar.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "matchesPattern", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _matchesPattern.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "validate", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _validate.default; |
|||
} |
|||
}); |
|||
Object.defineProperty(exports, "buildMatchMemberExpression", { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _buildMatchMemberExpression.default; |
|||
} |
|||
}); |
|||
exports.react = void 0; |
|||
|
|||
var _isReactComponent = _interopRequireDefault(require("./validators/react/isReactComponent")); |
|||
|
|||
var _isCompatTag = _interopRequireDefault(require("./validators/react/isCompatTag")); |
|||
|
|||
var _buildChildren = _interopRequireDefault(require("./builders/react/buildChildren")); |
|||
|
|||
var _assertNode = _interopRequireDefault(require("./asserts/assertNode")); |
|||
|
|||
var _generated = require("./asserts/generated"); |
|||
|
|||
Object.keys(_generated).forEach(function (key) { |
|||
if (key === "default" || key === "__esModule") return; |
|||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; |
|||
Object.defineProperty(exports, key, { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _generated[key]; |
|||
} |
|||
}); |
|||
}); |
|||
|
|||
var _createTypeAnnotationBasedOnTypeof = _interopRequireDefault(require("./builders/flow/createTypeAnnotationBasedOnTypeof")); |
|||
|
|||
var _createUnionTypeAnnotation = _interopRequireDefault(require("./builders/flow/createUnionTypeAnnotation")); |
|||
|
|||
var _generated2 = require("./builders/generated"); |
|||
|
|||
Object.keys(_generated2).forEach(function (key) { |
|||
if (key === "default" || key === "__esModule") return; |
|||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; |
|||
Object.defineProperty(exports, key, { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _generated2[key]; |
|||
} |
|||
}); |
|||
}); |
|||
|
|||
var _cloneNode = _interopRequireDefault(require("./clone/cloneNode")); |
|||
|
|||
var _clone = _interopRequireDefault(require("./clone/clone")); |
|||
|
|||
var _cloneDeep = _interopRequireDefault(require("./clone/cloneDeep")); |
|||
|
|||
var _cloneDeepWithoutLoc = _interopRequireDefault(require("./clone/cloneDeepWithoutLoc")); |
|||
|
|||
var _cloneWithoutLoc = _interopRequireDefault(require("./clone/cloneWithoutLoc")); |
|||
|
|||
var _addComment = _interopRequireDefault(require("./comments/addComment")); |
|||
|
|||
var _addComments = _interopRequireDefault(require("./comments/addComments")); |
|||
|
|||
var _inheritInnerComments = _interopRequireDefault(require("./comments/inheritInnerComments")); |
|||
|
|||
var _inheritLeadingComments = _interopRequireDefault(require("./comments/inheritLeadingComments")); |
|||
|
|||
var _inheritsComments = _interopRequireDefault(require("./comments/inheritsComments")); |
|||
|
|||
var _inheritTrailingComments = _interopRequireDefault(require("./comments/inheritTrailingComments")); |
|||
|
|||
var _removeComments = _interopRequireDefault(require("./comments/removeComments")); |
|||
|
|||
var _generated3 = require("./constants/generated"); |
|||
|
|||
Object.keys(_generated3).forEach(function (key) { |
|||
if (key === "default" || key === "__esModule") return; |
|||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; |
|||
Object.defineProperty(exports, key, { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _generated3[key]; |
|||
} |
|||
}); |
|||
}); |
|||
|
|||
var _constants = require("./constants"); |
|||
|
|||
Object.keys(_constants).forEach(function (key) { |
|||
if (key === "default" || key === "__esModule") return; |
|||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; |
|||
Object.defineProperty(exports, key, { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _constants[key]; |
|||
} |
|||
}); |
|||
}); |
|||
|
|||
var _ensureBlock = _interopRequireDefault(require("./converters/ensureBlock")); |
|||
|
|||
var _toBindingIdentifierName = _interopRequireDefault(require("./converters/toBindingIdentifierName")); |
|||
|
|||
var _toBlock = _interopRequireDefault(require("./converters/toBlock")); |
|||
|
|||
var _toComputedKey = _interopRequireDefault(require("./converters/toComputedKey")); |
|||
|
|||
var _toExpression = _interopRequireDefault(require("./converters/toExpression")); |
|||
|
|||
var _toIdentifier = _interopRequireDefault(require("./converters/toIdentifier")); |
|||
|
|||
var _toKeyAlias = _interopRequireDefault(require("./converters/toKeyAlias")); |
|||
|
|||
var _toSequenceExpression = _interopRequireDefault(require("./converters/toSequenceExpression")); |
|||
|
|||
var _toStatement = _interopRequireDefault(require("./converters/toStatement")); |
|||
|
|||
var _valueToNode = _interopRequireDefault(require("./converters/valueToNode")); |
|||
|
|||
var _definitions = require("./definitions"); |
|||
|
|||
Object.keys(_definitions).forEach(function (key) { |
|||
if (key === "default" || key === "__esModule") return; |
|||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; |
|||
Object.defineProperty(exports, key, { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _definitions[key]; |
|||
} |
|||
}); |
|||
}); |
|||
|
|||
var _appendToMemberExpression = _interopRequireDefault(require("./modifications/appendToMemberExpression")); |
|||
|
|||
var _inherits = _interopRequireDefault(require("./modifications/inherits")); |
|||
|
|||
var _prependToMemberExpression = _interopRequireDefault(require("./modifications/prependToMemberExpression")); |
|||
|
|||
var _removeProperties = _interopRequireDefault(require("./modifications/removeProperties")); |
|||
|
|||
var _removePropertiesDeep = _interopRequireDefault(require("./modifications/removePropertiesDeep")); |
|||
|
|||
var _removeTypeDuplicates = _interopRequireDefault(require("./modifications/flow/removeTypeDuplicates")); |
|||
|
|||
var _getBindingIdentifiers = _interopRequireDefault(require("./retrievers/getBindingIdentifiers")); |
|||
|
|||
var _getOuterBindingIdentifiers = _interopRequireDefault(require("./retrievers/getOuterBindingIdentifiers")); |
|||
|
|||
var _traverse = _interopRequireDefault(require("./traverse/traverse")); |
|||
|
|||
var _traverseFast = _interopRequireDefault(require("./traverse/traverseFast")); |
|||
|
|||
var _shallowEqual = _interopRequireDefault(require("./utils/shallowEqual")); |
|||
|
|||
var _is = _interopRequireDefault(require("./validators/is")); |
|||
|
|||
var _isBinding = _interopRequireDefault(require("./validators/isBinding")); |
|||
|
|||
var _isBlockScoped = _interopRequireDefault(require("./validators/isBlockScoped")); |
|||
|
|||
var _isImmutable = _interopRequireDefault(require("./validators/isImmutable")); |
|||
|
|||
var _isLet = _interopRequireDefault(require("./validators/isLet")); |
|||
|
|||
var _isNode = _interopRequireDefault(require("./validators/isNode")); |
|||
|
|||
var _isNodesEquivalent = _interopRequireDefault(require("./validators/isNodesEquivalent")); |
|||
|
|||
var _isPlaceholderType = _interopRequireDefault(require("./validators/isPlaceholderType")); |
|||
|
|||
var _isReferenced = _interopRequireDefault(require("./validators/isReferenced")); |
|||
|
|||
var _isScope = _interopRequireDefault(require("./validators/isScope")); |
|||
|
|||
var _isSpecifierDefault = _interopRequireDefault(require("./validators/isSpecifierDefault")); |
|||
|
|||
var _isType = _interopRequireDefault(require("./validators/isType")); |
|||
|
|||
var _isValidES3Identifier = _interopRequireDefault(require("./validators/isValidES3Identifier")); |
|||
|
|||
var _isValidIdentifier = _interopRequireDefault(require("./validators/isValidIdentifier")); |
|||
|
|||
var _isVar = _interopRequireDefault(require("./validators/isVar")); |
|||
|
|||
var _matchesPattern = _interopRequireDefault(require("./validators/matchesPattern")); |
|||
|
|||
var _validate = _interopRequireDefault(require("./validators/validate")); |
|||
|
|||
var _buildMatchMemberExpression = _interopRequireDefault(require("./validators/buildMatchMemberExpression")); |
|||
|
|||
var _generated4 = require("./validators/generated"); |
|||
|
|||
Object.keys(_generated4).forEach(function (key) { |
|||
if (key === "default" || key === "__esModule") return; |
|||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; |
|||
Object.defineProperty(exports, key, { |
|||
enumerable: true, |
|||
get: function () { |
|||
return _generated4[key]; |
|||
} |
|||
}); |
|||
}); |
|||
|
|||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|||
|
|||
const react = { |
|||
isReactComponent: _isReactComponent.default, |
|||
isCompatTag: _isCompatTag.default, |
|||
buildChildren: _buildChildren.default |
|||
}; |
|||
exports.react = react; |
|||
File diff suppressed because it is too large
@ -1,15 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = appendToMemberExpression; |
|||
|
|||
var _generated = require("../builders/generated"); |
|||
|
|||
function appendToMemberExpression(member, append, computed = false) { |
|||
member.object = (0, _generated.memberExpression)(member.object, member.property, member.computed); |
|||
member.property = append; |
|||
member.computed = !!computed; |
|||
return member; |
|||
} |
|||
@ -1,74 +0,0 @@ |
|||
"use strict"; |
|||
|
|||
Object.defineProperty(exports, "__esModule", { |
|||
value: true |
|||
}); |
|||
exports.default = removeTypeDuplicates; |
|||
|
|||
var _generated = require("../../validators/generated"); |
|||
|
|||
function removeTypeDuplicates(nodes) { |
|||
const generics = {}; |
|||
const bases = {}; |
|||
const typeGroups = []; |
|||
const types = []; |
|||
|
|||
for (let i = 0; i < nodes.length; i++) { |
|||
const node = nodes[i]; |
|||
if (!node) continue; |
|||
|
|||
if (types.indexOf(node) >= 0) { |
|||
continue; |
|||
} |
|||
|
|||
if ((0, _generated.isAnyTypeAnnotation)(node)) { |
|||
return [node]; |
|||
} |
|||
|
|||
if ((0, _generated.isFlowBaseAnnotation)(node)) { |
|||
bases[node.type] = node; |
|||
continue; |
|||
} |
|||
|
|||
if ((0, _generated.isUnionTypeAnnotation)(node)) { |
|||
if (typeGroups.indexOf(node.types) < 0) { |
|||
nodes = nodes.concat(node.types); |
|||
typeGroups.push(node.types); |
|||
} |
|||
|
|||
continue; |
|||
} |
|||
|
|||
if ((0, _generated.isGenericTypeAnnotation)(node)) { |
|||
const name = node.id.name; |
|||
|
|||
if (generics[name]) { |
|||
let existing = generics[name]; |
|||
|
|||
if (existing.typeParameters) { |
|||
if (node.typeParameters) { |
|||
existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node.typeParameters.params)); |
|||
} |
|||
} else { |
|||
existing = node.typeParameters; |
|||
} |
|||
} else { |
|||
generics[name] = node; |
|||
} |
|||
|
|||
continue; |
|||
} |
|||
|
|||
types.push(node); |
|||
} |
|||
|
|||
for (const type of Object.keys(bases)) { |
|||
types.push(bases[type]); |
|||
} |
|||
|
|||
for (const name of Object.keys(generics)) { |
|||
types.push(generics[name]); |
|||
} |
|||
|
|||
return types; |
|||
} |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue