@atls/nestjs-dataloader 0.0.1 → 0.0.4

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.
@@ -10,5 +10,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./OrderResultByKey"), exports);
14
- __exportStar(require("./Loader"), exports);
13
+ __exportStar(require("./order-result-by-key.decorator"), exports);
14
+ __exportStar(require("./loader.decorator"), exports);
@@ -4,14 +4,15 @@ exports.Loader = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const core_1 = require("@nestjs/core");
6
6
  const graphql_1 = require("@nestjs/graphql");
7
+ const common_2 = require("@nestjs/common");
7
8
  const constants_1 = require("../constants");
8
- const DataLoaderInterceptor_1 = require("../interceptors/DataLoaderInterceptor");
9
- exports.Loader = common_1.createParamDecorator((type, context) => {
9
+ const data_loader_interceptor_1 = require("../interceptors/data-loader.interceptor");
10
+ exports.Loader = (0, common_2.createParamDecorator)((type, context) => {
10
11
  const graphqlExecutionContext = graphql_1.GqlExecutionContext.create(context);
11
12
  const ctx = graphqlExecutionContext.getContext();
12
13
  if (ctx[constants_1.GET_LOADER_CONTEXT_KEY] === undefined) {
13
14
  throw new common_1.InternalServerErrorException(`
14
- You should provide interceptor ${DataLoaderInterceptor_1.DataLoaderInterceptor.name} globaly with ${core_1.APP_INTERCEPTOR}
15
+ You should provide interceptor ${data_loader_interceptor_1.DataLoaderInterceptor.name} globaly with ${core_1.APP_INTERCEPTOR}
15
16
  `);
16
17
  }
17
18
  return ctx[constants_1.GET_LOADER_CONTEXT_KEY](type);
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderResultByKey = void 0;
4
+ const OrderResultByKey = (key = 'id', defaultValue = undefined) => (target, propertyKey, descriptor) => {
5
+ const original = descriptor.value;
6
+ descriptor.value = async function (keys, ...args) {
7
+ const method = original.bind(this);
8
+ const result = await method(keys, ...args);
9
+ const resultByKey = result.reduce((res, item) => ({
10
+ ...res,
11
+ [item[key]]: item,
12
+ }), {});
13
+ return keys.map((itemKey) => resultByKey[itemKey] || defaultValue);
14
+ };
15
+ return descriptor;
16
+ };
17
+ exports.OrderResultByKey = OrderResultByKey;
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.DataLoaderInterceptor = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
+ const common_2 = require("@nestjs/common");
14
15
  const core_1 = require("@nestjs/core");
15
16
  const graphql_1 = require("@nestjs/graphql");
16
17
  const constants_1 = require("../constants");
@@ -30,7 +31,7 @@ let DataLoaderInterceptor = class DataLoaderInterceptor {
30
31
  .generateDataLoader();
31
32
  }
32
33
  catch (e) {
33
- throw new common_1.InternalServerErrorException(`The loader ${type} is not provided`);
34
+ throw new common_2.InternalServerErrorException(`The loader ${type} is not provided`);
34
35
  }
35
36
  }
36
37
  return ctx[type];
@@ -40,7 +41,7 @@ let DataLoaderInterceptor = class DataLoaderInterceptor {
40
41
  }
41
42
  };
42
43
  DataLoaderInterceptor = __decorate([
43
- common_1.Injectable(),
44
+ (0, common_1.Injectable)(),
44
45
  __metadata("design:paramtypes", [core_1.ModuleRef])
45
46
  ], DataLoaderInterceptor);
46
47
  exports.DataLoaderInterceptor = DataLoaderInterceptor;
@@ -10,4 +10,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./DataLoaderInterceptor"), exports);
13
+ __exportStar(require("./data-loader.interceptor"), exports);
@@ -10,4 +10,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./NestDataLoader"), exports);
13
+ __exportStar(require("./nest-dataloader.interfaces"), exports);
package/package.json CHANGED
@@ -1,39 +1,46 @@
1
1
  {
2
2
  "name": "@atls/nestjs-dataloader",
3
- "repository": "git@github.com:atls/nestjs.git",
4
- "version": "0.0.1",
5
- "license": "BSD-3 Clause",
3
+ "version": "0.0.4",
4
+ "license": "BSD-3-Clause",
6
5
  "main": "dist/index.js",
7
- "source": "src/index.ts",
8
- "typings": "dist/types/index.d.ts",
9
6
  "files": [
10
7
  "dist"
11
8
  ],
12
- "publishConfig": {
13
- "access": "public"
14
- },
15
9
  "scripts": {
16
- "build": "yarn app library build",
17
- "postpack": "rm -rf dist",
18
- "prepack": "yarn run build"
10
+ "build": "yarn library build",
11
+ "prepack": "yarn run build",
12
+ "postpack": "rm -rf dist"
19
13
  },
20
- "peerDependencies": {
21
- "@nestjs/common": "^7.0.0",
22
- "@nestjs/core": "^7.0.0",
23
- "@nestjs/graphql": "^7.0.0",
24
- "dataloader": "^2.0.0",
25
- "rxjs": "^6.5.2"
14
+ "dependencies": {
15
+ "dataloader": "^2.1.0"
26
16
  },
27
17
  "devDependencies": {
28
- "@nestjs/common": "^7.0.0",
29
- "@nestjs/core": "^7.0.0",
30
- "@nestjs/graphql": "^7.0.0",
31
- "@types/node": "13.13.4",
32
- "apollo-server-express": "2.13.0",
33
- "dataloader": "^2.0.0",
18
+ "@nestjs/common": "^8.0.5",
19
+ "@nestjs/core": "^8.0.5",
20
+ "@nestjs/graphql": "^10.0.9",
21
+ "@nestjs/microservices": "^8.0.5",
22
+ "@nestjs/testing": "^8.0.5",
23
+ "@types/lodash": "^4.14.178",
24
+ "@types/node": "^17.0.10",
25
+ "get-port": "^5.1.1",
26
+ "graphql": "^15.5.0",
34
27
  "reflect-metadata": "0.1.13",
35
- "rimraf": "3.0.2",
36
- "rxjs": "6.5.5",
37
- "typescript": "^3.3.4000"
38
- }
28
+ "rxjs": "7.5.2",
29
+ "supertest": "^6.2.2",
30
+ "ts-morph": "^14.0.0",
31
+ "ws": "^8.4.2"
32
+ },
33
+ "peerDependencies": {
34
+ "@nestjs/common": "^8.0.0",
35
+ "@nestjs/core": "^8.0.0",
36
+ "@nestjs/graphql": "^10.0.0",
37
+ "graphql": "^15.5.0",
38
+ "reflect-metadata": "^0.1.12",
39
+ "rxjs": "^6.3.3"
40
+ },
41
+ "publishConfig": {
42
+ "main": "dist/index.js",
43
+ "typings": "dist/index.d.ts"
44
+ },
45
+ "typings": "dist/index.d.ts"
39
46
  }
@@ -1 +0,0 @@
1
- export declare const GET_LOADER_CONTEXT_KEY: string;
@@ -1 +0,0 @@
1
- export declare const Loader: (type: string) => ParameterDecorator;
@@ -1 +0,0 @@
1
- export declare const OrderResultByKey: (key?: string, defaultValue?: undefined) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OrderResultByKey = void 0;
4
- const OrderResultByKey = (key = 'id', defaultValue = undefined) => (target, propertyKey, descriptor) => {
5
- const original = descriptor.value;
6
- descriptor.value = async (keys, ...args) => {
7
- try {
8
- const method = original.bind(this);
9
- const result = await method(keys, ...args);
10
- const resultByKey = result.reduce((res, item) => (Object.assign(Object.assign({}, res), { [item[key]]: item })), {});
11
- return keys.map((itemKey) => resultByKey[itemKey] || defaultValue);
12
- }
13
- catch (error) {
14
- throw error;
15
- }
16
- };
17
- return descriptor;
18
- };
19
- exports.OrderResultByKey = OrderResultByKey;
@@ -1,2 +0,0 @@
1
- export * from './OrderResultByKey';
2
- export * from './Loader';
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from './interceptors';
2
- export * from './decorators';
3
- export * from './interfaces';
@@ -1,8 +0,0 @@
1
- import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
- import { ModuleRef } from '@nestjs/core';
3
- import { Observable } from 'rxjs';
4
- export declare class DataLoaderInterceptor implements NestInterceptor {
5
- private readonly moduleRef;
6
- constructor(moduleRef: ModuleRef);
7
- intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
8
- }
@@ -1 +0,0 @@
1
- export * from './DataLoaderInterceptor';
@@ -1,4 +0,0 @@
1
- import DataLoader from 'dataloader';
2
- export interface NestDataLoader {
3
- generateDataLoader(): DataLoader<any, any>;
4
- }
@@ -1 +0,0 @@
1
- export * from './NestDataLoader';