owservable 1.6.3 → 1.7.6
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/README.md +441 -160
- package/lib/auth/i.connection.manager.d.ts +1 -1
- package/lib/enums/store.type.enum.js.map +1 -0
- package/lib/functions/action/add.action.cronjobs.js +2 -7
- package/lib/functions/action/add.action.cronjobs.js.map +1 -1
- package/lib/functions/action/add.action.watchers.js +1 -3
- package/lib/functions/action/add.action.watchers.js.map +1 -1
- package/lib/functions/action/add.action.workers.js +1 -3
- package/lib/functions/action/add.action.workers.js.map +1 -1
- package/lib/functions/execute/execute.cronjob.d.ts +1 -1
- package/lib/functions/execute/execute.processes.in.folder.d.ts +1 -1
- package/lib/functions/execute/execute.processes.in.folder.js +2 -2
- package/lib/functions/execute/execute.processes.in.folder.js.map +1 -1
- package/lib/functions/execute/execute.watcher.d.ts +1 -1
- package/lib/functions/execute/execute.worker.d.ts +1 -1
- package/lib/owservable.d.ts +9 -9
- package/lib/owservable.js +1 -1
- package/lib/owservable.js.map +1 -1
- package/lib/store/a.store.d.ts +3 -2
- package/lib/store/a.store.js +2 -2
- package/lib/store/a.store.js.map +1 -1
- package/lib/store/collection.store.js +1 -2
- package/lib/store/collection.store.js.map +1 -1
- package/lib/store/count.store.js +1 -2
- package/lib/store/count.store.js.map +1 -1
- package/lib/store/document.store.js +1 -2
- package/lib/store/document.store.js.map +1 -1
- package/lib/store/factories/store.factory.d.ts +1 -1
- package/lib/types/connection.manager.refresh.type.js.map +1 -0
- package/lib/types/cronjob.type.js.map +1 -0
- package/lib/types/store.scope.type.js.map +1 -0
- package/lib/types/store.subscription.config.type.js.map +1 -0
- package/lib/types/store.subscription.update.type.js.map +1 -0
- package/lib/types/subscription.methods.type.js.map +1 -0
- package/lib/types/watcher.type.js.map +1 -0
- package/lib/types/worker.type.js.map +1 -0
- package/package.json +19 -21
- package/lib/_enums/store.type.enum.js.map +0 -1
- package/lib/_types/connection.manager.refresh.type.js.map +0 -1
- package/lib/_types/cronjob.type.js.map +0 -1
- package/lib/_types/store.scope.type.js.map +0 -1
- package/lib/_types/store.subscription.config.type.js.map +0 -1
- package/lib/_types/store.subscription.update.type.js.map +0 -1
- package/lib/_types/subscription.methods.type.js.map +0 -1
- package/lib/_types/watcher.type.js.map +0 -1
- package/lib/_types/worker.type.js.map +0 -1
- /package/lib/{_enums → enums}/store.type.enum.d.ts +0 -0
- /package/lib/{_enums → enums}/store.type.enum.js +0 -0
- /package/lib/{_types → types}/connection.manager.refresh.type.d.ts +0 -0
- /package/lib/{_types → types}/connection.manager.refresh.type.js +0 -0
- /package/lib/{_types → types}/cronjob.type.d.ts +0 -0
- /package/lib/{_types → types}/cronjob.type.js +0 -0
- /package/lib/{_types → types}/store.scope.type.d.ts +0 -0
- /package/lib/{_types → types}/store.scope.type.js +0 -0
- /package/lib/{_types → types}/store.subscription.config.type.d.ts +0 -0
- /package/lib/{_types → types}/store.subscription.config.type.js +0 -0
- /package/lib/{_types → types}/store.subscription.update.type.d.ts +0 -0
- /package/lib/{_types → types}/store.subscription.update.type.js +0 -0
- /package/lib/{_types → types}/subscription.methods.type.d.ts +0 -0
- /package/lib/{_types → types}/subscription.methods.type.js +0 -0
- /package/lib/{_types → types}/watcher.type.d.ts +0 -0
- /package/lib/{_types → types}/watcher.type.js +0 -0
- /package/lib/{_types → types}/worker.type.d.ts +0 -0
- /package/lib/{_types → types}/worker.type.js +0 -0
package/README.md
CHANGED
|
@@ -1,169 +1,450 @@
|
|
|
1
1
|

|
|
2
2
|
|
|
3
|
-
# Owservable
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
3
|
+
# Owservable
|
|
4
|
+
|
|
5
|
+
A reactive backend library for Node.js applications that provides real-time MongoDB change streams, reactive data stores, and automated task scheduling. Built with RxJS and TypeScript.
|
|
6
|
+
|
|
7
|
+
**Owservable is a replacement for [Reactive Stack JS](https://github.com/reactive-stack-js).**
|
|
8
|
+
|
|
9
|
+
## 🚀 Features
|
|
10
|
+
|
|
11
|
+
- **Real-time MongoDB Integration**: MongoDB change streams with reactive observables
|
|
12
|
+
- **Reactive Data Stores**: Count, Document, and Collection stores with automatic updates
|
|
13
|
+
- **WebSocket Client Management**: Built-in client connection and subscription handling
|
|
14
|
+
- **Task Scheduling**: Automated cronjobs, watchers, and workers
|
|
15
|
+
- **Action Pattern**: Structured business logic with multiple execution contexts
|
|
16
|
+
- **Data Middleware**: Transform and filter data based on user permissions
|
|
17
|
+
- **Type Safety**: Full TypeScript support with comprehensive type definitions
|
|
18
|
+
|
|
19
|
+
## 📦 Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install owservable
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
or
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
yarn add owservable
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
or
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pnpm add owservable
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 🏗️ Requirements
|
|
38
|
+
|
|
39
|
+
- **Node.js**: >= 20
|
|
40
|
+
- **MongoDB**: >= 3.6 (Replica Set required for change streams)
|
|
41
|
+
- **TypeScript**: Recommended for full type safety
|
|
42
|
+
|
|
43
|
+
## 🔧 MongoDB Setup
|
|
44
|
+
|
|
45
|
+
Owservable requires MongoDB to be running as a Replica Set to enable change streams:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Start MongoDB as a single-node replica set
|
|
49
|
+
mongod --replSet rs0
|
|
50
|
+
|
|
51
|
+
# Initialize the replica set
|
|
52
|
+
mongo --eval "rs.initiate()"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
For more details, see: [MongoDB Change Streams on localhost with Node.js](http://stojadinovic.net/2020/07/05/mongodb-change-streams-on-localhost-with-nodejs/)
|
|
56
|
+
|
|
57
|
+
## 🚀 Quick Start
|
|
58
|
+
|
|
59
|
+
### 1. Basic Server Setup
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
import {
|
|
63
|
+
OwservableClient,
|
|
64
|
+
MongoDBConnector,
|
|
65
|
+
processModels,
|
|
66
|
+
IConnectionManager
|
|
67
|
+
} from 'owservable';
|
|
68
|
+
|
|
69
|
+
// Initialize MongoDB connection
|
|
70
|
+
const mongoConnector = new MongoDBConnector();
|
|
71
|
+
await mongoConnector.connect('mongodb://localhost:27017/myapp');
|
|
72
|
+
|
|
73
|
+
// Process your Mongoose models
|
|
74
|
+
await processModels('./models');
|
|
75
|
+
|
|
76
|
+
// Implement connection manager
|
|
77
|
+
class MyConnectionManager implements IConnectionManager {
|
|
78
|
+
async connected(jwt: string): Promise<void> {
|
|
79
|
+
// Handle client connection
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
async disconnected(): Promise<void> {
|
|
83
|
+
// Handle client disconnection
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
async checkSession(): Promise<any> {
|
|
87
|
+
// Handle session validation
|
|
88
|
+
return { refresh_in: 300000 };
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
ping(ms: number): void {
|
|
92
|
+
// Handle ping updates
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
location(path: string): void {
|
|
96
|
+
// Handle location updates
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
get user(): any {
|
|
100
|
+
// Return current user
|
|
101
|
+
return this.currentUser;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Create owservable client
|
|
106
|
+
const connectionManager = new MyConnectionManager();
|
|
107
|
+
const client = new OwservableClient(connectionManager);
|
|
108
|
+
|
|
109
|
+
// Handle client messages
|
|
110
|
+
client.subscribe({
|
|
111
|
+
next: (message) => {
|
|
112
|
+
// Forward to WebSocket clients
|
|
113
|
+
websocket.send(JSON.stringify(message));
|
|
114
|
+
},
|
|
115
|
+
error: (error) => console.error('Client error:', error)
|
|
116
|
+
});
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 2. WebSocket Integration
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
import { WebSocketServer } from 'ws';
|
|
123
|
+
|
|
124
|
+
const wss = new WebSocketServer({ port: 8080 });
|
|
125
|
+
|
|
126
|
+
wss.on('connection', (ws) => {
|
|
127
|
+
const client = new OwservableClient(connectionManager);
|
|
128
|
+
|
|
129
|
+
// Subscribe to client updates
|
|
130
|
+
client.subscribe({
|
|
131
|
+
next: (message) => ws.send(JSON.stringify(message)),
|
|
132
|
+
error: (error) => console.error('Error:', error)
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
// Handle incoming messages
|
|
136
|
+
ws.on('message', async (data) => {
|
|
137
|
+
const message = JSON.parse(data.toString());
|
|
138
|
+
await client.consume(message);
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
// Handle disconnect
|
|
142
|
+
ws.on('close', () => {
|
|
143
|
+
client.disconnected();
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
// Start ping
|
|
147
|
+
client.ping();
|
|
148
|
+
});
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 3. Reactive Data Stores
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
import { storeFactory, EStoreType } from 'owservable';
|
|
155
|
+
|
|
156
|
+
// Count store - returns only document count
|
|
157
|
+
const countStore = storeFactory(EStoreType.COUNT, 'users', 'user-count');
|
|
158
|
+
countStore.config = {
|
|
159
|
+
query: { active: true },
|
|
160
|
+
fields: {}
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
// Collection store - returns array of documents
|
|
164
|
+
const collectionStore = storeFactory(EStoreType.COLLECTION, 'users', 'user-list');
|
|
165
|
+
collectionStore.config = {
|
|
166
|
+
query: { active: true },
|
|
167
|
+
fields: { name: 1, email: 1 },
|
|
168
|
+
sort: { name: 1 },
|
|
169
|
+
page: 1,
|
|
170
|
+
pageSize: 10
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
// Document store - returns single document
|
|
174
|
+
const documentStore = storeFactory(EStoreType.DOCUMENT, 'users', 'user-profile');
|
|
175
|
+
documentStore.config = {
|
|
176
|
+
query: { _id: 'user123' },
|
|
177
|
+
fields: { name: 1, email: 1, profile: 1 }
|
|
178
|
+
};
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### 4. Task Scheduling
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
import {
|
|
185
|
+
initiateCronjobs,
|
|
186
|
+
initiateWatchers,
|
|
187
|
+
initiateWorkers
|
|
188
|
+
} from 'owservable';
|
|
189
|
+
|
|
190
|
+
// Initialize cronjobs
|
|
191
|
+
await initiateCronjobs('./cronjobs');
|
|
192
|
+
|
|
193
|
+
// Initialize file watchers
|
|
194
|
+
await initiateWatchers('./watchers');
|
|
195
|
+
|
|
196
|
+
// Initialize background workers
|
|
197
|
+
await initiateWorkers('./workers');
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### 5. Data Middleware
|
|
201
|
+
|
|
202
|
+
```typescript
|
|
203
|
+
import { DataMiddlewareMap } from 'owservable';
|
|
204
|
+
|
|
205
|
+
// Register middleware for collection
|
|
206
|
+
DataMiddlewareMap.set('users', async (payload, user) => {
|
|
207
|
+
// Filter sensitive data based on user permissions
|
|
208
|
+
if (!user.isAdmin) {
|
|
209
|
+
payload.data = payload.data.map(doc => ({
|
|
210
|
+
...doc,
|
|
211
|
+
email: '***@***.***' // Hide emails for non-admins
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
return payload;
|
|
215
|
+
});
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## 📚 Core Components
|
|
39
219
|
|
|
40
220
|
### OwservableClient
|
|
41
221
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
###
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
###
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
222
|
+
The main client class that manages WebSocket connections and subscriptions:
|
|
223
|
+
|
|
224
|
+
```typescript
|
|
225
|
+
const client = new OwservableClient(connectionManager);
|
|
226
|
+
|
|
227
|
+
// Handle different message types
|
|
228
|
+
await client.consume({
|
|
229
|
+
type: 'subscribe',
|
|
230
|
+
target: 'user-list',
|
|
231
|
+
scope: 'collection',
|
|
232
|
+
observe: 'users',
|
|
233
|
+
config: {
|
|
234
|
+
query: { active: true },
|
|
235
|
+
fields: { name: 1, email: 1 }
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Store Types
|
|
241
|
+
|
|
242
|
+
#### CollectionStore
|
|
243
|
+
Returns arrays of documents with real-time updates:
|
|
244
|
+
|
|
245
|
+
```typescript
|
|
246
|
+
const store = storeFactory(EStoreType.COLLECTION, 'posts', 'post-list');
|
|
247
|
+
store.config = {
|
|
248
|
+
query: { published: true },
|
|
249
|
+
fields: { title: 1, content: 1, author: 1 },
|
|
250
|
+
sort: { createdAt: -1 },
|
|
251
|
+
populate: ['author'],
|
|
252
|
+
page: 1,
|
|
253
|
+
pageSize: 20,
|
|
254
|
+
incremental: true // Enable incremental updates
|
|
255
|
+
};
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
#### CountStore
|
|
259
|
+
Returns document counts with real-time updates:
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
const store = storeFactory(EStoreType.COUNT, 'users', 'user-count');
|
|
263
|
+
store.config = {
|
|
264
|
+
query: { active: true }
|
|
265
|
+
};
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
#### DocumentStore
|
|
269
|
+
Returns single documents with real-time updates:
|
|
270
|
+
|
|
271
|
+
```typescript
|
|
272
|
+
const store = storeFactory(EStoreType.DOCUMENT, 'users', 'current-user');
|
|
273
|
+
store.config = {
|
|
274
|
+
query: { _id: userId },
|
|
275
|
+
fields: { name: 1, email: 1, preferences: 1 }
|
|
276
|
+
};
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### MongoDB Integration
|
|
280
|
+
|
|
281
|
+
#### Observable Models
|
|
282
|
+
Monitor MongoDB collections for changes:
|
|
283
|
+
|
|
284
|
+
```typescript
|
|
285
|
+
import { observableModel } from 'owservable';
|
|
286
|
+
import UserModel from './models/User';
|
|
287
|
+
|
|
288
|
+
const userObservable = observableModel(UserModel);
|
|
289
|
+
userObservable.subscribe({
|
|
290
|
+
next: (change) => {
|
|
291
|
+
console.log('User collection changed:', change);
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
#### Observable Database
|
|
297
|
+
Monitor entire database for changes:
|
|
298
|
+
|
|
299
|
+
```typescript
|
|
300
|
+
import { observableDatabase } from 'owservable';
|
|
301
|
+
|
|
302
|
+
const dbObservable = observableDatabase();
|
|
303
|
+
dbObservable.subscribe({
|
|
304
|
+
next: (change) => {
|
|
305
|
+
console.log('Database changed:', change);
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Action Pattern
|
|
311
|
+
|
|
312
|
+
Create structured business logic with the action pattern:
|
|
313
|
+
|
|
314
|
+
```typescript
|
|
315
|
+
import { Action, ActionInterface } from 'owservable';
|
|
316
|
+
|
|
317
|
+
class SendEmailAction extends Action implements ActionInterface {
|
|
318
|
+
protected _description = 'Send email notification';
|
|
319
|
+
|
|
320
|
+
async handle(to: string, subject: string, body: string): Promise<void> {
|
|
321
|
+
// Email sending logic
|
|
322
|
+
console.log(`Sending email to ${to}: ${subject}`);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
description(): string {
|
|
326
|
+
return this._description;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// Use in cronjobs, workers, or watchers
|
|
331
|
+
const emailAction = new SendEmailAction();
|
|
332
|
+
await emailAction.handle('user@example.com', 'Welcome!', 'Hello World');
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
## 🔧 Configuration
|
|
336
|
+
|
|
337
|
+
### Environment Variables
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
# MongoDB connection
|
|
341
|
+
MONGODB_URI=mongodb://localhost:27017/myapp
|
|
342
|
+
|
|
343
|
+
# WebSocket server
|
|
344
|
+
WS_PORT=8080
|
|
345
|
+
|
|
346
|
+
# JWT settings
|
|
347
|
+
JWT_SECRET=your-secret-key
|
|
348
|
+
JWT_EXPIRATION=24h
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### TypeScript Configuration
|
|
352
|
+
|
|
353
|
+
```json
|
|
354
|
+
{
|
|
355
|
+
"compilerOptions": {
|
|
356
|
+
"target": "ES2020",
|
|
357
|
+
"module": "commonjs",
|
|
358
|
+
"lib": ["ES2020"],
|
|
359
|
+
"strict": true,
|
|
360
|
+
"esModuleInterop": true,
|
|
361
|
+
"skipLibCheck": true,
|
|
362
|
+
"forceConsistentCasingInFileNames": true,
|
|
363
|
+
"experimentalDecorators": true,
|
|
364
|
+
"emitDecoratorMetadata": true
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
## 📖 Advanced Usage
|
|
370
|
+
|
|
371
|
+
### Custom Store Implementation
|
|
372
|
+
|
|
373
|
+
```typescript
|
|
374
|
+
import { AStore, EStoreType } from 'owservable';
|
|
375
|
+
|
|
376
|
+
class CustomStore extends AStore {
|
|
377
|
+
constructor(model: Model<any>, target: string) {
|
|
378
|
+
super(model, target);
|
|
379
|
+
this._type = EStoreType.COLLECTION;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
protected async load(change: any): Promise<void> {
|
|
383
|
+
// Custom loading logic
|
|
384
|
+
const data = await this.customQuery();
|
|
385
|
+
this.emitMany(Date.now(), this._subscriptionId, { data });
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
### Performance Optimization
|
|
391
|
+
|
|
392
|
+
```typescript
|
|
393
|
+
// Use incremental updates for large collections
|
|
394
|
+
store.config = {
|
|
395
|
+
incremental: true,
|
|
396
|
+
page: 1,
|
|
397
|
+
pageSize: 50
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
// Optimize queries with indexes
|
|
401
|
+
await addIndexToAttributes(model, ['field1', 'field2']);
|
|
402
|
+
|
|
403
|
+
// Use field projection
|
|
404
|
+
store.config = {
|
|
405
|
+
fields: {
|
|
406
|
+
name: 1,
|
|
407
|
+
email: 1,
|
|
408
|
+
_id: 0 // Exclude _id
|
|
409
|
+
}
|
|
410
|
+
};
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
## 🧪 Testing
|
|
414
|
+
|
|
415
|
+
```bash
|
|
416
|
+
npm test
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
## 📖 Documentation
|
|
420
|
+
|
|
421
|
+
- **Main Website**: [owservable.github.io](https://owservable.github.io/)
|
|
422
|
+
- **TypeDoc Documentation**: [owservable.github.io/owservable/docs/](https://owservable.github.io/owservable/docs/)
|
|
423
|
+
- **Test Coverage**: [owservable.github.io/owservable/coverage/](https://owservable.github.io/owservable/coverage/)
|
|
424
|
+
- **Udemy Course**: [Reactive Stack Course](https://www.udemy.com/course/reactive-stack/)
|
|
425
|
+
|
|
426
|
+
## 🔗 Related Projects
|
|
427
|
+
|
|
428
|
+
- [@owservable/actions](https://github.com/owservable/actions) - Action pattern implementation
|
|
429
|
+
- [@owservable/folders](https://github.com/owservable/folders) - File system utilities
|
|
430
|
+
- [@owservable/fastify-auto-routes](https://github.com/owservable/fastify-auto-routes) - Fastify auto routing
|
|
431
|
+
|
|
432
|
+
## 🛣️ Roadmap
|
|
433
|
+
|
|
434
|
+
- [ ] Web Server abstraction
|
|
435
|
+
- [ ] Database abstraction
|
|
436
|
+
- [ ] Client-side datastore abstraction
|
|
437
|
+
- [ ] Large Data handling
|
|
438
|
+
- [ ] Server-Side Events
|
|
439
|
+
- [ ] Redis integration
|
|
440
|
+
- [ ] GraphQL subscriptions
|
|
441
|
+
- [ ] Microservices support
|
|
442
|
+
|
|
443
|
+
## 📄 License
|
|
163
444
|
|
|
164
445
|
Licensed under [The Unlicense](./LICENSE).
|
|
165
446
|
|
|
166
|
-
##
|
|
447
|
+
## 🤝 Contributors
|
|
167
448
|
|
|
168
449
|
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
|
169
450
|
<!-- prettier-ignore-start -->
|
|
@@ -196,6 +477,6 @@ This project follows the [all-contributors](https://github.com/all-contributors/
|
|
|
196
477
|
|
|
197
478
|
Contributions of any kind welcome!
|
|
198
479
|
|
|
199
|
-
##
|
|
480
|
+
## 📊 UML Diagram
|
|
200
481
|
|
|
201
|
-
Checkout the [UML diagram](https://raw.githubusercontent.com/owservable/owservable/main/uml.png).
|
|
482
|
+
Checkout the [UML diagram](https://raw.githubusercontent.com/owservable/owservable/main/uml.png) for a visual overview of the architecture.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.type.enum.js","sourceRoot":"","sources":["../../src/enums/store.type.enum.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,IAAK,UAIJ;AAJD,WAAK,UAAU;IACd,mDAAQ,CAAA;IACR,uDAAU,CAAA;IACV,6CAAK,CAAA;AACN,CAAC,EAJI,UAAU,KAAV,UAAU,QAId;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -10,13 +10,8 @@ function addActionCronjobs(root, folderName) {
|
|
|
10
10
|
console.log('[@owservable] -> Initializing cronjob action', actionPath);
|
|
11
11
|
const ActionClass = require(actionPath).default;
|
|
12
12
|
const action = new ActionClass();
|
|
13
|
-
if ((0, lodash_1.isFunction)(action.
|
|
14
|
-
const job = {
|
|
15
|
-
schedule: action.schedule(),
|
|
16
|
-
job: action.asCronjob
|
|
17
|
-
};
|
|
18
|
-
if ((0, lodash_1.isFunction)(action.cronjobOptions))
|
|
19
|
-
(0, lodash_1.set)(job, 'options', action.cronjobOptions());
|
|
13
|
+
if ((0, lodash_1.isFunction)(action.asCronjob)) {
|
|
14
|
+
const job = Object.assign(Object.assign({ schedule: action.schedule() }, (action.asCronjobInit && { init: action.asCronjobInit })), { job: action.asCronjob });
|
|
20
15
|
if ((0, lodash_1.isFunction)(action.asCronjobInit))
|
|
21
16
|
(0, lodash_1.set)(job, 'init', action.asCronjobInit());
|
|
22
17
|
(0, execute_cronjob_1.default)(job);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.action.cronjobs.js","sourceRoot":"","sources":["../../../src/functions/action/add.action.cronjobs.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,
|
|
1
|
+
{"version":3,"file":"add.action.cronjobs.js","sourceRoot":"","sources":["../../../src/functions/action/add.action.cronjobs.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,oCAoBC;AA5BD,mCAAuC;AAGvC,iDAAoE;AAGpE,gEAAwD;AAExD,SAAwB,iBAAiB,CAAC,IAAY,EAAE,UAAkB;IACzE,MAAM,WAAW,GAAa,IAAA,yCAA+B,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEhF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,UAAU,CAAC,CAAC;QAExE,MAAM,WAAW,GAAuC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;QACpF,MAAM,MAAM,GAA6B,IAAI,WAAW,EAAE,CAAC;QAE3D,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,iCACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IACxB,CAAC,MAAM,CAAC,aAAa,IAAI,EAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAC,CAAC,KACzD,GAAG,EAAE,MAAM,CAAC,SAAS,GACrB,CAAC;YACF,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,aAAa,CAAC;gBAAE,IAAA,YAAG,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YAE/E,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -11,9 +11,7 @@ function addActionWatchers(root, folderName) {
|
|
|
11
11
|
const ActionClass = require(actionPath).default;
|
|
12
12
|
const action = new ActionClass();
|
|
13
13
|
if ((0, lodash_1.isFunction)(action.asWatcher)) {
|
|
14
|
-
const job = {
|
|
15
|
-
watch: action.asWatcher
|
|
16
|
-
};
|
|
14
|
+
const job = Object.assign(Object.assign({}, (action.asWatcherInit && { init: action.asWatcherInit })), { watch: action.asWatcher });
|
|
17
15
|
if ((0, lodash_1.isFunction)(action.asWatcherInit))
|
|
18
16
|
(0, lodash_1.set)(job, 'init', action.asWatcherInit());
|
|
19
17
|
(0, execute_watcher_1.default)(job);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.action.watchers.js","sourceRoot":"","sources":["../../../src/functions/action/add.action.watchers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,
|
|
1
|
+
{"version":3,"file":"add.action.watchers.js","sourceRoot":"","sources":["../../../src/functions/action/add.action.watchers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,oCAmBC;AA3BD,mCAAuC;AAGvC,iDAAoE;AAGpE,gEAAwD;AAExD,SAAwB,iBAAiB,CAAC,IAAY,EAAE,UAAkB;IACzE,MAAM,WAAW,GAAa,IAAA,yCAA+B,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEhF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,UAAU,CAAC,CAAC;QAExE,MAAM,WAAW,GAAuC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;QACpF,MAAM,MAAM,GAA6B,IAAI,WAAW,EAAE,CAAC;QAE3D,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,mCACL,CAAC,MAAM,CAAC,aAAa,IAAI,EAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAC,CAAC,KACzD,KAAK,EAAE,MAAM,CAAC,SAAS,GACvB,CAAC;YACF,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,aAAa,CAAC;gBAAE,IAAA,YAAG,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YAE/E,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -11,9 +11,7 @@ function addActionWorkers(root, folderName) {
|
|
|
11
11
|
const ActionClass = require(actionPath).default;
|
|
12
12
|
const action = new ActionClass();
|
|
13
13
|
if ((0, lodash_1.isFunction)(action.asWorker)) {
|
|
14
|
-
const job = {
|
|
15
|
-
work: action.asWorker
|
|
16
|
-
};
|
|
14
|
+
const job = Object.assign(Object.assign({}, (action.asWorkerInit && { init: action.asWorkerInit })), { work: action.asWorker });
|
|
17
15
|
if ((0, lodash_1.isFunction)(action.asWorkerInit))
|
|
18
16
|
(0, lodash_1.set)(job, 'init', action.asWorkerInit());
|
|
19
17
|
(0, execute_worker_1.default)(job);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.action.workers.js","sourceRoot":"","sources":["../../../src/functions/action/add.action.workers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,
|
|
1
|
+
{"version":3,"file":"add.action.workers.js","sourceRoot":"","sources":["../../../src/functions/action/add.action.workers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,mCAmBC;AA3BD,mCAAuC;AAGvC,iDAAoE;AAGpE,8DAAsD;AAEtD,SAAwB,gBAAgB,CAAC,IAAY,EAAE,UAAkB;IACxE,MAAM,WAAW,GAAa,IAAA,yCAA+B,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEhF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,UAAU,CAAC,CAAC;QAEvE,MAAM,WAAW,GAAsC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;QACnF,MAAM,MAAM,GAA4B,IAAI,WAAW,EAAE,CAAC;QAE1D,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,mCACL,CAAC,MAAM,CAAC,YAAY,IAAI,EAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAC,CAAC,KACvD,IAAI,EAAE,MAAM,CAAC,QAAQ,GACrB,CAAC;YACF,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,YAAY,CAAC;gBAAE,IAAA,YAAG,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAE7E,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const executeProcessesInFolder: (root: string,
|
|
1
|
+
declare const executeProcessesInFolder: (root: string, folderName: string, execute: Function) => void;
|
|
2
2
|
export default executeProcessesInFolder;
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const lodash_1 = require("lodash");
|
|
4
4
|
const folders_1 = require("@owservable/folders");
|
|
5
5
|
const execute_on_files_recursively_1 = require("./execute.on.files.recursively");
|
|
6
|
-
const executeProcessesInFolder = (root,
|
|
7
|
-
const folders = (0, folders_1.listSubfoldersByName)(root,
|
|
6
|
+
const executeProcessesInFolder = (root, folderName, execute) => {
|
|
7
|
+
const folders = (0, folders_1.listSubfoldersByName)(root, folderName);
|
|
8
8
|
(0, lodash_1.each)(folders, (folder) => (0, execute_on_files_recursively_1.default)(folder, execute));
|
|
9
9
|
};
|
|
10
10
|
exports.default = executeProcessesInFolder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.processes.in.folder.js","sourceRoot":"","sources":["../../../src/functions/execute/execute.processes.in.folder.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,mCAA4B;AAC5B,iDAAyD;AAEzD,iFAAuE;AAEvE,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"execute.processes.in.folder.js","sourceRoot":"","sources":["../../../src/functions/execute/execute.processes.in.folder.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,mCAA4B;AAC5B,iDAAyD;AAEzD,iFAAuE;AAEvE,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAE,OAAiB,EAAQ,EAAE;IAC9F,MAAM,OAAO,GAAa,IAAA,8BAAoB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjE,IAAA,aAAI,EAAC,OAAO,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,IAAA,sCAAyB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AACF,kBAAe,wBAAwB,CAAC"}
|
package/lib/owservable.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import OwservableClient from './owservable.client';
|
|
2
|
-
import EStoreType from './
|
|
3
|
-
import ConnectionManagerRefreshType from './
|
|
4
|
-
import CronJobType from './
|
|
5
|
-
import StoreScopeType from './
|
|
6
|
-
import StoreSubscriptionConfigType from './
|
|
7
|
-
import StoreSubscriptionUpdateType from './
|
|
8
|
-
import SubscriptionMethodsType from './
|
|
9
|
-
import WatcherType from './
|
|
10
|
-
import WorkerType from './
|
|
2
|
+
import EStoreType from './enums/store.type.enum';
|
|
3
|
+
import ConnectionManagerRefreshType from './types/connection.manager.refresh.type';
|
|
4
|
+
import CronJobType from './types/cronjob.type';
|
|
5
|
+
import StoreScopeType from './types/store.scope.type';
|
|
6
|
+
import StoreSubscriptionConfigType from './types/store.subscription.config.type';
|
|
7
|
+
import StoreSubscriptionUpdateType from './types/store.subscription.update.type';
|
|
8
|
+
import SubscriptionMethodsType from './types/subscription.methods.type';
|
|
9
|
+
import WatcherType from './types/watcher.type';
|
|
10
|
+
import WorkerType from './types/worker.type';
|
|
11
11
|
import IConnectionManager from './auth/i.connection.manager';
|
|
12
12
|
import initiateWorkers from './functions/initiate.workers';
|
|
13
13
|
import initiateCronjobs from './functions/initiate.cronjobs';
|
package/lib/owservable.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.storeFactory = exports.CollectionStore = exports.DocumentStore = exports.CountStore = exports.AStore = exports.addUpAndDownIndicesToAttributes = exports.addDownIndicesToAttributes = exports.addUpIndicesToAttributes = exports.addIndexToAttributes = exports.observableDatabase = exports.observableModel = exports.processModels = exports.CollectionsModelsMap = exports.MongoDBConnector = exports.DataMiddlewareMap = exports.executeOnFilesRecursively = exports.executeProcessesInFolder = exports.executeWorker = exports.executeWatcher = exports.executeCronjob = exports.addActionWorkers = exports.addActionWatchers = exports.addActionCronjobs = exports.initiateWorkers = exports.initiateWatchers = exports.initiateCronjobs = exports.EStoreType = exports.OwservableClient = void 0;
|
|
4
4
|
const owservable_client_1 = require("./owservable.client");
|
|
5
5
|
exports.OwservableClient = owservable_client_1.default;
|
|
6
|
-
const store_type_enum_1 = require("./
|
|
6
|
+
const store_type_enum_1 = require("./enums/store.type.enum");
|
|
7
7
|
exports.EStoreType = store_type_enum_1.default;
|
|
8
8
|
const initiate_workers_1 = require("./functions/initiate.workers");
|
|
9
9
|
exports.initiateWorkers = initiate_workers_1.default;
|
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;AA6DlD,2BA7DM,2BAAgB,CA6DN;AA1DjB,
|
|
1
|
+
{"version":3,"file":"owservable.js","sourceRoot":"","sources":["../src/owservable.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,2DAAmD;AA6DlD,2BA7DM,2BAAgB,CA6DN;AA1DjB,6DAAiD;AA6DhD,qBA7DM,yBAAU,CA6DN;AA7CX,mEAA2D;AA+D1D,0BA/DM,0BAAe,CA+DN;AA9DhB,qEAA6D;AA4D5D,2BA5DM,2BAAgB,CA4DN;AA3DjB,qEAA6D;AA4D5D,2BA5DM,2BAAgB,CA4DN;AAzDjB,gFAAuE;AA6DtE,4BA7DM,6BAAiB,CA6DN;AA5DlB,gFAAuE;AA6DtE,4BA7DM,6BAAiB,CA6DN;AA5DlB,8EAAqE;AA6DpE,2BA7DM,4BAAgB,CA6DN;AA1DjB,yEAAiE;AA6DhE,yBA7DM,yBAAc,CA6DN;AA5Df,yEAAiE;AA6DhE,yBA7DM,yBAAc,CA6DN;AA5Df,uEAA+D;AA6D9D,wBA7DM,wBAAa,CA6DN;AA5Dd,iGAAuF;AA6DtF,mCA7DM,qCAAwB,CA6DN;AA5DzB,mGAAyF;AA6DxF,oCA7DM,sCAAyB,CA6DN;AA1D1B,0EAAiE;AA6DhE,4BA7DM,6BAAiB,CA6DN;AA1DlB,mEAA2D;AA6D1D,2BA7DM,2BAAgB,CA6DN;AA5DjB,6EAAoE;AA6DnE,+BA7DM,gCAAoB,CA6DN;AA1DrB,uEAA+D;AA6D9D,wBA7DM,wBAAa,CA6DN;AA5Dd,2EAAmE;AA6DlE,0BA7DM,0BAAe,CA6DN;AA5DhB,iFAAyE;AA6DxE,6BA7DM,6BAAkB,CA6DN;AA5DnB,+FAAqF;AA6DpF,+BA7DM,iCAAoB,CA6DN;AA5DrB,yGAA8F;AA6D7F,mCA7DM,sCAAwB,CA6DN;AA5DzB,6GAAkG;AA6DjG,qCA7DM,wCAA0B,CA6DN;AA5D3B,2HAA8G;AA6D7G,0CA7DM,+CAA+B,CA6DN;AA1DhC,6CAAqC;AA6DpC,iBA7DM,iBAAM,CA6DN;AA5DP,qDAA6C;AA6D5C,qBA7DM,qBAAU,CA6DN;AA5DX,2DAAmD;AA6DlD,wBA7DM,wBAAa,CA6DN;AA5Dd,+DAAuD;AA6DtD,0BA7DM,0BAAe,CA6DN;AA1DhB,mEAA2D;AA6D1D,uBA7DM,uBAAY,CA6DN;AAGb,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,kBAAe,UAAU,CAAC"}
|
package/lib/store/a.store.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Model } from 'mongoose';
|
|
2
2
|
import { Subject, Subscription } from 'rxjs';
|
|
3
|
-
import EStoreType from '../
|
|
4
|
-
import StoreSubscriptionConfigType from '../
|
|
3
|
+
import EStoreType from '../enums/store.type.enum';
|
|
4
|
+
import StoreSubscriptionConfigType from '../types/store.subscription.config.type';
|
|
5
|
+
import 'json-circular-stringify';
|
|
5
6
|
export default abstract class AStore extends Subject<any> {
|
|
6
7
|
protected _model: Model<any>;
|
|
7
8
|
protected _target: string;
|
package/lib/store/a.store.js
CHANGED
|
@@ -6,10 +6,10 @@ const jsondiffpatch = require("jsondiffpatch");
|
|
|
6
6
|
const lodash_1 = require("lodash");
|
|
7
7
|
const operators_1 = require("rxjs/operators");
|
|
8
8
|
const rxjs_1 = require("rxjs");
|
|
9
|
-
const store_type_enum_1 = require("../
|
|
9
|
+
const store_type_enum_1 = require("../enums/store.type.enum");
|
|
10
10
|
const observable_model_1 = require("../mongodb/functions/observable.model");
|
|
11
11
|
const get_milliseconds_from_1 = require("../functions/performance/get.milliseconds.from");
|
|
12
|
-
require(
|
|
12
|
+
require("json-circular-stringify");
|
|
13
13
|
const DEFAULT_DELAY = 100;
|
|
14
14
|
const diffPatcher = jsondiffpatch.create({
|
|
15
15
|
propertyFilter: (name) => name !== 'subscriptionId'
|
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
|
|
1
|
+
{"version":3,"file":"a.store.js","sourceRoot":"","sources":["../../src/store/a.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,9 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const _ = require("lodash");
|
|
13
13
|
const a_store_1 = require("./a.store");
|
|
14
|
-
const store_type_enum_1 = require("../
|
|
14
|
+
const store_type_enum_1 = require("../enums/store.type.enum");
|
|
15
15
|
const get_hrtime_as_number_1 = require("../functions/performance/get.hrtime.as.number");
|
|
16
|
-
require('json-circular-stringify');
|
|
17
16
|
class CollectionStore extends a_store_1.default {
|
|
18
17
|
constructor(model, target) {
|
|
19
18
|
super(model, target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.store.js","sourceRoot":"","sources":["../../src/store/collection.store.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;AAEb,4BAA4B;AAG5B,uCAA+B;AAC/B
|
|
1
|
+
{"version":3,"file":"collection.store.js","sourceRoot":"","sources":["../../src/store/collection.store.ts"],"names":[],"mappings":"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"}
|
package/lib/store/count.store.js
CHANGED
|
@@ -11,9 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const lodash_1 = require("lodash");
|
|
13
13
|
const a_store_1 = require("./a.store");
|
|
14
|
-
const store_type_enum_1 = require("../
|
|
14
|
+
const store_type_enum_1 = require("../enums/store.type.enum");
|
|
15
15
|
const get_hrtime_as_number_1 = require("../functions/performance/get.hrtime.as.number");
|
|
16
|
-
require('json-circular-stringify');
|
|
17
16
|
class CountStore extends a_store_1.default {
|
|
18
17
|
constructor(model, target) {
|
|
19
18
|
super(model, target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.store.js","sourceRoot":"","sources":["../../src/store/count.store.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;AACb,mCAA+B;AAG/B,uCAA+B;AAC/B
|
|
1
|
+
{"version":3,"file":"count.store.js","sourceRoot":"","sources":["../../src/store/count.store.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;AACb,mCAA+B;AAG/B,uCAA+B;AAC/B,8DAAkD;AAClD,wFAA8E;AAE9E,MAAqB,UAAW,SAAQ,iBAAM;IAC7C,YAAY,KAAiB,EAAE,MAAc;QAC5C,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,yBAAU,CAAC,KAAK,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAES,YAAY,CAAC,MAAW;QACjC,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpD,MAAM,EAAC,aAAa,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;QACrC,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC;YAEb,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd;gBACC,OAAO,KAAK,CAAC;QACf,CAAC;IACF,CAAC;IAEe,IAAI,CAAC,MAAW;;YAC/B,MAAM,SAAS,GAAW,IAAA,8BAAiB,GAAE,CAAC;YAE9C,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAChF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBAAE,OAAO;YAEvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;KAAA;CACD;AAhCD,6BAgCC"}
|
|
@@ -13,10 +13,9 @@ const _ = require("lodash");
|
|
|
13
13
|
const rxjs_1 = require("rxjs");
|
|
14
14
|
const operators_1 = require("rxjs/operators");
|
|
15
15
|
const a_store_1 = require("./a.store");
|
|
16
|
-
const store_type_enum_1 = require("../
|
|
16
|
+
const store_type_enum_1 = require("../enums/store.type.enum");
|
|
17
17
|
const observable_model_1 = require("../mongodb/functions/observable.model");
|
|
18
18
|
const get_hrtime_as_number_1 = require("../functions/performance/get.hrtime.as.number");
|
|
19
|
-
require('json-circular-stringify');
|
|
20
19
|
const _getIdFromQuery = (query) => (_.isString(query) ? query : _.get(query, '_id', '').toString());
|
|
21
20
|
class DocumentStore extends a_store_1.default {
|
|
22
21
|
constructor(model, target) {
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"document.store.js","sourceRoot":"","sources":["../../src/store/document.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import AStore from '../a.store';
|
|
2
|
-
import StoreScopeType from '../../
|
|
2
|
+
import StoreScopeType from '../../types/store.scope.type';
|
|
3
3
|
declare const storeFactory: (scope: StoreScopeType, observe: string, target: string) => AStore;
|
|
4
4
|
export default storeFactory;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.manager.refresh.type.js","sourceRoot":"","sources":["../../src/types/connection.manager.refresh.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cronjob.type.js","sourceRoot":"","sources":["../../src/types/cronjob.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.scope.type.js","sourceRoot":"","sources":["../../src/types/store.scope.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.subscription.config.type.js","sourceRoot":"","sources":["../../src/types/store.subscription.config.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.subscription.update.type.js","sourceRoot":"","sources":["../../src/types/store.subscription.update.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.methods.type.js","sourceRoot":"","sources":["../../src/types/subscription.methods.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watcher.type.js","sourceRoot":"","sources":["../../src/types/watcher.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.type.js","sourceRoot":"","sources":["../../src/types/worker.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "owservable",
|
|
3
|
-
"version": "1.6
|
|
3
|
+
"version": "1.7.6",
|
|
4
4
|
"description": "owservable backend",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20"
|
|
@@ -17,18 +17,20 @@
|
|
|
17
17
|
"url": "git+https://github.com/owservable/owservable.git"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
|
-
"all": "yarn &
|
|
21
|
-
"
|
|
20
|
+
"all": "yarn & yarn clean & yarn format & yarn build & yarn test & yarn docs & skeletest & strictr",
|
|
21
|
+
"clear:lib": "del /S /Q lib\\*",
|
|
22
|
+
"build": "yarn clear:lib & tsc",
|
|
22
23
|
"build:watch": "tsc --watch",
|
|
23
24
|
"lint": "tslint -p tsconfig.json",
|
|
24
25
|
"clean": "tslint --config tslint-imports.json --fix --project .",
|
|
25
|
-
"format": "prettier --write \"src/**/*.ts\"",
|
|
26
|
+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
26
27
|
"docs": "typedoc --readme none --out docs ./src/owservable.ts",
|
|
27
28
|
"sync": "git pull & git fetch origin & git merge origin/main & yarn & git branch",
|
|
28
|
-
"test": "
|
|
29
|
+
"test": "jest --coverage --config jest.config.js",
|
|
30
|
+
"test:watch": "jest --watch --config jest.config.js",
|
|
29
31
|
"coveralls": "cat ./coverage/lcov.info | node node_modules/.bin/coveralls",
|
|
30
|
-
"sonar": "sonarjs -e .sonarlint/**,node_modules/**,coverage
|
|
31
|
-
"test_qube": "
|
|
32
|
+
"sonar": "sonarjs -e .sonarlint/**,node_modules/**,coverage/**",
|
|
33
|
+
"test_qube": "jest --coverage --testResultsProcessor=jest-sonar-reporter --config jest.config.js",
|
|
32
34
|
"up": "yarn upgrade-interactive",
|
|
33
35
|
"latest": "yarn upgrade-interactive --latest",
|
|
34
36
|
"l": "yarn & yarn latest",
|
|
@@ -36,41 +38,37 @@
|
|
|
36
38
|
"srctree": "dir src /s /b > srctree.txt"
|
|
37
39
|
},
|
|
38
40
|
"dependencies": {
|
|
39
|
-
"@owservable/actions": "^1.6
|
|
40
|
-
"@owservable/folders": "^1.6
|
|
41
|
+
"@owservable/actions": "^1.7.6",
|
|
42
|
+
"@owservable/folders": "^1.7.6",
|
|
41
43
|
"@types/lodash": "^4.17.20",
|
|
42
|
-
"@types/node": "^24.0.
|
|
44
|
+
"@types/node": "^24.0.13",
|
|
43
45
|
"@types/node-cron": "^3.0.11",
|
|
44
46
|
"deprecated-decorator": "^0.1.6",
|
|
45
47
|
"json-circular-stringify": "^1.0.1",
|
|
46
48
|
"jsondiffpatch": "^0.5.0",
|
|
47
49
|
"lodash": "^4.17.20",
|
|
48
|
-
"mongoose": "^8.16.
|
|
49
|
-
"node-cron": "^4.2.
|
|
50
|
+
"mongoose": "^8.16.3",
|
|
51
|
+
"node-cron": "^4.2.1",
|
|
50
52
|
"rxjs": "^7.8.2",
|
|
51
53
|
"sift": "^17.1.3"
|
|
52
54
|
},
|
|
53
55
|
"devDependencies": {
|
|
54
|
-
"@
|
|
55
|
-
"@types/chai": "^4.3.19",
|
|
56
|
-
"@types/mocha": "^10.0.10",
|
|
56
|
+
"@types/jest": "^30.0.0",
|
|
57
57
|
"@types/rewire": "^2.5.30",
|
|
58
|
-
"chai": "4.4.0",
|
|
59
|
-
"chai-rx": "^0.0.4",
|
|
60
58
|
"coveralls": "^3.0.9",
|
|
61
|
-
"
|
|
62
|
-
"
|
|
59
|
+
"jest": "^30.0.4",
|
|
60
|
+
"jest-sonar-reporter": "^2.0.0",
|
|
63
61
|
"prettier": "^3.6.2",
|
|
64
62
|
"rewire": "^9.0.0",
|
|
65
63
|
"skeletest": "^0.6.0",
|
|
66
64
|
"sonarjs": "^1.0.0",
|
|
67
65
|
"source-map-support": "^0.5.21",
|
|
68
|
-
"strictr": "^0.
|
|
66
|
+
"strictr": "^0.4.0",
|
|
67
|
+
"ts-jest": "^29.1.1",
|
|
69
68
|
"ts-node": "^10.9.2",
|
|
70
69
|
"tslint": "^6.1.3",
|
|
71
70
|
"tslint-config-prettier": "^1.18.0",
|
|
72
71
|
"tslint-etc": "^1.13.7",
|
|
73
|
-
"tslint-no-unused-expression-chai": "^0.1.4",
|
|
74
72
|
"typedoc": "^0.28.7",
|
|
75
73
|
"typescript": "^5.8.3"
|
|
76
74
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.type.enum.js","sourceRoot":"","sources":["../../src/_enums/store.type.enum.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,IAAK,UAIJ;AAJD,WAAK,UAAU;IACd,mDAAQ,CAAA;IACR,uDAAU,CAAA;IACV,6CAAK,CAAA;AACN,CAAC,EAJI,UAAU,KAAV,UAAU,QAId;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection.manager.refresh.type.js","sourceRoot":"","sources":["../../src/_types/connection.manager.refresh.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cronjob.type.js","sourceRoot":"","sources":["../../src/_types/cronjob.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.scope.type.js","sourceRoot":"","sources":["../../src/_types/store.scope.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.subscription.config.type.js","sourceRoot":"","sources":["../../src/_types/store.subscription.config.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.subscription.update.type.js","sourceRoot":"","sources":["../../src/_types/store.subscription.update.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.methods.type.js","sourceRoot":"","sources":["../../src/_types/subscription.methods.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.type.js","sourceRoot":"","sources":["../../src/_types/watcher.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.type.js","sourceRoot":"","sources":["../../src/_types/worker.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|