@griddo/core 1.75.72 → 1.75.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"autotypes.js","sources":["../node_modules/path-exists/index.js","../node_modules/p-try/index.js","../node_modules/p-locate/node_modules/p-limit/index.js","../node_modules/p-locate/index.js","../node_modules/locate-path/index.js","../node_modules/find-up/index.js","../node_modules/pkg-dir/index.js","../../../node_modules/tslib/tslib.es6.js","../src/functions/autotypes/ASCII.ts","../../../node_modules/camelcase/index.js","../src/functions/autotypes/utils.ts","../src/functions/autotypes/type-transforms.ts","../src/functions/autotypes/index.es.ts","../src/functions/autotypes/common.ts"],"sourcesContent":["'use strict';\nconst fs = require('fs');\n\nmodule.exports = fp => new Promise(resolve => {\n\tfs.access(fp, err => {\n\t\tresolve(!err);\n\t});\n});\n\nmodule.exports.sync = fp => {\n\ttry {\n\t\tfs.accessSync(fp);\n\t\treturn true;\n\t} catch (err) {\n\t\treturn false;\n\t}\n};\n","'use strict';\nmodule.exports = cb => new Promise(resolve => {\n\tresolve(cb());\n});\n","'use strict';\nconst pTry = require('p-try');\n\nmodule.exports = concurrency => {\n\tif (concurrency < 1) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = [];\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.length > 0) {\n\t\t\tqueue.shift()();\n\t\t}\n\t};\n\n\treturn fn => new Promise((resolve, reject) => {\n\t\tconst run = () => {\n\t\t\tactiveCount++;\n\n\t\t\tpTry(fn).then(\n\t\t\t\tval => {\n\t\t\t\t\tresolve(val);\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\terr => {\n\t\t\t\t\treject(err);\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tif (activeCount < concurrency) {\n\t\t\trun();\n\t\t} else {\n\t\t\tqueue.push(run);\n\t\t}\n\t});\n};\n","'use strict';\nconst pLimit = require('p-limit');\n\nclass EndError extends Error {\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t}\n}\n\n// the input can also be a promise, so we `Promise.all()` them both\nconst finder = el => Promise.all(el).then(val => val[1] === true && Promise.reject(new EndError(val[0])));\n\nmodule.exports = (iterable, tester, opts) => {\n\topts = Object.assign({\n\t\tconcurrency: Infinity,\n\t\tpreserveOrder: true\n\t}, opts);\n\n\tconst limit = pLimit(opts.concurrency);\n\n\t// start all the promises concurrently with optional limit\n\tconst items = Array.from(iterable).map(el => [el, limit(() => Promise.resolve(el).then(tester))]);\n\n\t// check the promises either serially or concurrently\n\tconst checkLimit = pLimit(opts.preserveOrder ? 1 : Infinity);\n\n\treturn Promise.all(items.map(el => checkLimit(() => finder(el))))\n\t\t.then(() => {})\n\t\t.catch(err => err instanceof EndError ? err.value : Promise.reject(err));\n};\n","'use strict';\nconst path = require('path');\nconst pathExists = require('path-exists');\nconst pLocate = require('p-locate');\n\nmodule.exports = (iterable, opts) => {\n\topts = Object.assign({\n\t\tcwd: process.cwd()\n\t}, opts);\n\n\treturn pLocate(iterable, el => pathExists(path.resolve(opts.cwd, el)), opts);\n};\n\nmodule.exports.sync = (iterable, opts) => {\n\topts = Object.assign({\n\t\tcwd: process.cwd()\n\t}, opts);\n\n\tfor (const el of iterable) {\n\t\tif (pathExists.sync(path.resolve(opts.cwd, el))) {\n\t\t\treturn el;\n\t\t}\n\t}\n};\n","'use strict';\nconst path = require('path');\nconst locatePath = require('locate-path');\n\nmodule.exports = (filename, opts) => {\n\topts = opts || {};\n\n\tconst startDir = path.resolve(opts.cwd || '');\n\tconst root = path.parse(startDir).root;\n\n\tconst filenames = [].concat(filename);\n\n\treturn new Promise(resolve => {\n\t\t(function find(dir) {\n\t\t\tlocatePath(filenames, {cwd: dir}).then(file => {\n\t\t\t\tif (file) {\n\t\t\t\t\tresolve(path.join(dir, file));\n\t\t\t\t} else if (dir === root) {\n\t\t\t\t\tresolve(null);\n\t\t\t\t} else {\n\t\t\t\t\tfind(path.dirname(dir));\n\t\t\t\t}\n\t\t\t});\n\t\t})(startDir);\n\t});\n};\n\nmodule.exports.sync = (filename, opts) => {\n\topts = opts || {};\n\n\tlet dir = path.resolve(opts.cwd || '');\n\tconst root = path.parse(dir).root;\n\n\tconst filenames = [].concat(filename);\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tconst file = locatePath.sync(filenames, {cwd: dir});\n\n\t\tif (file) {\n\t\t\treturn path.join(dir, file);\n\t\t} else if (dir === root) {\n\t\t\treturn null;\n\t\t}\n\n\t\tdir = path.dirname(dir);\n\t}\n};\n","'use strict';\nconst path = require('path');\nconst findUp = require('find-up');\n\nmodule.exports = cwd => findUp('package.json', {cwd}).then(fp => fp ? path.dirname(fp) : null);\n\nmodule.exports.sync = cwd => {\n\tconst fp = findUp.sync('package.json', {cwd});\n\treturn fp ? path.dirname(fp) : null;\n};\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/* eslint-disable no-useless-escape */\nexport const HEAD_DESIGN = `/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-use-before-define */\n\n///\n/// ______ ______ _____ ______ ______ _____\n/// | ____ |_____/ | | |\\ | |\\ | |\n/// |_____| | \\\\_ __|__ |_____/ |_____/ |_____|\n/// _______ _ _ _______ _____ _______ __ __ _____ _______ _______\n/// |_____| | | | | | | \\\\_/ |_____] |______ |______\n/// | | |_____| | |_____| | | | |______ ______|\n///\n/// Get the benefits of types without typing them!\n///\n/// These types have been generated on the fly from the schemas in this\n/// repository. If you want to extend these types, do so in their own files\n/// since this file will be overritten every time you change the schemas.\n///\n/// Check out the details of Griddo AutoTypes in:\n/// https://griddoio.notion.site/Griddo-AutoTypes-e7420867dd2e489c8da34a493b763cd8>\n///\n/// Happy types!\n///\nimport { Fields } from \"@griddo/core\"\n///\n`;\n\nexport const FOOTER_DESIGN = `\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// ----- The beauty of a living thing is not the atoms that go into it, but ----\n// ----- the way those atoms are put together ----------------------------------\n// -----------------------------------------------------------------------------\n// ----- Carl Sagan ------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n`;\n","'use strict';\n\nconst preserveCamelCase = string => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = Object.assign({\n\t\tpascalCase: false\n\t}, options);\n\n\tconst postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n\t}\n\n\tconst hasUpperCase = input !== input.toLowerCase();\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input);\n\t}\n\n\tinput = input\n\t\t.replace(/^[_.\\- ]+/, '')\n\t\t.toLowerCase()\n\t\t.replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n\t\t.replace(/\\d+(\\w|$)/g, m => m.toUpperCase());\n\n\treturn postProcess(input);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import camelcase from \"camelcase\";\n\nimport { UIFields } from \"../../types/schema-fields/ui-fields\";\nimport {\n\tFieldReturnTypes,\n\tFields,\n\tSchemaFieldTypes,\n\tSchemaType,\n} from \"./types\";\n\n/** Get all fields from one schema */\nfunction getAllFields(schema: SchemaType) {\n\t// ContentType\n\t// Simple, Page\n\tif (\"fromPage\" in schema) {\n\t\t// AutoTypes doesn't generate types from categories\n\t\tif (!schema.taxonomy) {\n\t\t\treturn schema.schema.fields;\n\t\t}\n\t\t// hack???\n\t\treturn [];\n\t}\n\n\t// Templates\n\tif (schema.schemaType === \"template\") {\n\t\tconst content = (schema.content as Array<UIFields>) || [];\n\t\tconst config = (schema.config as Array<UIFields>) || [];\n\t\treturn [...content, ...config];\n\t}\n\n\t// Objects, components and modules\n\tif (schema.schemaType === \"component\" || schema.schemaType === \"module\") {\n\t\treturn schema.configTabs.map((tab) => tab.fields).flat();\n\t}\n\n\tthrow new Error(\"Wrong schema\");\n}\n\n/** Build a interface prop based on the field from the schema.\n * Optionally it can receives a custom value for the type and a generic string to use as generic value\n *\n * @example\n * getInterfacePropType(TextFieldObjectFromSchema)\n * // -> TextFieldObjectFromSchema.key: Fields.TextField\n * getInterfacePropType(TextFieldObjectFromSchema, 'MyCustomValue', 'foo')\n * // -> TextFieldObjectFromSchema.key: MyCustomValue<foo>\n */\ntype GetInterfacePropTypeOptions = {\n\treturnTypeName?: FieldReturnTypes;\n\tgeneric?: string;\n};\n\nfunction getInterfacePropType(\n\tfield: Fields,\n\toptions?: GetInterfacePropTypeOptions\n) {\n\tconst { returnTypeName, generic } = options || {};\n\n\tconst _autoTypeDoc = field._autoType?.doc || \"\";\n\tconst _autoType = `${field.key}?: ${\n\t\treturnTypeName || returnType(field.type)\n\t} `;\n\tconst genericStr = generic ? `<${generic}>` : \"\";\n\treturn `\\n${_autoTypeDoc}\\n${_autoType}${genericStr};`;\n}\n\nfunction getGenericFromOptions(options: Array<{ value: unknown }>) {\n\treturn options.map(({ value }) => `\"${value}\"`).join(\"|\");\n}\n\nfunction getGenericFromCheckBoxOptions(options: Array<{ name: unknown }>) {\n\treturn options.map(({ name }) => `\"${name}\"`).join(\"|\");\n}\n\n// for components containers\n// whitelist.length = 1\n// whitelist.length > 1\nfunction getGenericFromWhitelist(whiteList: Array<string>, propsSuffix = \"\") {\n\tif (whiteList.length > 1) {\n\t\treturn `{\n\t\t\t${whiteList\n\t\t\t\t.map((whiteListItem) => {\n\t\t\t\t\treturn `${camelcase(whiteListItem)}?: ${whiteListItem}${propsSuffix}`;\n\t\t\t\t})\n\t\t\t\t.join(\",\")}\n\t\t\t}`;\n\t} else {\n\t\t// Si solo hay un elemento\n\t\treturn whiteList.map((item) => `${item}${propsSuffix}`).join(\"\");\n\t}\n}\n\nfunction schemasToArray(objectSchemas: Record<string, SchemaType>) {\n\treturn Object.keys(objectSchemas).map((componentName) => {\n\t\treturn {\n\t\t\t// This component prop is for the ContentType schemas, ui schemas\n\t\t\t// have already one.\n\t\t\t...objectSchemas[componentName],\n\t\t\tcomponent: componentName,\n\t\t};\n\t});\n}\n\nfunction returnType(type: SchemaFieldTypes) {\n\tconst typeObj: Record<SchemaFieldTypes, FieldReturnTypes> = {\n\t\tArrayFieldGroup: \"Fields.ArrayFieldGroup\",\n\t\tAsyncCheckGroup: \"Fields.AsyncCheckGroup\",\n\t\tAsyncSelect: \"Fields.AsyncSelect\",\n\t\tCheckGroup: \"Fields.CheckGroup\",\n\t\tColorPicker: \"Fields.ColorPicker\",\n\t\tComponentArray: \"Fields.ComponentArray\",\n\t\tComponentContainer: \"Fields.ComponentContainer\",\n\t\tConditionalField: \"Fields.Conditional\",\n\t\tDateField: \"Fields.Date\",\n\t\tFieldGroup: \"Fields.FieldGroup\",\n\t\tFieldsDivider: \"Fields.FieldsDivider\",\n\t\tFileField: \"Fields.File\",\n\t\tHeadingField: \"Fields.Heading\",\n\t\tImageField: \"Fields.Image\",\n\t\tLinkField: \"Fields.Link\",\n\t\tMultiCheckSelect: \"Fields.MultiCheckSelect<Relations>\",\n\t\tMultiCheckSelectGroup: \"Fields.MultiCheckSelectGroup\",\n\t\tNoteField: \"Fields.Note\",\n\t\tNumberField: \"Fields.Number\",\n\t\tRadioGroup: \"Fields.RadioGroup\",\n\t\tReferenceField: \"Fields.Reference\",\n\t\tRichText: \"Fields.RichText\",\n\t\tSelect: \"Fields.Select\",\n\t\tSliderField: \"Fields.Slider\",\n\t\tTextArea: \"Fields.TextArea\",\n\t\tTextField: \"Fields.Text\",\n\t\tToggleField: \"Fields.Toggle\",\n\t\tUniqueCheck: \"Fields.UniqueCheck\",\n\t\tUrlField: \"Fields.Url\",\n\t\tVisualUniqueSelection: \"Fields.VisualUniqueSelection\",\n\t\tWysiwyg: \"Fields.Wysiwyg\",\n\t};\n\treturn typeObj[type];\n}\n\nfunction extendsType(types: Array<string>) {\n\treturn types.filter((typeStr) => typeStr.length).length < 1\n\t\t? \"\"\n\t\t: `extends ${types.join(\", \")}`;\n}\n\nfunction getElementsUnionType(schemas: Array<SchemaType>) {\n\tconst unionOfComponents = [];\n\tconst unionOfModules = [];\n\tconst unionOfTemplates = [];\n\tfor (let length = schemas.length, i = 0; i < length; ++i) {\n\t\tconst schema = schemas[i];\n\t\t// `in` to narrow only schemas with `component` prop\n\t\tif (\"component\" in schema) {\n\t\t\tconst componentName = schema.component;\n\t\t\tif (schema.schemaType === \"component\") {\n\t\t\t\tunionOfComponents.push(`\"${componentName}\"`);\n\t\t\t}\n\t\t\tif (schema.schemaType === \"module\") {\n\t\t\t\tunionOfModules.push(`\"${componentName}\"`);\n\t\t\t}\n\t\t\tif (schema.schemaType === \"template\") {\n\t\t\t\tunionOfTemplates.push(`\"${componentName}\"`);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst ComponentsUnion = `\n\t\texport type Components =\n\t\t\t${unionOfComponents.join(\"|\")}\n\t`;\n\n\tconst ModulesUnion = `\n\t\texport type Modules =\n\t\t\t${unionOfModules.join(\"|\")}\n\t`;\n\n\tconst TemplatesUnion = `\n\t\texport type Templates =\n\t\t\t${unionOfTemplates.join(\"|\")}\n\t`;\n\n\treturn `\n\t\t${ComponentsUnion}\n\t\t${ModulesUnion}\n\t\t${TemplatesUnion}\n\t`;\n}\n\nexport {\n\textendsType,\n\tgetAllFields,\n\tgetElementsUnionType,\n\tgetGenericFromOptions,\n\tgetGenericFromWhitelist,\n\tgetInterfacePropType,\n\treturnType,\n\tschemasToArray,\n\tgetGenericFromCheckBoxOptions,\n};\n","import * as PageContentType_Fields from \"../../types/schema-fields/page-content-type-fields\";\nimport { PageContentTypeFields } from \"../../types/schema-fields/page-content-type-fields\";\nimport {\n\tThemeVisualUniqueSelection,\n\tThumbnailOption,\n} from \"../../types/schema-fields/props\";\nimport { SimpleContentTypeFields } from \"../../types/schema-fields/simple-content-type-fields\";\nimport * as UI_Fields from \"../../types/schema-fields/ui-fields\";\nimport { UIFields } from \"../../types/schema-fields/ui-fields\";\nimport { KindSchema, SchemaTypeWithComponentProp } from \"./types\";\nimport {\n\textendsType,\n\tgetAllFields,\n\tgetGenericFromCheckBoxOptions,\n\tgetGenericFromOptions,\n\tgetGenericFromWhitelist,\n\tgetInterfacePropType,\n\treturnType,\n} from \"./utils\";\n\nfunction getTypesFromSchemas(\n\tschemas: Array<SchemaTypeWithComponentProp>,\n\toptions: {\n\t\tinterfaceSuffix: string;\n\t\tcontentTypeSuffix: string;\n\t}\n) {\n\t// Map over every schema\n\treturn schemas\n\t\t.map((schema) => {\n\t\t\tlet kind: KindSchema;\n\t\t\tlet contentTypeSuffixStr = \"\";\n\t\t\tlet contentTypeName = \"\";\n\t\t\tlet componentName = \"\";\n\t\t\tlet relationsGeneric;\n\n\t\t\tconst { component } = schema;\n\t\t\tconst { interfaceSuffix, contentTypeSuffix } = options;\n\t\t\tconst hasRelations = schema._autoType?.relations || false;\n\t\t\t// Si el schema va a tener un field al que se le pueda pasar un\n\t\t\t// relations este es pasado por un genérico en la interfaz que se\n\t\t\t// pondrá si `schema._autoType === true`.\n\t\t\trelationsGeneric = hasRelations ? \"<Relations = unknown>\" : \"\";\n\n\t\t\tif (\"fromPage\" in schema) {\n\t\t\t\t// ContentType schema\n\t\t\t\t// -------------------------------------------------------------\n\t\t\t\tkind = schema.fromPage ? \"pageContentType\" : \"simpleContentType\";\n\t\t\t\tcontentTypeSuffixStr = contentTypeSuffix;\n\t\t\t\tcontentTypeName = `contentTypeName: \"${schema.component}\";`;\n\t\t\t\t// En el caso de los schemas de ContentType se pondrá siempre el\n\t\t\t\t// genérico a unknown para así poder pasarle el relations en el\n\t\t\t\t// componente de React, por ejemplo cuando se uutilice en Type\n\t\t\t\t// en un hook como `useContentType`\n\t\t\t\t// `useList<AutoTypes.MEMBERContentType<true>>()`\n\t\t\t\t// ^\n\t\t\t\t// relations\n\t\t\t\trelationsGeneric = \"<Relations = unknown>\";\n\t\t\t} else {\n\t\t\t\t// UI schema\n\t\t\t\t// -------------------------------------------------------------\n\t\t\t\tkind = schema.schemaType;\n\t\t\t\tcomponentName = `component: \"${component}\";`;\n\t\t\t}\n\n\t\t\t// Props for the interface\n\t\t\tconst propsFromFields = getAllFields(schema)\n\t\t\t\t.map((field) => getTypeFromField(field, kind, options))\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(\"\");\n\n\t\t\t// Template with mode: list\n\t\t\t// This kind of templates return several extra properties from the build phase.\n\t\t\tconst isListTemplate =\n\t\t\t\tkind === \"template\" && \"type\" in schema && schema.type.mode === \"list\";\n\n\t\t\tconst extraListTemplateProps = isListTemplate\n\t\t\t\t? `Fields.ExtraListTemplateProps`\n\t\t\t\t: \"\";\n\n\t\t\t// Extra extends for the interface\n\t\t\tconst extendsString = extendsType([extraListTemplateProps]);\n\n\t\t\t// interface string\n\t\t\treturn `\n\t\t\t\texport interface ${component}${contentTypeSuffixStr}${interfaceSuffix}${relationsGeneric} ${extendsString} {\n\t\t\t\t\t${contentTypeName}\n\t\t\t\t\t${componentName}\n\t\t\t\t\t${propsFromFields}\n\t\t\t\t}`;\n\t\t})\n\t\t.join(\"\");\n}\n\nfunction getTypeFromField(\n\tfield: UIFields | SimpleContentTypeFields | PageContentTypeFields,\n\tkind: KindSchema,\n\toptions: {\n\t\tinterfaceSuffix: string;\n\t\tcontentTypeSuffix: string;\n\t}\n): string | undefined {\n\tconst { type, _autoType, key } = field;\n\tconst { interfaceSuffix } = options;\n\n\t// Ignore type generation\n\tif (_autoType?.ignore) {\n\t\treturn undefined;\n\t}\n\n\tif (!type || !key) {\n\t\treturn `\n\t\t\t/** · (ノ-_-)ノ ミ ┴┴ You forgot to write the \\`type\\` | \\`key\\` prop for the field ! */\n\t\t`;\n\t}\n\n\t// Simples\n\t// type === \"TextField\" --> key: Fields.Text\n\tif (\n\t\ttype === \"AsyncCheckGroup\" ||\n\t\ttype === \"DateField\" ||\n\t\ttype === \"FileField\" ||\n\t\ttype === \"ImageField\" ||\n\t\ttype === \"MultiCheckSelect\" ||\n\t\ttype === \"NoteField\" ||\n\t\ttype === \"NumberField\" ||\n\t\ttype === \"RichText\" ||\n\t\ttype === \"SliderField\" ||\n\t\ttype === \"TextArea\" ||\n\t\ttype === \"TextField\" ||\n\t\ttype === \"ToggleField\" ||\n\t\ttype === \"UniqueCheck\" ||\n\t\ttype === \"UrlField\" ||\n\t\ttype === \"Wysiwyg\"\n\t) {\n\t\treturn getInterfacePropType(field);\n\t}\n\n\t// ColorPicker\n\tif (type === \"ColorPicker\") {\n\t\tif (field.onlyFixedColors) {\n\t\t\treturn getInterfacePropType(field, {\n\t\t\t\treturnTypeName: \"Fields.ColorPickerFixed\",\n\t\t\t});\n\t\t}\n\t\treturn getInterfacePropType(field);\n\t}\n\n\t// Generic with options.values\n\t// type === \"Heading\" --> key: Fields.Heading<\"h1\"|\"h2\">\n\tif (type === \"HeadingField\" || type === \"RadioGroup\" || type === \"Select\") {\n\t\tconst { options } = field;\n\t\tconst generic = getGenericFromOptions(options);\n\t\treturn getInterfacePropType(field, { generic });\n\t}\n\n\t// Generic with options.name\n\t// type === \"CheckGroup\" --> key: Fields.Heading<\"a\"|\"b\">\n\tif (type === \"CheckGroup\") {\n\t\tconst { options } = field;\n\t\tconst generic = getGenericFromCheckBoxOptions(options);\n\t\treturn getInterfacePropType(field, { generic });\n\t}\n\n\t// Generic with relatinons\n\t// if (type === \"MultiCheckSelect\") {\n\t// \tconst generic = field._autoType?.relations ? \"Relations\" : \"false\";\n\t// \treturn getInterfacePropType(field, returnType(type), generic);\n\t// }\n\n\t// Generic with whitelist\n\t// type === \"LinkField\" --> key: Fields.Link<{video:Video, image:Image}>\n\tif (type === \"LinkField\") {\n\t\tconst { whiteList } = field;\n\n\t\tconst generic = getGenericFromWhitelist(\n\t\t\twhiteList as Array<string>,\n\t\t\tinterfaceSuffix\n\t\t);\n\t\treturn getInterfacePropType(field, { generic });\n\t}\n\n\t// AsyncSelect\n\tif (type === \"AsyncSelect\") {\n\t\t// Entities\n\t\tif (\"entity\" in field) {\n\t\t\t// Menu\n\t\t\tif (field.entity === \"menu_containers\") {\n\t\t\t\treturn `${key}?: Fields.Menu;`;\n\t\t\t}\n\t\t\t// // Pages\n\t\t\t// if (field.entity === \"sites\") {\n\t\t\t// \treturn `${key}?: Fields.Menu;`;\n\t\t\t// }\n\t\t\t// // Sites\n\t\t\t// if (field.entity === \"pages\") {\n\t\t\t// \treturn `${key}?: Fields.Menu;`;\n\t\t\t// }\n\t\t}\n\t\treturn `${key}?: Fields.AsyncSelect;`;\n\t}\n\n\t// FieldGroup\n\t// <Recursive>\n\tif (type === \"FieldGroup\") {\n\t\treturn `\n\t\t\t// << ${type}\n\t\t\t${field.fields.map((field) => getTypeFromField(field, kind, options)).join(\"\")}\n\t\t\t// end >>\n\t\t`;\n\t}\n\n\t// ArrayFieldGroup\n\tif (type === \"ArrayFieldGroup\") {\n\t\tconst doc = _autoType?.doc || \"\";\n\n\t\treturn `\n\t\t\t\\n${doc}\\n${key}?: Fields.ArrayFieldGroup<{${field.fields\n\t\t\t.map((field) => `${field.key}: ${returnType(field.type)}`)\n\t\t\t.join(\",\")}}>;\n\t\t`;\n\t}\n\n\t// ConditionalField\n\t// <Recursive>\n\tif (type === \"ConditionalField\") {\n\t\tconst conditionalChildrenFields = field.fields.map((field) => {\n\t\t\treturn getTypeFromField(field, kind, options);\n\t\t});\n\t\tconst doc = _autoType?.doc || \"\";\n\n\t\treturn `\n\t\t\t// << ${type}\n\t\t\t\\n${doc}\\n${key}?: ${returnType(type)}<${field.options\n\t\t\t.map((option) => `\"${option.value}\"`)\n\t\t\t.join(\"|\")}>;\n\t\t\t${conditionalChildrenFields.join(\"\")}\n\t\t\t// end >>\n\t\t`;\n\t}\n\n\t// ComponentArray\n\t// <Complex>\n\tif (type === \"ComponentArray\") {\n\t\t// El type de Griddo es dinstinto para un ComponentArray si este está\n\t\t// dentro de un template.\n\t\tconst returnTypeName =\n\t\t\tkind === \"template\" || kind === \"pageContentType\"\n\t\t\t\t? \"TemplateSection\"\n\t\t\t\t: \"ComponentArray\";\n\n\t\tconst optional = kind === \"template\" ? \"\" : \"?\";\n\n\t\t// Type assertion, el field ComponentArray solo puede ser UI o Page\n\t\tconst fieldCasted = field as\n\t\t\t| UI_Fields.ComponentArray\n\t\t\t| PageContentType_Fields.ComponentArray;\n\n\t\tconst { key, _autoType, whiteList } = fieldCasted;\n\t\tconst doc = _autoType?.doc || \"\";\n\t\treturn `\\n${doc}\\n${key}${optional}: Fields.${returnTypeName}<${whiteList\n\t\t\t.map((component) => `${component}${interfaceSuffix}`)\n\t\t\t.join(\"|\")}>;`;\n\t}\n\n\t// ComponentContainer\n\t// <Complex>\n\tif (type === \"ComponentContainer\") {\n\t\t// UI\n\t\tif (\n\t\t\tkind === \"object\" ||\n\t\t\tkind === \"component\" ||\n\t\t\tkind === \"module\" ||\n\t\t\tkind === \"template\"\n\t\t) {\n\t\t\tconst FieldCasted = field as UI_Fields.ComponentContainer;\n\t\t\tconst { whiteList } = FieldCasted;\n\n\t\t\tconst generic = getGenericFromWhitelist(\n\t\t\t\twhiteList as Array<string>,\n\t\t\t\tinterfaceSuffix\n\t\t\t);\n\t\t\treturn getInterfacePropType(field, { generic });\n\t\t}\n\t}\n\n\t// ReferenceField\n\tif (type === \"ReferenceField\") {\n\t\tconst { source } = field;\n\t\tconst generic = source\n\t\t\t.map((item) => `${item}ContentType${interfaceSuffix}`)\n\t\t\t.join(\"|\");\n\t\tconst referenceField = getInterfacePropType(field, { generic });\n\t\tconst queriedData = `queriedData?: Fields.QueriedData<${generic}>`;\n\t\treturn `\n\t\t\t${referenceField}\n\t\t\t${queriedData};\n\t\t`;\n\t}\n\n\t// VisualUniqueSelection\n\tif (type === \"VisualUniqueSelection\") {\n\t\tconst withValue = field.options[0] as ThumbnailOption;\n\t\tconst withTheme = field.options[0] as ThemeVisualUniqueSelection;\n\t\tlet generic = \"\";\n\n\t\t// ThumbnailOption\n\t\tif (withValue.value) {\n\t\t\tconst all = field.options as Array<ThumbnailOption>;\n\t\t\tgeneric = all.map((item) => `\"${item.value}\"`).join(\"|\");\n\t\t}\n\n\t\t// ThemeVisualUniqueSelection\n\t\tif (withTheme.theme) {\n\t\t\tconst all = field.options as Array<ThemeVisualUniqueSelection>;\n\t\t\tgeneric = all[0].options.map((i) => `\"${i.value}\"`).join(\"|\");\n\t\t}\n\n\t\treturn getInterfacePropType(field, { generic });\n\t}\n\n\tthrow new Error(\"Wrong schema!\");\n}\n\nexport { getTypesFromSchemas };\n","/* eslint-disable @typescript-eslint/no-var-requires */\nimport path from \"path\";\n\nimport pkgDir from \"pkg-dir\";\n\nimport { main } from \"./common\";\n\nconst rawSchemasFromComponents = path.join(\n\t`${pkgDir.sync(__dirname)}/`,\n\t\"../../../griddo.config.ts\"\n);\n\nconst schemas = require(rawSchemasFromComponents);\n\nmain({\n\t...schemas.schemas.all,\n\t...schemas.schemas.templates,\n\t...schemas.schemas.structuredData,\n});\n","/* eslint-disable @typescript-eslint/no-var-requires */\nimport { writeFile } from \"fs\";\nimport path from \"path\";\n\nimport pkgDir from \"pkg-dir\";\nimport prettier from \"prettier\";\n\nimport { FOOTER_DESIGN, HEAD_DESIGN } from \"./ASCII\";\nimport { getTypesFromSchemas } from \"./type-transforms\";\nimport { SchemaType } from \"./types\";\nimport { schemasToArray, getElementsUnionType } from \"./utils\";\n\n//\n// Config\n//\n\nconst TYPE_FILE_NAME = \"autotypes.d.ts\";\nconst INTERFACE_SUFFIX = \"Props\";\nconst CONTENT_TYPE_SUFFIX = \"ContentType\";\n\n//\n// Main function\n//\n\nexport async function main(schemas: Record<string, SchemaType>) {\n\t//\n\t// Schemas\n\t//\n\n\t// The function `schemasToArray` transform an onbject of schemas into an\n\t// array of them like so:\n\t//\n\t// input:\n\t// `schemas` is an object of schemas like so:\n\t//\t{\n\t//\t\tBasicContent: {\n\t//\t\t\tcomponent: \"BasicContent\",\n\t//\t\t\t...\n\t//\t\t},\n\t//\t\t...\n\t//\t}\n\t//\n\t// output:\n\t// [ {component: \"BasicContent\"}, {component: \"NewsTemplate\"}, ... ]\n\tconst arrayOfSchemas = schemasToArray(schemas);\n\n\t// Get union types for components, modules and tempaltes like so:\n\t// type Components = \"ComponentA\" | \"ComponentB\"\n\t// type Modules = \"ModuleA\" | \"ModuleB\"\n\t// type Templates = \"TemplateA\" | \"TemplateB\"\n\tconst getElementsUnionTypes = getElementsUnionType(arrayOfSchemas);\n\n\t// Generate types (interfaces) as string from every schema\n\t// interface SchemaProps {\n\t// \t\tschemaFieldKey: apiResponsveFieldType\n\t// \t\ttitle: Fields.Heading\n\t//\t\titemsPerPage: Fields.Number\n\t//\t\t...\n\t// }\n\tconst allTypes = getTypesFromSchemas(arrayOfSchemas, {\n\t\tinterfaceSuffix: INTERFACE_SUFFIX,\n\t\tcontentTypeSuffix: CONTENT_TYPE_SUFFIX,\n\t});\n\n\t//\n\t// Prettier\n\t//\n\n\t// Resolve the local prettier config file\n\tconst clientPrettierConfigFile = await prettier.resolveConfigFile();\n\n\t// Get a config from the local file or hardcoded\n\tconst prettierConfig = (await prettier.resolveConfig(\n\t\tclientPrettierConfigFile as string\n\t)) || { useTabs: true };\n\n\t// A bit of formatting!\n\tconst allTypesPrettify = prettier.format(\n\t\t`\n\t\t${HEAD_DESIGN}\n\t\t${allTypes}\n\t\t${getElementsUnionTypes}\n\t\t${FOOTER_DESIGN}\n\t\t`,\n\t\t{\n\t\t\t...prettierConfig,\n\t\t\tparser: \"typescript\",\n\t\t}\n\t);\n\n\t// More formating: remove extra new lines\n\tconst stringData = allTypesPrettify.replace(/^\\s*\\n/gm, \"\");\n\n\t//\n\t// Write it out!\n\t//\n\n\tconst dstPath = path.resolve(pkgDir.sync(__dirname) || \"\", \"../../..\");\n\twriteFile(`${path.join(dstPath, TYPE_FILE_NAME)}`, stringData, (err) => {\n\t\tif (err) throw err;\n\t});\n\n\t// :)\n\tconsole.log(\"🤖 AutoTypes ✓\");\n}\n"],"names":["pathExists","fp","Promise","resolve","fs","access","err","accessSync","pLimit","concurrency","TypeError","queue","activeCount","next","length","shift","fn","reject","run","cb","then","val","push","EndError","Error","constructor","value","super","this","pLocate","iterable","tester","opts","Object","assign","Infinity","preserveOrder","limit","items","Array","from","map","el","checkLimit","all","finder","catch","locatePath","cwd","process","path","sync","findUp","filename","startDir","root","parse","filenames","concat","find","dir","file","join","dirname","pkgDir","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","e","rejected","result","done","apply","camelCase","input","options","isArray","pascalCase","x","trim","filter","toUpperCase","toLowerCase","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","i","character","test","slice","preserveCamelCase","replace","_","p1","m","charAt","module","camelcase","getInterfacePropType","field","returnTypeName","generic","_a","_autoType","doc","key","returnType","type","getGenericFromWhitelist","whiteList","propsSuffix","whiteListItem","item","ArrayFieldGroup","AsyncCheckGroup","AsyncSelect","CheckGroup","ColorPicker","ComponentArray","ComponentContainer","ConditionalField","DateField","FieldGroup","FieldsDivider","FileField","HeadingField","ImageField","LinkField","MultiCheckSelect","MultiCheckSelectGroup","NoteField","NumberField","RadioGroup","ReferenceField","RichText","Select","SliderField","TextArea","TextField","ToggleField","UniqueCheck","UrlField","VisualUniqueSelection","Wysiwyg","getTypesFromSchemas","schemas","schema","kind","relationsGeneric","contentTypeSuffixStr","contentTypeName","componentName","component","interfaceSuffix","contentTypeSuffix","relations","fromPage","schemaType","propsFromFields","taxonomy","fields","content","config","configTabs","tab","flat","getAllFields","getTypeFromField","Boolean","isListTemplate","mode","types","typeStr","ignore","onlyFixedColors","getGenericFromOptions","name","getGenericFromCheckBoxOptions","entity","conditionalChildrenFields","option","optional","fieldCasted","FieldCasted","source","withValue","withTheme","theme","rawSchemasFromComponents","__dirname","require","arrayOfSchemas","objectSchemas","keys","getElementsUnionTypes","unionOfComponents","unionOfModules","unionOfTemplates","getElementsUnionType","allTypes","clientPrettierConfigFile","prettier","resolveConfigFile","prettierConfig","resolveConfig","useTabs","stringData","format","parser","dstPath","writeFile","console","log","main","templates","structuredData"],"mappings":"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"}
1
+ {"version":3,"file":"autotypes.js","sources":["../node_modules/path-exists/index.js","../node_modules/p-try/index.js","../node_modules/p-locate/node_modules/p-limit/index.js","../node_modules/p-locate/index.js","../node_modules/locate-path/index.js","../node_modules/find-up/index.js","../node_modules/pkg-dir/index.js","../../../node_modules/tslib/tslib.es6.js","../src/functions/autotypes/ASCII.ts","../../../node_modules/camelcase/index.js","../src/functions/autotypes/utils.ts","../src/functions/autotypes/type-transforms.ts","../src/functions/autotypes/index.es.ts","../src/functions/autotypes/common.ts"],"sourcesContent":["'use strict';\nconst fs = require('fs');\n\nmodule.exports = fp => new Promise(resolve => {\n\tfs.access(fp, err => {\n\t\tresolve(!err);\n\t});\n});\n\nmodule.exports.sync = fp => {\n\ttry {\n\t\tfs.accessSync(fp);\n\t\treturn true;\n\t} catch (err) {\n\t\treturn false;\n\t}\n};\n","'use strict';\nmodule.exports = cb => new Promise(resolve => {\n\tresolve(cb());\n});\n","'use strict';\nconst pTry = require('p-try');\n\nmodule.exports = concurrency => {\n\tif (concurrency < 1) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = [];\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.length > 0) {\n\t\t\tqueue.shift()();\n\t\t}\n\t};\n\n\treturn fn => new Promise((resolve, reject) => {\n\t\tconst run = () => {\n\t\t\tactiveCount++;\n\n\t\t\tpTry(fn).then(\n\t\t\t\tval => {\n\t\t\t\t\tresolve(val);\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\terr => {\n\t\t\t\t\treject(err);\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tif (activeCount < concurrency) {\n\t\t\trun();\n\t\t} else {\n\t\t\tqueue.push(run);\n\t\t}\n\t});\n};\n","'use strict';\nconst pLimit = require('p-limit');\n\nclass EndError extends Error {\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t}\n}\n\n// the input can also be a promise, so we `Promise.all()` them both\nconst finder = el => Promise.all(el).then(val => val[1] === true && Promise.reject(new EndError(val[0])));\n\nmodule.exports = (iterable, tester, opts) => {\n\topts = Object.assign({\n\t\tconcurrency: Infinity,\n\t\tpreserveOrder: true\n\t}, opts);\n\n\tconst limit = pLimit(opts.concurrency);\n\n\t// start all the promises concurrently with optional limit\n\tconst items = Array.from(iterable).map(el => [el, limit(() => Promise.resolve(el).then(tester))]);\n\n\t// check the promises either serially or concurrently\n\tconst checkLimit = pLimit(opts.preserveOrder ? 1 : Infinity);\n\n\treturn Promise.all(items.map(el => checkLimit(() => finder(el))))\n\t\t.then(() => {})\n\t\t.catch(err => err instanceof EndError ? err.value : Promise.reject(err));\n};\n","'use strict';\nconst path = require('path');\nconst pathExists = require('path-exists');\nconst pLocate = require('p-locate');\n\nmodule.exports = (iterable, opts) => {\n\topts = Object.assign({\n\t\tcwd: process.cwd()\n\t}, opts);\n\n\treturn pLocate(iterable, el => pathExists(path.resolve(opts.cwd, el)), opts);\n};\n\nmodule.exports.sync = (iterable, opts) => {\n\topts = Object.assign({\n\t\tcwd: process.cwd()\n\t}, opts);\n\n\tfor (const el of iterable) {\n\t\tif (pathExists.sync(path.resolve(opts.cwd, el))) {\n\t\t\treturn el;\n\t\t}\n\t}\n};\n","'use strict';\nconst path = require('path');\nconst locatePath = require('locate-path');\n\nmodule.exports = (filename, opts) => {\n\topts = opts || {};\n\n\tconst startDir = path.resolve(opts.cwd || '');\n\tconst root = path.parse(startDir).root;\n\n\tconst filenames = [].concat(filename);\n\n\treturn new Promise(resolve => {\n\t\t(function find(dir) {\n\t\t\tlocatePath(filenames, {cwd: dir}).then(file => {\n\t\t\t\tif (file) {\n\t\t\t\t\tresolve(path.join(dir, file));\n\t\t\t\t} else if (dir === root) {\n\t\t\t\t\tresolve(null);\n\t\t\t\t} else {\n\t\t\t\t\tfind(path.dirname(dir));\n\t\t\t\t}\n\t\t\t});\n\t\t})(startDir);\n\t});\n};\n\nmodule.exports.sync = (filename, opts) => {\n\topts = opts || {};\n\n\tlet dir = path.resolve(opts.cwd || '');\n\tconst root = path.parse(dir).root;\n\n\tconst filenames = [].concat(filename);\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tconst file = locatePath.sync(filenames, {cwd: dir});\n\n\t\tif (file) {\n\t\t\treturn path.join(dir, file);\n\t\t} else if (dir === root) {\n\t\t\treturn null;\n\t\t}\n\n\t\tdir = path.dirname(dir);\n\t}\n};\n","'use strict';\nconst path = require('path');\nconst findUp = require('find-up');\n\nmodule.exports = cwd => findUp('package.json', {cwd}).then(fp => fp ? path.dirname(fp) : null);\n\nmodule.exports.sync = cwd => {\n\tconst fp = findUp.sync('package.json', {cwd});\n\treturn fp ? path.dirname(fp) : null;\n};\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/* eslint-disable no-useless-escape */\nexport const HEAD_DESIGN = `/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-use-before-define */\n//\n// \\_/\n// (* *)\n// __)#(__\n// ( )...( )(_)\n// || |_| ||//\n// >==() | | ()/\n// _(___)_\n// [-] [-] AutoTyper™️\n//\n// ______ ______ _____ ______ ______ _____\n// | ____ |_____/ | | |\\ | |\\ | |\n// |_____| | \\\\_ __|__ |_____/ |_____/ |_____|\n// _______ _ _ _______ _____ _______ __ __ _____ _______ _______\n// |_____| | | | | | | \\\\_/ |_____] |______ |______\n// | | |_____| | |_____| | | | |______ ______|\n//\n// Get the benefits of types without typing them!\n//\n// These types have been generated on the fly from the schemas found in this\n// repository. If you want to extend these types, please don't do so in this\n// file, as AutoTyper will overwrite it every time you make changes to the\n// schemas.\n//\n// Check out the details of Griddo AutoTypes in:\n// https://griddoio.notion.site/Griddo-AutoTypes-e7420867dd2e489c8da34a493b763cd8>\n//\n// Happy types!\n//\nimport { Fields } from \"@griddo/core\"\n//\n`;\n\nexport const FOOTER_DESIGN = `\n//\n// . + . . . . . . . ..\n// . . . *\n// . * . . . . . . + . +\n// . . . . + . . .\n// . . . . . . .\n// . . . . . +. + . *\n// + . . . .\n// . . . * . . . . + . .\n// + . . . + . .\n// . . + .+. . .\n// . . . + . . . . .\n// . . . . . . . . ! / +\n// * . . . + . . - O -\n// . . . + . . * . . / | . .\n// . + . . . .. + .\n// . . . . * . * . +.. . * +\n// . . . . . . . . + . . +\n//\n//\n// The beauty of a living thing is not the atoms that go into it,\n// but the way those atoms are put together\n//\n// Carl Sagan\n//\n`;\n","'use strict';\n\nconst preserveCamelCase = string => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = Object.assign({\n\t\tpascalCase: false\n\t}, options);\n\n\tconst postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n\t}\n\n\tconst hasUpperCase = input !== input.toLowerCase();\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input);\n\t}\n\n\tinput = input\n\t\t.replace(/^[_.\\- ]+/, '')\n\t\t.toLowerCase()\n\t\t.replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n\t\t.replace(/\\d+(\\w|$)/g, m => m.toUpperCase());\n\n\treturn postProcess(input);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import camelcase from \"camelcase\";\n\nimport { UIFields } from \"../../types/schema-fields/ui-fields\";\nimport {\n\tFieldReturnTypes,\n\tFields,\n\tSchemaFieldTypes,\n\tSchemaType,\n} from \"./types\";\n\n/** Get all fields from one schema */\nfunction getAllFields(schema: SchemaType) {\n\t// ContentType\n\t// Simple, Page\n\tif (\"fromPage\" in schema) {\n\t\t// AutoTypes doesn't generate types from categories\n\t\tif (!schema.taxonomy) {\n\t\t\treturn schema.schema.fields;\n\t\t}\n\t\t// hack???\n\t\treturn [];\n\t}\n\n\t// Templates\n\tif (schema.schemaType === \"template\") {\n\t\tconst content = (schema.content as Array<UIFields>) || [];\n\t\tconst config = (schema.config as Array<UIFields>) || [];\n\t\treturn [...content, ...config];\n\t}\n\n\t// Objects, components and modules\n\tif (schema.schemaType === \"component\" || schema.schemaType === \"module\") {\n\t\treturn schema.configTabs.map((tab) => tab.fields).flat();\n\t}\n\n\tthrow new Error(\"Wrong schema\");\n}\n\n/** Build a interface prop based on the field from the schema.\n * Optionally it can receives a custom value for the type and a generic string to use as generic value\n *\n * @example\n * getInterfacePropType(TextFieldObjectFromSchema)\n * // -> TextFieldObjectFromSchema.key: Fields.TextField\n * getInterfacePropType(TextFieldObjectFromSchema, 'MyCustomValue', 'foo')\n * // -> TextFieldObjectFromSchema.key: MyCustomValue<foo>\n */\ntype GetInterfacePropTypeOptions = {\n\treturnTypeName?: FieldReturnTypes;\n\tgeneric?: string;\n};\n\nfunction getInterfacePropType(\n\tfield: Fields,\n\toptions?: GetInterfacePropTypeOptions\n) {\n\tconst { returnTypeName, generic } = options || {};\n\n\tconst _autoTypeDoc = field._autoType?.doc || \"\";\n\tconst _autoType = `${field.key}?: ${\n\t\treturnTypeName || returnType(field.type)\n\t} `;\n\tconst genericStr = generic ? `<${generic}>` : \"\";\n\treturn `\\n${_autoTypeDoc}\\n${_autoType}${genericStr};`;\n}\n\nfunction getGenericFromOptions(options: Array<{ value: unknown }>) {\n\treturn options.map(({ value }) => `\"${value}\"`).join(\"|\");\n}\n\nfunction getGenericFromCheckBoxOptions(options: Array<{ name: unknown }>) {\n\treturn options.map(({ name }) => `\"${name}\"`).join(\"|\");\n}\n\n// for components containers\n// whitelist.length = 1\n// whitelist.length > 1\nfunction getGenericFromWhitelist(whiteList: Array<string>, propsSuffix = \"\") {\n\tif (whiteList.length > 1) {\n\t\treturn `{\n\t\t\t${whiteList\n\t\t\t\t.map((whiteListItem) => {\n\t\t\t\t\treturn `${camelcase(whiteListItem)}?: ${whiteListItem}${propsSuffix}`;\n\t\t\t\t})\n\t\t\t\t.join(\",\")}\n\t\t\t}`;\n\t} else {\n\t\t// Si solo hay un elemento\n\t\treturn whiteList.map((item) => `${item}${propsSuffix}`).join(\"\");\n\t}\n}\n\nfunction schemasToArray(objectSchemas: Record<string, SchemaType>) {\n\treturn Object.keys(objectSchemas).map((componentName) => {\n\t\treturn {\n\t\t\t// This component prop is for the ContentType schemas, ui schemas\n\t\t\t// have already one.\n\t\t\t...objectSchemas[componentName],\n\t\t\tcomponent: componentName,\n\t\t};\n\t});\n}\n\nfunction returnType(type: SchemaFieldTypes) {\n\tconst typeObj: Record<SchemaFieldTypes, FieldReturnTypes> = {\n\t\tArrayFieldGroup: \"Fields.ArrayFieldGroup\",\n\t\tAsyncCheckGroup: \"Fields.AsyncCheckGroup\",\n\t\tAsyncSelect: \"Fields.AsyncSelect\",\n\t\tCheckGroup: \"Fields.CheckGroup\",\n\t\tColorPicker: \"Fields.ColorPicker\",\n\t\tComponentArray: \"Fields.ComponentArray\",\n\t\tComponentContainer: \"Fields.ComponentContainer\",\n\t\tConditionalField: \"Fields.Conditional\",\n\t\tDateField: \"Fields.Date\",\n\t\tFieldGroup: \"Fields.FieldGroup\",\n\t\tFieldsDivider: \"Fields.FieldsDivider\",\n\t\tFileField: \"Fields.File\",\n\t\tHeadingField: \"Fields.Heading\",\n\t\tImageField: \"Fields.Image\",\n\t\tLinkField: \"Fields.Link\",\n\t\tMultiCheckSelect: \"Fields.MultiCheckSelect<Relations>\",\n\t\tMultiCheckSelectGroup: \"Fields.MultiCheckSelectGroup\",\n\t\tNoteField: \"Fields.Note\",\n\t\tNumberField: \"Fields.Number\",\n\t\tRadioGroup: \"Fields.RadioGroup\",\n\t\tReferenceField: \"Fields.Reference\",\n\t\tRichText: \"Fields.RichText\",\n\t\tSelect: \"Fields.Select\",\n\t\tSliderField: \"Fields.Slider\",\n\t\tTextArea: \"Fields.TextArea\",\n\t\tTextField: \"Fields.Text\",\n\t\tToggleField: \"Fields.Toggle\",\n\t\tUniqueCheck: \"Fields.UniqueCheck\",\n\t\tUrlField: \"Fields.Url\",\n\t\tVisualUniqueSelection: \"Fields.VisualUniqueSelection\",\n\t\tWysiwyg: \"Fields.Wysiwyg\",\n\t};\n\treturn typeObj[type];\n}\n\nfunction extendsType(types: Array<string>) {\n\treturn types.filter((typeStr) => typeStr.length).length < 1\n\t\t? \"\"\n\t\t: `extends ${types.join(\", \")}`;\n}\n\nfunction getElementsUnionType(schemas: Array<SchemaType>) {\n\tconst unionOfComponents = [];\n\tconst unionOfModules = [];\n\tconst unionOfTemplates = [];\n\tfor (let length = schemas.length, i = 0; i < length; ++i) {\n\t\tconst schema = schemas[i];\n\t\t// `in` to narrow only schemas with `component` prop\n\t\tif (\"component\" in schema) {\n\t\t\tconst componentName = schema.component;\n\t\t\tif (schema.schemaType === \"component\") {\n\t\t\t\tunionOfComponents.push(`\"${componentName}\"`);\n\t\t\t}\n\t\t\tif (schema.schemaType === \"module\") {\n\t\t\t\tunionOfModules.push(`\"${componentName}\"`);\n\t\t\t}\n\t\t\tif (schema.schemaType === \"template\") {\n\t\t\t\tunionOfTemplates.push(`\"${componentName}\"`);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst ComponentsUnion = `\n\t\texport type Components =\n\t\t\t${unionOfComponents.join(\"|\")}\n\t`;\n\n\tconst ModulesUnion = `\n\t\texport type Modules =\n\t\t\t${unionOfModules.join(\"|\")}\n\t`;\n\n\tconst TemplatesUnion = `\n\t\texport type Templates =\n\t\t\t${unionOfTemplates.join(\"|\")}\n\t`;\n\n\treturn `\n\t\t${ComponentsUnion}\n\t\t${ModulesUnion}\n\t\t${TemplatesUnion}\n\t`;\n}\n\nexport {\n\textendsType,\n\tgetAllFields,\n\tgetElementsUnionType,\n\tgetGenericFromOptions,\n\tgetGenericFromWhitelist,\n\tgetInterfacePropType,\n\treturnType,\n\tschemasToArray,\n\tgetGenericFromCheckBoxOptions,\n};\n","import * as PageContentType_Fields from \"../../types/schema-fields/page-content-type-fields\";\nimport { PageContentTypeFields } from \"../../types/schema-fields/page-content-type-fields\";\nimport {\n\tThemeVisualUniqueSelection,\n\tThumbnailOption,\n} from \"../../types/schema-fields/props\";\nimport { SimpleContentTypeFields } from \"../../types/schema-fields/simple-content-type-fields\";\nimport * as UI_Fields from \"../../types/schema-fields/ui-fields\";\nimport { UIFields } from \"../../types/schema-fields/ui-fields\";\nimport { KindSchema, SchemaTypeWithComponentProp } from \"./types\";\nimport {\n\textendsType,\n\tgetAllFields,\n\tgetGenericFromCheckBoxOptions,\n\tgetGenericFromOptions,\n\tgetGenericFromWhitelist,\n\tgetInterfacePropType,\n\treturnType,\n} from \"./utils\";\n\nfunction getTypesFromSchemas(\n\tschemas: Array<SchemaTypeWithComponentProp>,\n\toptions: {\n\t\tinterfaceSuffix: string;\n\t\tcontentTypeSuffix: string;\n\t}\n) {\n\t// Map over every schema\n\treturn schemas\n\t\t.map((schema) => {\n\t\t\tlet kind: KindSchema;\n\t\t\tlet contentTypeSuffixStr = \"\";\n\t\t\tlet contentTypeName = \"\";\n\t\t\tlet componentName = \"\";\n\t\t\tlet relationsGeneric;\n\n\t\t\tconst { component } = schema;\n\t\t\tconst { interfaceSuffix, contentTypeSuffix } = options;\n\t\t\tconst hasRelations = schema._autoType?.relations || false;\n\t\t\t// Si el schema va a tener un field al que se le pueda pasar un\n\t\t\t// relations este es pasado por un genérico en la interfaz que se\n\t\t\t// pondrá si `schema._autoType === true`.\n\t\t\trelationsGeneric = hasRelations ? \"<Relations = unknown>\" : \"\";\n\n\t\t\tif (\"fromPage\" in schema) {\n\t\t\t\t// ContentType schema\n\t\t\t\t// -------------------------------------------------------------\n\t\t\t\tkind = schema.fromPage ? \"pageContentType\" : \"simpleContentType\";\n\t\t\t\tcontentTypeSuffixStr = contentTypeSuffix;\n\t\t\t\tcontentTypeName = `contentTypeName: \"${schema.component}\";`;\n\t\t\t\t// En el caso de los schemas de ContentType se pondrá siempre el\n\t\t\t\t// genérico a unknown para así poder pasarle el relations en el\n\t\t\t\t// componente de React, por ejemplo cuando se uutilice en Type\n\t\t\t\t// en un hook como `useContentType`\n\t\t\t\t// `useList<AutoTypes.MEMBERContentType<true>>()`\n\t\t\t\t// ^\n\t\t\t\t// relations\n\t\t\t\trelationsGeneric = \"<Relations = unknown>\";\n\t\t\t} else {\n\t\t\t\t// UI schema\n\t\t\t\t// -------------------------------------------------------------\n\t\t\t\tkind = schema.schemaType;\n\t\t\t\tcomponentName = `component: \"${component}\";`;\n\t\t\t}\n\n\t\t\t// Props for the interface\n\t\t\tconst propsFromFields = getAllFields(schema)\n\t\t\t\t.map((field) => getTypeFromField(field, kind, options))\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(\"\");\n\n\t\t\t// Template with mode: list\n\t\t\t// This kind of templates return several extra properties from the build phase.\n\t\t\tconst isListTemplate =\n\t\t\t\tkind === \"template\" && \"type\" in schema && schema.type.mode === \"list\";\n\n\t\t\tconst extraListTemplateProps = isListTemplate\n\t\t\t\t? `Fields.ExtraListTemplateProps`\n\t\t\t\t: \"\";\n\n\t\t\t// Extra extends for the interface\n\t\t\tconst extendsString = extendsType([extraListTemplateProps]);\n\n\t\t\t// interface string\n\t\t\treturn `\n\t\t\t\texport interface ${component}${contentTypeSuffixStr}${interfaceSuffix}${relationsGeneric} ${extendsString} {\n\t\t\t\t\t${contentTypeName}\n\t\t\t\t\t${componentName}\n\t\t\t\t\t${propsFromFields}\n\t\t\t\t}`;\n\t\t})\n\t\t.join(\"\");\n}\n\nfunction getTypeFromField(\n\tfield: UIFields | SimpleContentTypeFields | PageContentTypeFields,\n\tkind: KindSchema,\n\toptions: {\n\t\tinterfaceSuffix: string;\n\t\tcontentTypeSuffix: string;\n\t}\n): string | undefined {\n\tconst { type, _autoType, key } = field;\n\tconst { interfaceSuffix } = options;\n\n\t// Ignore type generation\n\tif (_autoType?.ignore) {\n\t\treturn undefined;\n\t}\n\n\tif (!type || !key) {\n\t\treturn `\n\t\t\t/** · (ノ-_-)ノ ミ ┴┴ You forgot to write the \\`type\\` | \\`key\\` prop for the field ! */\n\t\t`;\n\t}\n\n\t// Simples\n\t// type === \"TextField\" --> key: Fields.Text\n\tif (\n\t\ttype === \"AsyncCheckGroup\" ||\n\t\ttype === \"DateField\" ||\n\t\ttype === \"FileField\" ||\n\t\ttype === \"ImageField\" ||\n\t\ttype === \"MultiCheckSelect\" ||\n\t\ttype === \"NoteField\" ||\n\t\ttype === \"NumberField\" ||\n\t\ttype === \"RichText\" ||\n\t\ttype === \"SliderField\" ||\n\t\ttype === \"TextArea\" ||\n\t\ttype === \"TextField\" ||\n\t\ttype === \"ToggleField\" ||\n\t\ttype === \"UniqueCheck\" ||\n\t\ttype === \"UrlField\" ||\n\t\ttype === \"Wysiwyg\"\n\t) {\n\t\treturn getInterfacePropType(field);\n\t}\n\n\t// ColorPicker\n\tif (type === \"ColorPicker\") {\n\t\tif (field.isThemePalette) {\n\t\t\treturn getInterfacePropType(field, {\n\t\t\t\treturnTypeName: \"Fields.ColorPickerFixed\",\n\t\t\t});\n\t\t}\n\t\treturn getInterfacePropType(field);\n\t}\n\n\t// Generic with options.values\n\t// type === \"Heading\" --> key: Fields.Heading<\"h1\"|\"h2\">\n\tif (type === \"HeadingField\" || type === \"RadioGroup\" || type === \"Select\") {\n\t\tconst { options } = field;\n\t\tconst generic = getGenericFromOptions(options);\n\t\treturn getInterfacePropType(field, { generic });\n\t}\n\n\t// Generic with options.name\n\t// type === \"CheckGroup\" --> key: Fields.Heading<\"a\"|\"b\">\n\tif (type === \"CheckGroup\") {\n\t\tconst { options } = field;\n\t\tconst generic = getGenericFromCheckBoxOptions(options);\n\t\treturn getInterfacePropType(field, { generic });\n\t}\n\n\t// Generic with relatinons\n\t// if (type === \"MultiCheckSelect\") {\n\t// \tconst generic = field._autoType?.relations ? \"Relations\" : \"false\";\n\t// \treturn getInterfacePropType(field, returnType(type), generic);\n\t// }\n\n\t// Generic with whitelist\n\t// type === \"LinkField\" --> key: Fields.Link<{video:Video, image:Image}>\n\tif (type === \"LinkField\") {\n\t\tconst { whiteList } = field;\n\n\t\tconst generic = getGenericFromWhitelist(\n\t\t\twhiteList as Array<string>,\n\t\t\tinterfaceSuffix\n\t\t);\n\t\treturn getInterfacePropType(field, { generic });\n\t}\n\n\t// AsyncSelect\n\tif (type === \"AsyncSelect\") {\n\t\t// Entities\n\t\tif (\"entity\" in field) {\n\t\t\t// Menu\n\t\t\tif (field.entity === \"menu_containers\") {\n\t\t\t\treturn `${key}?: Fields.Menu;`;\n\t\t\t}\n\t\t\t// // Pages\n\t\t\t// if (field.entity === \"sites\") {\n\t\t\t// \treturn `${key}?: Fields.Menu;`;\n\t\t\t// }\n\t\t\t// // Sites\n\t\t\t// if (field.entity === \"pages\") {\n\t\t\t// \treturn `${key}?: Fields.Menu;`;\n\t\t\t// }\n\t\t}\n\t\treturn `${key}?: Fields.AsyncSelect;`;\n\t}\n\n\t// FieldGroup\n\t// <Recursive>\n\tif (type === \"FieldGroup\") {\n\t\treturn `\n\t\t\t// << ${type}\n\t\t\t${field.fields.map((field) => getTypeFromField(field, kind, options)).join(\"\")}\n\t\t\t// end >>\n\t\t`;\n\t}\n\n\t// ArrayFieldGroup\n\tif (type === \"ArrayFieldGroup\") {\n\t\tconst doc = _autoType?.doc || \"\";\n\n\t\treturn `\n\t\t\t\\n${doc}\\n${key}?: Fields.ArrayFieldGroup<{${field.fields\n\t\t\t.map((field) => `${field.key}: ${returnType(field.type)}`)\n\t\t\t.join(\",\")}}>;\n\t\t`;\n\t}\n\n\t// ConditionalField\n\t// <Recursive>\n\tif (type === \"ConditionalField\") {\n\t\tconst conditionalChildrenFields = field.fields.map((field) => {\n\t\t\treturn getTypeFromField(field, kind, options);\n\t\t});\n\t\tconst doc = _autoType?.doc || \"\";\n\n\t\treturn `\n\t\t\t// << ${type}\n\t\t\t\\n${doc}\\n${key}?: ${returnType(type)}<${field.options\n\t\t\t.map((option) => `\"${option.value}\"`)\n\t\t\t.join(\"|\")}>;\n\t\t\t${conditionalChildrenFields.join(\"\")}\n\t\t\t// end >>\n\t\t`;\n\t}\n\n\t// ComponentArray\n\t// <Complex>\n\tif (type === \"ComponentArray\") {\n\t\t// El type de Griddo es dinstinto para un ComponentArray si este está\n\t\t// dentro de un template.\n\t\tconst returnTypeName =\n\t\t\tkind === \"template\" || kind === \"pageContentType\"\n\t\t\t\t? \"TemplateSection\"\n\t\t\t\t: \"ComponentArray\";\n\n\t\tconst optional = kind === \"template\" ? \"\" : \"?\";\n\n\t\t// Type assertion, el field ComponentArray solo puede ser UI o Page\n\t\tconst fieldCasted = field as\n\t\t\t| UI_Fields.ComponentArray\n\t\t\t| PageContentType_Fields.ComponentArray;\n\n\t\tconst { key, _autoType, whiteList } = fieldCasted;\n\t\tconst doc = _autoType?.doc || \"\";\n\t\treturn `\\n${doc}\\n${key}${optional}: Fields.${returnTypeName}<${whiteList\n\t\t\t.map((component) => `${component}${interfaceSuffix}`)\n\t\t\t.join(\"|\")}>;`;\n\t}\n\n\t// ComponentContainer\n\t// <Complex>\n\tif (type === \"ComponentContainer\") {\n\t\t// UI\n\t\tif (\n\t\t\tkind === \"object\" ||\n\t\t\tkind === \"component\" ||\n\t\t\tkind === \"module\" ||\n\t\t\tkind === \"template\"\n\t\t) {\n\t\t\tconst FieldCasted = field as UI_Fields.ComponentContainer;\n\t\t\tconst { whiteList } = FieldCasted;\n\n\t\t\tconst generic = getGenericFromWhitelist(\n\t\t\t\twhiteList as Array<string>,\n\t\t\t\tinterfaceSuffix\n\t\t\t);\n\t\t\treturn getInterfacePropType(field, { generic });\n\t\t}\n\t}\n\n\t// ReferenceField\n\tif (type === \"ReferenceField\") {\n\t\tconst { source } = field;\n\t\tconst generic = source\n\t\t\t.map((item) => `${item}ContentType${interfaceSuffix}`)\n\t\t\t.join(\"|\");\n\t\tconst referenceField = getInterfacePropType(field, { generic });\n\t\tconst queriedData = `queriedData?: Fields.QueriedData<${generic}>`;\n\t\treturn `\n\t\t\t${referenceField}\n\t\t\t${queriedData};\n\t\t`;\n\t}\n\n\t// VisualUniqueSelection\n\tif (type === \"VisualUniqueSelection\") {\n\t\tconst withValue = field.options[0] as ThumbnailOption;\n\t\tconst withTheme = field.options[0] as ThemeVisualUniqueSelection;\n\t\tlet generic = \"\";\n\n\t\t// ThumbnailOption\n\t\tif (withValue.value) {\n\t\t\tconst all = field.options as Array<ThumbnailOption>;\n\t\t\tgeneric = all.map((item) => `\"${item.value}\"`).join(\"|\");\n\t\t}\n\n\t\t// ThemeVisualUniqueSelection\n\t\tif (withTheme.theme) {\n\t\t\tconst all = field.options as Array<ThemeVisualUniqueSelection>;\n\t\t\tgeneric = all[0].options.map((i) => `\"${i.value}\"`).join(\"|\");\n\t\t}\n\n\t\treturn getInterfacePropType(field, { generic });\n\t}\n\n\tthrow new Error(\"Wrong schema!\");\n}\n\nexport { getTypesFromSchemas };\n","/* eslint-disable @typescript-eslint/no-var-requires */\nimport path from \"path\";\n\nimport pkgDir from \"pkg-dir\";\n\nimport { main } from \"./common\";\n\nconst rawSchemasFromComponents = path.join(\n\t`${pkgDir.sync(__dirname)}/`,\n\t\"../../../griddo.config.ts\"\n);\n\nconst schemas = require(rawSchemasFromComponents);\n\nmain({\n\t...schemas.schemas.all,\n\t...schemas.schemas.templates,\n\t...schemas.schemas.structuredData,\n});\n","/* eslint-disable @typescript-eslint/no-var-requires */\nimport { writeFile } from \"fs\";\nimport path from \"path\";\n\nimport pkgDir from \"pkg-dir\";\nimport prettier from \"prettier\";\n\nimport { FOOTER_DESIGN, HEAD_DESIGN } from \"./ASCII\";\nimport { getTypesFromSchemas } from \"./type-transforms\";\nimport { SchemaType } from \"./types\";\nimport { schemasToArray, getElementsUnionType } from \"./utils\";\n\n//\n// Config\n//\n\nconst TYPE_FILE_NAME = \"autotypes.d.ts\";\nconst INTERFACE_SUFFIX = \"Props\";\nconst CONTENT_TYPE_SUFFIX = \"ContentType\";\n\n//\n// Main function\n//\n\nexport async function main(schemas: Record<string, SchemaType>) {\n\t//\n\t// Schemas\n\t//\n\n\t// The function `schemasToArray` transform an onbject of schemas into an\n\t// array of them like so:\n\t//\n\t// input:\n\t// `schemas` is an object of schemas like so:\n\t//\t{\n\t//\t\tBasicContent: {\n\t//\t\t\tcomponent: \"BasicContent\",\n\t//\t\t\t...\n\t//\t\t},\n\t//\t\t...\n\t//\t}\n\t//\n\t// output:\n\t// [ {component: \"BasicContent\"}, {component: \"NewsTemplate\"}, ... ]\n\tconst arrayOfSchemas = schemasToArray(schemas);\n\n\t// Get union types for components, modules and tempaltes like so:\n\t// type Components = \"ComponentA\" | \"ComponentB\"\n\t// type Modules = \"ModuleA\" | \"ModuleB\"\n\t// type Templates = \"TemplateA\" | \"TemplateB\"\n\tconst getElementsUnionTypes = getElementsUnionType(arrayOfSchemas);\n\n\t// Generate types (interfaces) as string from every schema\n\t// interface SchemaProps {\n\t// \t\tschemaFieldKey: apiResponsveFieldType\n\t// \t\ttitle: Fields.Heading\n\t//\t\titemsPerPage: Fields.Number\n\t//\t\t...\n\t// }\n\tconst allTypes = getTypesFromSchemas(arrayOfSchemas, {\n\t\tinterfaceSuffix: INTERFACE_SUFFIX,\n\t\tcontentTypeSuffix: CONTENT_TYPE_SUFFIX,\n\t});\n\n\t//\n\t// Prettier\n\t//\n\n\t// Resolve the local prettier config file\n\tconst clientPrettierConfigFile = await prettier.resolveConfigFile();\n\n\t// Get a config from the local file or hardcoded\n\tconst prettierConfig = (await prettier.resolveConfig(\n\t\tclientPrettierConfigFile as string\n\t)) || { useTabs: true };\n\n\t// A bit of formatting!\n\tconst allTypesPrettify = prettier.format(\n\t\t`\n\t\t${HEAD_DESIGN}\n\t\t${allTypes}\n\t\t${getElementsUnionTypes}\n\t\t${FOOTER_DESIGN}\n\t\t`,\n\t\t{\n\t\t\t...prettierConfig,\n\t\t\tparser: \"typescript\",\n\t\t}\n\t);\n\n\t// More formating: remove extra new lines\n\tconst stringData = allTypesPrettify.replace(/^\\s*\\n/gm, \"\");\n\n\t//\n\t// Write it out!\n\t//\n\n\tconst dstPath = path.resolve(pkgDir.sync(__dirname) || \"\", \"../../..\");\n\twriteFile(`${path.join(dstPath, TYPE_FILE_NAME)}`, stringData, (err) => {\n\t\tif (err) throw err;\n\t});\n\n\t// :)\n\tconsole.log(\"🤖 AutoTypes ✓\");\n}\n"],"names":["pathExists","fp","Promise","resolve","fs","access","err","accessSync","pLimit","concurrency","TypeError","queue","activeCount","next","length","shift","fn","reject","run","cb","then","val","push","EndError","Error","constructor","value","super","this","pLocate","iterable","tester","opts","Object","assign","Infinity","preserveOrder","limit","items","Array","from","map","el","checkLimit","all","finder","catch","locatePath","cwd","process","path","sync","findUp","filename","startDir","root","parse","filenames","concat","find","dir","file","join","dirname","pkgDir","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","e","rejected","result","done","apply","camelCase","input","options","isArray","pascalCase","x","trim","filter","toUpperCase","toLowerCase","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","i","character","test","slice","preserveCamelCase","replace","_","p1","m","charAt","module","camelcase","getInterfacePropType","field","returnTypeName","generic","_a","_autoType","doc","key","returnType","type","getGenericFromWhitelist","whiteList","propsSuffix","whiteListItem","item","ArrayFieldGroup","AsyncCheckGroup","AsyncSelect","CheckGroup","ColorPicker","ComponentArray","ComponentContainer","ConditionalField","DateField","FieldGroup","FieldsDivider","FileField","HeadingField","ImageField","LinkField","MultiCheckSelect","MultiCheckSelectGroup","NoteField","NumberField","RadioGroup","ReferenceField","RichText","Select","SliderField","TextArea","TextField","ToggleField","UniqueCheck","UrlField","VisualUniqueSelection","Wysiwyg","getTypesFromSchemas","schemas","schema","kind","relationsGeneric","contentTypeSuffixStr","contentTypeName","componentName","component","interfaceSuffix","contentTypeSuffix","relations","fromPage","schemaType","propsFromFields","taxonomy","fields","content","config","configTabs","tab","flat","getAllFields","getTypeFromField","Boolean","isListTemplate","mode","types","typeStr","ignore","isThemePalette","getGenericFromOptions","name","getGenericFromCheckBoxOptions","entity","conditionalChildrenFields","option","optional","fieldCasted","FieldCasted","source","withValue","withTheme","theme","rawSchemasFromComponents","__dirname","require","arrayOfSchemas","objectSchemas","keys","getElementsUnionTypes","unionOfComponents","unionOfModules","unionOfTemplates","getElementsUnionType","allTypes","clientPrettierConfigFile","prettier","resolveConfigFile","prettierConfig","resolveConfig","useTabs","stringData","format","parser","dstPath","writeFile","console","log","main","templates","structuredData"],"mappings":"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"}
@@ -7,7 +7,7 @@ import "./styles.css";
7
7
  *
8
8
  * Renders an image from the **Griddo** cdn.
9
9
  * Also return a ref with the `<picture>` tag.
10
- * [Documentation](https://www.notion.so/griddoio/GriddoImage-a3973298b4e7447884f29185dae2d07e)
10
+ * @see [Documentation](https://www.notion.so/griddoio/GriddoImage-a3973298b4e7447884f29185dae2d07e)
11
11
  *
12
12
  * @example
13
13
  * <GriddoImage
@@ -5,7 +5,7 @@ import { Url } from "../../types/api-response-fields";
5
5
  *
6
6
  * Renders a router component from internal/external Griddo link.
7
7
  * You may want to use `<GriddoLink>` instead of an `<a>` tag for internal Griddo pages.
8
- * [Documentation](https://www.notion.so/griddoio/GriddoLink-bc4f7cddd1484648b024d4bebe4b74c3)
8
+ * @see [Documentation](https://www.notion.so/griddoio/GriddoLink-bc4f7cddd1484648b024d4bebe4b74c3)
9
9
  *
10
10
  * @example
11
11
  * <GriddoLink
@@ -1,2 +1,2 @@
1
- export declare const HEAD_DESIGN = "/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-use-before-define */\n\n///\n/// ______ ______ _____ ______ ______ _____\n/// | ____ |_____/ | | | | | | |\n/// |_____| | \\_ __|__ |_____/ |_____/ |_____|\n/// _______ _ _ _______ _____ _______ __ __ _____ _______ _______\n/// |_____| | | | | | | \\_/ |_____] |______ |______\n/// | | |_____| | |_____| | | | |______ ______|\n///\n/// Get the benefits of types without typing them!\n///\n/// These types have been generated on the fly from the schemas in this\n/// repository. If you want to extend these types, do so in their own files\n/// since this file will be overritten every time you change the schemas.\n///\n/// Check out the details of Griddo AutoTypes in:\n/// https://griddoio.notion.site/Griddo-AutoTypes-e7420867dd2e489c8da34a493b763cd8>\n///\n/// Happy types!\n///\nimport { Fields } from \"@griddo/core\"\n///\n";
2
- export declare const FOOTER_DESIGN = "\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// ----- The beauty of a living thing is not the atoms that go into it, but ----\n// ----- the way those atoms are put together ----------------------------------\n// -----------------------------------------------------------------------------\n// ----- Carl Sagan ------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n";
1
+ export declare const HEAD_DESIGN = "/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-use-before-define */\n//\n// _/\n// (* *)\n// __)#(__\n// ( )...( )(_)\n// || |_| ||//\n// >==() | | ()/\n// _(___)_\n// [-] [-] AutoTyper\u2122\uFE0F\n//\n// ______ ______ _____ ______ ______ _____\n// | ____ |_____/ | | | | | | |\n// |_____| | \\_ __|__ |_____/ |_____/ |_____|\n// _______ _ _ _______ _____ _______ __ __ _____ _______ _______\n// |_____| | | | | | | \\_/ |_____] |______ |______\n// | | |_____| | |_____| | | | |______ ______|\n//\n// Get the benefits of types without typing them!\n//\n// These types have been generated on the fly from the schemas found in this\n// repository. If you want to extend these types, please don't do so in this\n// file, as AutoTyper will overwrite it every time you make changes to the\n// schemas.\n//\n// Check out the details of Griddo AutoTypes in:\n// https://griddoio.notion.site/Griddo-AutoTypes-e7420867dd2e489c8da34a493b763cd8>\n//\n// Happy types!\n//\nimport { Fields } from \"@griddo/core\"\n//\n";
2
+ export declare const FOOTER_DESIGN = "\n//\n// . + . . . . . . . ..\n// . . . *\n// . * . . . . . . + . +\n// . . . . + . . .\n// . . . . . . .\n// . . . . . +. + . *\n// + . . . .\n// . . . * . . . . + . .\n// + . . . + . .\n// . . + .+. . .\n// . . . + . . . . .\n// . . . . . . . . ! / +\n// * . . . + . . - O -\n// . . . + . . * . . / | . .\n// . + . . . .. + .\n// . . . . * . * . +.. . * +\n// . . . . . . . . + . . +\n//\n//\n// The beauty of a living thing is not the atoms that go into it,\n// but the way those atoms are put together\n//\n// Carl Sagan\n//\n";
@@ -1,5 +1,7 @@
1
1
  import { Theme } from "../..";
2
2
  /**
3
+ * `useGlobalTheme()`
4
+ *
3
5
  * Returns global theme definition and its primitives values.
4
6
  */
5
7
  declare function useGlobalTheme(themeFile: Theme.GriddoTheme): Theme.GlobalTheme;
@@ -1,6 +1,8 @@
1
1
  import { Theme } from "../..";
2
2
  import { UseThemeProps } from "./types";
3
3
  /**
4
+ * `useTheme()`
5
+ *
4
6
  * This hook can be used to get a specific theme, given its id.
5
7
  * If theme id is not specified, it will return all themes.
6
8
  */
@@ -1,6 +1,8 @@
1
1
  import { Theme } from "../..";
2
2
  import { UseThemeColorsProps } from "./types";
3
3
  /**
4
+ * `useThemeColors()`
5
+ *
4
6
  * This hook can be used to get all color primitives from the given theme.
5
7
  * If theme is not specified, it will return color primitives for all themes.
6
8
  */
@@ -1,6 +1,8 @@
1
1
  import { Theme } from "../..";
2
2
  import { UseThemeFontProps } from "./types";
3
3
  /**
4
+ * `useThemeFont()`
5
+ *
4
6
  * This hook can be used to get font related primitives from the given theme and subtheme.
5
7
  * If theme or subtheme are not specified, it will return font primitives for all themes and subthemes.
6
8
  */
@@ -1,6 +1,8 @@
1
1
  import { Theme } from "../..";
2
2
  import { UseThemePrimitivesProps } from "./types";
3
3
  /**
4
+ * `useThemePrimitives()`
5
+ *
4
6
  * This hook can be used to get a specific group of primitives from the given theme and subtheme.
5
7
  * If theme or subtheme are not specified, it will return primitives for all themes and subthemes.
6
8
  */
@@ -1,11 +1,20 @@
1
1
  import { Fields } from "..";
2
- interface UseContentTypeProps<ContentType> {
2
+ /**
3
+ * `useContentType<ContentType>()`
4
+ *
5
+ * Returns an array of the ContentType data.
6
+ * The hook abstracts the dual behaviour of the ContentTypes inside Griddo and it will always returns the same value and type regardless the context: editor or build phase.
7
+ * Also the hook accepts a generic type to idicates the return type of the hook.
8
+ *
9
+ * @param options.data The property of the ReferenceField.
10
+ * @param options.queriedData The property returned by the build phase with the data queried.
11
+ * @example
12
+ * useContentType<NewsContentTypeProps>({ data, queriedItems })
13
+ */
14
+ declare function useContentType<ContentType>({ data, queriedData, }: {
3
15
  /** The ReferenceField from the module schema */
4
16
  data?: Fields.Reference<ContentType>;
5
17
  /** The queriedData prop from the building phase */
6
18
  queriedData?: Fields.QueriedData<ContentType>;
7
- /** --to-be-implemented-- ContentType prop to be processed */
8
- contentType?: never;
9
- }
10
- declare function useContentType<ContentType>({ data, queriedData, }: UseContentTypeProps<ContentType>): Fields.QueriedData<ContentType> | undefined;
19
+ }): Fields.QueriedData<ContentType> | undefined;
11
20
  export { useContentType };
@@ -3,6 +3,7 @@ import { SetQueryProps } from "../types/global";
3
3
  * `useDataFilters()`
4
4
  *
5
5
  * Returns an object with filter information to use with ContentTypes.
6
+ *
6
7
  * @example
7
8
  * const [{ query }, setQuery] = useDataFilters()
8
9
  * setQuery(data) // `data` from a `ReferenceField`
@@ -4,13 +4,12 @@ import { Locale } from "../types/core";
4
4
  *
5
5
  * Hook que devuelve funciones para obtener las traducciones desde el contexto
6
6
  * teniendo en cuenta el idioma de la página actual.
7
- * [Documentación](https://www.notion.so/griddoio/useI18n-021b08689dcf4abd8f666da7b7646611)
7
+ * @see [Documentación](https://www.notion.so/griddoio/useI18n-021b08689dcf4abd8f666da7b7646611)
8
+ *
8
9
  * @example
9
- * ```typescript
10
10
  * const { getTraslation, getNestedTranslation } = useI18n()
11
11
  * const foo = getTranslation("submitButtonLabel")
12
12
  * const bar = getNestedTranslation("modules.backLabel")
13
- * ```
14
13
  */
15
14
  declare function useI18n(props?: UseI18nProps): I18nFunctions;
16
15
  export interface UseI18nProps {
@@ -3,6 +3,7 @@ import { SetQueryProps } from "../types/global";
3
3
  * `useList()`
4
4
  *
5
5
  * Hook with which to obtain a list of ContentTypes from the public API.
6
+ *
6
7
  * @example
7
8
  * const [{ query }, setQuery] = useList()
8
9
  * setQuery(data) // `data` from a `ReferenceField`
@@ -3,7 +3,8 @@ import { PageContextProps } from "../contexts/Page";
3
3
  * `usePage()`
4
4
  *
5
5
  * Hook to get some page properties.
6
- * [Documentation](https://www.notion.so/griddoio/usePage-2a781f907cf74b4f8df6a4fbe0d8f399)
6
+ * @see [Documentation](https://www.notion.so/griddoio/usePage-2a781f907cf74b4f8df6a4fbe0d8f399)
7
+ *
7
8
  * @example
8
9
  * const { title } = usePage()
9
10
  */
@@ -2,10 +2,15 @@ import { Fields } from "..";
2
2
  /**
3
3
  * `useReferenceFieldData<ContentType>()`
4
4
  *
5
- * Hook para obtener el contenido de los datos a partir de un `ReferenceField`
6
- * [Documentación](https://www.notion.so/griddoio/useReferenceFieldData-9eca3bc618464c5c9bee67f3a9607138)
5
+ * Returns an array of the ContentType data from the ReferenceField. This hooks only works in the context of the Griddo editor.
6
+ * @see [Documentación](https://www.notion.so/griddoio/useReferenceFieldData-9eca3bc618464c5c9bee67f3a9607138)
7
+ *
8
+ * @param data The property of the ReferenceField.
9
+ *
7
10
  * @example
8
11
  * const dataItems = useReferenceFieldData<NewsContentType>(data)
9
12
  */
10
- declare function useReferenceFieldData<GriddoContentType = unknown>(data?: Fields.Reference<GriddoContentType>): Fields.QueriedData<GriddoContentType> | undefined | null;
13
+ declare function useReferenceFieldData<ContentType = unknown>(
14
+ /** The ReferenceField from the module schema */
15
+ data?: Fields.Reference<ContentType>): Fields.QueriedData<ContentType> | undefined | null;
11
16
  export { useReferenceFieldData };
@@ -2,7 +2,8 @@
2
2
  * `useSession()`
3
3
  *
4
4
  * Hook to read/write any data in the context throughout the session in CX.
5
- * [Documentation](https://www.notion.so/griddoio/useSession-e446c9f55af34d09b8c27c1fcff529c3)
5
+ * @see [Documentation](https://www.notion.so/griddoio/useSession-e446c9f55af34d09b8c27c1fcff529c3)
6
+ *
6
7
  * @example
7
8
  * const [state, setState] = useSession()
8
9
  */
@@ -3,7 +3,8 @@ import { Site } from "../types/core";
3
3
  * `useSite()`
4
4
  *
5
5
  * Hook to get some site properties.
6
- * [Documentation](https://www.notion.so/griddoio/useSite-6d8065726c03409f9f884515ecab2eca)
6
+ * @see [Documentation](https://www.notion.so/griddoio/useSite-6d8065726c03409f9f884515ecab2eca)
7
+ *
7
8
  * @example
8
9
  * const { renderer } = useSite()
9
10
  */