UNPKG

one-schema

Version:
45 lines (44 loc) 1.57 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var int32_1 = __importDefault(require("./int32")); var string_1 = __importDefault(require("./string")); var float64_1 = __importDefault(require("./float64")); function boolToSequelize(Sequelize, _field) { return { type: Sequelize.BOOLEAN, }; } function objectToSequelize(Sequelize, _field) { return { type: Sequelize.JSON, }; } var SEQUELIZE_TYPE_MAP = { int32: int32_1.default, string: string_1.default, bool: boolToSequelize, float64: float64_1.default, object: objectToSequelize, array: arrayToSequelize, }; function arrayToSequelize(Sequelize, field) { if (field.settings.type !== 'array') { throw new Error("float64ToSequelize called on field with type: " + field.settings.type); } var element = field.settings.arrayOf; if (!element) { throw new Error("Cannot convert array field to sequelize because the arrayOf schema is not defined for the array field"); } var elementType = element.settings.type; if (!elementType) { throw new Error("Cannot convert array field to sequelize because the arrayOf schema's type is not defined for the array field"); } var convertedType = SEQUELIZE_TYPE_MAP[elementType](Sequelize, element).type; return { type: Sequelize.ARRAY(convertedType), }; } exports.default = SEQUELIZE_TYPE_MAP;