owservable 1.9.1 → 1.9.3
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/lib/mongodb/functions/observable.database.js +62 -2
- package/lib/mongodb/functions/observable.database.js.map +1 -1
- package/lib/mongodb/functions/observable.model.d.ts +10 -3
- package/lib/mongodb/functions/observable.model.factory.d.ts +4 -0
- package/lib/mongodb/functions/observable.model.factory.js +6 -0
- package/lib/mongodb/functions/observable.model.factory.js.map +1 -0
- package/lib/mongodb/functions/observable.model.js +61 -33
- package/lib/mongodb/functions/observable.model.js.map +1 -1
- package/lib/mongodb/functions/observable.models.map.d.ts +10 -0
- package/lib/mongodb/functions/observable.models.map.js +23 -0
- package/lib/mongodb/functions/observable.models.map.js.map +1 -0
- package/lib/owservable.d.ts +3 -2
- package/lib/owservable.js +2 -2
- package/lib/owservable.js.map +1 -1
- package/lib/store/a.store.js +2 -2
- package/lib/store/a.store.js.map +1 -1
- package/lib/store/document.store.js +2 -2
- package/lib/store/document.store.js.map +1 -1
- package/lib/types/lifecycle.event.type.d.ts +7 -0
- package/lib/types/lifecycle.event.type.js +3 -0
- package/lib/types/lifecycle.event.type.js.map +1 -0
- package/package.json +4 -4
|
@@ -10,12 +10,72 @@ class ObservableDatabase extends rxjs_1.Subject {
|
|
|
10
10
|
}
|
|
11
11
|
constructor() {
|
|
12
12
|
super();
|
|
13
|
+
this.lifecycle = new rxjs_1.Subject();
|
|
14
|
+
this._initializeStream();
|
|
15
|
+
}
|
|
16
|
+
_initializeStream() {
|
|
13
17
|
const db = mongoose_1.default.connection.db;
|
|
14
18
|
this._stream = db.watch([], { fullDocument: 'updateLookup' });
|
|
15
19
|
this._stream.on('change', (change) => {
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
try {
|
|
21
|
+
const { ns, documentKey, operationType, updateDescription, fullDocument } = change;
|
|
22
|
+
this.next({ ns, documentKey, operationType, updateDescription, fullDocument });
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.error('[@owservable] -> ObservableDatabase Error in change event:', error);
|
|
26
|
+
this.lifecycle.next({
|
|
27
|
+
type: 'error',
|
|
28
|
+
collection: '*',
|
|
29
|
+
timestamp: new Date(),
|
|
30
|
+
error
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
this._stream.on('error', (error) => {
|
|
35
|
+
console.error('[@owservable] -> ObservableDatabase ChangeStream error event:', error, ', attempting reconnection...');
|
|
36
|
+
this.lifecycle.next({
|
|
37
|
+
type: 'error',
|
|
38
|
+
collection: '*',
|
|
39
|
+
timestamp: new Date(),
|
|
40
|
+
error
|
|
41
|
+
});
|
|
42
|
+
this._reconnect();
|
|
43
|
+
});
|
|
44
|
+
this._stream.on('close', () => {
|
|
45
|
+
console.warn('[@owservable] -> ObservableDatabase ChangeStream close event: stream has closed, attempting reconnection...');
|
|
46
|
+
this.lifecycle.next({
|
|
47
|
+
type: 'close',
|
|
48
|
+
collection: '*',
|
|
49
|
+
timestamp: new Date()
|
|
50
|
+
});
|
|
51
|
+
this._reconnect();
|
|
18
52
|
});
|
|
53
|
+
this._stream.on('end', () => {
|
|
54
|
+
console.warn('[@owservable] -> ObservableDatabase ChangeStream end event: stream has ended, attempting reconnection...');
|
|
55
|
+
this.lifecycle.next({
|
|
56
|
+
type: 'end',
|
|
57
|
+
collection: '*',
|
|
58
|
+
timestamp: new Date()
|
|
59
|
+
});
|
|
60
|
+
this._reconnect();
|
|
61
|
+
});
|
|
62
|
+
this.lifecycle.next({
|
|
63
|
+
type: 'live',
|
|
64
|
+
collection: '*',
|
|
65
|
+
timestamp: new Date()
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
_reconnect() {
|
|
69
|
+
console.info('[@owservable] -> ObservableDatabase Reconnecting ChangeStream...');
|
|
70
|
+
try {
|
|
71
|
+
if (this._stream) {
|
|
72
|
+
this._stream.removeAllListeners();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
console.error('[@owservable] -> ObservableDatabase Error cleaning up old stream:', error);
|
|
77
|
+
}
|
|
78
|
+
this._initializeStream();
|
|
19
79
|
}
|
|
20
80
|
}
|
|
21
81
|
const observableDatabase = () => ObservableDatabase.init();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.database.js","sourceRoot":"","sources":["../../../src/mongodb/functions/observable.database.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,+BAA6B;AAC7B,uCAAgC;
|
|
1
|
+
{"version":3,"file":"observable.database.js","sourceRoot":"","sources":["../../../src/mongodb/functions/observable.database.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import { Model } from 'mongoose';
|
|
2
1
|
import { Subject } from 'rxjs';
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import LifecycleEvent from '../../types/lifecycle.event.type';
|
|
3
|
+
declare class ObservableModel extends Subject<any> {
|
|
4
|
+
private readonly _collection;
|
|
5
|
+
private _stream;
|
|
6
|
+
readonly lifecycle: Subject<LifecycleEvent>;
|
|
7
|
+
constructor(collection: string);
|
|
8
|
+
private _initializeStream;
|
|
9
|
+
private _reconnect;
|
|
10
|
+
}
|
|
11
|
+
export default ObservableModel;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const observable_models_map_1 = require("./observable.models.map");
|
|
4
|
+
const observableModel = (model) => observable_models_map_1.default.get(model);
|
|
5
|
+
exports.default = observableModel;
|
|
6
|
+
//# sourceMappingURL=observable.model.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observable.model.factory.js","sourceRoot":"","sources":["../../../src/mongodb/functions/observable.model.factory.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAKb,mEAA0D;AAE1D,MAAM,eAAe,GAAG,CAAC,KAAiB,EAAgB,EAAE,CAAC,+BAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5F,kBAAe,eAAe,CAAC"}
|
|
@@ -1,51 +1,79 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const mongoose_1 = require("mongoose");
|
|
3
4
|
const rxjs_1 = require("rxjs");
|
|
4
|
-
const operators_1 = require("rxjs/operators");
|
|
5
|
-
const observable_database_1 = require("./observable.database");
|
|
6
5
|
class ObservableModel extends rxjs_1.Subject {
|
|
7
6
|
constructor(collection) {
|
|
8
7
|
super();
|
|
9
8
|
this._collection = collection;
|
|
10
|
-
this.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
this.lifecycle = new rxjs_1.Subject();
|
|
10
|
+
this._initializeStream();
|
|
11
|
+
}
|
|
12
|
+
_initializeStream() {
|
|
13
|
+
const db = mongoose_1.default.connection.db;
|
|
14
|
+
const collectionObj = db.collection(this._collection);
|
|
15
|
+
this._stream = collectionObj.watch([], { fullDocument: 'updateLookup' });
|
|
16
|
+
this._stream.on('change', (change) => {
|
|
17
|
+
try {
|
|
14
18
|
const { ns, documentKey, operationType, updateDescription, fullDocument } = change;
|
|
15
19
|
this.next({ ns, documentKey, operationType, updateDescription, fullDocument });
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
console.error(`[@owservable] -> ObservableModel[${this._collection}] Error in change event:`, error);
|
|
23
|
+
this.lifecycle.next({
|
|
24
|
+
type: 'error',
|
|
25
|
+
collection: this._collection,
|
|
26
|
+
timestamp: new Date(),
|
|
27
|
+
error
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
this._stream.on('error', (error) => {
|
|
32
|
+
console.error(`[@owservable] -> ObservableModel[${this._collection}] ChangeStream error event:`, error, ', attempting reconnection...');
|
|
33
|
+
this.lifecycle.next({
|
|
34
|
+
type: 'error',
|
|
35
|
+
collection: this._collection,
|
|
36
|
+
timestamp: new Date(),
|
|
37
|
+
error
|
|
38
|
+
});
|
|
39
|
+
this._reconnect();
|
|
40
|
+
});
|
|
41
|
+
this._stream.on('close', () => {
|
|
42
|
+
console.warn(`[@owservable] -> ObservableModel[${this._collection}] ChangeStream close event: stream has closed, attempting reconnection...`);
|
|
43
|
+
this.lifecycle.next({
|
|
44
|
+
type: 'close',
|
|
45
|
+
collection: this._collection,
|
|
46
|
+
timestamp: new Date()
|
|
47
|
+
});
|
|
48
|
+
this._reconnect();
|
|
49
|
+
});
|
|
50
|
+
this._stream.on('end', () => {
|
|
51
|
+
console.warn(`[@owservable] -> ObservableModel[${this._collection}] ChangeStream end event: stream has ended, attempting reconnection...`);
|
|
52
|
+
this.lifecycle.next({
|
|
53
|
+
type: 'end',
|
|
54
|
+
collection: this._collection,
|
|
55
|
+
timestamp: new Date()
|
|
56
|
+
});
|
|
57
|
+
this._reconnect();
|
|
58
|
+
});
|
|
59
|
+
this.lifecycle.next({
|
|
60
|
+
type: 'live',
|
|
61
|
+
collection: this._collection,
|
|
62
|
+
timestamp: new Date()
|
|
19
63
|
});
|
|
20
64
|
}
|
|
21
|
-
|
|
65
|
+
_reconnect() {
|
|
66
|
+
console.info(`[@owservable] -> ObservableModel[${this._collection}] Reconnecting ChangeStream...`);
|
|
22
67
|
try {
|
|
23
|
-
|
|
24
|
-
|
|
68
|
+
if (this._stream) {
|
|
69
|
+
this._stream.removeAllListeners();
|
|
70
|
+
}
|
|
25
71
|
}
|
|
26
72
|
catch (error) {
|
|
27
|
-
|
|
73
|
+
console.error(`[@owservable] -> ObservableModel[${this._collection}] Error cleaning up old stream:`, error);
|
|
28
74
|
}
|
|
75
|
+
this._initializeStream();
|
|
29
76
|
}
|
|
30
77
|
}
|
|
31
|
-
|
|
32
|
-
static init() {
|
|
33
|
-
if (!ObservableModelsMap._instance)
|
|
34
|
-
ObservableModelsMap._instance = new ObservableModelsMap();
|
|
35
|
-
return ObservableModelsMap._instance;
|
|
36
|
-
}
|
|
37
|
-
static get(model) {
|
|
38
|
-
const instance = ObservableModelsMap.init();
|
|
39
|
-
const map = instance._map;
|
|
40
|
-
const collectionName = model.collection.collectionName;
|
|
41
|
-
if (!map.get(collectionName))
|
|
42
|
-
map.set(collectionName, new ObservableModel(collectionName));
|
|
43
|
-
return map.get(collectionName);
|
|
44
|
-
}
|
|
45
|
-
constructor() {
|
|
46
|
-
this._map = new Map();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
const observableModel = (model) => ObservableModelsMap.get(model);
|
|
50
|
-
exports.default = observableModel;
|
|
78
|
+
exports.default = ObservableModel;
|
|
51
79
|
//# sourceMappingURL=observable.model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.model.js","sourceRoot":"","sources":["../../../src/mongodb/functions/observable.model.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"observable.model.js","sourceRoot":"","sources":["../../../src/mongodb/functions/observable.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Model } from 'mongoose';
|
|
2
|
+
import ObservableModel from './observable.model';
|
|
3
|
+
declare class ObservableModelsMap {
|
|
4
|
+
private static _instance;
|
|
5
|
+
static init(): ObservableModelsMap;
|
|
6
|
+
static get(model: Model<any>): ObservableModel;
|
|
7
|
+
private readonly _map;
|
|
8
|
+
private constructor();
|
|
9
|
+
}
|
|
10
|
+
export default ObservableModelsMap;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const observable_model_1 = require("./observable.model");
|
|
4
|
+
class ObservableModelsMap {
|
|
5
|
+
static init() {
|
|
6
|
+
if (!ObservableModelsMap._instance)
|
|
7
|
+
ObservableModelsMap._instance = new ObservableModelsMap();
|
|
8
|
+
return ObservableModelsMap._instance;
|
|
9
|
+
}
|
|
10
|
+
static get(model) {
|
|
11
|
+
const instance = ObservableModelsMap.init();
|
|
12
|
+
const map = instance._map;
|
|
13
|
+
const collectionName = model.collection.collectionName;
|
|
14
|
+
if (!map.get(collectionName))
|
|
15
|
+
map.set(collectionName, new observable_model_1.default(collectionName));
|
|
16
|
+
return map.get(collectionName);
|
|
17
|
+
}
|
|
18
|
+
constructor() {
|
|
19
|
+
this._map = new Map();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.default = ObservableModelsMap;
|
|
23
|
+
//# sourceMappingURL=observable.models.map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observable.models.map.js","sourceRoot":"","sources":["../../../src/mongodb/functions/observable.models.map.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,yDAAiD;AAEjD,MAAM,mBAAmB;IAGjB,MAAM,CAAC,IAAI;QACjB,IAAI,CAAC,mBAAmB,CAAC,SAAS;YAAE,mBAAmB,CAAC,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC9F,OAAO,mBAAmB,CAAC,SAAS,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,KAAiB;QAClC,MAAM,QAAQ,GAAwB,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,GAAG,GAAiC,QAAQ,CAAC,IAAI,CAAC;QAExD,MAAM,cAAc,GAAW,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,0BAAe,CAAC,cAAc,CAAC,CAAC,CAAC;QAE3F,OAAO,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;IAID;QACC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAChD,CAAC;CACD;AACD,kBAAe,mBAAmB,CAAC"}
|
package/lib/owservable.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import OwservableClient from './owservable.client';
|
|
|
2
2
|
import EStoreType from './enums/store.type.enum';
|
|
3
3
|
import ConnectionManagerRefreshType from './types/connection.manager.refresh.type';
|
|
4
4
|
import CronJobType from './types/cronjob.type';
|
|
5
|
+
import LifecycleEvent from './types/lifecycle.event.type';
|
|
5
6
|
import StoreScopeType from './types/store.scope.type';
|
|
6
7
|
import StoreSubscriptionConfigType from './types/store.subscription.config.type';
|
|
7
8
|
import StoreSubscriptionUpdateType from './types/store.subscription.update.type';
|
|
@@ -24,7 +25,7 @@ import DataMiddlewareMap from './middleware/data.middleware.map';
|
|
|
24
25
|
import MongoDBConnector from './mongodb/mongodb.connector';
|
|
25
26
|
import CollectionsModelsMap from './mongodb/collections.models.map';
|
|
26
27
|
import processModels from './mongodb/functions/process.models';
|
|
27
|
-
import observableModel from './mongodb/functions/observable.model';
|
|
28
|
+
import observableModel from './mongodb/functions/observable.model.factory';
|
|
28
29
|
import observableDatabase from './mongodb/functions/observable.database';
|
|
29
30
|
import addIndexToAttributes from './mongodb/functions/index/add.index.to.attributes';
|
|
30
31
|
import addUpIndicesToAttributes from './mongodb/functions/index/add.up.indices.to.attributes';
|
|
@@ -35,6 +36,6 @@ import CountStore from './store/count.store';
|
|
|
35
36
|
import DocumentStore from './store/document.store';
|
|
36
37
|
import CollectionStore from './store/collection.store';
|
|
37
38
|
import storeFactory from './store/factories/store.factory';
|
|
38
|
-
export { OwservableClient, EStoreType, ConnectionManagerRefreshType, CronJobType, StoreScopeType, StoreSubscriptionConfigType, StoreSubscriptionUpdateType, SubscriptionMethodsType, WatcherType, WorkerType, IConnectionManager, initiateCronjobs, initiateWatchers, initiateWorkers, addActionCronjobs, addActionWatchers, addActionWorkers, executeCronjob, executeWatcher, executeWorker, executeProcessesInFolder, executeOnFilesRecursively, DataMiddlewareMap, MongoDBConnector, CollectionsModelsMap, processModels, observableModel, observableDatabase, addIndexToAttributes, addUpIndicesToAttributes, addDownIndicesToAttributes, addUpAndDownIndicesToAttributes, AStore, CountStore, DocumentStore, CollectionStore, storeFactory };
|
|
39
|
+
export { OwservableClient, EStoreType, ConnectionManagerRefreshType, CronJobType, LifecycleEvent, StoreScopeType, StoreSubscriptionConfigType, StoreSubscriptionUpdateType, SubscriptionMethodsType, WatcherType, WorkerType, IConnectionManager, initiateCronjobs, initiateWatchers, initiateWorkers, addActionCronjobs, addActionWatchers, addActionWorkers, executeCronjob, executeWatcher, executeWorker, executeProcessesInFolder, executeOnFilesRecursively, DataMiddlewareMap, MongoDBConnector, CollectionsModelsMap, processModels, observableModel, observableDatabase, addIndexToAttributes, addUpIndicesToAttributes, addDownIndicesToAttributes, addUpAndDownIndicesToAttributes, AStore, CountStore, DocumentStore, CollectionStore, storeFactory };
|
|
39
40
|
declare const Owservable: {};
|
|
40
41
|
export default Owservable;
|
package/lib/owservable.js
CHANGED
|
@@ -35,8 +35,8 @@ const collections_models_map_1 = require("./mongodb/collections.models.map");
|
|
|
35
35
|
exports.CollectionsModelsMap = collections_models_map_1.default;
|
|
36
36
|
const process_models_1 = require("./mongodb/functions/process.models");
|
|
37
37
|
exports.processModels = process_models_1.default;
|
|
38
|
-
const
|
|
39
|
-
exports.observableModel =
|
|
38
|
+
const observable_model_factory_1 = require("./mongodb/functions/observable.model.factory");
|
|
39
|
+
exports.observableModel = observable_model_factory_1.default;
|
|
40
40
|
const observable_database_1 = require("./mongodb/functions/observable.database");
|
|
41
41
|
exports.observableDatabase = observable_database_1.default;
|
|
42
42
|
const add_index_to_attributes_1 = require("./mongodb/functions/index/add.index.to.attributes");
|
package/lib/owservable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owservable.js","sourceRoot":"","sources":["../src/owservable.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,2DAAmD;
|
|
1
|
+
{"version":3,"file":"owservable.js","sourceRoot":"","sources":["../src/owservable.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,2DAAmD;AA8DlD,2BA9DM,2BAAgB,CA8DN;AA3DjB,6DAAiD;AA8DhD,qBA9DM,yBAAU,CA8DN;AA7CX,mEAA2D;AAgE1D,0BAhEM,0BAAe,CAgEN;AA/DhB,qEAA6D;AA6D5D,2BA7DM,2BAAgB,CA6DN;AA5DjB,qEAA6D;AA6D5D,2BA7DM,2BAAgB,CA6DN;AA1DjB,gFAAuE;AA8DtE,4BA9DM,6BAAiB,CA8DN;AA7DlB,gFAAuE;AA8DtE,4BA9DM,6BAAiB,CA8DN;AA7DlB,8EAAqE;AA8DpE,2BA9DM,4BAAgB,CA8DN;AA3DjB,yEAAiE;AA8DhE,yBA9DM,yBAAc,CA8DN;AA7Df,yEAAiE;AA8DhE,yBA9DM,yBAAc,CA8DN;AA7Df,uEAA+D;AA8D9D,wBA9DM,wBAAa,CA8DN;AA7Dd,iGAAuF;AA8DtF,mCA9DM,qCAAwB,CA8DN;AA7DzB,mGAAyF;AA8DxF,oCA9DM,sCAAyB,CA8DN;AA3D1B,0EAAiE;AA8DhE,4BA9DM,6BAAiB,CA8DN;AA3DlB,mEAA2D;AA8D1D,2BA9DM,2BAAgB,CA8DN;AA7DjB,6EAAoE;AA8DnE,+BA9DM,gCAAoB,CA8DN;AA3DrB,uEAA+D;AA8D9D,wBA9DM,wBAAa,CA8DN;AA7Dd,2FAA2E;AA8D1E,0BA9DM,kCAAe,CA8DN;AA7DhB,iFAAyE;AA8DxE,6BA9DM,6BAAkB,CA8DN;AA7DnB,+FAAqF;AA8DpF,+BA9DM,iCAAoB,CA8DN;AA7DrB,yGAA8F;AA8D7F,mCA9DM,sCAAwB,CA8DN;AA7DzB,6GAAkG;AA8DjG,qCA9DM,wCAA0B,CA8DN;AA7D3B,2HAA8G;AA8D7G,0CA9DM,+CAA+B,CA8DN;AA3DhC,6CAAqC;AA8DpC,iBA9DM,iBAAM,CA8DN;AA7DP,qDAA6C;AA8D5C,qBA9DM,qBAAU,CA8DN;AA7DX,2DAAmD;AA8DlD,wBA9DM,wBAAa,CA8DN;AA7Dd,+DAAuD;AA8DtD,0BA9DM,0BAAe,CA8DN;AA3DhB,mEAA2D;AA8D1D,uBA9DM,uBAAY,CA8DN;AAGb,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,kBAAe,UAAU,CAAC"}
|
package/lib/store/a.store.js
CHANGED
|
@@ -7,7 +7,7 @@ const lodash_1 = require("lodash");
|
|
|
7
7
|
const operators_1 = require("rxjs/operators");
|
|
8
8
|
const rxjs_1 = require("rxjs");
|
|
9
9
|
const store_type_enum_1 = require("../enums/store.type.enum");
|
|
10
|
-
const
|
|
10
|
+
const observable_model_factory_1 = require("../mongodb/functions/observable.model.factory");
|
|
11
11
|
const get_milliseconds_from_1 = require("../functions/performance/get.milliseconds.from");
|
|
12
12
|
require("json-circular-stringify");
|
|
13
13
|
const DEFAULT_DELAY = 100;
|
|
@@ -45,7 +45,7 @@ class AStore extends rxjs_1.Subject {
|
|
|
45
45
|
delete this._subscription;
|
|
46
46
|
}
|
|
47
47
|
restartSubscription() {
|
|
48
|
-
this.subscription = (0,
|
|
48
|
+
this.subscription = (0, observable_model_factory_1.default)(this.model)
|
|
49
49
|
.pipe((0, operators_1.throttleTime)(this._delay, rxjs_1.asyncScheduler, { leading: true, trailing: true }))
|
|
50
50
|
.subscribe({
|
|
51
51
|
next: (change) => {
|
package/lib/store/a.store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a.store.js","sourceRoot":"","sources":["../../src/store/a.store.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,+BAAwB;AACxB,6CAAuC;AACvC,+CAA+C;AAC/C,mCAA0G;AAI1G,8CAA4C;AAC5C,+BAA2D;AAE3D,8DAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"a.store.js","sourceRoot":"","sources":["../../src/store/a.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ const rxjs_1 = require("rxjs");
|
|
|
14
14
|
const operators_1 = require("rxjs/operators");
|
|
15
15
|
const a_store_1 = require("./a.store");
|
|
16
16
|
const store_type_enum_1 = require("../enums/store.type.enum");
|
|
17
|
-
const
|
|
17
|
+
const observable_model_factory_1 = require("../mongodb/functions/observable.model.factory");
|
|
18
18
|
const get_hrtime_as_number_1 = require("../functions/performance/get.hrtime.as.number");
|
|
19
19
|
const _getIdFromQuery = (query) => (_.isString(query) ? query : _.get(query, '_id', '').toString());
|
|
20
20
|
class DocumentStore extends a_store_1.default {
|
|
@@ -29,7 +29,7 @@ class DocumentStore extends a_store_1.default {
|
|
|
29
29
|
this._paging = skip ? {} : { skip, limit: 1 };
|
|
30
30
|
}
|
|
31
31
|
restartSubscription() {
|
|
32
|
-
this.subscription = (0,
|
|
32
|
+
this.subscription = (0, observable_model_factory_1.default)(this.model)
|
|
33
33
|
.pipe((0, operators_1.throttleTime)(this._delay, rxjs_1.asyncScheduler, { leading: true, trailing: true }))
|
|
34
34
|
.pipe((0, operators_1.filter)((change) => this._pipeFilter(change)))
|
|
35
35
|
.subscribe({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.store.js","sourceRoot":"","sources":["../../src/store/document.store.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;AAEb,4BAA4B;AAE5B,+BAAoC;AACpC,8CAAoD;AAEpD,uCAA+B;AAC/B,8DAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"document.store.js","sourceRoot":"","sources":["../../src/store/document.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.event.type.js","sourceRoot":"","sources":["../../src/types/lifecycle.event.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "owservable",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.3",
|
|
4
4
|
"description": "owservable backend",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20"
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"srctree": "dir src /s /b > srctree.txt"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@owservable/actions": "^1.9.
|
|
43
|
-
"@owservable/folders": "^1.9.
|
|
42
|
+
"@owservable/actions": "^1.9.3",
|
|
43
|
+
"@owservable/folders": "^1.9.3",
|
|
44
44
|
"@types/lodash": "^4.17.20",
|
|
45
|
-
"@types/node": "^24.
|
|
45
|
+
"@types/node": "^24.8.1",
|
|
46
46
|
"@types/node-cron": "^3.0.11",
|
|
47
47
|
"deprecated-decorator": "^0.1.6",
|
|
48
48
|
"json-circular-stringify": "^1.0.1",
|