@livequery/nestjs 2.0.53 → 2.0.55

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.
@@ -1,17 +1,18 @@
1
1
  import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
- import { Observable } from 'rxjs';
2
+ import { Subject } from 'rxjs';
3
3
  import { DiscoveryService, ModuleRef, Reflector } from '@nestjs/core';
4
4
  import { LivequeryBaseEntity, LivequeryRequest, WebsocketSyncPayload } from '@livequery/types';
5
5
  export declare class LivequeryItemMapper<T extends LivequeryBaseEntity> {
6
6
  readonly mapper: (item: T) => T;
7
7
  constructor(mapper: (item: T) => T);
8
8
  }
9
- export type LivequeryDatasource<RouteOptions> = Observable<WebsocketSyncPayload<LivequeryBaseEntity>> & {
10
- init: (routes: Array<{
9
+ export type LivequeryDatasource<Config, RouteOptions> = Subject<WebsocketSyncPayload<LivequeryBaseEntity>> & {
10
+ init(config: Config, routes: Array<{
11
11
  path: string;
12
+ method: number;
12
13
  options: RouteOptions;
13
- }>) => any;
14
- query?: (query: LivequeryRequest, options: RouteOptions) => any;
14
+ }>): Promise<void>;
15
+ query: (query: LivequeryRequest, options: RouteOptions) => Promise<any>;
15
16
  };
16
17
  export type DatatasourceRouteMetadata<RouteOptions> = {
17
18
  datasource: Symbol;
@@ -22,9 +23,10 @@ export declare class LivequeryDatasourceInterceptors implements NestInterceptor
22
23
  private readonly discovery;
23
24
  private moduleRef;
24
25
  constructor(reflector: Reflector, discovery: DiscoveryService, moduleRef: ModuleRef);
25
- getRoutes<Options>(token: Symbol): {
26
+ getRoutes<Options>(token?: Symbol): {
26
27
  path: string;
27
28
  options: Options;
29
+ method: any;
28
30
  }[];
29
- intercept(ctx: ExecutionContext, next: CallHandler): Promise<Observable<any>>;
31
+ intercept(ctx: ExecutionContext, next: CallHandler): Promise<import("rxjs").Observable<any>>;
30
32
  }
@@ -4,6 +4,7 @@ import { Injectable } from '@nestjs/common';
4
4
  import { map, mergeMap } from 'rxjs';
5
5
  import { DiscoveryService, ModuleRef, Reflector } from '@nestjs/core';
6
6
  import { hidePrivateFields } from './helpers/hidePrivateFields.js';
7
+ import { PathHelper } from './helpers/PathHelper.js';
7
8
  export class LivequeryItemMapper {
8
9
  mapper;
9
10
  constructor(mapper) {
@@ -22,22 +23,27 @@ let LivequeryDatasourceInterceptors = LivequeryDatasourceInterceptors_1 = class
22
23
  getRoutes(token) {
23
24
  const controllers = this.discovery.getControllers();
24
25
  return controllers.map(controller => {
25
- const methods = Object.getOwnPropertyNames(controller.metatype.prototype) || [];
26
- return methods.map(method => {
27
- const fn = controller.metatype.prototype[method];
28
- const options = this.reflector.get(LivequeryDatasourceInterceptors_1, fn);
29
- if (!options || options.datasource != token)
26
+ const names = Object.getOwnPropertyNames(controller.metatype.prototype) || [];
27
+ return names.map(name => {
28
+ const fn = controller.metatype.prototype[name];
29
+ const metadata = this.reflector.get(LivequeryDatasourceInterceptors_1, fn);
30
+ if (!metadata || (token && metadata.datasource != token))
30
31
  return [];
31
32
  const cpaths = [Reflect.getMetadata('path', controller.metatype)].flat(2);
32
33
  const mpaths = [Reflect.getMetadata('path', fn)].flat(2);
33
34
  const paths = cpaths.map(a => mpaths.map(b => {
34
35
  const x = (a || '').trim().replace(/^\/+|\/+$/g, '');
35
36
  const y = (b || '').trim().replace(/^\/+|\/+$/g, '');
36
- if (x == '' || y == '')
37
- return `${x}${y}`;
38
- return `${x}/${y}`;
37
+ const joined = (x == '' || y == '') ? `${x}${y}` : `${x}/${y}`;
38
+ const { ref } = PathHelper.parseHttpRequestPath(joined);
39
+ return ref;
39
40
  })).flat(2);
40
- return paths.map(path => ({ path, options: options.options }));
41
+ const method = Reflect.getMetadata('method', controller.metatype.prototype[name]);
42
+ return paths.map(path => ({
43
+ path,
44
+ options: metadata.options,
45
+ method
46
+ }));
41
47
  });
42
48
  }).flat(2);
43
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LivequeryDatasourceInterceptors.js","sourceRoot":"","sources":["../../src/LivequeryDatasourceInterceptors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LivequeryDatasourceInterceptors.js","sourceRoot":"","sources":["../../src/LivequeryDatasourceInterceptors.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { Subject, Observable, Subscription } from "rxjs";
2
2
  import { RealtimeSubscription } from "./LivequeryInterceptor.js";
3
- import { UpdatedData, WebsocketSyncPayload, LivequeryBaseEntity } from "@livequery/types";
3
+ import { UpdatedData, LivequeryBaseEntity } from "@livequery/types";
4
4
  import WebSocket from 'ws';
5
- import { LivequeryDatasource } from "./LivequeryDatasourceInterceptors.js";
6
5
  export type WebSocketHelloEvent = {
7
6
  event: 'hello';
8
7
  gid: string;
@@ -44,23 +43,20 @@ export type SubscriptionMetadata = {
44
43
  export type SubscriberMetadata = Map<Ref, Subject<'STOP'>>;
45
44
  type Ref = string;
46
45
  export declare const WEBSOCKET_PATH: string;
47
- export declare class LivequeryWebsocketSync {
46
+ export declare class LivequeryWebsocketSync extends Subject<UpdatedData> {
48
47
  #private;
49
48
  readonly id: `${string}-${string}-${string}-${string}-${string}`;
50
49
  readonly auth: `${string}-${string}-${string}-${string}-${string}`;
51
- private readonly changes;
52
50
  constructor();
53
- pipe<T extends LivequeryBaseEntity>(ref: string, handler: (o?: Observable<UpdatedData<T>>) => Promise<Observable<UpdatedData<T>>> | Observable<UpdatedData<T>> | undefined | void): Promise<void>;
51
+ link<T extends LivequeryBaseEntity>(ref: string, handler: (o?: Observable<UpdatedData<T>>) => Promise<Observable<UpdatedData<T>>> | Observable<UpdatedData<T>> | undefined | void): Promise<void>;
54
52
  connect(url: string, auth: string, ondisconect?: Function): Subscription;
55
- broadcast<T extends LivequeryBaseEntity = LivequeryBaseEntity>(event: WebsocketSyncPayload<T>): void;
56
53
  start(socket: WebsocketWithMetadata, { id, auth }: WebSocketStartEvent['data']): void;
57
- unsubscribe(socket: WebsocketWithMetadata, body: {
54
+ unref(socket: WebsocketWithMetadata, body: {
58
55
  ref?: string;
59
56
  client_id?: string;
60
57
  refs?: string[];
61
58
  }): void;
62
59
  private handleDisconnect;
63
60
  listen(e: Array<RealtimeSubscription>): void;
64
- link(ds: LivequeryDatasource<any>): void;
65
61
  }
66
62
  export {};
@@ -3,20 +3,19 @@ import { ConnectedSocket, MessageBody, SubscribeMessage, WebSocketGateway } from
3
3
  import { Subject, tap, switchMap, retry, timer, BehaviorSubject, takeWhile } from "rxjs";
4
4
  import WebSocket from 'ws';
5
5
  import { of, fromEvent, map, finalize, merge, EMPTY, filter, mergeAll } from 'rxjs';
6
- import { hidePrivateFields } from "./helpers/hidePrivateFields.js";
7
6
  import { randomUUID } from "crypto";
8
7
  import { RxjsUdp } from "./RxjsUdp.js";
9
8
  const ENDPOINT_RESTARTED = 'ENDPOINT_RESTARTED';
10
9
  export const WEBSOCKET_PATH = process.env.REALTIME_UPDATE_SOCKET_PATH || '/livequery/realtime-updates';
11
- let LivequeryWebsocketSync = class LivequeryWebsocketSync {
10
+ let LivequeryWebsocketSync = class LivequeryWebsocketSync extends Subject {
12
11
  #connections = new Map();
13
12
  #subscriptions = new Map();
14
13
  #pipes = new Map();
15
14
  id = RxjsUdp.id;
16
15
  auth = randomUUID();
17
- changes = new Subject();
18
16
  constructor() {
19
- this.changes.subscribe(({ ref, data, type }) => {
17
+ super();
18
+ this.subscribe(({ ref, data, type }) => {
20
19
  const targets = [
21
20
  ...this.#subscriptions.get(ref) || new Map(),
22
21
  ...this.#subscriptions.get(`${ref}/${data.id}`) || new Map()
@@ -41,7 +40,7 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
41
40
  }
42
41
  });
43
42
  }
44
- async pipe(ref, handler) {
43
+ async link(ref, handler) {
45
44
  if (!this.#subscriptions.has(ref))
46
45
  return;
47
46
  const m = this.#pipes.get(ref);
@@ -54,7 +53,7 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
54
53
  o,
55
54
  s: o.pipe(finalize(() => {
56
55
  this.#pipes.delete(ref);
57
- })).subscribe(data => this.changes.next(data))
56
+ })).subscribe(data => this.next(data))
58
57
  });
59
58
  }
60
59
  connect(url, auth, ondisconect) {
@@ -100,56 +99,6 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
100
99
  ondisconect?.();
101
100
  })).subscribe();
102
101
  }
103
- broadcast(event) {
104
- const id = event.old_data?.id || event.new_data?.id;
105
- if (!id)
106
- return;
107
- if (event.type == 'added') {
108
- this.changes.next({
109
- data: hidePrivateFields({ ...event.new_data, id }),
110
- ref: event.new_ref,
111
- type: event.type
112
- });
113
- return;
114
- }
115
- if (event.type == 'modified') {
116
- if (event.old_ref == event.new_ref) {
117
- const changes = {
118
- ...Object
119
- .keys(event.new_data)
120
- .filter(key => !key.startsWith('_') && event.new_data[key] != event.old_data[key])
121
- .reduce((p, key) => ({ ...p || {}, [key]: event.new_data[key] }), {}),
122
- id
123
- };
124
- this.changes.next({
125
- type: 'modified',
126
- ref: event.new_ref,
127
- data: changes
128
- });
129
- }
130
- else {
131
- this.changes.next({
132
- type: 'removed',
133
- ref: event.old_ref,
134
- data: { id }
135
- });
136
- this.changes.next({
137
- type: 'added',
138
- ref: event.new_ref,
139
- data: hidePrivateFields({ ...event.old_data || {}, ...event.new_data || {}, id })
140
- });
141
- }
142
- return;
143
- }
144
- if (event.type == 'removed') {
145
- this.changes.next({
146
- data: { id },
147
- ref: event.old_ref,
148
- type: event.type
149
- });
150
- return;
151
- }
152
- }
153
102
  start(socket, { id, auth }) {
154
103
  if (socket.id)
155
104
  return;
@@ -168,7 +117,7 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
168
117
  const payload = { event: 'hello', gid: this.id };
169
118
  socket.send(JSON.stringify(payload));
170
119
  }
171
- unsubscribe(socket, body) {
120
+ unref(socket, body) {
172
121
  const client_id = body.client_id || socket.id;
173
122
  const refs = [
174
123
  ...body.ref ? [body.ref] : [],
@@ -212,7 +161,7 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
212
161
  }
213
162
  else {
214
163
  const refs = [...socket.refs || []];
215
- refs.length > 0 && this.unsubscribe(socket, { refs });
164
+ refs.length > 0 && this.unref(socket, { refs });
216
165
  }
217
166
  this.#connections.delete(socket.id);
218
167
  }
@@ -255,12 +204,6 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
255
204
  }
256
205
  }
257
206
  }
258
- #linkded = new Map();
259
- link(ds) {
260
- if (this.#linkded.has(ds))
261
- return;
262
- this.#linkded.set(ds, ds.pipe(tap(event => this.broadcast(event))).subscribe());
263
- }
264
207
  };
265
208
  __decorate([
266
209
  SubscribeMessage('start'),
@@ -277,7 +220,7 @@ __decorate([
277
220
  __metadata("design:type", Function),
278
221
  __metadata("design:paramtypes", [Object, Object]),
279
222
  __metadata("design:returntype", void 0)
280
- ], LivequeryWebsocketSync.prototype, "unsubscribe", null);
223
+ ], LivequeryWebsocketSync.prototype, "unref", null);
281
224
  LivequeryWebsocketSync = __decorate([
282
225
  WebSocketGateway({ path: WEBSOCKET_PATH }),
283
226
  __metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":"LivequeryWebsocketSync.js","sourceRoot":"","sources":["../../src/LivequeryWebsocketSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LivequeryWebsocketSync.js","sourceRoot":"","sources":["../../src/LivequeryWebsocketSync.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAA4B,MAAM,MAAM,CAAC;AAInH,OAAO,SAAS,MAAM,IAAI,CAAA;AAC1B,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAkDvC,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,6BAA6B,CAAA;AAG/F,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,OAAoB;IAE5D,YAAY,GAAG,IAAI,GAAG,EAA+C,CAAA;IACrE,cAAc,GAAG,IAAI,GAAG,EAA4C,CAAA;IACpE,MAAM,GAAG,IAAI,GAAG,EAAgD,CAAA;IAIhD,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACf,IAAI,GAAG,UAAU,EAAE,CAAA;IAEnC;QACI,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YAEnC,MAAM,OAAO,GAAG;gBACZ,GAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAkC;gBAC7E,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,EAAkC;aAC/F,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,aAAa,GAAG,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;gBACpE,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;gBAChC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;gBACtE,IAAI,CAAC,MAAM;oBAAE,OAAO,CAAC,CAAA;gBACrB,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;gBAChD,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;gBACtC,OAAO,CAAC,CAAA;YACZ,CAAC,EAAE,IAAI,GAAG,EAAiD,CAAC,CAAA;YAE5D,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAuB;oBAC9B,KAAK,EAAE,MAAM;oBACb,IAAI;oBACJ,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;iBAC3C,CAAA;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC;QAGL,CAAC,CAAC,CAAA;IACN,CAAC;IAGD,KAAK,CAAC,IAAI,CAAgC,GAAW,EAAE,OAAgI;QACnL,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QAC3D,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAM;QAC3B,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,CAAC;YACD,CAAC,EAAE,CAAC,CAAC,IAAI,CACL,QAAQ,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC,CAAC,CACL,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,IAAY,EAAE,WAAsB;QACrD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7D,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CACb,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAC1C,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,EAC7B,SAAS,CAAC,CAAC,EAAyB,EAAE,EAAE;YACpC,OAAO,KAAK,CACR,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;gBAChC,MAAM,OAAO,GAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAA;gBACpF,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YACpC,CAAC,CAAC,CAAC,EACH,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAA,CAAC,CAAC,CAAC,CAAC,EAC1D,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,EAClD,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CACzB,GAAG,CAAC,CAAC,KAAuB,EAAE,EAAE;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAuE,CAAA;gBAEhH,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC1B,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAA;oBAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAA;oBACrC,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;wBACf,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;oBAC7C,CAAC;oBACD,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;wBAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;wBACxC,MAAM,kBAAkB,CAAA;oBAC5B,CAAC;oBACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;oBACrC,OAAM;gBACV,CAAC;gBACD,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;oBACrB,OAAM;gBACV,CAAC;gBAED,OAAO,MAAM,CAAA;YACjB,CAAC,CAAC,EACF,MAAM,CAAC,OAAO,CAAC,EACf,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EACnF,QAAQ,EAAE,EACV,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAC/C,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;YAChD,CAAC,CAAC,CACL,CACJ,CAAC,IAAI,CACF,QAAQ,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACnC,CAAC,CAAC,CACL,CAAA;QACL,CAAC,CAAC,EACF,KAAK,CAAC;YACF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB;oBAAE,OAAO,KAAK,CAAA;gBACnD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;SACJ,CAAC,EACF,QAAQ,CAAC,GAAG,EAAE;YACV,WAAW,EAAE,EAAE,CAAA;QACnB,CAAC,CAAC,CACL,CAAC,SAAS,EAAE,CAAA;IAEjB,CAAC;IA0DD,KAAK,CACkB,MAA6B,EACjC,EAAE,EAAE,EAAE,IAAI,EAA+B;QAExD,IAAI,MAAM,CAAC,EAAE;YAAE,OAAM;QACrB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,OAAM;QACV,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,OAAM;QACV,CAAC;QACD,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;QACd,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QAClC,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACjC,MAAM,OAAO,GAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;QACrE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACxC,CAAC;IAID,KAAK,CACkB,MAA6B,EACjC,IAA2D;QAE1E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAA;QAC7C,MAAM,IAAI,GAAG;YACT,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7B,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;SACrB,CAAA;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAErB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxC,IAAI,CAAC,GAAG;gBAAE,OAAM;YAChB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAClC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAErB,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAChB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC9B,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAA;gBACnB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;YAKnD,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;gBAC/D,IAAI,OAAO,EAAE,CAAC;oBACV,MAAM,OAAO,GAA8B,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAA;oBAC7F,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;gBACpD,CAAC;YACL,CAAC;QACL,CAAC;IAEL,CAAC;IAEO,gBAAgB,CAAC,MAA6B;QAElD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,KAAK,MAAM,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;oBAC5C,IAAI,UAAU,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;wBAC1B,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;oBACzB,CAAC;gBACL,CAAC;gBACD,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;oBAChB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAC9B,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAA;oBACnB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACnC,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;YACnC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAEvC,CAAC;IAGD,MAAM,CAAC,CAA8B;QAEjC,KAAK,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/D,IAAI,SAAS,IAAI,UAAU;gBAAE,SAAQ;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC/C,IAAI,UAAU,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9D,IAAI,gBAAgB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;oBACtD,IAAI,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,GAA8B;4BACjC,KAAK,EAAE,aAAa;4BACpB,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;yBAC3B,CAAA;wBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;oBAClC,CAAC;gBACL,CAAC;gBACD,SAAQ;YACZ,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAkC,CAAA;YACrF,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAQ;YAChC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAA;YACpD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;YAEhD,IAAI,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBAChD,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,OAAO,GAA4B;wBACrC,SAAS;wBACT,KAAK,EAAE,WAAW;wBAClB,UAAU;wBACV,GAAG;wBACH,gBAAgB;qBACnB,CAAA;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;gBACxC,CAAC;YAEL,CAAC;QACL,CAAC;IACL,CAAC;CAIJ,CAAA;AAhIG;IADC,gBAAgB,CAAC,OAAO,CAAC;IAErB,WAAA,eAAe,EAAE,CAAA;IACjB,WAAA,WAAW,EAAE,CAAA;;;;mDAiBjB;AAID;IADC,gBAAgB,CAAC,aAAa,CAAC;IAE3B,WAAA,eAAe,EAAE,CAAA;IACjB,WAAA,WAAW,EAAE,CAAA;;;;mDAkCjB;AAhPQ,sBAAsB;IADlC,gBAAgB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;GAC9B,sBAAsB,CAqTlC"}
@@ -1,16 +1,34 @@
1
1
  import { LivequeryDatasource } from "../LivequeryDatasourceInterceptors.js";
2
2
  import { RouterOptions } from "express";
3
+ import { Observable } from 'rxjs';
3
4
  import { ModuleRef } from "@nestjs/core";
5
+ import { UpdatedData } from "@livequery/types";
6
+ import { LivequeryWebsocketSync } from "../LivequeryWebsocketSync.js";
4
7
  export type ResolverRoutes = Array<{
5
8
  path: string;
6
9
  options: RouterOptions;
7
10
  }>;
8
- export type Options<RouteOptions> = {
11
+ export type LivequeryDatasourceFactory<Config, RouteOptions> = {
12
+ new (...args: any[]): LivequeryDatasource<Config, RouteOptions>;
13
+ };
14
+ export type LivequeryDatasourceWatcher<Config, RouteOptions> = {
15
+ watch(config: Config, routes: Array<{
16
+ path: string;
17
+ method: number;
18
+ options: RouteOptions;
19
+ }>, ds: LivequeryDatasource<Config, RouteOptions>): Observable<UpdatedData<any>>;
20
+ };
21
+ export type LivequeryDatasourceWatcherFactory<Config, RouteOptions> = {
22
+ new (...args: any[]): LivequeryDatasourceWatcher<Config, RouteOptions>;
23
+ };
24
+ export type CreateDatasourceOptions<Config, RouteOptions> = {
25
+ querier: LivequeryDatasourceFactory<Config, RouteOptions>;
26
+ watcher?: LivequeryDatasourceWatcherFactory<Config, RouteOptions>;
9
27
  injects?: any[];
10
- resolver: (...injections: any[]) => Promise<LivequeryDatasource<RouteOptions>> | LivequeryDatasource<RouteOptions>;
28
+ config?: Config | ((...args: any[]) => Promise<Config> | Config);
11
29
  };
12
- export declare const createDatasourceMapper: <Config, RouteOptions>(config: Options<RouteOptions>) => [(options: RouteOptions) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void, {
13
- provide: (...injections: any[]) => LivequeryDatasource<RouteOptions> | Promise<LivequeryDatasource<RouteOptions>>;
30
+ export declare const createDatasourceMapper: <Config, RouteOptions>({ querier, injects, config: configResolver, watcher }: CreateDatasourceOptions<Config, RouteOptions>) => [(options: RouteOptions) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void, {
31
+ provide: LivequeryDatasourceFactory<Config, RouteOptions>;
14
32
  inject: any[];
15
- useFactory: (moduleRef: ModuleRef, ...injections: any[]) => Promise<LivequeryDatasource<RouteOptions>>;
33
+ useFactory: (moduleRef: ModuleRef, ws: LivequeryWebsocketSync, ...injections: any[]) => Promise<LivequeryDatasource<Config, RouteOptions>>;
16
34
  }];
@@ -2,17 +2,33 @@ import { applyDecorators, SetMetadata, UseInterceptors } from "@nestjs/common";
2
2
  import { LivequeryDatasourceInterceptors } from "../LivequeryDatasourceInterceptors.js";
3
3
  import { UseLivequeryInterceptor } from "../LivequeryInterceptor.js";
4
4
  import { ModuleRef } from "@nestjs/core";
5
- export const createDatasourceMapper = (config) => {
6
- const decorator = (options) => applyDecorators(UseLivequeryInterceptor(), UseInterceptors(LivequeryDatasourceInterceptors), SetMetadata(LivequeryDatasourceInterceptors, { datasource: config.resolver, options }));
5
+ import { LivequeryWebsocketSync } from "../LivequeryWebsocketSync.js";
6
+ export const createDatasourceMapper = ({ querier, injects = [], config: configResolver, watcher }) => {
7
+ const decorator = (options) => {
8
+ const metadata = {
9
+ options,
10
+ datasource: querier
11
+ };
12
+ return applyDecorators(UseLivequeryInterceptor(), UseInterceptors(LivequeryDatasourceInterceptors), SetMetadata(LivequeryDatasourceInterceptors, metadata));
13
+ };
7
14
  const provider = {
8
- provide: config.resolver,
9
- inject: [ModuleRef, ...config.injects || []],
10
- useFactory: async (moduleRef, ...injections) => {
11
- const lqdi = await moduleRef.create(LivequeryDatasourceInterceptors);
12
- const routes = lqdi.getRoutes(config.resolver);
13
- const factory = await config.resolver(...injections);
14
- await factory.init(routes);
15
- return factory;
15
+ provide: querier,
16
+ inject: [ModuleRef, LivequeryWebsocketSync, ...injects],
17
+ useFactory: async (moduleRef, ws, ...injections) => {
18
+ const ds = await moduleRef.create(querier);
19
+ const interceptor = await moduleRef.create(LivequeryDatasourceInterceptors);
20
+ const routes = interceptor.getRoutes(querier);
21
+ const config = configResolver instanceof Function ? await configResolver(...injections) : configResolver;
22
+ await ds.init(config, routes);
23
+ if (watcher) {
24
+ const w = await moduleRef.create(watcher);
25
+ w.watch(config, routes, ds).subscribe({
26
+ next(value) {
27
+ ws.next(value);
28
+ },
29
+ });
30
+ }
31
+ return ds;
16
32
  }
17
33
  };
18
34
  return [decorator, provider];
@@ -1 +1 @@
1
- {"version":3,"file":"createDatasourceMapper.js","sourceRoot":"","sources":["../../../src/helpers/createDatasourceMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAuB,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AAC7G,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAuB,MAA6B,EAAE,EAAE;IAG1F,MAAM,SAAS,GAAG,CAAC,OAAqB,EAAE,EAAE,CAAC,eAAe,CACxD,uBAAuB,EAAE,EACzB,eAAe,CAAC,+BAA+B,CAAC,EAChD,WAAW,CAAC,+BAA+B,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CACzF,CAAA;IAED,MAAM,QAAQ,GAAG;QACb,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,MAAM,EAAE,CAAC,SAAS,EAAG,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAC7C,UAAU,EAAE,KAAK,EAAE,SAAoB,EAAE,GAAG,UAAiB,EAAE,EAAE;YAC7D,MAAM,IAAI,GAAE,MAAO,SAAS,CAAC,MAAM,CAAkC,+BAA+B,CAAC,CAAA;YACrG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAe,MAAM,CAAC,QAA6B,CAAC,CAAA;YACjF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAA;YACpD,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1B,OAAO,OAAO,CAAA;QAClB,CAAC;KACJ,CAAA;IAGD,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAwC,CAAA;AACvE,CAAC,CAAA"}
1
+ {"version":3,"file":"createDatasourceMapper.js","sourceRoot":"","sources":["../../../src/helpers/createDatasourceMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAkD,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxI,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AA+BtE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAuB,EACzD,OAAO,EACP,OAAO,GAAG,EAAE,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,EACqC,EAAE,EAAE;IAGhD,MAAM,SAAS,GAAG,CAAC,OAAqB,EAAE,EAAE;QACxC,MAAM,QAAQ,GAA4C;YACtD,OAAO;YACP,UAAU,EAAE,OAA4B;SAC3C,CAAA;QACD,OAAO,eAAe,CAClB,uBAAuB,EAAE,EACzB,eAAe,CAAC,+BAA+B,CAAC,EAChD,WAAW,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CACzD,CAAA;IACL,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG;QACb,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC;QACvD,UAAU,EAAE,KAAK,EAAE,SAAoB,EAAE,EAA0B,EAAE,GAAG,UAAiB,EAAE,EAAE;YACzF,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAA4C,OAAO,CAAC,CAAA;YACrF,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAkC,+BAA+B,CAAC,CAAA;YAC5G,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAe,OAA4B,CAAC,CAAA;YAChF,MAAM,MAAM,GAAG,cAAc,YAAY,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;YACxG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC7B,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,MAAM,CAAmD,OAAO,CAAC,CAAA;gBAC3F,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC;oBAClC,IAAI,CAAC,KAAK;wBACN,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAClB,CAAC;iBACJ,CAAC,CAAA;YACN,CAAC;YACD,OAAO,EAAE,CAAA;QACb,CAAC;KACJ,CAAA;IAGD,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAwC,CAAA;AACvE,CAAC,CAAA"}
@@ -3,7 +3,7 @@ export { listPaths } from './helpers/listPaths.js';
3
3
  export { LivequeryRequest } from './LivequeryRequest.js';
4
4
  export { LivequeryInterceptor, type RealtimeSubscription, UseLivequeryInterceptor } from './LivequeryInterceptor.js';
5
5
  export { LivequeryWebsocketSync } from './LivequeryWebsocketSync.js';
6
- export { createDatasourceMapper } from './helpers/createDatasourceMapper.js';
7
- export { LivequeryDatasourceInterceptors, LivequeryItemMapper } from './LivequeryDatasourceInterceptors.js';
6
+ export * from './helpers/createDatasourceMapper.js';
7
+ export * from './LivequeryDatasourceInterceptors.js';
8
8
  export { ApiGateway } from './ApiGateway.js';
9
9
  export * from '@livequery/types';
@@ -3,8 +3,8 @@ export { listPaths } from './helpers/listPaths.js';
3
3
  export { LivequeryRequest } from './LivequeryRequest.js';
4
4
  export { LivequeryInterceptor, UseLivequeryInterceptor } from './LivequeryInterceptor.js';
5
5
  export { LivequeryWebsocketSync } from './LivequeryWebsocketSync.js';
6
- export { createDatasourceMapper } from './helpers/createDatasourceMapper.js';
7
- export { LivequeryDatasourceInterceptors, LivequeryItemMapper } from './LivequeryDatasourceInterceptors.js';
6
+ export * from './helpers/createDatasourceMapper.js';
7
+ export * from './LivequeryDatasourceInterceptors.js';
8
8
  export { ApiGateway } from './ApiGateway.js';
9
9
  export * from '@livequery/types';
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAA6B,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAC3G,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAA6B,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,cAAc,qCAAqC,CAAA;AACnD,cAAc,sCAAsC,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,cAAc,kBAAkB,CAAA"}
@@ -24,7 +24,7 @@ let PetCollection = class PetCollection {
24
24
  this.ws = ws;
25
25
  }
26
26
  list(req) {
27
- this.ws.pipe(req.ref, async (o) => {
27
+ this.ws.link(req.ref, async (o) => {
28
28
  if (o)
29
29
  return;
30
30
  const client = await getDatabaseClient();
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "repository": {
6
6
  "url": "git@github.com:livequery/nestjs.git"
7
7
  },
8
- "version": "2.0.53",
8
+ "version": "2.0.55",
9
9
  "description": "Nestjs decorators for @livequery ecosystem",
10
10
  "main": "./build/src/index.js",
11
11
  "types": "./build/src/index.d.ts",