UNPKG

one-schema

Version:
35 lines (34 loc) 1.53 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateSequelizeSchema = void 0; var convertors_1 = __importDefault(require("./convertors")); function convertFieldToSequelize(Sequelize, field) { if (!field.settings.type) { throw new Error("convertFieldToSequelize error: field.settings.type undefined!"); } var typeConvertor = convertors_1.default[field.settings.type]; if (!convertors_1.default.hasOwnProperty(field.settings.type) || typeof typeConvertor !== 'function') { throw new Error("Missing type '" + field.settings.type + "' for sequelize!"); } return typeConvertor(Sequelize, field); } function generateSequelizeSchema(Sequelize, fieldValidator) { var fvSchema = fieldValidator.settings.schema; if (fieldValidator.settings.type !== 'object' || !fvSchema) { throw new Error('Can not generate schema from fieldValidator unless type is object!'); } if (fieldValidator.settings.type !== 'object' || !fieldValidator.settings.schema) { throw new Error('Can not generate schema from fieldValidator!'); } var sequelizeSchema = {}; Object.keys(fvSchema) .forEach(function (k) { sequelizeSchema[k] = convertFieldToSequelize(Sequelize, fvSchema[k]); }); return sequelizeSchema; } exports.generateSequelizeSchema = generateSequelizeSchema;