UNPKG

@grandlinex/bundle-sqlight

Version:

> SQLight support GrandlineX using better-sqlite3

32 lines (31 loc) 1.18 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = mappingWithDataType; const resolveDBType_js_1 = __importDefault(require("./resolveDBType.js")); function mappingWithDataType(meta, out, key) { if (!meta.dataType) { throw new Error('DataType not set'); } if (meta.dataType === 'serial') { out.push(`${String(key)} INTEGER AUTOINCREMENT NOT NUL`); } else { let canBeNull = `${meta.canBeNull ? '' : ' NOT NULL'}`; if (meta.primaryKey) { canBeNull = ' NOT NULL PRIMARY KEY'; } const unique = `${meta.unique ? ' UNIQUE' : ''}`; let foreignKey; if (meta.foreignKey && !meta.foreignKey.schema) { foreignKey = ` REFERENCES ${meta.foreignKey.relation}(${meta.foreignKey.key})`; } else { foreignKey = ''; } const dbType = (0, resolveDBType_js_1.default)(meta.dataType); out.push(`${String(key)} ${dbType}${foreignKey}${canBeNull}${unique}`); } }