@livequery/nestjs 2.0.1 → 2.0.2

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,4 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  import { RealtimeSubscription } from "./LivequeryInterceptor.js";
3
2
  import { UpdatedData, WebsocketSyncPayload, LivequeryBaseEntity } from "@livequery/types";
4
3
  import { Socket } from "dgram";
@@ -3,11 +3,15 @@ import { LivequeryRequest, WebsocketSyncPayload } from "@livequery/types";
3
3
  export type LivequeryDatasourceOptions<T> = Array<T & {
4
4
  refs: string[];
5
5
  }>;
6
- export type LivequeryDatasource<Options = {}, StreamPayload = {}, InjectList extends Array<any> = undefined> = {
7
- init(routes: LivequeryDatasourceOptions<Options>, injects: InjectList): Promise<void>;
6
+ export type LivequeryDatasource<Options = {}, StreamPayload = {}, Connection = any> = {
7
+ init(routes: LivequeryDatasourceOptions<Options>, connections: {
8
+ [name: string]: Connection;
9
+ }): Promise<void>;
8
10
  query(query: LivequeryRequest): any;
9
11
  enable_realtime?: (stream: Observable<StreamPayload>) => Observable<WebsocketSyncPayload>;
10
12
  };
11
- export declare const createDatasourceMapper: <Options, StreamPayload, InjectList extends any[] = undefined>(factory: {
12
- new (): LivequeryDatasource<Options, StreamPayload, InjectList>;
13
- }, inject_tokens?: Array<symbol | string | any>, ...observables: Array<Observable<StreamPayload>>) => [(options: Options) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void, import("@nestjs/common").FactoryProvider<any>];
13
+ export declare const createDatasourceMapper: <Options, StreamPayload, Connection>(factory: {
14
+ new (): LivequeryDatasource<Options, StreamPayload, Connection>;
15
+ }, inject_tokens: {
16
+ [connection_name: string]: any;
17
+ }, ...observables: Array<Observable<StreamPayload>>) => [(options: Options) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void, import("@nestjs/common").FactoryProvider<any>];
@@ -4,7 +4,7 @@ import { UseLivequeryInterceptor } from "../LivequeryInterceptor.js";
4
4
  import { PathHelper } from "./PathHelper.js";
5
5
  import { merge } from "rxjs";
6
6
  import { LivequeryWebsocketSync } from "../LivequeryWebsocketSync.js";
7
- export const createDatasourceMapper = (factory, inject_tokens = [], ...observables) => {
7
+ export const createDatasourceMapper = (factory, inject_tokens, ...observables) => {
8
8
  const observable = merge(...observables);
9
9
  const RouteConfigList = [];
10
10
  const decorator = (options) => applyDecorators((target, method) => RouteConfigList.push({ target, method, options }), UseLivequeryInterceptor(), UseInterceptors(LivequeryDatasourceInterceptors), (_target, _method, descriptor) => {
@@ -18,10 +18,11 @@ export const createDatasourceMapper = (factory, inject_tokens = [], ...observabl
18
18
  });
19
19
  const provider = {
20
20
  provide: factory,
21
- inject: [{ token: LivequeryWebsocketSync, optional: true }, ...inject_tokens],
21
+ inject: [{ token: LivequeryWebsocketSync, optional: true }, ...Object.values(inject_tokens)],
22
22
  useFactory: async (ws, ...injects) => {
23
23
  const ds = new factory();
24
- await ds.init(getDatasourceMetadatas(), injects);
24
+ const map = Object.keys(inject_tokens).reduce((acc, key, i) => ({ ...acc, [key]: injects[i] }), {});
25
+ await ds.init(getDatasourceMetadatas(), map);
25
26
  ws && ds.enable_realtime?.(observable).subscribe(change => ws.broadcast(change));
26
27
  return ds;
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createDatasourceMapper.js","sourceRoot":"","sources":["../../../src/helpers/createDatasourceMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAY,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACrH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAc,MAAM,MAAM,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAatE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,OAA2E,EAC3E,gBAA8C,EAAE,EAChD,GAAG,WAA6C,EAClD,EAAE;IAEA,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,CAAA;IAExC,MAAM,eAAe,GAA6D,EAAE,CAAC;IAErF,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,eAAe,CACnD,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EACrE,uBAAuB,EAAE,EACzB,eAAe,CAAC,+BAA+B,CAAC,EAChD,CAAC,OAAO,EAAE,OAAO,EAAE,UAA8B,EAAE,EAAE;QACjD,OAAO,CAAC,cAAc,CAAC,2BAA2B,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IAClF,CAAC,CACJ,CAAA;IAID,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC9D,OAAO;YACH,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAY;YACpC,IAAI,EAAE,UAAU,CAAC,IAAI,CACjB,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EACtD,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC5D,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC;SACxC,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAa;QACvB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,aAAa,CAAC;QAC7E,UAAU,EAAE,KAAK,EAAE,EAA0B,EAAE,GAAG,OAAmB,EAAE,EAAE;YACrE,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAA;YACxB,MAAM,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,OAAO,CAAC,CAAA;YAChD,EAAE,IAAI,EAAE,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,CAAC,SAAS,CAC5C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CACjC,CAAA;YACD,OAAO,EAAE,CAAA;QACb,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,EAAY,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACrH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAc,MAAM,MAAM,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AActE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,OAA2E,EAC3E,aAAiD,EACjD,GAAG,WAA6C,EAClD,EAAE;IAEA,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,CAAA;IAExC,MAAM,eAAe,GAA6D,EAAE,CAAC;IAErF,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,eAAe,CACnD,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EACrE,uBAAuB,EAAE,EACzB,eAAe,CAAC,+BAA+B,CAAC,EAChD,CAAC,OAAO,EAAE,OAAO,EAAE,UAA8B,EAAE,EAAE;QACjD,OAAO,CAAC,cAAc,CAAC,2BAA2B,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IAClF,CAAC,CACJ,CAAA;IAID,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC9D,OAAO;YACH,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAY;YACpC,IAAI,EAAE,UAAU,CAAC,IAAI,CACjB,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EACtD,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC5D,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC;SACxC,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAa;QACvB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5F,UAAU,EAAE,KAAK,EAAE,EAA0B,EAAE,GAAI,OAAO,EAAE,EAAE;YAC1D,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAA;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YACnG,MAAM,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAA;YAC5C,EAAE,IAAI,EAAE,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,CAAC,SAAS,CAC5C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CACjC,CAAA;YACD,OAAO,EAAE,CAAA;QACb,CAAC;KACJ,CAAA;IAGD,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAwC,CAAA;AACvE,CAAC,CAAA"}
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.1",
8
+ "version": "2.0.2",
9
9
  "description": "Nestjs decorators for @livequery ecosystem",
10
10
  "main": "./build/src/index.js",
11
11
  "types": "./build/src/index.d.ts",