@livequery/nestjs 1.0.49 → 1.0.51
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/build/index.d.ts +7 -7
- package/build/index.js +8 -24
- package/build/index.js.map +1 -0
- package/build/src/LivequeryDatasourceInterceptors.cjs +28 -0
- package/build/src/LivequeryDatasourceInterceptors.cjs.map +1 -0
- package/build/src/LivequeryDatasourceInterceptors.d.cts +17 -0
- package/build/src/LivequeryDatasourceInterceptors.d.ts +4 -4
- package/build/src/LivequeryDatasourceInterceptors.js +13 -24
- package/build/src/LivequeryDatasourceInterceptors.js.map +1 -0
- package/build/src/LivequeryInterceptor.d.ts +2 -2
- package/build/src/LivequeryInterceptor.js +20 -33
- package/build/src/LivequeryInterceptor.js.map +1 -0
- package/build/src/LivequeryRequest.js +3 -5
- package/build/src/LivequeryRequest.js.map +1 -0
- package/build/src/LivequeryResponse.d.ts +1 -1
- package/build/src/LivequeryResponse.js +3 -5
- package/build/src/LivequeryResponse.js.map +1 -0
- package/build/src/LivequeryWebsocketSync.d.ts +13 -4
- package/build/src/LivequeryWebsocketSync.js +66 -42
- package/build/src/LivequeryWebsocketSync.js.map +1 -0
- package/build/src/UseWebsocketShareKeyPair.d.ts +4 -4
- package/build/src/UseWebsocketShareKeyPair.js +6 -12
- package/build/src/UseWebsocketShareKeyPair.js.map +1 -0
- package/build/src/const.js +2 -4
- package/build/src/const.js.map +1 -0
- package/build/src/helpers/PathHelper.js +11 -14
- package/build/src/helpers/PathHelper.js.map +1 -0
- package/build/src/helpers/createDatasourceMapper.d.ts +1 -1
- package/build/src/helpers/createDatasourceMapper.js +9 -12
- package/build/src/helpers/createDatasourceMapper.js.map +1 -0
- package/package.json +18 -16
package/build/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { LivequeryRequest } from './src/LivequeryRequest';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export { LivequeryDatasourceInterceptors } from './src/LivequeryDatasourceInterceptors';
|
|
7
|
-
export { UseWebsocketPublicKey, UseWebsocketPrivateKey } from './src/UseWebsocketShareKeyPair';
|
|
1
|
+
export { LivequeryRequest } from './src/LivequeryRequest.js';
|
|
2
|
+
export { LivequeryResponse } from './src/LivequeryResponse.js';
|
|
3
|
+
export { LivequeryInterceptor, RealtimeSubscription, UseLivequeryInterceptor } from './src/LivequeryInterceptor.js';
|
|
4
|
+
export { LivequeryWebsocketSync } from './src/LivequeryWebsocketSync.js';
|
|
5
|
+
export { createDatasourceMapper } from './src/helpers/createDatasourceMapper.js';
|
|
6
|
+
export { LivequeryDatasourceInterceptors, XXXXX } from './src/LivequeryDatasourceInterceptors.cjs';
|
|
7
|
+
export { UseWebsocketPublicKey, UseWebsocketPrivateKey } from './src/UseWebsocketShareKeyPair.js';
|
package/build/index.js
CHANGED
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.UseWebsocketPrivateKey = exports.UseWebsocketPublicKey = exports.LivequeryDatasourceInterceptors = exports.LivequeryRequest = void 0;
|
|
14
|
-
var LivequeryRequest_1 = require("./src/LivequeryRequest");
|
|
15
|
-
Object.defineProperty(exports, "LivequeryRequest", { enumerable: true, get: function () { return LivequeryRequest_1.LivequeryRequest; } });
|
|
16
|
-
__exportStar(require("./src/LivequeryResponse"), exports);
|
|
17
|
-
__exportStar(require("./src/LivequeryInterceptor"), exports);
|
|
18
|
-
__exportStar(require("./src/LivequeryWebsocketSync"), exports);
|
|
19
|
-
__exportStar(require("./src/helpers/createDatasourceMapper"), exports);
|
|
20
|
-
var LivequeryDatasourceInterceptors_1 = require("./src/LivequeryDatasourceInterceptors");
|
|
21
|
-
Object.defineProperty(exports, "LivequeryDatasourceInterceptors", { enumerable: true, get: function () { return LivequeryDatasourceInterceptors_1.LivequeryDatasourceInterceptors; } });
|
|
22
|
-
var UseWebsocketShareKeyPair_1 = require("./src/UseWebsocketShareKeyPair");
|
|
23
|
-
Object.defineProperty(exports, "UseWebsocketPublicKey", { enumerable: true, get: function () { return UseWebsocketShareKeyPair_1.UseWebsocketPublicKey; } });
|
|
24
|
-
Object.defineProperty(exports, "UseWebsocketPrivateKey", { enumerable: true, get: function () { return UseWebsocketShareKeyPair_1.UseWebsocketPrivateKey; } });
|
|
1
|
+
export { LivequeryRequest } from './src/LivequeryRequest.js';
|
|
2
|
+
export { LivequeryResponse } from './src/LivequeryResponse.js';
|
|
3
|
+
export { LivequeryInterceptor, UseLivequeryInterceptor } from './src/LivequeryInterceptor.js';
|
|
4
|
+
export { LivequeryWebsocketSync } from './src/LivequeryWebsocketSync.js';
|
|
5
|
+
export { createDatasourceMapper } from './src/helpers/createDatasourceMapper.js';
|
|
6
|
+
export { LivequeryDatasourceInterceptors, XXXXX } from './src/LivequeryDatasourceInterceptors.cjs';
|
|
7
|
+
export { UseWebsocketPublicKey, UseWebsocketPrivateKey } from './src/UseWebsocketShareKeyPair.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAwB,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AACnH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AAClG,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XXXXX = exports.LivequeryDatasourceInterceptors = exports.$__datasource_factory_token = exports.DatasourceList = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
exports.DatasourceList = new Map();
|
|
9
|
+
exports.$__datasource_factory_token = Symbol();
|
|
10
|
+
let LivequeryDatasourceInterceptors = exports.LivequeryDatasourceInterceptors = class LivequeryDatasourceInterceptors {
|
|
11
|
+
moduleRef;
|
|
12
|
+
constructor(moduleRef) {
|
|
13
|
+
this.moduleRef = moduleRef;
|
|
14
|
+
}
|
|
15
|
+
async intercept(ctx, next) {
|
|
16
|
+
const token = Reflect.getMetadata(exports.$__datasource_factory_token, ctx.getHandler());
|
|
17
|
+
const datasource = exports.DatasourceList.has(token) ? exports.DatasourceList.get(token) : this.moduleRef.get(token);
|
|
18
|
+
const req = ctx.switchToHttp().getRequest();
|
|
19
|
+
req.livequery_response = await datasource.query(req.livequery);
|
|
20
|
+
return next.handle().pipe((0, rxjs_1.map)(rs => rs ?? req.livequery_response));
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.LivequeryDatasourceInterceptors = LivequeryDatasourceInterceptors = tslib_1.__decorate([
|
|
24
|
+
(0, common_1.Injectable)(),
|
|
25
|
+
tslib_1.__metadata("design:paramtypes", [core_1.ModuleRef])
|
|
26
|
+
], LivequeryDatasourceInterceptors);
|
|
27
|
+
exports.XXXXX = core_1.ModuleRef;
|
|
28
|
+
//# sourceMappingURL=LivequeryDatasourceInterceptors.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivequeryDatasourceInterceptors.cjs","sourceRoot":"","sources":["../../src/LivequeryDatasourceInterceptors.cts"],"names":[],"mappings":";;;;AAAA,2CAAoG;AACpG,+BAA2B;AAE3B,uCAAwC;AAM3B,QAAA,cAAc,GAAG,IAAI,GAAG,EAA4C,CAAA;AACpE,QAAA,2BAA2B,GAAG,MAAM,EAAE,CAAA;AAK5C,IAAM,+BAA+B,6CAArC,MAAM,+BAA+B;IAEpB;IAApB,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAI,CAAC;IAE7C,KAAK,CAAC,SAAS,CAAC,GAAqB,EAAE,IAAiB;QAEpD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,mCAA2B,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QAChF,MAAM,UAAU,GAAG,sBAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpG,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAA;QAC3C,GAAG,CAAC,kBAAkB,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACrB,IAAA,UAAG,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAC1C,CAAA;IACL,CAAC;CACJ,CAAA;0CAdY,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;6CAGsB,gBAAS;GAF/B,+BAA+B,CAc3C;AAGY,QAAA,KAAK,GAAG,gBAAS,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { LivequeryRequest } from '@livequery/types';
|
|
3
|
+
import { ModuleRef } from '@nestjs/core';
|
|
4
|
+
export type DatasourceOptions<T> = Array<T & {
|
|
5
|
+
refs: string[];
|
|
6
|
+
}>;
|
|
7
|
+
export type Datasource<T = any> = {
|
|
8
|
+
query(query: LivequeryRequest): any;
|
|
9
|
+
};
|
|
10
|
+
export declare const DatasourceList: Map<new (...args: any[]) => Datasource, Datasource<any>>;
|
|
11
|
+
export declare const $__datasource_factory_token: unique symbol;
|
|
12
|
+
export declare class LivequeryDatasourceInterceptors implements NestInterceptor {
|
|
13
|
+
private moduleRef;
|
|
14
|
+
constructor(moduleRef: ModuleRef);
|
|
15
|
+
intercept(ctx: ExecutionContext, next: CallHandler): Promise<import("rxjs").Observable<any>>;
|
|
16
|
+
}
|
|
17
|
+
export declare const XXXXX: typeof ModuleRef;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
2
|
import { LivequeryRequest } from '@livequery/types';
|
|
3
|
-
import
|
|
4
|
-
export
|
|
3
|
+
import NestJSCore from '@nestjs/core';
|
|
4
|
+
export type DatasourceOptions<T> = Array<T & {
|
|
5
5
|
refs: string[];
|
|
6
6
|
}>;
|
|
7
|
-
export
|
|
7
|
+
export type Datasource<T = any> = {
|
|
8
8
|
query(query: LivequeryRequest): any;
|
|
9
9
|
};
|
|
10
10
|
export declare const DatasourceList: Map<new (...args: any[]) => Datasource, Datasource<any>>;
|
|
11
11
|
export declare const $__datasource_factory_token: unique symbol;
|
|
12
12
|
export declare class LivequeryDatasourceInterceptors implements NestInterceptor {
|
|
13
13
|
private moduleRef;
|
|
14
|
-
constructor(moduleRef: ModuleRef);
|
|
14
|
+
constructor(moduleRef: NestJSCore.ModuleRef);
|
|
15
15
|
intercept(ctx: ExecutionContext, next: CallHandler): Promise<import("rxjs").Observable<any>>;
|
|
16
16
|
}
|
|
@@ -1,35 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.LivequeryDatasourceInterceptors = exports.$__datasource_factory_token = exports.DatasourceList = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
|
-
const rxjs_1 = require("rxjs");
|
|
15
|
-
const core_1 = require("@nestjs/core");
|
|
16
|
-
exports.DatasourceList = new Map();
|
|
17
|
-
exports.$__datasource_factory_token = Symbol();
|
|
18
|
-
let LivequeryDatasourceInterceptors = class LivequeryDatasourceInterceptors {
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Injectable } from '@nestjs/common';
|
|
3
|
+
import { map } from 'rxjs';
|
|
4
|
+
import NestJSCore from '@nestjs/core';
|
|
5
|
+
export const DatasourceList = new Map();
|
|
6
|
+
export const $__datasource_factory_token = Symbol();
|
|
7
|
+
export let LivequeryDatasourceInterceptors = class LivequeryDatasourceInterceptors {
|
|
19
8
|
moduleRef;
|
|
20
9
|
constructor(moduleRef) {
|
|
21
10
|
this.moduleRef = moduleRef;
|
|
22
11
|
}
|
|
23
12
|
async intercept(ctx, next) {
|
|
24
|
-
const token = Reflect.getMetadata(
|
|
25
|
-
const datasource =
|
|
13
|
+
const token = Reflect.getMetadata($__datasource_factory_token, ctx.getHandler());
|
|
14
|
+
const datasource = DatasourceList.has(token) ? DatasourceList.get(token) : this.moduleRef.get(token);
|
|
26
15
|
const req = ctx.switchToHttp().getRequest();
|
|
27
16
|
req.livequery_response = await datasource.query(req.livequery);
|
|
28
|
-
return next.handle().pipe(
|
|
17
|
+
return next.handle().pipe(map(rs => rs ?? req.livequery_response));
|
|
29
18
|
}
|
|
30
19
|
};
|
|
31
20
|
LivequeryDatasourceInterceptors = __decorate([
|
|
32
|
-
|
|
33
|
-
__metadata("design:paramtypes", [
|
|
21
|
+
Injectable(),
|
|
22
|
+
__metadata("design:paramtypes", [NestJSCore.ModuleRef])
|
|
34
23
|
], LivequeryDatasourceInterceptors);
|
|
35
|
-
|
|
24
|
+
//# sourceMappingURL=LivequeryDatasourceInterceptors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivequeryDatasourceInterceptors.js","sourceRoot":"","sources":["../../src/LivequeryDatasourceInterceptors.ts"],"names":[],"mappings":";AAAA,OAAO,EAAiC,UAAU,EAAmB,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3B,OAAO,UAAU,MAAM,cAAc,CAAA;AAMrC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4C,CAAA;AACjF,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,EAAE,CAAA;AAK5C,WAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAEpB;IAApB,YAAoB,SAA+B;QAA/B,cAAS,GAAT,SAAS,CAAsB;IAAO,CAAC;IAE3D,KAAK,CAAC,SAAS,CAAC,GAAqB,EAAE,IAAiB;QAEpD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,2BAA2B,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QAChF,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpG,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAA;QAC3C,GAAG,CAAC,kBAAkB,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACrB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAC1C,CAAA;IACL,CAAC;CACJ,CAAA;AAdY,+BAA+B;IAD3C,UAAU,EAAE;qCAGsB,UAAU,CAAC,SAAS;GAF1C,+BAA+B,CAc3C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CallHandler, ExecutionContext, NestInterceptor } from "@nestjs/common";
|
|
2
|
-
import { LivequeryWebsocketSync } from "./LivequeryWebsocketSync";
|
|
3
|
-
export
|
|
2
|
+
import { LivequeryWebsocketSync } from "./LivequeryWebsocketSync.js";
|
|
3
|
+
export type RealtimeSubscription = {
|
|
4
4
|
collection_ref: string;
|
|
5
5
|
doc_id: string;
|
|
6
6
|
};
|
|
@@ -1,25 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.UseLivequeryInterceptor = exports.LivequeryInterceptor = void 0;
|
|
16
|
-
const common_1 = require("@nestjs/common");
|
|
17
|
-
const operators_1 = require("rxjs/operators");
|
|
18
|
-
const PathHelper_1 = require("./helpers/PathHelper");
|
|
19
|
-
const LivequeryWebsocketSync_1 = require("./LivequeryWebsocketSync");
|
|
20
|
-
const UseWebsocketShareKeyPair_1 = require("./UseWebsocketShareKeyPair");
|
|
21
|
-
const JWT = require('jsonwebtoken');
|
|
22
|
-
let LivequeryInterceptor = class LivequeryInterceptor {
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { Inject, Injectable, Optional, UseInterceptors } from "@nestjs/common";
|
|
3
|
+
import { map } from "rxjs/operators";
|
|
4
|
+
import { PathHelper } from "./helpers/PathHelper.js";
|
|
5
|
+
import { LivequeryWebsocketSync } from "./LivequeryWebsocketSync.js";
|
|
6
|
+
import { InjectWebsocketPrivateKey } from "./UseWebsocketShareKeyPair.js";
|
|
7
|
+
import JWT from 'jsonwebtoken';
|
|
8
|
+
export let LivequeryInterceptor = class LivequeryInterceptor {
|
|
23
9
|
LivequeryWebsocketSync;
|
|
24
10
|
secret_or_private_key;
|
|
25
11
|
constructor(LivequeryWebsocketSync, secret_or_private_key) {
|
|
@@ -40,8 +26,8 @@ let LivequeryInterceptor = class LivequeryInterceptor {
|
|
|
40
26
|
return [name, expression || 'eq', rest[key]];
|
|
41
27
|
}
|
|
42
28
|
});
|
|
43
|
-
const { ref, is_collection, collection_ref, doc_id, } =
|
|
44
|
-
const { collection_ref: schema_collection_ref, ref: schema_ref } =
|
|
29
|
+
const { ref, is_collection, collection_ref, doc_id, } = PathHelper.parseHttpRequestPath(req._parsedUrl.pathname);
|
|
30
|
+
const { collection_ref: schema_collection_ref, ref: schema_ref } = PathHelper.parseHttpRequestPath(req.route.path);
|
|
45
31
|
req.livequery = {
|
|
46
32
|
ref,
|
|
47
33
|
schema_ref,
|
|
@@ -63,19 +49,20 @@ let LivequeryInterceptor = class LivequeryInterceptor {
|
|
|
63
49
|
};
|
|
64
50
|
req.method == 'GET' && req.headers.socket_id && this.LivequeryWebsocketSync?.listen(req.headers.socket_id, { collection_ref, doc_id });
|
|
65
51
|
const realtime_token = await new Promise(s => {
|
|
66
|
-
if (
|
|
52
|
+
if (!this.secret_or_private_key || req.method.toLowerCase() != 'get')
|
|
67
53
|
return s(null);
|
|
68
54
|
JWT.sign({ collection_ref, doc_id }, this.secret_or_private_key, {}, (error, data) => s(error ? null : data));
|
|
69
55
|
});
|
|
70
|
-
return next.handle().pipe(
|
|
56
|
+
return next.handle().pipe(map(data => ({ data: { ...data, realtime_token } })));
|
|
71
57
|
}
|
|
72
58
|
};
|
|
73
59
|
LivequeryInterceptor = __decorate([
|
|
74
|
-
|
|
75
|
-
__param(0,
|
|
76
|
-
__param(
|
|
77
|
-
|
|
60
|
+
Injectable(),
|
|
61
|
+
__param(0, Optional()),
|
|
62
|
+
__param(0, Inject(LivequeryWebsocketSync)),
|
|
63
|
+
__param(1, Optional()),
|
|
64
|
+
__param(1, InjectWebsocketPrivateKey()),
|
|
65
|
+
__metadata("design:paramtypes", [LivequeryWebsocketSync, String])
|
|
78
66
|
], LivequeryInterceptor);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
exports.UseLivequeryInterceptor = UseLivequeryInterceptor;
|
|
67
|
+
export const UseLivequeryInterceptor = () => UseInterceptors(LivequeryInterceptor);
|
|
68
|
+
//# sourceMappingURL=LivequeryInterceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivequeryInterceptor.js","sourceRoot":"","sources":["../../src/LivequeryInterceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.LivequeryRequest = void 0;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
exports.LivequeryRequest = common_1.createParamDecorator((data, ctx) => {
|
|
1
|
+
import { createParamDecorator } from "@nestjs/common";
|
|
2
|
+
export const LivequeryRequest = createParamDecorator((data, ctx) => {
|
|
6
3
|
const request = ctx.switchToHttp().getRequest();
|
|
7
4
|
return request.livequery;
|
|
8
5
|
});
|
|
6
|
+
//# sourceMappingURL=LivequeryRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivequeryRequest.js","sourceRoot":"","sources":["../../src/LivequeryRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAoB,MAAM,gBAAgB,CAAC;AAGxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,CAAC,IAAa,EAAE,GAAqB,EAAE,EAAE;IAC1F,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAA;IAC/C,OAAO,OAAO,CAAC,SAAS,CAAA;AAC5B,CAAC,CAAC,CAAA"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
exports.LivequeryResponse = common_1.createParamDecorator((data, ctx) => ctx.switchToHttp().getRequest().livequery_response);
|
|
1
|
+
import { createParamDecorator } from "@nestjs/common";
|
|
2
|
+
export const LivequeryResponse = createParamDecorator((data, ctx) => ctx.switchToHttp().getRequest().livequery_response);
|
|
3
|
+
//# sourceMappingURL=LivequeryResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivequeryResponse.js","sourceRoot":"","sources":["../../src/LivequeryResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAoB,MAAM,gBAAgB,CAAC;AASxE,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CACjD,CAAC,IAAa,EAAE,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,kBAAkB,CAC/F,CAAA"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { Subject } from "rxjs";
|
|
2
|
-
import {
|
|
3
|
-
import { UpdatedData } from "@livequery/types";
|
|
2
|
+
import { RealtimeSubscription } from "./LivequeryInterceptor.js";
|
|
3
|
+
import { UpdatedData, UpdatedDataType } from "@livequery/types";
|
|
4
4
|
export declare class LivequeryWebsocketSync {
|
|
5
5
|
private secret_or_public_key;
|
|
6
6
|
private connections;
|
|
7
7
|
private refs;
|
|
8
|
-
readonly changes: Subject<UpdatedData
|
|
9
|
-
constructor(secret_or_public_key: string
|
|
8
|
+
readonly changes: Subject<UpdatedData>;
|
|
9
|
+
constructor(secret_or_public_key: string);
|
|
10
10
|
private handleDisconnect;
|
|
11
|
+
sync_db_change<T extends {
|
|
12
|
+
id: string;
|
|
13
|
+
}>(event: {
|
|
14
|
+
type: UpdatedDataType;
|
|
15
|
+
old_data?: T;
|
|
16
|
+
old_ref: string;
|
|
17
|
+
new_data?: Partial<T>;
|
|
18
|
+
new_ref: string;
|
|
19
|
+
}): Promise<void>;
|
|
11
20
|
start({ id }: {
|
|
12
21
|
id: string;
|
|
13
22
|
}, socket: WebSocket & {
|
|
@@ -1,34 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.LivequeryWebsocketSync = void 0;
|
|
16
|
-
const websockets_1 = require("@nestjs/websockets");
|
|
17
|
-
const rxjs_1 = require("rxjs");
|
|
18
|
-
const LivequeryInterceptor_1 = require("./LivequeryInterceptor");
|
|
19
|
-
const crypto_1 = require("crypto");
|
|
20
|
-
const common_1 = require("@nestjs/common");
|
|
21
|
-
const UseWebsocketShareKeyPair_1 = require("./UseWebsocketShareKeyPair");
|
|
22
|
-
const JWT = require('jsonwebtoken');
|
|
23
|
-
let LivequeryWebsocketSync = class LivequeryWebsocketSync {
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { ConnectedSocket, MessageBody, SubscribeMessage, WebSocketGateway } from "@nestjs/websockets";
|
|
3
|
+
import { Subject } from "rxjs";
|
|
4
|
+
import { randomUUID } from 'crypto';
|
|
5
|
+
import { Optional } from "@nestjs/common";
|
|
6
|
+
import { InjectWebsocketPublicKey } from "./UseWebsocketShareKeyPair.js";
|
|
7
|
+
import JWT from 'jsonwebtoken';
|
|
8
|
+
export let LivequeryWebsocketSync = class LivequeryWebsocketSync {
|
|
24
9
|
secret_or_public_key;
|
|
25
10
|
connections = new Map();
|
|
26
11
|
refs = new Map();
|
|
27
|
-
changes = new
|
|
28
|
-
constructor(secret_or_public_key
|
|
12
|
+
changes = new Subject();
|
|
13
|
+
constructor(secret_or_public_key) {
|
|
29
14
|
this.secret_or_public_key = secret_or_public_key;
|
|
30
|
-
if (!LivequeryInterceptor && !secret_or_public_key)
|
|
31
|
-
throw new Error('Missing api-websocket key pair, please use UseWebsocketPublicKey in providers list');
|
|
32
15
|
this.changes.subscribe(({ ref, data, type, ...rest }) => {
|
|
33
16
|
const connections = new Set([
|
|
34
17
|
...this.refs.get(ref)?.values() || [],
|
|
@@ -46,7 +29,48 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
|
|
|
46
29
|
});
|
|
47
30
|
this.connections.delete(socket.id);
|
|
48
31
|
}
|
|
49
|
-
|
|
32
|
+
async sync_db_change(event) {
|
|
33
|
+
const id = event.old_data.id || event.new_data.id;
|
|
34
|
+
if (event.type == 'added') {
|
|
35
|
+
this.changes.next({
|
|
36
|
+
data: { ...event.new_data, id },
|
|
37
|
+
ref: event.new_ref,
|
|
38
|
+
type: event.type
|
|
39
|
+
});
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (event.type == 'modified') {
|
|
43
|
+
if (event.old_ref == event.new_ref) {
|
|
44
|
+
this.changes.next({
|
|
45
|
+
type: 'modified',
|
|
46
|
+
ref: event.new_ref,
|
|
47
|
+
data: { ...event.new_data, id }
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.changes.next({
|
|
52
|
+
type: 'removed',
|
|
53
|
+
ref: event.old_ref,
|
|
54
|
+
data: { id }
|
|
55
|
+
});
|
|
56
|
+
this.changes.next({
|
|
57
|
+
type: 'added',
|
|
58
|
+
ref: event.new_ref,
|
|
59
|
+
data: { ...event.old_data || {}, ...event.new_data || {}, id }
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (event.type == 'removed') {
|
|
65
|
+
this.changes.next({
|
|
66
|
+
data: { id },
|
|
67
|
+
ref: event.old_ref,
|
|
68
|
+
type: event.type
|
|
69
|
+
});
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
start({ id = randomUUID() }, socket) {
|
|
50
74
|
if (typeof id == 'string' && id.length < 40) {
|
|
51
75
|
socket.id = id;
|
|
52
76
|
this.connections.set(id, { socket, refs: new Set() });
|
|
@@ -75,33 +99,33 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
|
|
|
75
99
|
}
|
|
76
100
|
};
|
|
77
101
|
__decorate([
|
|
78
|
-
|
|
79
|
-
__param(0,
|
|
80
|
-
__param(1,
|
|
102
|
+
SubscribeMessage('start'),
|
|
103
|
+
__param(0, MessageBody()),
|
|
104
|
+
__param(1, ConnectedSocket()),
|
|
81
105
|
__metadata("design:type", Function),
|
|
82
106
|
__metadata("design:paramtypes", [Object, Object]),
|
|
83
107
|
__metadata("design:returntype", void 0)
|
|
84
108
|
], LivequeryWebsocketSync.prototype, "start", null);
|
|
85
109
|
__decorate([
|
|
86
|
-
|
|
87
|
-
__param(0,
|
|
88
|
-
__param(1,
|
|
110
|
+
SubscribeMessage('subscribe'),
|
|
111
|
+
__param(0, MessageBody()),
|
|
112
|
+
__param(1, ConnectedSocket()),
|
|
89
113
|
__metadata("design:type", Function),
|
|
90
114
|
__metadata("design:paramtypes", [Object, Object]),
|
|
91
115
|
__metadata("design:returntype", Promise)
|
|
92
116
|
], LivequeryWebsocketSync.prototype, "subscribe", null);
|
|
93
117
|
__decorate([
|
|
94
|
-
|
|
95
|
-
__param(0,
|
|
96
|
-
__param(1,
|
|
118
|
+
SubscribeMessage('unsubscribe'),
|
|
119
|
+
__param(0, MessageBody()),
|
|
120
|
+
__param(1, ConnectedSocket()),
|
|
97
121
|
__metadata("design:type", Function),
|
|
98
122
|
__metadata("design:paramtypes", [Object, Object]),
|
|
99
123
|
__metadata("design:returntype", void 0)
|
|
100
124
|
], LivequeryWebsocketSync.prototype, "unsubscribe", null);
|
|
101
125
|
LivequeryWebsocketSync = __decorate([
|
|
102
|
-
|
|
103
|
-
__param(0,
|
|
104
|
-
__param(
|
|
105
|
-
__metadata("design:paramtypes", [String
|
|
126
|
+
WebSocketGateway({ path: process.env.REALTIME_UPDATE_SOCKET_PATH || '/livequery/realtime-updates' }),
|
|
127
|
+
__param(0, Optional()),
|
|
128
|
+
__param(0, InjectWebsocketPublicKey()),
|
|
129
|
+
__metadata("design:paramtypes", [String])
|
|
106
130
|
], LivequeryWebsocketSync);
|
|
107
|
-
|
|
131
|
+
//# sourceMappingURL=LivequeryWebsocketSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivequeryWebsocketSync.js","sourceRoot":"","sources":["../../src/LivequeryWebsocketSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Provider } from "@nestjs/common";
|
|
2
|
-
export declare const InjectWebsocketPublicKey: () =>
|
|
3
|
-
export declare const InjectWebsocketPrivateKey: () =>
|
|
4
|
-
export declare const UseWebsocketPublicKey: (secret_or_public_key: string) => Provider
|
|
5
|
-
export declare const UseWebsocketPrivateKey: (secret_or_private_key: string) => Provider
|
|
2
|
+
export declare const InjectWebsocketPublicKey: () => PropertyDecorator & ParameterDecorator;
|
|
3
|
+
export declare const InjectWebsocketPrivateKey: () => PropertyDecorator & ParameterDecorator;
|
|
4
|
+
export declare const UseWebsocketPublicKey: (secret_or_public_key: string) => Provider;
|
|
5
|
+
export declare const UseWebsocketPrivateKey: (secret_or_private_key: string) => Provider;
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UseWebsocketPrivateKey = exports.UseWebsocketPublicKey = exports.InjectWebsocketPrivateKey = exports.InjectWebsocketPublicKey = void 0;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
1
|
+
import { Inject } from "@nestjs/common";
|
|
5
2
|
const WebsocketPublicKey = 'WebsocketPublicKey';
|
|
6
3
|
const WebsocketPrivateKey = 'WebsocketPrivateKey';
|
|
7
|
-
const InjectWebsocketPublicKey = () =>
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
exports.InjectWebsocketPrivateKey = InjectWebsocketPrivateKey;
|
|
11
|
-
const UseWebsocketPublicKey = (secret_or_public_key) => ({
|
|
4
|
+
export const InjectWebsocketPublicKey = () => Inject(WebsocketPublicKey);
|
|
5
|
+
export const InjectWebsocketPrivateKey = () => Inject(WebsocketPrivateKey);
|
|
6
|
+
export const UseWebsocketPublicKey = (secret_or_public_key) => ({
|
|
12
7
|
provide: WebsocketPublicKey,
|
|
13
8
|
useFactory: () => secret_or_public_key
|
|
14
9
|
});
|
|
15
|
-
|
|
16
|
-
const UseWebsocketPrivateKey = (secret_or_private_key) => ({
|
|
10
|
+
export const UseWebsocketPrivateKey = (secret_or_private_key) => ({
|
|
17
11
|
provide: WebsocketPrivateKey,
|
|
18
12
|
useFactory: () => secret_or_private_key
|
|
19
13
|
});
|
|
20
|
-
|
|
14
|
+
//# sourceMappingURL=UseWebsocketShareKeyPair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UseWebsocketShareKeyPair.js","sourceRoot":"","sources":["../../src/UseWebsocketShareKeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,gBAAgB,CAAA;AAGjD,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AAC/C,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AAEjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAG1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,oBAA4B,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,GAAG,EAAE,CAAC,oBAAoB;CAC5B,CAAA,CAAA;AAGd,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,qBAA6B,EAAE,EAAE,CAAC,CAAC;IACtE,OAAO,EAAE,mBAAmB;IAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,qBAAqB;CAC7B,CAAA,CAAA"}
|
package/build/src/const.js
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.LIVEQUERY_MAGIC_KEY = void 0;
|
|
4
|
-
exports.LIVEQUERY_MAGIC_KEY = `${process.env.LIVEQUERY_MAGIC_KEY || 'livequery'}/`;
|
|
1
|
+
export const LIVEQUERY_MAGIC_KEY = `${process.env.LIVEQUERY_MAGIC_KEY || 'livequery'}/`;
|
|
2
|
+
//# sourceMappingURL=const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,WACvC,GAAG,CAAA"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.PathHelper = void 0;
|
|
4
|
-
const const_1 = require("../const");
|
|
5
|
-
class PathHelper {
|
|
1
|
+
import { LIVEQUERY_MAGIC_KEY } from "../const.js";
|
|
2
|
+
export class PathHelper {
|
|
6
3
|
static trimLivequeryHotkey(path) {
|
|
7
4
|
const ref = path
|
|
5
|
+
?.split('~')[0]
|
|
8
6
|
?.replaceAll(':', '')
|
|
9
|
-
?.split(
|
|
7
|
+
?.split(LIVEQUERY_MAGIC_KEY)?.[1]
|
|
10
8
|
?.split('/')
|
|
11
9
|
?.filter(s => s.length > 0)
|
|
12
10
|
?.join('/');
|
|
@@ -16,19 +14,18 @@ class PathHelper {
|
|
|
16
14
|
}
|
|
17
15
|
static parseHttpRequestPath(path) {
|
|
18
16
|
const refs = path
|
|
17
|
+
?.split('~')[0]
|
|
19
18
|
?.replaceAll(':', '')
|
|
20
|
-
?.split(
|
|
19
|
+
?.split(LIVEQUERY_MAGIC_KEY)?.[1]
|
|
21
20
|
?.split('/')
|
|
22
21
|
?.filter(s => s.length > 0);
|
|
23
22
|
if (!refs)
|
|
24
23
|
throw 'LIVEQUERY_MAGIC_KEY_NOT_FOUND';
|
|
24
|
+
const is_collection = refs.length % 2 == 1;
|
|
25
25
|
const ref = refs.join('/');
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const collection_ref = is_collection ? ref_without_action : refs_without_action.slice(0, refs_without_action.length - 1).join('/');
|
|
30
|
-
const schema_ref = refs_without_action.filter((_, i) => i % 2 == 0).join('/');
|
|
31
|
-
const doc_id = is_collection ? null : refs_without_action[refs_without_action.length - 1];
|
|
26
|
+
const collection_ref = is_collection ? ref : refs.slice(0, refs.length - 1).join('/');
|
|
27
|
+
const schema_ref = refs.filter((_, i) => i % 2 == 0).join('/');
|
|
28
|
+
const doc_id = is_collection ? null : refs[refs.length - 1];
|
|
32
29
|
return { ref, schema_ref, is_collection, doc_id, collection_ref };
|
|
33
30
|
}
|
|
34
31
|
static join(a, b) {
|
|
@@ -41,4 +38,4 @@ class PathHelper {
|
|
|
41
38
|
.join('/'));
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
|
-
|
|
41
|
+
//# sourceMappingURL=PathHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PathHelper.js","sourceRoot":"","sources":["../../../src/helpers/PathHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,MAAM,OAAO,UAAU;IAGnB,MAAM,CAAC,mBAAmB,CAAC,IAAY;QACnC,MAAM,GAAG,GAAG,IAAI;YACZ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;YACrB,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;YACjC,EAAE,KAAK,CAAC,GAAG,CAAC;YACZ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAEf,IAAI,CAAC,GAAG;YAAE,MAAM,+BAA+B,CAAA;QAE/C,OAAO,GAAG,CAAA;IACd,CAAC;IAGD,MAAM,CAAC,oBAAoB,CAAC,IAAY;QACpC,MAAM,IAAI,GAAG,IAAI;YACb,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;YACrB,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;YACjC,EAAE,KAAK,CAAC,GAAG,CAAC;YACZ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAE/B,IAAI,CAAC,IAAI;YAAE,MAAM,+BAA+B,CAAA;QAEhD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1B,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAE3D,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAErE,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAoB,EAAE,CAAoB;QAClD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;aACX,IAAI,CAAC,CAAC,CAAC;aACP,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;aACrD,IAAI,CAAC,CAAC,CAAC;aACP,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACvB,CAAC;CAEJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Datasource } from "../LivequeryDatasourceInterceptors";
|
|
1
|
+
import { Datasource } from "../LivequeryDatasourceInterceptors.cjs";
|
|
2
2
|
export declare const createDatasourceMapper: <T extends {}>(datasource_factory: new (...args: any[]) => Datasource) => [(options: T) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void, () => (T & {
|
|
3
3
|
refs: string[];
|
|
4
4
|
})[]];
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const LivequeryInterceptor_1 = require("../LivequeryInterceptor");
|
|
7
|
-
const PathHelper_1 = require("./PathHelper");
|
|
8
|
-
const createDatasourceMapper = (datasource_factory) => {
|
|
1
|
+
import { applyDecorators, UseInterceptors } from "@nestjs/common";
|
|
2
|
+
import { LivequeryDatasourceInterceptors, $__datasource_factory_token } from "../LivequeryDatasourceInterceptors.cjs";
|
|
3
|
+
import { UseLivequeryInterceptor } from "../LivequeryInterceptor.js";
|
|
4
|
+
import { PathHelper } from "./PathHelper.js";
|
|
5
|
+
export const createDatasourceMapper = (datasource_factory) => {
|
|
9
6
|
const RouteConfigList = [];
|
|
10
|
-
const decorator = (options) =>
|
|
11
|
-
Reflect.defineMetadata(
|
|
7
|
+
const decorator = (options) => applyDecorators((target, method) => RouteConfigList.push({ target, method, options }), UseLivequeryInterceptor(), UseInterceptors(LivequeryDatasourceInterceptors), (target, method, descriptor) => {
|
|
8
|
+
Reflect.defineMetadata($__datasource_factory_token, datasource_factory, descriptor.value);
|
|
12
9
|
});
|
|
13
10
|
const getDatasourceMetadatas = () => RouteConfigList.map(config => {
|
|
14
11
|
return {
|
|
15
12
|
...(config.options || {}),
|
|
16
|
-
refs:
|
|
13
|
+
refs: PathHelper.join(Reflect.getMetadata('path', config.target.constructor), Reflect.getMetadata('path', config.target[config.method])).map(PathHelper.trimLivequeryHotkey)
|
|
17
14
|
};
|
|
18
15
|
});
|
|
19
16
|
return [decorator, getDatasourceMetadatas];
|
|
20
17
|
};
|
|
21
|
-
|
|
18
|
+
//# sourceMappingURL=createDatasourceMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDatasourceMapper.js","sourceRoot":"","sources":["../../../src/helpers/createDatasourceMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAc,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAClI,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAe,kBAAgD,EAAE,EAAE;IAGrG,MAAM,eAAe,GAAuD,EAAE,CAAC;IAI/E,MAAM,SAAS,GAAG,CAAC,OAAU,EAAE,EAAE,CAAC,eAAe,CAC7C,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,MAAM,EAAE,MAAM,EAAE,UAA8B,EAAE,EAAE;QAC/C,OAAO,CAAC,cAAc,CAAC,2BAA2B,EAAE,kBAAkB,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IAC7F,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,CAAM;YAC9B,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,OAAO,CAAC,SAAS,EAAE,sBAAsB,CAAsD,CAAA;AACnG,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,41 +1,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livequery/nestjs",
|
|
3
|
+
"author": "Duong Van Ba",
|
|
4
|
+
"license": "MIT",
|
|
3
5
|
"repository": {
|
|
4
6
|
"url": "git@github.com:livequery/nestjs.git"
|
|
5
7
|
},
|
|
6
|
-
"version": "1.0.
|
|
7
|
-
"description": "",
|
|
8
|
+
"version": "1.0.51",
|
|
9
|
+
"description": "Nestjs decorators for @livequery ecosystem",
|
|
8
10
|
"main": "build/index.js",
|
|
9
11
|
"types": "build/index.d.ts",
|
|
10
12
|
"files": [
|
|
11
13
|
"build/**/*"
|
|
12
14
|
],
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"import": {
|
|
18
|
+
"types": "./build/index.d.ts",
|
|
19
|
+
"default": "./build/index.js"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"type": "module",
|
|
13
24
|
"devDependencies": {
|
|
14
25
|
"@livequery/types": "x",
|
|
15
26
|
"@nestjs/common": "x",
|
|
16
27
|
"@nestjs/core": "x",
|
|
17
28
|
"@nestjs/websockets": "x",
|
|
18
29
|
"@types/express": "x",
|
|
30
|
+
"@types/jsonwebtoken": "x",
|
|
19
31
|
"@types/node": "x",
|
|
32
|
+
"jsonwebtoken": "x",
|
|
20
33
|
"reflect-metadata": "x",
|
|
21
|
-
"rxjs": "
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"@nestjs/common": "x",
|
|
25
|
-
"@nestjs/core": "x",
|
|
26
|
-
"@nestjs/websockets": "x",
|
|
27
|
-
"reflect-metadata": "x",
|
|
28
|
-
"rxjs": "x"
|
|
34
|
+
"rxjs": "x",
|
|
35
|
+
"tslib": "^2.6.1",
|
|
36
|
+
"typescript": "^5.1.6"
|
|
29
37
|
},
|
|
30
38
|
"scripts": {
|
|
31
39
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
32
40
|
"build": "tsc -b .",
|
|
33
41
|
"deploy": "yarn build; git add .; git commit -m \"Update\"; git push origin master; npm publish --access public"
|
|
34
|
-
},
|
|
35
|
-
"author": "",
|
|
36
|
-
"license": "ISC",
|
|
37
|
-
"dependencies": {
|
|
38
|
-
"@types/jsonwebtoken": "x",
|
|
39
|
-
"jsonwebtoken": "x"
|
|
40
42
|
}
|
|
41
43
|
}
|