UNPKG

1.98 kBJavaScriptView Raw
1"use strict";
2var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4 return new (P || (P = Promise))(function (resolve, reject) {
5 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8 step((generator = generator.apply(thisArg, _arguments || [])).next());
9 });
10};
11Object.defineProperty(exports, "__esModule", { value: true });
12exports.PassportStrategy = void 0;
13const passport = require("passport");
14function PassportStrategy(Strategy, name) {
15 class MixinStrategy extends Strategy {
16 constructor(...args) {
17 const callback = (...params) => __awaiter(this, void 0, void 0, function* () {
18 const done = params[params.length - 1];
19 try {
20 const validateResult = yield this.validate(...params);
21 if (Array.isArray(validateResult)) {
22 done(null, ...validateResult);
23 }
24 else {
25 done(null, validateResult);
26 }
27 }
28 catch (err) {
29 done(err, null);
30 }
31 });
32 super(...args, callback);
33 const passportInstance = this.getPassportInstance();
34 if (name) {
35 passportInstance.use(name, this);
36 }
37 else {
38 passportInstance.use(this);
39 }
40 }
41 getPassportInstance() {
42 return passport;
43 }
44 }
45 return MixinStrategy;
46}
47exports.PassportStrategy = PassportStrategy;