UNPKG

@exivity/proton

Version:
89 lines (73 loc) 3.51 kB
function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } var fs = require('fs'); var path = require('path'); var babel = require('@babel/core'); var pathUtils = './src/OrbitClient/utils'; var pathEntity = './src/OrbitClient/entity'; fs.readFile('./src/OrbitClient/occonfig.json', 'utf8', function (err, data) { if (err) throw err; var relativeSchemaPathConfig = JSON.parse(data).schema; var relativeSchemaPath = path.join.apply(path, _toConsumableArray(relativeSchemaPathConfig.split('/'))); fs.readFile(relativeSchemaPath, 'utf8', function (err, data) { if (err) throw err; babel.transformFile(relativeSchemaPath, { presets: ['@babel/preset-env'] }, function (err, result) { if (err) throw err; fs.writeFile(pathUtils + '/tempSchema.js', result.code, function (err) { if (err) throw err; console.log('Created temporary schema file...'); var schema = require('./tempSchema'); var models = Object.keys(schema.default.models); models.forEach(function (model) { createRecordComponent(model); createRecordsComponent(model); }); fs.unlink(pathUtils + '/tempSchema.js', function (err) { if (err) throw err; console.log('Deleted temporary schema file...'); }); }); }); }); }); var capitalize = function capitalize(_ref) { var _ref2 = _toArray(_ref), first = _ref2[0], rest = _ref2.slice(1); return first.toUpperCase() + rest.join(''); }; var createRecordComponent = function createRecordComponent(model) { fs.readFile(pathUtils + '/templates/entity.js', 'utf8', function (err, result) { if (err) throw err; var capitalizedModel = capitalize(model); var component = result.replace(/_Entity/g, capitalizedModel); var finished = component.replace(/_entity/g, model); var savePath = pathEntity + '/' + capitalizedModel + '.js'; fs.writeFile(savePath, finished, function (err) { if (err) throw err; console.log('Created: ', savePath); }); }); }; var createRecordsComponent = function createRecordsComponent(model) { fs.readFile(pathUtils + '/templates/entities.js', 'utf8', function (err, result) { if (err) throw err; var capitalizedModel = capitalize(model) + 's'; var Entities = result.replace(/_Entities/g, capitalizedModel); var entity = Entities.replace(/_entity/g, model); var entities = entity.replace(/_entities/g, model + 's'); var savePath = pathEntity + '/' + capitalizedModel + '.js'; fs.writeFile(savePath, entities, function (err) { if (err) throw err; console.log('Created: ', savePath); }); }); }; //# sourceMappingURL=createStoryBookEntities.js.map