Files
doneit-web/.angular/cache/14.2.12/babel-webpack/2227f8e2ab071484d476aa640ac17315.json
T

1 line
48 KiB
JSON
Raw Normal View History

2023-06-30 09:54:21 +01:00
{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { Model } from './model.js';\nimport { LocalStorageModelReader, ModelReader } from './model.reader.js';\nimport { OneToOneField, ForeignKey, ManyToManyField } from './field/allFields.js';\nimport { uncapitalize, uniqueGenerator } from '../utils.js';\nimport { FieldType } from '../sql/query/interface.js';\nimport { ModelMigrations } from './mode-migrations.js';\nimport { ModelAPIRequest } from './model-manager.js';\nimport { transactionOnCommit } from '../triggers/transaction.js';\nimport { IndexedDB } from '../connection/indexedDb/connector.js';\nexport const models = {};\nexport const modelsConfig = {};\nexport const modelsLocalStorage = {};\nexport const modelsConfigLocalStorage = {};\nexport function migrate(register) {\n if (register.type == 'indexedDB') {\n registerModel.register(register);\n } else if (register.type == 'localStorage') {\n registerLocalStorage.register(register);\n }\n}\nexport class registerModel {\n static register(entries) {\n return _asyncToGenerator(function* () {\n var _a, _b, _c;\n const databaseSchema = {\n databaseName: entries.databaseName || uniqueGenerator(),\n version: entries.version,\n type: entries.type,\n stores: []\n };\n for (const modelClassRepresentations of entries.models) {\n const ModelName = modelClassRepresentations.getModelName();\n models[ModelName] = modelClassRepresentations;\n }\n let index = 0;\n for (const modelClassRepresentations of entries.models) {\n const {\n fields,\n modelName,\n attributes,\n fieldTypes\n } = ModelReader.read(modelClassRepresentations);\n const idFieldName = (_a = attributes === null || attributes === void 0 ? void 0 : attributes.primaryKey) === null || _a === void 0 ? void 0 : _a.shift();\n databaseSchema.stores.push({\n name: modelName,\n id: {\n keyPath: idFieldName || 'id',\n autoIncrement: fields[idFieldName] ? ((_b = fields[idFieldName]) === null || _b === void 0 ? void 0 : _b.primaryKey) == true : true,\n type: FieldType.INT\n },\n attributes: attributes,\n fields: [],\n fieldTypes\n });\n for (const [fieldName, Field] of Object.entries(fields)) {\n // dont register fields that is primary key and auto increment\n if (!((Field === null || Field === void 0 ? void 0 : Field.primaryKey) && (Field === null || Field === void 0 ? void 0 : Field.autoIncrement)) && !((_c = fieldTypes['ManyToManyField']) === null || _c === void 0 ? void 0 : _c.includes(fieldName))) {\n const removeReferenceField = Object.assign({}, Field);\n if (removeReferenceField === null || removeReferenceField === void 0 ? void 0 : removeReferenceField.model) {\n removeReferenceField.model = removeReferenceField.model.getModelName();\n }\n databaseSchema.stores[index].fields.push({\n name: fieldName,\n keyPath: fieldName,\n options: {\n unique: (Field === null || Field === void 0 ? void 0 : Field.unique) || false,\n type: Field.type\n },\n className: Field === null || Field === void 0 ? void 0 : Field.fieldName,\n fieldAttributes: Object.assign({}, removeReferenceField)\n });\n }\n if (Field instanceof OneToOneField) {\n yield ModelEditor.addMethodOneToOneField(Field, fieldName, modelName, databaseSchema);\n } else if (Field instanceof ForeignKey) {\n yield ModelEditor.addMethodForeignKey(Field, fieldName, modelName, databaseSchema);\n } else if (Field instanceof ManyToManyField) {\n yield ModelEditor.addMethodManyToManyField(Field, fieldName, modelName, databaseSchema);\n }\n