mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
1 line
8.1 KiB
JSON
1 line
8.1 KiB
JSON
|
|
{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { taskHolder } from \"../connection/taskHolder.js\";\nimport { ModelAPIRequest } from \"../models/model-manager.js\";\nimport { uniqueGenerator } from \"../utils.js\";\nexport class transactionOnCommit {\n static prepare(Model) {\n const TableSchema = Model.getTableSchema();\n const DatabaseSchema = Model.getDBSchema();\n const databaseName = DatabaseSchema.databaseName;\n const table = TableSchema.name;\n this.stores[databaseName] = {};\n this.stores[databaseName][table] = {};\n }\n static subscribe(Model, callback) {\n var _this = this;\n const TableSchema = Model.getTableSchema();\n const DatabaseSchema = Model.getDBSchema();\n const databaseName = DatabaseSchema.databaseName;\n const table = TableSchema.name;\n const SubscriptionName = databaseName + table;\n const queryId = uniqueGenerator();\n let subscribe = false;\n this.stores[databaseName][table][queryId] = callback;\n if (!this.subscription[SubscriptionName]) {\n //\n const args = {\n type: 'transactionOnCommit',\n subscribe: true\n };\n ModelAPIRequest.obj(DatabaseSchema, TableSchema).trigger(args, SubscriptionName, /*#__PURE__*/_asyncToGenerator(function* () {\n subscribe = true;\n taskHolder.updateFunction(SubscriptionName, 'callback', () => {\n for (const [requestId, callback] of Object.entries(_this.stores[databaseName][table])) {\n callback();\n }\n });\n }));\n }\n return {\n queryId,\n subscribe,\n unsubscribe: () => {\n return new Promise((resolve, reject) => {\n delete this.stores[databaseName][table][queryId];\n if (Object.keys(this.stores[databaseName][table]).length == 0) {\n ModelAPIRequest.obj(DatabaseSchema, TableSchema).trigger({\n type: 'transactionOnCommit',\n subscribe: false\n }, SubscriptionName, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (data) {\n delete _this.subscription[SubscriptionName];\n taskHolder.finish(SubscriptionName);\n resolve(data);\n });\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n } else {\n resolve(true);\n }\n });\n }\n };\n }\n}\ntransactionOnCommit.stores = {};\ntransactionOnCommit.subscription = {};","map":{"version":3,"names":["taskHolder","ModelAPIRequest","uniqueGenerator","transactionOnCommit","prepare","Model","TableSchema","getTableSchema","DatabaseSchema","getDBSchema","databaseName","table","name","stores","subscribe","callback","_this","SubscriptionName","queryId","subscription","args","type","obj","trigger","_asyncToGenerator","updateFunction","requestId","Object","entries","unsubscribe","Promise","resolve","reject","keys","length","_ref2","data","finish","_x","apply","arguments"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/beast-orm/dist/src/triggers/transaction.js"],"sourcesContent":["import { taskHolder } from \"../connection/taskHolder.js\";\r\nimport { ModelAPIRequest } from \"../models/model-manager.js\";\r\nimport { uniqueGenerator } from \"../utils.js\";\r\nexport class transactionOnCommit {\r\n static prepare(Model) {\r\n const TableSchema = Model.getTableSchema();\r\n const DatabaseSchema = Model.getDBSchema();\r\n const databaseName = DatabaseSchema.databaseName;\r\n const table = TableSchema.name;\r\n this.stores[databaseName] = {};\r\n this.stores[databaseName][table] = {};\r\n }\r\n static subscribe(Model, callback) {\r\n const TableSchema = Model.getTableSchema();\r\n const DatabaseSchema = Model.getDBSchema();\r\n const databaseName = DatabaseSchema.
|