@nestjs/jwt
Advanced tools
Comparing version 0.0.1 to 0.1.0
/// <reference types="node" /> | ||
import { ModuleMetadata, Type } from '@nestjs/common/interfaces'; | ||
import * as jwt from 'jsonwebtoken'; | ||
@@ -9,1 +10,10 @@ export interface JwtModuleOptions { | ||
} | ||
export interface JwtOptionsFactory { | ||
createJwtOptions(): Promise<JwtModuleOptions> | JwtModuleOptions; | ||
} | ||
export interface JwtModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> { | ||
useExisting?: Type<JwtOptionsFactory>; | ||
useClass?: Type<JwtOptionsFactory>; | ||
useFactory?: (...args: any[]) => Promise<JwtModuleOptions> | JwtModuleOptions; | ||
inject?: any[]; | ||
} |
import { DynamicModule } from '@nestjs/common'; | ||
import { JwtModuleOptions } from './interfaces/jwt-module-options.interface'; | ||
import { JwtModuleAsyncOptions, JwtModuleOptions } from './interfaces/jwt-module-options.interface'; | ||
export declare class JwtModule { | ||
static register(options: JwtModuleOptions): DynamicModule; | ||
static registerAsync(options: JwtModuleAsyncOptions): DynamicModule; | ||
private static createAsyncProviders; | ||
private static createAsyncOptionsProvider; | ||
} |
@@ -8,5 +8,14 @@ "use strict"; | ||
}; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var JwtModule_1; | ||
const common_1 = require("@nestjs/common"); | ||
const jwt_constants_1 = require("./jwt.constants"); | ||
const jwt_providers_1 = require("./jwt.providers"); | ||
@@ -18,5 +27,37 @@ const jwt_service_1 = require("./jwt.service"); | ||
module: JwtModule_1, | ||
providers: jwt_providers_1.createJwtProvider(options), | ||
providers: jwt_providers_1.createJwtProvider(options) | ||
}; | ||
} | ||
static registerAsync(options) { | ||
return { | ||
module: JwtModule_1, | ||
providers: this.createAsyncProviders(options) | ||
}; | ||
} | ||
static createAsyncProviders(options) { | ||
if (options.useExisting || options.useFactory) { | ||
return [this.createAsyncOptionsProvider(options)]; | ||
} | ||
return [ | ||
this.createAsyncOptionsProvider(options), | ||
{ | ||
provide: options.useClass, | ||
useClass: options.useClass | ||
} | ||
]; | ||
} | ||
static createAsyncOptionsProvider(options) { | ||
if (options.useFactory) { | ||
return { | ||
provide: jwt_constants_1.JWT_MODULE_OPTIONS, | ||
useFactory: options.useFactory, | ||
inject: options.inject || [] | ||
}; | ||
} | ||
return { | ||
provide: jwt_constants_1.JWT_MODULE_OPTIONS, | ||
useFactory: (optionsFactory) => __awaiter(this, void 0, void 0, function* () { return yield optionsFactory.createJwtOptions(); }), | ||
inject: [options.useExisting || options.useClass] | ||
}; | ||
} | ||
}; | ||
@@ -26,5 +67,5 @@ JwtModule = JwtModule_1 = __decorate([ | ||
providers: [jwt_service_1.JwtService], | ||
exports: [jwt_service_1.JwtService], | ||
exports: [jwt_service_1.JwtService] | ||
}) | ||
], JwtModule); | ||
exports.JwtModule = JwtModule; |
{ | ||
"name": "@nestjs/jwt", | ||
"version": "0.0.1", | ||
"version": "0.1.0", | ||
"description": "Nest - modern, fast, powerful node.js web framework (@jwt)", | ||
@@ -8,3 +8,3 @@ "author": "Kamil Mysliwiec", | ||
"scripts": { | ||
"build": "tsc -p tsconfig.json", | ||
"build": "rm -rf dist && tsc -p tsconfig.json", | ||
"precommit": "lint-staged", | ||
@@ -11,0 +11,0 @@ "prepublish:npm": "npm run build", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
25586
174