@rolster/vinegar 3.3.5 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +101 -60
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/index.js +101 -61
- package/dist/es/index.js.map +1 -1
- package/dist/esm/datasource.d.ts +2 -2
- package/dist/esm/datasource.js.map +1 -1
- package/dist/esm/entity-manager.d.ts +15 -10
- package/dist/esm/entity-manager.js +99 -64
- package/dist/esm/entity-manager.js.map +1 -1
- package/dist/esm/entity.d.ts +5 -0
- package/dist/esm/entity.js +5 -0
- package/dist/esm/entity.js.map +1 -1
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -109,110 +109,145 @@ class AbstractEntityManager {
|
|
|
109
109
|
class EntityManager {
|
|
110
110
|
constructor(dataSource) {
|
|
111
111
|
this.dataSource = dataSource;
|
|
112
|
-
this.
|
|
113
|
-
this.
|
|
114
|
-
this.
|
|
115
|
-
this.
|
|
116
|
-
this.
|
|
117
|
-
this.
|
|
112
|
+
this._persists = [];
|
|
113
|
+
this._persistsList = [];
|
|
114
|
+
this._syncs = [];
|
|
115
|
+
this._refreshs = [];
|
|
116
|
+
this._procedures = [];
|
|
117
|
+
this._hiddens = [];
|
|
118
|
+
this._destroys = [];
|
|
118
119
|
this.uuid = v4();
|
|
119
|
-
this.
|
|
120
|
+
this._relations = new Map();
|
|
120
121
|
}
|
|
121
122
|
persist(persist) {
|
|
122
|
-
this.
|
|
123
|
+
this._persists.push(persist);
|
|
123
124
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
relationable && this.relation(entity, model);
|
|
127
|
-
this.refreshs.push(refresh);
|
|
125
|
+
persists(persists) {
|
|
126
|
+
this._persistsList.push(persists);
|
|
128
127
|
}
|
|
129
128
|
sync(sync) {
|
|
130
129
|
const { entity, model, relationable } = sync;
|
|
131
130
|
relationable && this.relation(entity, model);
|
|
132
|
-
this.
|
|
131
|
+
this._syncs.push(sync);
|
|
132
|
+
}
|
|
133
|
+
refresh(refresh) {
|
|
134
|
+
const { entity, model, relationable } = refresh;
|
|
135
|
+
relationable && this.relation(entity, model);
|
|
136
|
+
this._refreshs.push(refresh);
|
|
137
|
+
}
|
|
138
|
+
procedure(procedure) {
|
|
139
|
+
this._procedures.push(procedure);
|
|
133
140
|
}
|
|
134
141
|
destroy(entity) {
|
|
135
142
|
const result = this.select(entity);
|
|
136
143
|
if (result.isSuccess) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
: this.destroys.push(model);
|
|
144
|
+
!modelIsHideable(result.value)
|
|
145
|
+
? this._destroys.push(result.value)
|
|
146
|
+
: this._hiddens.push(result.value);
|
|
141
147
|
}
|
|
142
148
|
}
|
|
143
|
-
procedure(procedure) {
|
|
144
|
-
this.procedures.push(procedure);
|
|
145
|
-
}
|
|
146
149
|
relation(entity, model) {
|
|
147
|
-
this.
|
|
150
|
+
this._relations.set(entity, model);
|
|
148
151
|
}
|
|
149
152
|
link(entity, model) {
|
|
150
153
|
this.relation(entity, model);
|
|
151
154
|
return entity;
|
|
152
155
|
}
|
|
153
156
|
select(entity) {
|
|
154
|
-
const model = this.
|
|
157
|
+
const model = this._relations.get(entity);
|
|
155
158
|
return model
|
|
156
159
|
? commons.ResultFactory.success(model)
|
|
157
160
|
: commons.ResultFactory.failure('Not found');
|
|
158
161
|
}
|
|
159
162
|
async flush() {
|
|
160
|
-
const
|
|
163
|
+
const persists = [
|
|
161
164
|
...(await this.persistAll()),
|
|
162
|
-
...(await this.
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
...(await this.persistListAll())
|
|
166
|
+
];
|
|
167
|
+
const syncs = await this.syncAll();
|
|
168
|
+
const refreshs = await this.refreshAll();
|
|
169
|
+
const procedures = await this.procedureAll();
|
|
170
|
+
const [hiddens, destroys] = await Promise.all([
|
|
171
|
+
this.hiddenAll(),
|
|
172
|
+
this.destroyAll()
|
|
173
|
+
]);
|
|
174
|
+
const results = [
|
|
175
|
+
...persists,
|
|
176
|
+
...syncs,
|
|
177
|
+
...refreshs,
|
|
178
|
+
...procedures,
|
|
179
|
+
...hiddens,
|
|
180
|
+
...destroys
|
|
167
181
|
];
|
|
168
182
|
this.dispose();
|
|
169
183
|
return results;
|
|
170
184
|
}
|
|
171
185
|
dispose() {
|
|
172
|
-
this.
|
|
173
|
-
this.
|
|
174
|
-
this.
|
|
175
|
-
this.
|
|
176
|
-
this.
|
|
177
|
-
this.
|
|
178
|
-
this.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
186
|
+
this._relations.clear();
|
|
187
|
+
this._persists = [];
|
|
188
|
+
this._persistsList = [];
|
|
189
|
+
this._refreshs = [];
|
|
190
|
+
this._syncs = [];
|
|
191
|
+
this._hiddens = [];
|
|
192
|
+
this._destroys = [];
|
|
193
|
+
this._procedures = [];
|
|
194
|
+
}
|
|
195
|
+
async persistAll() {
|
|
196
|
+
const results = [];
|
|
197
|
+
for (const persist of this._persists) {
|
|
182
198
|
const model = await commons.fromPromise(persist.create(this));
|
|
183
199
|
persist.relationable && this.relation(persist.entity, model);
|
|
184
|
-
|
|
185
|
-
}
|
|
186
|
-
return
|
|
200
|
+
results.push(await this.dataSource.insert(model));
|
|
201
|
+
}
|
|
202
|
+
return results;
|
|
203
|
+
}
|
|
204
|
+
async persistListAll() {
|
|
205
|
+
const results = [];
|
|
206
|
+
for (const persists of this._persistsList) {
|
|
207
|
+
const models = await commons.fromPromise(persists.create(this));
|
|
208
|
+
for (const model of models) {
|
|
209
|
+
results.push(await this.dataSource.insert(model));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return results;
|
|
187
213
|
}
|
|
188
214
|
syncAll() {
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
.
|
|
215
|
+
const syncs = this._syncs.filter(({ model }) => !modelIsHideable(model)
|
|
216
|
+
? !this._destroys.includes(model)
|
|
217
|
+
: !this._hiddens.includes(model));
|
|
218
|
+
const syncs$ = [];
|
|
219
|
+
syncs.forEach((sync) => {
|
|
192
220
|
const dirty = sync.verify(this);
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
.map(([model, dirty]) => {
|
|
197
|
-
return this.dataSource.update(model, dirty);
|
|
221
|
+
if (dirty) {
|
|
222
|
+
syncs$.push(this.dataSource.update(sync.model, dirty));
|
|
223
|
+
}
|
|
198
224
|
});
|
|
199
|
-
return Promise.all(
|
|
225
|
+
return Promise.all(syncs$);
|
|
200
226
|
}
|
|
201
|
-
refreshAll() {
|
|
202
|
-
const
|
|
203
|
-
const
|
|
227
|
+
async refreshAll() {
|
|
228
|
+
const refreshs$ = this._refreshs.map(async (refresh) => {
|
|
229
|
+
const _models = await commons.fromPromise(refresh.dispatch(this));
|
|
230
|
+
const models = _models.filter(({ model }) => !modelIsHideable(model)
|
|
231
|
+
? !this._destroys.includes(model)
|
|
232
|
+
: !this._hiddens.includes(model));
|
|
204
233
|
return this.dataSource.refresh(models);
|
|
205
234
|
});
|
|
206
|
-
return Promise.all(
|
|
235
|
+
return Promise.all(refreshs$);
|
|
207
236
|
}
|
|
208
|
-
destroyAll() {
|
|
209
|
-
return Promise.all(this.
|
|
237
|
+
async destroyAll() {
|
|
238
|
+
return Promise.all(this._destroys.map((destroy) => {
|
|
239
|
+
return this.dataSource.delete(destroy);
|
|
240
|
+
}));
|
|
210
241
|
}
|
|
211
|
-
hiddenAll() {
|
|
212
|
-
return Promise.all(this.
|
|
242
|
+
async hiddenAll() {
|
|
243
|
+
return Promise.all(this._hiddens.map((hidden) => {
|
|
244
|
+
return this.dataSource.hidden(hidden);
|
|
245
|
+
}));
|
|
213
246
|
}
|
|
214
|
-
procedureAll() {
|
|
215
|
-
return Promise.all(this.
|
|
247
|
+
async procedureAll() {
|
|
248
|
+
return Promise.all(this._procedures.map((procedure) => {
|
|
249
|
+
return this.dataSource.procedure(this, procedure);
|
|
250
|
+
}));
|
|
216
251
|
}
|
|
217
252
|
}
|
|
218
253
|
|
|
@@ -227,6 +262,11 @@ class EntityPersist {
|
|
|
227
262
|
this.relationable = relationable;
|
|
228
263
|
}
|
|
229
264
|
}
|
|
265
|
+
class EntityPersistList {
|
|
266
|
+
constructor(entity) {
|
|
267
|
+
this.entity = entity;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
230
270
|
class EntitySync {
|
|
231
271
|
constructor(entity, model, relationable = true) {
|
|
232
272
|
this.entity = entity;
|
|
@@ -286,6 +326,7 @@ exports.AbstractRepository = AbstractRepository;
|
|
|
286
326
|
exports.Entity = Entity;
|
|
287
327
|
exports.EntityManager = EntityManager;
|
|
288
328
|
exports.EntityPersist = EntityPersist;
|
|
329
|
+
exports.EntityPersistList = EntityPersistList;
|
|
289
330
|
exports.EntityRefresh = EntityRefresh;
|
|
290
331
|
exports.EntitySync = EntitySync;
|
|
291
332
|
exports.PersistentUnitResult = PersistentUnitResult;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../esm/database.js","../esm/datasource.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../esm/helpers.js","../esm/entity-manager.js","../esm/entity.js","../esm/persistent-unit.js","../esm/procedure.js","../esm/repository.js","../esm/result.js","../esm/values.js"],"sourcesContent":["export class AbstractEntityDatabase {\n}\n//# sourceMappingURL=database.js.map","export class AbstractEntityDataSource {\n}\n//# sourceMappingURL=datasource.js.map","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","export function modelIsEditable(model) {\n return typeof model === 'object' && 'updatedAt' in model;\n}\nexport function modelIsHideable(model) {\n return typeof model === 'object' && 'hidden' in model && 'hiddenAt' in model;\n}\nexport function modelToLiteralObject(model) {\n const changes = {};\n Object.entries(model).forEach(([key, value]) => {\n changes[key] = value;\n });\n return changes;\n}\nexport function verifyChangesInModel(model, initialStatus) {\n const currentStatus = modelToLiteralObject(model);\n const changes = {};\n Object.entries(currentStatus).forEach(([key, value]) => {\n if (currentStatus[key] !== initialStatus[key]) {\n changes[key] = value;\n }\n });\n const requiredUpdate = Object.keys(changes).length > 0;\n if (requiredUpdate && modelIsEditable(model)) {\n changes['updatedAt'] = new Date();\n }\n return requiredUpdate ? changes : undefined;\n}\n//# sourceMappingURL=helpers.js.map","import { ResultFactory, fromPromise } from '@rolster/commons';\nimport { v4 as uuid } from 'uuid';\nimport { modelIsHideable } from './helpers';\nexport class AbstractEntityManager {\n}\nexport class EntityManager {\n constructor(dataSource) {\n this.dataSource = dataSource;\n this.persists = [];\n this.refreshs = [];\n this.syncs = [];\n this.destroys = [];\n this.hiddens = [];\n this.procedures = [];\n this.uuid = uuid();\n this.relations = new Map();\n }\n persist(persist) {\n this.persists.push(persist);\n }\n refresh(refresh) {\n const { entity, model, relationable } = refresh;\n relationable && this.relation(entity, model);\n this.refreshs.push(refresh);\n }\n sync(sync) {\n const { entity, model, relationable } = sync;\n relationable && this.relation(entity, model);\n this.syncs.push(sync);\n }\n destroy(entity) {\n const result = this.select(entity);\n if (result.isSuccess) {\n const model = result.value;\n modelIsHideable(model)\n ? this.hiddens.push(model)\n : this.destroys.push(model);\n }\n }\n procedure(procedure) {\n this.procedures.push(procedure);\n }\n relation(entity, model) {\n this.relations.set(entity, model);\n }\n link(entity, model) {\n this.relation(entity, model);\n return entity;\n }\n select(entity) {\n const model = this.relations.get(entity);\n return model\n ? ResultFactory.success(model)\n : ResultFactory.failure('Not found');\n }\n async flush() {\n const results = [\n ...(await this.persistAll()),\n ...(await this.syncAll()),\n ...(await this.refreshAll()),\n ...(await this.hiddenAll()),\n ...(await this.destroyAll()),\n ...(await this.procedureAll())\n ];\n this.dispose();\n return results;\n }\n dispose() {\n this.relations.clear();\n this.persists = [];\n this.refreshs = [];\n this.syncs = [];\n this.destroys = [];\n this.hiddens = [];\n this.procedures = [];\n }\n persistAll() {\n const results = this.persists.map(async (persist) => {\n const model = await fromPromise(persist.create(this));\n persist.relationable && this.relation(persist.entity, model);\n return this.dataSource.insert(model);\n });\n return Promise.all(results);\n }\n syncAll() {\n const results = this.syncs\n .filter(({ model }) => !this.destroys.includes(model))\n .reduce((syncs, sync) => {\n const dirty = sync.verify(this);\n dirty && syncs.push([sync.model, dirty]);\n return syncs;\n }, [])\n .map(([model, dirty]) => {\n return this.dataSource.update(model, dirty);\n });\n return Promise.all(results);\n }\n refreshAll() {\n const results = this.refreshs.map(async (refresh) => {\n const models = (await fromPromise(refresh.dispatch(this))).filter(({ model }) => !this.destroys.includes(model));\n return this.dataSource.refresh(models);\n });\n return Promise.all(results);\n }\n destroyAll() {\n return Promise.all(this.destroys.map((destroy) => this.dataSource.delete(destroy)));\n }\n hiddenAll() {\n return Promise.all(this.hiddens.map((hidden) => this.dataSource.hidden(hidden)));\n }\n procedureAll() {\n return Promise.all(this.procedures.map((procedure) => this.dataSource.procedure(procedure)));\n }\n}\n//# sourceMappingURL=entity-manager.js.map","import { modelToLiteralObject, verifyChangesInModel } from './helpers';\nexport class Entity {\n constructor(uuid) {\n this.uuid = uuid;\n }\n}\nexport class EntityPersist {\n constructor(entity, relationable = true) {\n this.entity = entity;\n this.relationable = relationable;\n }\n}\nexport class EntitySync {\n constructor(entity, model, relationable = true) {\n this.entity = entity;\n this.model = model;\n this.relationable = relationable;\n this.initialStatus = modelToLiteralObject(model);\n }\n verify(manager) {\n return this.verifySync(manager);\n }\n verifySync(manager) {\n this.sync(manager); // Sync data Entity/Model\n return verifyChangesInModel(this.model, this.initialStatus);\n }\n}\nexport class EntityRefresh {\n constructor(entity, model, relationable = true) {\n this.entity = entity;\n this.model = model;\n this.relationable = relationable;\n }\n}\n//# sourceMappingURL=entity.js.map","export class AbstractPersistentUnit {\n}\n//# sourceMappingURL=persistent-unit.js.map","export class AbstractProcedure {\n}\n//# sourceMappingURL=procedure.js.map","export class AbstractRepository {\n}\n//# sourceMappingURL=repository.js.map","export class PersistentUnitResult {\n constructor(code, error, model) {\n this.code = code;\n this.error = error;\n this.model = model;\n }\n}\n//# sourceMappingURL=result.js.map","import { modelToLiteralObject, verifyChangesInModel } from './helpers';\nexport class RefreshModel {\n constructor(model) {\n this.model = model;\n this.initialStatus = modelToLiteralObject(model);\n }\n getChanges() {\n return verifyChangesInModel(this.model, this.initialStatus);\n }\n}\n//# sourceMappingURL=values.js.map"],"names":["uuid","ResultFactory","fromPromise"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../esm/database.js","../esm/datasource.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../esm/helpers.js","../esm/entity-manager.js","../esm/entity.js","../esm/persistent-unit.js","../esm/procedure.js","../esm/repository.js","../esm/result.js","../esm/values.js"],"sourcesContent":["export class AbstractEntityDatabase {\n}\n//# sourceMappingURL=database.js.map","export class AbstractEntityDataSource {\n}\n//# sourceMappingURL=datasource.js.map","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","export function modelIsEditable(model) {\n return typeof model === 'object' && 'updatedAt' in model;\n}\nexport function modelIsHideable(model) {\n return typeof model === 'object' && 'hidden' in model && 'hiddenAt' in model;\n}\nexport function modelToLiteralObject(model) {\n const changes = {};\n Object.entries(model).forEach(([key, value]) => {\n changes[key] = value;\n });\n return changes;\n}\nexport function verifyChangesInModel(model, initialStatus) {\n const currentStatus = modelToLiteralObject(model);\n const changes = {};\n Object.entries(currentStatus).forEach(([key, value]) => {\n if (currentStatus[key] !== initialStatus[key]) {\n changes[key] = value;\n }\n });\n const requiredUpdate = Object.keys(changes).length > 0;\n if (requiredUpdate && modelIsEditable(model)) {\n changes['updatedAt'] = new Date();\n }\n return requiredUpdate ? changes : undefined;\n}\n//# sourceMappingURL=helpers.js.map","import { ResultFactory, fromPromise } from '@rolster/commons';\nimport { v4 as uuid } from 'uuid';\nimport { modelIsHideable } from './helpers';\nexport class AbstractEntityManager {\n}\nexport class EntityManager {\n constructor(dataSource) {\n this.dataSource = dataSource;\n this._persists = [];\n this._persistsList = [];\n this._syncs = [];\n this._refreshs = [];\n this._procedures = [];\n this._hiddens = [];\n this._destroys = [];\n this.uuid = uuid();\n this._relations = new Map();\n }\n persist(persist) {\n this._persists.push(persist);\n }\n persists(persists) {\n this._persistsList.push(persists);\n }\n sync(sync) {\n const { entity, model, relationable } = sync;\n relationable && this.relation(entity, model);\n this._syncs.push(sync);\n }\n refresh(refresh) {\n const { entity, model, relationable } = refresh;\n relationable && this.relation(entity, model);\n this._refreshs.push(refresh);\n }\n procedure(procedure) {\n this._procedures.push(procedure);\n }\n destroy(entity) {\n const result = this.select(entity);\n if (result.isSuccess) {\n !modelIsHideable(result.value)\n ? this._destroys.push(result.value)\n : this._hiddens.push(result.value);\n }\n }\n relation(entity, model) {\n this._relations.set(entity, model);\n }\n link(entity, model) {\n this.relation(entity, model);\n return entity;\n }\n select(entity) {\n const model = this._relations.get(entity);\n return model\n ? ResultFactory.success(model)\n : ResultFactory.failure('Not found');\n }\n async flush() {\n const persists = [\n ...(await this.persistAll()),\n ...(await this.persistListAll())\n ];\n const syncs = await this.syncAll();\n const refreshs = await this.refreshAll();\n const procedures = await this.procedureAll();\n const [hiddens, destroys] = await Promise.all([\n this.hiddenAll(),\n this.destroyAll()\n ]);\n const results = [\n ...persists,\n ...syncs,\n ...refreshs,\n ...procedures,\n ...hiddens,\n ...destroys\n ];\n this.dispose();\n return results;\n }\n dispose() {\n this._relations.clear();\n this._persists = [];\n this._persistsList = [];\n this._refreshs = [];\n this._syncs = [];\n this._hiddens = [];\n this._destroys = [];\n this._procedures = [];\n }\n async persistAll() {\n const results = [];\n for (const persist of this._persists) {\n const model = await fromPromise(persist.create(this));\n persist.relationable && this.relation(persist.entity, model);\n results.push(await this.dataSource.insert(model));\n }\n return results;\n }\n async persistListAll() {\n const results = [];\n for (const persists of this._persistsList) {\n const models = await fromPromise(persists.create(this));\n for (const model of models) {\n results.push(await this.dataSource.insert(model));\n }\n }\n return results;\n }\n syncAll() {\n const syncs = this._syncs.filter(({ model }) => !modelIsHideable(model)\n ? !this._destroys.includes(model)\n : !this._hiddens.includes(model));\n const syncs$ = [];\n syncs.forEach((sync) => {\n const dirty = sync.verify(this);\n if (dirty) {\n syncs$.push(this.dataSource.update(sync.model, dirty));\n }\n });\n return Promise.all(syncs$);\n }\n async refreshAll() {\n const refreshs$ = this._refreshs.map(async (refresh) => {\n const _models = await fromPromise(refresh.dispatch(this));\n const models = _models.filter(({ model }) => !modelIsHideable(model)\n ? !this._destroys.includes(model)\n : !this._hiddens.includes(model));\n return this.dataSource.refresh(models);\n });\n return Promise.all(refreshs$);\n }\n async destroyAll() {\n return Promise.all(this._destroys.map((destroy) => {\n return this.dataSource.delete(destroy);\n }));\n }\n async hiddenAll() {\n return Promise.all(this._hiddens.map((hidden) => {\n return this.dataSource.hidden(hidden);\n }));\n }\n async procedureAll() {\n return Promise.all(this._procedures.map((procedure) => {\n return this.dataSource.procedure(this, procedure);\n }));\n }\n}\n//# sourceMappingURL=entity-manager.js.map","import { modelToLiteralObject, verifyChangesInModel } from './helpers';\nexport class Entity {\n constructor(uuid) {\n this.uuid = uuid;\n }\n}\nexport class EntityPersist {\n constructor(entity, relationable = true) {\n this.entity = entity;\n this.relationable = relationable;\n }\n}\nexport class EntityPersistList {\n constructor(entity) {\n this.entity = entity;\n }\n}\nexport class EntitySync {\n constructor(entity, model, relationable = true) {\n this.entity = entity;\n this.model = model;\n this.relationable = relationable;\n this.initialStatus = modelToLiteralObject(model);\n }\n verify(manager) {\n return this.verifySync(manager);\n }\n verifySync(manager) {\n this.sync(manager); // Sync data Entity/Model\n return verifyChangesInModel(this.model, this.initialStatus);\n }\n}\nexport class EntityRefresh {\n constructor(entity, model, relationable = true) {\n this.entity = entity;\n this.model = model;\n this.relationable = relationable;\n }\n}\n//# sourceMappingURL=entity.js.map","export class AbstractPersistentUnit {\n}\n//# sourceMappingURL=persistent-unit.js.map","export class AbstractProcedure {\n}\n//# sourceMappingURL=procedure.js.map","export class AbstractRepository {\n}\n//# sourceMappingURL=repository.js.map","export class PersistentUnitResult {\n constructor(code, error, model) {\n this.code = code;\n this.error = error;\n this.model = model;\n }\n}\n//# sourceMappingURL=result.js.map","import { modelToLiteralObject, verifyChangesInModel } from './helpers';\nexport class RefreshModel {\n constructor(model) {\n this.model = model;\n this.initialStatus = modelToLiteralObject(model);\n }\n getChanges() {\n return verifyChangesInModel(this.model, this.initialStatus);\n }\n}\n//# sourceMappingURL=values.js.map"],"names":["uuid","ResultFactory","fromPromise"],"mappings":"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"}
|
package/dist/es/index.js
CHANGED
|
@@ -105,110 +105,145 @@ class AbstractEntityManager {
|
|
|
105
105
|
class EntityManager {
|
|
106
106
|
constructor(dataSource) {
|
|
107
107
|
this.dataSource = dataSource;
|
|
108
|
-
this.
|
|
109
|
-
this.
|
|
110
|
-
this.
|
|
111
|
-
this.
|
|
112
|
-
this.
|
|
113
|
-
this.
|
|
108
|
+
this._persists = [];
|
|
109
|
+
this._persistsList = [];
|
|
110
|
+
this._syncs = [];
|
|
111
|
+
this._refreshs = [];
|
|
112
|
+
this._procedures = [];
|
|
113
|
+
this._hiddens = [];
|
|
114
|
+
this._destroys = [];
|
|
114
115
|
this.uuid = v4();
|
|
115
|
-
this.
|
|
116
|
+
this._relations = new Map();
|
|
116
117
|
}
|
|
117
118
|
persist(persist) {
|
|
118
|
-
this.
|
|
119
|
+
this._persists.push(persist);
|
|
119
120
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
relationable && this.relation(entity, model);
|
|
123
|
-
this.refreshs.push(refresh);
|
|
121
|
+
persists(persists) {
|
|
122
|
+
this._persistsList.push(persists);
|
|
124
123
|
}
|
|
125
124
|
sync(sync) {
|
|
126
125
|
const { entity, model, relationable } = sync;
|
|
127
126
|
relationable && this.relation(entity, model);
|
|
128
|
-
this.
|
|
127
|
+
this._syncs.push(sync);
|
|
128
|
+
}
|
|
129
|
+
refresh(refresh) {
|
|
130
|
+
const { entity, model, relationable } = refresh;
|
|
131
|
+
relationable && this.relation(entity, model);
|
|
132
|
+
this._refreshs.push(refresh);
|
|
133
|
+
}
|
|
134
|
+
procedure(procedure) {
|
|
135
|
+
this._procedures.push(procedure);
|
|
129
136
|
}
|
|
130
137
|
destroy(entity) {
|
|
131
138
|
const result = this.select(entity);
|
|
132
139
|
if (result.isSuccess) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
: this.destroys.push(model);
|
|
140
|
+
!modelIsHideable(result.value)
|
|
141
|
+
? this._destroys.push(result.value)
|
|
142
|
+
: this._hiddens.push(result.value);
|
|
137
143
|
}
|
|
138
144
|
}
|
|
139
|
-
procedure(procedure) {
|
|
140
|
-
this.procedures.push(procedure);
|
|
141
|
-
}
|
|
142
145
|
relation(entity, model) {
|
|
143
|
-
this.
|
|
146
|
+
this._relations.set(entity, model);
|
|
144
147
|
}
|
|
145
148
|
link(entity, model) {
|
|
146
149
|
this.relation(entity, model);
|
|
147
150
|
return entity;
|
|
148
151
|
}
|
|
149
152
|
select(entity) {
|
|
150
|
-
const model = this.
|
|
153
|
+
const model = this._relations.get(entity);
|
|
151
154
|
return model
|
|
152
155
|
? ResultFactory.success(model)
|
|
153
156
|
: ResultFactory.failure('Not found');
|
|
154
157
|
}
|
|
155
158
|
async flush() {
|
|
156
|
-
const
|
|
159
|
+
const persists = [
|
|
157
160
|
...(await this.persistAll()),
|
|
158
|
-
...(await this.
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
...(await this.persistListAll())
|
|
162
|
+
];
|
|
163
|
+
const syncs = await this.syncAll();
|
|
164
|
+
const refreshs = await this.refreshAll();
|
|
165
|
+
const procedures = await this.procedureAll();
|
|
166
|
+
const [hiddens, destroys] = await Promise.all([
|
|
167
|
+
this.hiddenAll(),
|
|
168
|
+
this.destroyAll()
|
|
169
|
+
]);
|
|
170
|
+
const results = [
|
|
171
|
+
...persists,
|
|
172
|
+
...syncs,
|
|
173
|
+
...refreshs,
|
|
174
|
+
...procedures,
|
|
175
|
+
...hiddens,
|
|
176
|
+
...destroys
|
|
163
177
|
];
|
|
164
178
|
this.dispose();
|
|
165
179
|
return results;
|
|
166
180
|
}
|
|
167
181
|
dispose() {
|
|
168
|
-
this.
|
|
169
|
-
this.
|
|
170
|
-
this.
|
|
171
|
-
this.
|
|
172
|
-
this.
|
|
173
|
-
this.
|
|
174
|
-
this.
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
182
|
+
this._relations.clear();
|
|
183
|
+
this._persists = [];
|
|
184
|
+
this._persistsList = [];
|
|
185
|
+
this._refreshs = [];
|
|
186
|
+
this._syncs = [];
|
|
187
|
+
this._hiddens = [];
|
|
188
|
+
this._destroys = [];
|
|
189
|
+
this._procedures = [];
|
|
190
|
+
}
|
|
191
|
+
async persistAll() {
|
|
192
|
+
const results = [];
|
|
193
|
+
for (const persist of this._persists) {
|
|
178
194
|
const model = await fromPromise(persist.create(this));
|
|
179
195
|
persist.relationable && this.relation(persist.entity, model);
|
|
180
|
-
|
|
181
|
-
}
|
|
182
|
-
return
|
|
196
|
+
results.push(await this.dataSource.insert(model));
|
|
197
|
+
}
|
|
198
|
+
return results;
|
|
199
|
+
}
|
|
200
|
+
async persistListAll() {
|
|
201
|
+
const results = [];
|
|
202
|
+
for (const persists of this._persistsList) {
|
|
203
|
+
const models = await fromPromise(persists.create(this));
|
|
204
|
+
for (const model of models) {
|
|
205
|
+
results.push(await this.dataSource.insert(model));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return results;
|
|
183
209
|
}
|
|
184
210
|
syncAll() {
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
.
|
|
211
|
+
const syncs = this._syncs.filter(({ model }) => !modelIsHideable(model)
|
|
212
|
+
? !this._destroys.includes(model)
|
|
213
|
+
: !this._hiddens.includes(model));
|
|
214
|
+
const syncs$ = [];
|
|
215
|
+
syncs.forEach((sync) => {
|
|
188
216
|
const dirty = sync.verify(this);
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
.map(([model, dirty]) => {
|
|
193
|
-
return this.dataSource.update(model, dirty);
|
|
217
|
+
if (dirty) {
|
|
218
|
+
syncs$.push(this.dataSource.update(sync.model, dirty));
|
|
219
|
+
}
|
|
194
220
|
});
|
|
195
|
-
return Promise.all(
|
|
221
|
+
return Promise.all(syncs$);
|
|
196
222
|
}
|
|
197
|
-
refreshAll() {
|
|
198
|
-
const
|
|
199
|
-
const
|
|
223
|
+
async refreshAll() {
|
|
224
|
+
const refreshs$ = this._refreshs.map(async (refresh) => {
|
|
225
|
+
const _models = await fromPromise(refresh.dispatch(this));
|
|
226
|
+
const models = _models.filter(({ model }) => !modelIsHideable(model)
|
|
227
|
+
? !this._destroys.includes(model)
|
|
228
|
+
: !this._hiddens.includes(model));
|
|
200
229
|
return this.dataSource.refresh(models);
|
|
201
230
|
});
|
|
202
|
-
return Promise.all(
|
|
231
|
+
return Promise.all(refreshs$);
|
|
203
232
|
}
|
|
204
|
-
destroyAll() {
|
|
205
|
-
return Promise.all(this.
|
|
233
|
+
async destroyAll() {
|
|
234
|
+
return Promise.all(this._destroys.map((destroy) => {
|
|
235
|
+
return this.dataSource.delete(destroy);
|
|
236
|
+
}));
|
|
206
237
|
}
|
|
207
|
-
hiddenAll() {
|
|
208
|
-
return Promise.all(this.
|
|
238
|
+
async hiddenAll() {
|
|
239
|
+
return Promise.all(this._hiddens.map((hidden) => {
|
|
240
|
+
return this.dataSource.hidden(hidden);
|
|
241
|
+
}));
|
|
209
242
|
}
|
|
210
|
-
procedureAll() {
|
|
211
|
-
return Promise.all(this.
|
|
243
|
+
async procedureAll() {
|
|
244
|
+
return Promise.all(this._procedures.map((procedure) => {
|
|
245
|
+
return this.dataSource.procedure(this, procedure);
|
|
246
|
+
}));
|
|
212
247
|
}
|
|
213
248
|
}
|
|
214
249
|
|
|
@@ -223,6 +258,11 @@ class EntityPersist {
|
|
|
223
258
|
this.relationable = relationable;
|
|
224
259
|
}
|
|
225
260
|
}
|
|
261
|
+
class EntityPersistList {
|
|
262
|
+
constructor(entity) {
|
|
263
|
+
this.entity = entity;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
226
266
|
class EntitySync {
|
|
227
267
|
constructor(entity, model, relationable = true) {
|
|
228
268
|
this.entity = entity;
|
|
@@ -273,5 +313,5 @@ class RefreshModel {
|
|
|
273
313
|
}
|
|
274
314
|
}
|
|
275
315
|
|
|
276
|
-
export { AbstractEntityDataSource, AbstractEntityDatabase, AbstractEntityManager, AbstractPersistentUnit, AbstractProcedure, AbstractRepository, Entity, EntityManager, EntityPersist, EntityRefresh, EntitySync, PersistentUnitResult, RefreshModel, modelIsEditable, modelIsHideable };
|
|
316
|
+
export { AbstractEntityDataSource, AbstractEntityDatabase, AbstractEntityManager, AbstractPersistentUnit, AbstractProcedure, AbstractRepository, Entity, EntityManager, EntityPersist, EntityPersistList, EntityRefresh, EntitySync, PersistentUnitResult, RefreshModel, modelIsEditable, modelIsHideable };
|
|
277
317
|
//# sourceMappingURL=index.js.map
|
package/dist/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../esm/database.js","../esm/datasource.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../esm/helpers.js","../esm/entity-manager.js","../esm/entity.js","../esm/persistent-unit.js","../esm/procedure.js","../esm/repository.js","../esm/result.js","../esm/values.js"],"sourcesContent":["export class AbstractEntityDatabase {\n}\n//# sourceMappingURL=database.js.map","export class AbstractEntityDataSource {\n}\n//# sourceMappingURL=datasource.js.map","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","export function modelIsEditable(model) {\n return typeof model === 'object' && 'updatedAt' in model;\n}\nexport function modelIsHideable(model) {\n return typeof model === 'object' && 'hidden' in model && 'hiddenAt' in model;\n}\nexport function modelToLiteralObject(model) {\n const changes = {};\n Object.entries(model).forEach(([key, value]) => {\n changes[key] = value;\n });\n return changes;\n}\nexport function verifyChangesInModel(model, initialStatus) {\n const currentStatus = modelToLiteralObject(model);\n const changes = {};\n Object.entries(currentStatus).forEach(([key, value]) => {\n if (currentStatus[key] !== initialStatus[key]) {\n changes[key] = value;\n }\n });\n const requiredUpdate = Object.keys(changes).length > 0;\n if (requiredUpdate && modelIsEditable(model)) {\n changes['updatedAt'] = new Date();\n }\n return requiredUpdate ? changes : undefined;\n}\n//# sourceMappingURL=helpers.js.map","import { ResultFactory, fromPromise } from '@rolster/commons';\nimport { v4 as uuid } from 'uuid';\nimport { modelIsHideable } from './helpers';\nexport class AbstractEntityManager {\n}\nexport class EntityManager {\n constructor(dataSource) {\n this.dataSource = dataSource;\n this.persists = [];\n this.refreshs = [];\n this.syncs = [];\n this.destroys = [];\n this.hiddens = [];\n this.procedures = [];\n this.uuid = uuid();\n this.relations = new Map();\n }\n persist(persist) {\n this.persists.push(persist);\n }\n refresh(refresh) {\n const { entity, model, relationable } = refresh;\n relationable && this.relation(entity, model);\n this.refreshs.push(refresh);\n }\n sync(sync) {\n const { entity, model, relationable } = sync;\n relationable && this.relation(entity, model);\n this.syncs.push(sync);\n }\n destroy(entity) {\n const result = this.select(entity);\n if (result.isSuccess) {\n const model = result.value;\n modelIsHideable(model)\n ? this.hiddens.push(model)\n : this.destroys.push(model);\n }\n }\n procedure(procedure) {\n this.procedures.push(procedure);\n }\n relation(entity, model) {\n this.relations.set(entity, model);\n }\n link(entity, model) {\n this.relation(entity, model);\n return entity;\n }\n select(entity) {\n const model = this.relations.get(entity);\n return model\n ? ResultFactory.success(model)\n : ResultFactory.failure('Not found');\n }\n async flush() {\n const results = [\n ...(await this.persistAll()),\n ...(await this.syncAll()),\n ...(await this.refreshAll()),\n ...(await this.hiddenAll()),\n ...(await this.destroyAll()),\n ...(await this.procedureAll())\n ];\n this.dispose();\n return results;\n }\n dispose() {\n this.relations.clear();\n this.persists = [];\n this.refreshs = [];\n this.syncs = [];\n this.destroys = [];\n this.hiddens = [];\n this.procedures = [];\n }\n persistAll() {\n const results = this.persists.map(async (persist) => {\n const model = await fromPromise(persist.create(this));\n persist.relationable && this.relation(persist.entity, model);\n return this.dataSource.insert(model);\n });\n return Promise.all(results);\n }\n syncAll() {\n const results = this.syncs\n .filter(({ model }) => !this.destroys.includes(model))\n .reduce((syncs, sync) => {\n const dirty = sync.verify(this);\n dirty && syncs.push([sync.model, dirty]);\n return syncs;\n }, [])\n .map(([model, dirty]) => {\n return this.dataSource.update(model, dirty);\n });\n return Promise.all(results);\n }\n refreshAll() {\n const results = this.refreshs.map(async (refresh) => {\n const models = (await fromPromise(refresh.dispatch(this))).filter(({ model }) => !this.destroys.includes(model));\n return this.dataSource.refresh(models);\n });\n return Promise.all(results);\n }\n destroyAll() {\n return Promise.all(this.destroys.map((destroy) => this.dataSource.delete(destroy)));\n }\n hiddenAll() {\n return Promise.all(this.hiddens.map((hidden) => this.dataSource.hidden(hidden)));\n }\n procedureAll() {\n return Promise.all(this.procedures.map((procedure) => this.dataSource.procedure(procedure)));\n }\n}\n//# sourceMappingURL=entity-manager.js.map","import { modelToLiteralObject, verifyChangesInModel } from './helpers';\nexport class Entity {\n constructor(uuid) {\n this.uuid = uuid;\n }\n}\nexport class EntityPersist {\n constructor(entity, relationable = true) {\n this.entity = entity;\n this.relationable = relationable;\n }\n}\nexport class EntitySync {\n constructor(entity, model, relationable = true) {\n this.entity = entity;\n this.model = model;\n this.relationable = relationable;\n this.initialStatus = modelToLiteralObject(model);\n }\n verify(manager) {\n return this.verifySync(manager);\n }\n verifySync(manager) {\n this.sync(manager); // Sync data Entity/Model\n return verifyChangesInModel(this.model, this.initialStatus);\n }\n}\nexport class EntityRefresh {\n constructor(entity, model, relationable = true) {\n this.entity = entity;\n this.model = model;\n this.relationable = relationable;\n }\n}\n//# sourceMappingURL=entity.js.map","export class AbstractPersistentUnit {\n}\n//# sourceMappingURL=persistent-unit.js.map","export class AbstractProcedure {\n}\n//# sourceMappingURL=procedure.js.map","export class AbstractRepository {\n}\n//# sourceMappingURL=repository.js.map","export class PersistentUnitResult {\n constructor(code, error, model) {\n this.code = code;\n this.error = error;\n this.model = model;\n }\n}\n//# sourceMappingURL=result.js.map","import { modelToLiteralObject, verifyChangesInModel } from './helpers';\nexport class RefreshModel {\n constructor(model) {\n this.model = model;\n this.initialStatus = modelToLiteralObject(model);\n }\n getChanges() {\n return verifyChangesInModel(this.model, this.initialStatus);\n }\n}\n//# sourceMappingURL=values.js.map"],"names":["uuid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../esm/database.js","../esm/datasource.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../esm/helpers.js","../esm/entity-manager.js","../esm/entity.js","../esm/persistent-unit.js","../esm/procedure.js","../esm/repository.js","../esm/result.js","../esm/values.js"],"sourcesContent":["export class AbstractEntityDatabase {\n}\n//# sourceMappingURL=database.js.map","export class AbstractEntityDataSource {\n}\n//# sourceMappingURL=datasource.js.map","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","export function modelIsEditable(model) {\n return typeof model === 'object' && 'updatedAt' in model;\n}\nexport function modelIsHideable(model) {\n return typeof model === 'object' && 'hidden' in model && 'hiddenAt' in model;\n}\nexport function modelToLiteralObject(model) {\n const changes = {};\n Object.entries(model).forEach(([key, value]) => {\n changes[key] = value;\n });\n return changes;\n}\nexport function verifyChangesInModel(model, initialStatus) {\n const currentStatus = modelToLiteralObject(model);\n const changes = {};\n Object.entries(currentStatus).forEach(([key, value]) => {\n if (currentStatus[key] !== initialStatus[key]) {\n changes[key] = value;\n }\n });\n const requiredUpdate = Object.keys(changes).length > 0;\n if (requiredUpdate && modelIsEditable(model)) {\n changes['updatedAt'] = new Date();\n }\n return requiredUpdate ? changes : undefined;\n}\n//# sourceMappingURL=helpers.js.map","import { ResultFactory, fromPromise } from '@rolster/commons';\nimport { v4 as uuid } from 'uuid';\nimport { modelIsHideable } from './helpers';\nexport class AbstractEntityManager {\n}\nexport class EntityManager {\n constructor(dataSource) {\n this.dataSource = dataSource;\n this._persists = [];\n this._persistsList = [];\n this._syncs = [];\n this._refreshs = [];\n this._procedures = [];\n this._hiddens = [];\n this._destroys = [];\n this.uuid = uuid();\n this._relations = new Map();\n }\n persist(persist) {\n this._persists.push(persist);\n }\n persists(persists) {\n this._persistsList.push(persists);\n }\n sync(sync) {\n const { entity, model, relationable } = sync;\n relationable && this.relation(entity, model);\n this._syncs.push(sync);\n }\n refresh(refresh) {\n const { entity, model, relationable } = refresh;\n relationable && this.relation(entity, model);\n this._refreshs.push(refresh);\n }\n procedure(procedure) {\n this._procedures.push(procedure);\n }\n destroy(entity) {\n const result = this.select(entity);\n if (result.isSuccess) {\n !modelIsHideable(result.value)\n ? this._destroys.push(result.value)\n : this._hiddens.push(result.value);\n }\n }\n relation(entity, model) {\n this._relations.set(entity, model);\n }\n link(entity, model) {\n this.relation(entity, model);\n return entity;\n }\n select(entity) {\n const model = this._relations.get(entity);\n return model\n ? ResultFactory.success(model)\n : ResultFactory.failure('Not found');\n }\n async flush() {\n const persists = [\n ...(await this.persistAll()),\n ...(await this.persistListAll())\n ];\n const syncs = await this.syncAll();\n const refreshs = await this.refreshAll();\n const procedures = await this.procedureAll();\n const [hiddens, destroys] = await Promise.all([\n this.hiddenAll(),\n this.destroyAll()\n ]);\n const results = [\n ...persists,\n ...syncs,\n ...refreshs,\n ...procedures,\n ...hiddens,\n ...destroys\n ];\n this.dispose();\n return results;\n }\n dispose() {\n this._relations.clear();\n this._persists = [];\n this._persistsList = [];\n this._refreshs = [];\n this._syncs = [];\n this._hiddens = [];\n this._destroys = [];\n this._procedures = [];\n }\n async persistAll() {\n const results = [];\n for (const persist of this._persists) {\n const model = await fromPromise(persist.create(this));\n persist.relationable && this.relation(persist.entity, model);\n results.push(await this.dataSource.insert(model));\n }\n return results;\n }\n async persistListAll() {\n const results = [];\n for (const persists of this._persistsList) {\n const models = await fromPromise(persists.create(this));\n for (const model of models) {\n results.push(await this.dataSource.insert(model));\n }\n }\n return results;\n }\n syncAll() {\n const syncs = this._syncs.filter(({ model }) => !modelIsHideable(model)\n ? !this._destroys.includes(model)\n : !this._hiddens.includes(model));\n const syncs$ = [];\n syncs.forEach((sync) => {\n const dirty = sync.verify(this);\n if (dirty) {\n syncs$.push(this.dataSource.update(sync.model, dirty));\n }\n });\n return Promise.all(syncs$);\n }\n async refreshAll() {\n const refreshs$ = this._refreshs.map(async (refresh) => {\n const _models = await fromPromise(refresh.dispatch(this));\n const models = _models.filter(({ model }) => !modelIsHideable(model)\n ? !this._destroys.includes(model)\n : !this._hiddens.includes(model));\n return this.dataSource.refresh(models);\n });\n return Promise.all(refreshs$);\n }\n async destroyAll() {\n return Promise.all(this._destroys.map((destroy) => {\n return this.dataSource.delete(destroy);\n }));\n }\n async hiddenAll() {\n return Promise.all(this._hiddens.map((hidden) => {\n return this.dataSource.hidden(hidden);\n }));\n }\n async procedureAll() {\n return Promise.all(this._procedures.map((procedure) => {\n return this.dataSource.procedure(this, procedure);\n }));\n }\n}\n//# sourceMappingURL=entity-manager.js.map","import { modelToLiteralObject, verifyChangesInModel } from './helpers';\nexport class Entity {\n constructor(uuid) {\n this.uuid = uuid;\n }\n}\nexport class EntityPersist {\n constructor(entity, relationable = true) {\n this.entity = entity;\n this.relationable = relationable;\n }\n}\nexport class EntityPersistList {\n constructor(entity) {\n this.entity = entity;\n }\n}\nexport class EntitySync {\n constructor(entity, model, relationable = true) {\n this.entity = entity;\n this.model = model;\n this.relationable = relationable;\n this.initialStatus = modelToLiteralObject(model);\n }\n verify(manager) {\n return this.verifySync(manager);\n }\n verifySync(manager) {\n this.sync(manager); // Sync data Entity/Model\n return verifyChangesInModel(this.model, this.initialStatus);\n }\n}\nexport class EntityRefresh {\n constructor(entity, model, relationable = true) {\n this.entity = entity;\n this.model = model;\n this.relationable = relationable;\n }\n}\n//# sourceMappingURL=entity.js.map","export class AbstractPersistentUnit {\n}\n//# sourceMappingURL=persistent-unit.js.map","export class AbstractProcedure {\n}\n//# sourceMappingURL=procedure.js.map","export class AbstractRepository {\n}\n//# sourceMappingURL=repository.js.map","export class PersistentUnitResult {\n constructor(code, error, model) {\n this.code = code;\n this.error = error;\n this.model = model;\n }\n}\n//# sourceMappingURL=result.js.map","import { modelToLiteralObject, verifyChangesInModel } from './helpers';\nexport class RefreshModel {\n constructor(model) {\n this.model = model;\n this.initialStatus = modelToLiteralObject(model);\n }\n getChanges() {\n return verifyChangesInModel(this.model, this.initialStatus);\n }\n}\n//# sourceMappingURL=values.js.map"],"names":["uuid"],"mappings":"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"}
|
package/dist/esm/datasource.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AbstractProcedure } from './procedure';
|
|
2
2
|
import { PersistentUnitResult } from './result';
|
|
3
|
-
import { AbstractModel, HideableModel } from './types';
|
|
3
|
+
import { AbstractModel, HideableModel, QueryEntityManager } from './types';
|
|
4
4
|
import { RefreshModel } from './values';
|
|
5
5
|
export declare abstract class AbstractEntityDataSource {
|
|
6
6
|
abstract insert(model: AbstractModel): Promise<PersistentUnitResult>;
|
|
@@ -8,5 +8,5 @@ export declare abstract class AbstractEntityDataSource {
|
|
|
8
8
|
abstract refresh(models: RefreshModel[]): Promise<PersistentUnitResult>;
|
|
9
9
|
abstract delete(model: AbstractModel): Promise<PersistentUnitResult>;
|
|
10
10
|
abstract hidden(model: HideableModel): Promise<PersistentUnitResult>;
|
|
11
|
-
abstract procedure(procedure: AbstractProcedure): Promise<PersistentUnitResult>;
|
|
11
|
+
abstract procedure(manager: QueryEntityManager, procedure: AbstractProcedure): Promise<PersistentUnitResult>;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,wBAAwB;
|
|
1
|
+
{"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,wBAAwB;CAkB7C"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { Result } from '@rolster/commons';
|
|
2
2
|
import { AbstractEntityDataSource } from './datasource';
|
|
3
|
-
import { EntityPersist, EntityRefresh, EntitySync } from './entity';
|
|
3
|
+
import { EntityPersist, EntityPersistList, EntityRefresh, EntitySync } from './entity';
|
|
4
4
|
import { AbstractProcedure } from './procedure';
|
|
5
5
|
import { PersistentUnitResult } from './result';
|
|
6
6
|
import { AbstractEntity, AbstractModel, QueryEntityManager } from './types';
|
|
7
7
|
type VinegarPersist = EntityPersist<AbstractEntity, AbstractModel>;
|
|
8
|
+
type VinegarPersistList = EntityPersistList<AbstractEntity>;
|
|
8
9
|
type VinegarSync = EntitySync<AbstractEntity, AbstractModel>;
|
|
9
10
|
type VinegarRefresh = EntityRefresh<AbstractEntity, AbstractModel>;
|
|
10
11
|
export declare abstract class AbstractEntityManager implements QueryEntityManager {
|
|
11
12
|
abstract uuid: string;
|
|
12
13
|
abstract persist(options: VinegarPersist): void;
|
|
14
|
+
abstract persists(persists: VinegarPersistList): void;
|
|
13
15
|
abstract refresh(options: VinegarRefresh): void;
|
|
14
16
|
abstract sync(options: VinegarSync): void;
|
|
15
17
|
abstract destroy(entity: AbstractEntity): void;
|
|
@@ -22,26 +24,29 @@ export declare abstract class AbstractEntityManager implements QueryEntityManage
|
|
|
22
24
|
}
|
|
23
25
|
export declare class EntityManager<D extends AbstractEntityDataSource = AbstractEntityDataSource> implements AbstractEntityManager {
|
|
24
26
|
protected dataSource: D;
|
|
25
|
-
private
|
|
26
|
-
private
|
|
27
|
-
private
|
|
28
|
-
private
|
|
29
|
-
private
|
|
30
|
-
private
|
|
31
|
-
private
|
|
27
|
+
private _relations;
|
|
28
|
+
private _persists;
|
|
29
|
+
private _persistsList;
|
|
30
|
+
private _syncs;
|
|
31
|
+
private _refreshs;
|
|
32
|
+
private _procedures;
|
|
33
|
+
private _hiddens;
|
|
34
|
+
private _destroys;
|
|
32
35
|
readonly uuid: string;
|
|
33
36
|
constructor(dataSource: D);
|
|
34
37
|
persist(persist: VinegarPersist): void;
|
|
35
|
-
|
|
38
|
+
persists(persists: VinegarPersistList): void;
|
|
36
39
|
sync(sync: VinegarSync): void;
|
|
37
|
-
|
|
40
|
+
refresh(refresh: VinegarRefresh): void;
|
|
38
41
|
procedure(procedure: AbstractProcedure): void;
|
|
42
|
+
destroy(entity: AbstractEntity): void;
|
|
39
43
|
relation(entity: AbstractEntity, model: AbstractModel): void;
|
|
40
44
|
link<E extends AbstractEntity>(entity: E, model: AbstractModel): E;
|
|
41
45
|
select<M extends AbstractModel>(entity: AbstractEntity): Result<M>;
|
|
42
46
|
flush(): Promise<PersistentUnitResult[]>;
|
|
43
47
|
dispose(): void;
|
|
44
48
|
private persistAll;
|
|
49
|
+
private persistListAll;
|
|
45
50
|
private syncAll;
|
|
46
51
|
private refreshAll;
|
|
47
52
|
private destroyAll;
|
|
@@ -6,110 +6,145 @@ export class AbstractEntityManager {
|
|
|
6
6
|
export class EntityManager {
|
|
7
7
|
constructor(dataSource) {
|
|
8
8
|
this.dataSource = dataSource;
|
|
9
|
-
this.
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
9
|
+
this._persists = [];
|
|
10
|
+
this._persistsList = [];
|
|
11
|
+
this._syncs = [];
|
|
12
|
+
this._refreshs = [];
|
|
13
|
+
this._procedures = [];
|
|
14
|
+
this._hiddens = [];
|
|
15
|
+
this._destroys = [];
|
|
15
16
|
this.uuid = uuid();
|
|
16
|
-
this.
|
|
17
|
+
this._relations = new Map();
|
|
17
18
|
}
|
|
18
19
|
persist(persist) {
|
|
19
|
-
this.
|
|
20
|
+
this._persists.push(persist);
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
relationable && this.relation(entity, model);
|
|
24
|
-
this.refreshs.push(refresh);
|
|
22
|
+
persists(persists) {
|
|
23
|
+
this._persistsList.push(persists);
|
|
25
24
|
}
|
|
26
25
|
sync(sync) {
|
|
27
26
|
const { entity, model, relationable } = sync;
|
|
28
27
|
relationable && this.relation(entity, model);
|
|
29
|
-
this.
|
|
28
|
+
this._syncs.push(sync);
|
|
29
|
+
}
|
|
30
|
+
refresh(refresh) {
|
|
31
|
+
const { entity, model, relationable } = refresh;
|
|
32
|
+
relationable && this.relation(entity, model);
|
|
33
|
+
this._refreshs.push(refresh);
|
|
34
|
+
}
|
|
35
|
+
procedure(procedure) {
|
|
36
|
+
this._procedures.push(procedure);
|
|
30
37
|
}
|
|
31
38
|
destroy(entity) {
|
|
32
39
|
const result = this.select(entity);
|
|
33
40
|
if (result.isSuccess) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
: this.destroys.push(model);
|
|
41
|
+
!modelIsHideable(result.value)
|
|
42
|
+
? this._destroys.push(result.value)
|
|
43
|
+
: this._hiddens.push(result.value);
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
|
-
procedure(procedure) {
|
|
41
|
-
this.procedures.push(procedure);
|
|
42
|
-
}
|
|
43
46
|
relation(entity, model) {
|
|
44
|
-
this.
|
|
47
|
+
this._relations.set(entity, model);
|
|
45
48
|
}
|
|
46
49
|
link(entity, model) {
|
|
47
50
|
this.relation(entity, model);
|
|
48
51
|
return entity;
|
|
49
52
|
}
|
|
50
53
|
select(entity) {
|
|
51
|
-
const model = this.
|
|
54
|
+
const model = this._relations.get(entity);
|
|
52
55
|
return model
|
|
53
56
|
? ResultFactory.success(model)
|
|
54
57
|
: ResultFactory.failure('Not found');
|
|
55
58
|
}
|
|
56
59
|
async flush() {
|
|
57
|
-
const
|
|
60
|
+
const persists = [
|
|
58
61
|
...(await this.persistAll()),
|
|
59
|
-
...(await this.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
...(await this.persistListAll())
|
|
63
|
+
];
|
|
64
|
+
const syncs = await this.syncAll();
|
|
65
|
+
const refreshs = await this.refreshAll();
|
|
66
|
+
const procedures = await this.procedureAll();
|
|
67
|
+
const [hiddens, destroys] = await Promise.all([
|
|
68
|
+
this.hiddenAll(),
|
|
69
|
+
this.destroyAll()
|
|
70
|
+
]);
|
|
71
|
+
const results = [
|
|
72
|
+
...persists,
|
|
73
|
+
...syncs,
|
|
74
|
+
...refreshs,
|
|
75
|
+
...procedures,
|
|
76
|
+
...hiddens,
|
|
77
|
+
...destroys
|
|
64
78
|
];
|
|
65
79
|
this.dispose();
|
|
66
80
|
return results;
|
|
67
81
|
}
|
|
68
82
|
dispose() {
|
|
69
|
-
this.
|
|
70
|
-
this.
|
|
71
|
-
this.
|
|
72
|
-
this.
|
|
73
|
-
this.
|
|
74
|
-
this.
|
|
75
|
-
this.
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
83
|
+
this._relations.clear();
|
|
84
|
+
this._persists = [];
|
|
85
|
+
this._persistsList = [];
|
|
86
|
+
this._refreshs = [];
|
|
87
|
+
this._syncs = [];
|
|
88
|
+
this._hiddens = [];
|
|
89
|
+
this._destroys = [];
|
|
90
|
+
this._procedures = [];
|
|
91
|
+
}
|
|
92
|
+
async persistAll() {
|
|
93
|
+
const results = [];
|
|
94
|
+
for (const persist of this._persists) {
|
|
79
95
|
const model = await fromPromise(persist.create(this));
|
|
80
96
|
persist.relationable && this.relation(persist.entity, model);
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
return
|
|
97
|
+
results.push(await this.dataSource.insert(model));
|
|
98
|
+
}
|
|
99
|
+
return results;
|
|
100
|
+
}
|
|
101
|
+
async persistListAll() {
|
|
102
|
+
const results = [];
|
|
103
|
+
for (const persists of this._persistsList) {
|
|
104
|
+
const models = await fromPromise(persists.create(this));
|
|
105
|
+
for (const model of models) {
|
|
106
|
+
results.push(await this.dataSource.insert(model));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return results;
|
|
84
110
|
}
|
|
85
111
|
syncAll() {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
.
|
|
112
|
+
const syncs = this._syncs.filter(({ model }) => !modelIsHideable(model)
|
|
113
|
+
? !this._destroys.includes(model)
|
|
114
|
+
: !this._hiddens.includes(model));
|
|
115
|
+
const syncs$ = [];
|
|
116
|
+
syncs.forEach((sync) => {
|
|
89
117
|
const dirty = sync.verify(this);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
.map(([model, dirty]) => {
|
|
94
|
-
return this.dataSource.update(model, dirty);
|
|
118
|
+
if (dirty) {
|
|
119
|
+
syncs$.push(this.dataSource.update(sync.model, dirty));
|
|
120
|
+
}
|
|
95
121
|
});
|
|
96
|
-
return Promise.all(
|
|
97
|
-
}
|
|
98
|
-
refreshAll() {
|
|
99
|
-
const
|
|
100
|
-
const
|
|
122
|
+
return Promise.all(syncs$);
|
|
123
|
+
}
|
|
124
|
+
async refreshAll() {
|
|
125
|
+
const refreshs$ = this._refreshs.map(async (refresh) => {
|
|
126
|
+
const _models = await fromPromise(refresh.dispatch(this));
|
|
127
|
+
const models = _models.filter(({ model }) => !modelIsHideable(model)
|
|
128
|
+
? !this._destroys.includes(model)
|
|
129
|
+
: !this._hiddens.includes(model));
|
|
101
130
|
return this.dataSource.refresh(models);
|
|
102
131
|
});
|
|
103
|
-
return Promise.all(
|
|
104
|
-
}
|
|
105
|
-
destroyAll() {
|
|
106
|
-
return Promise.all(this.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
132
|
+
return Promise.all(refreshs$);
|
|
133
|
+
}
|
|
134
|
+
async destroyAll() {
|
|
135
|
+
return Promise.all(this._destroys.map((destroy) => {
|
|
136
|
+
return this.dataSource.delete(destroy);
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
async hiddenAll() {
|
|
140
|
+
return Promise.all(this._hiddens.map((hidden) => {
|
|
141
|
+
return this.dataSource.hidden(hidden);
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
async procedureAll() {
|
|
145
|
+
return Promise.all(this._procedures.map((procedure) => {
|
|
146
|
+
return this.dataSource.procedure(this, procedure);
|
|
147
|
+
}));
|
|
113
148
|
}
|
|
114
149
|
}
|
|
115
150
|
//# sourceMappingURL=entity-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-manager.js","sourceRoot":"","sources":["../../src/entity-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"entity-manager.js","sourceRoot":"","sources":["../../src/entity-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/entity.d.ts
CHANGED
|
@@ -11,6 +11,11 @@ export declare abstract class EntityPersist<E extends AbstractEntity, M extends
|
|
|
11
11
|
constructor(entity: E, relationable?: boolean);
|
|
12
12
|
abstract create(manager: QueryEntityManager): M | Promise<M>;
|
|
13
13
|
}
|
|
14
|
+
export declare abstract class EntityPersistList<E extends AbstractEntity> {
|
|
15
|
+
readonly entity: E;
|
|
16
|
+
constructor(entity: E);
|
|
17
|
+
abstract create(manager: QueryEntityManager): AbstractModel[] | Promise<AbstractModel[]>;
|
|
18
|
+
}
|
|
14
19
|
export declare abstract class EntitySync<E extends AbstractEntity, M extends AbstractModel> {
|
|
15
20
|
readonly entity: E;
|
|
16
21
|
readonly model: M;
|
package/dist/esm/entity.js
CHANGED
|
@@ -10,6 +10,11 @@ export class EntityPersist {
|
|
|
10
10
|
this.relationable = relationable;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
+
export class EntityPersistList {
|
|
14
|
+
constructor(entity) {
|
|
15
|
+
this.entity = entity;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
13
18
|
export class EntitySync {
|
|
14
19
|
constructor(entity, model, relationable = true) {
|
|
15
20
|
this.entity = entity;
|
package/dist/esm/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAMvE,MAAM,OAAO,MAAM;IACjB,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CAC7C;AAED,MAAM,OAAgB,aAAa;IAIjC,YACkB,MAAS,EACT,eAAe,IAAI;QADnB,WAAM,GAAN,MAAM,CAAG;QACT,iBAAY,GAAZ,YAAY,CAAO;IAClC,CAAC;CAGL;AAED,MAAM,OAAgB,UAAU;IAM9B,YACkB,MAAS,EACT,KAAQ,EACR,eAAe,IAAI;QAFnB,WAAM,GAAN,MAAM,CAAG;QACT,UAAK,GAAL,KAAK,CAAG;QACR,iBAAY,GAAZ,YAAY,CAAO;QAEnC,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAIM,MAAM,CAAC,OAA2B;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEO,UAAU,CAAC,OAA2B;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;QAE7C,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,MAAM,OAAgB,aAAa;IAIjC,YACkB,MAAS,EACT,KAAQ,EACR,eAAe,IAAI;QAFnB,WAAM,GAAN,MAAM,CAAG;QACT,UAAK,GAAL,KAAK,CAAG;QACR,iBAAY,GAAZ,YAAY,CAAO;IAClC,CAAC;CAGL"}
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAMvE,MAAM,OAAO,MAAM;IACjB,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CAC7C;AAED,MAAM,OAAgB,aAAa;IAIjC,YACkB,MAAS,EACT,eAAe,IAAI;QADnB,WAAM,GAAN,MAAM,CAAG;QACT,iBAAY,GAAZ,YAAY,CAAO;IAClC,CAAC;CAGL;AAED,MAAM,OAAgB,iBAAiB;IACrC,YAA4B,MAAS;QAAT,WAAM,GAAN,MAAM,CAAG;IAAG,CAAC;CAK1C;AAED,MAAM,OAAgB,UAAU;IAM9B,YACkB,MAAS,EACT,KAAQ,EACR,eAAe,IAAI;QAFnB,WAAM,GAAN,MAAM,CAAG;QACT,UAAK,GAAL,KAAK,CAAG;QACR,iBAAY,GAAZ,YAAY,CAAO;QAEnC,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAIM,MAAM,CAAC,OAA2B;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEO,UAAU,CAAC,OAA2B;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;QAE7C,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,MAAM,OAAgB,aAAa;IAIjC,YACkB,MAAS,EACT,KAAQ,EACR,eAAe,IAAI;QAFnB,WAAM,GAAN,MAAM,CAAG;QACT,UAAK,GAAL,KAAK,CAAG;QACR,iBAAY,GAAZ,YAAY,CAAO;IAClC,CAAC;CAGL"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolster/vinegar",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.1",
|
|
4
4
|
"description": "Container package of basic classes to implement a clean architecture.",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"prepublishOnly": "npm run build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@rolster/commons": "^3.1.
|
|
29
|
+
"@rolster/commons": "^3.1.9",
|
|
30
30
|
"uuid": "^11.0.3"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|