@proteinjs/user-server 1.22.0 → 1.22.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.
- package/CHANGELOG.md +24 -0
- package/dist/generated/index.js +1 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/src/authentication/PasswordHasher.d.ts +9 -0
- package/dist/src/authentication/PasswordHasher.d.ts.map +1 -1
- package/dist/src/authentication/PasswordHasher.js +25 -0
- package/dist/src/authentication/PasswordHasher.js.map +1 -1
- package/dist/src/authentication/PasswordResetToken.d.ts +43 -12
- package/dist/src/authentication/PasswordResetToken.d.ts.map +1 -1
- package/dist/src/authentication/PasswordResetToken.js +86 -21
- package/dist/src/authentication/PasswordResetToken.js.map +1 -1
- package/dist/src/authentication/authenticate.d.ts +15 -0
- package/dist/src/authentication/authenticate.d.ts.map +1 -1
- package/dist/src/authentication/authenticate.js +55 -20
- package/dist/src/authentication/authenticate.js.map +1 -1
- package/dist/src/routes/devLogin.d.ts +1 -1
- package/dist/src/routes/devLogin.js +1 -1
- package/dist/src/routes/executePasswordReset.d.ts +6 -1
- package/dist/src/routes/executePasswordReset.d.ts.map +1 -1
- package/dist/src/routes/executePasswordReset.js +16 -7
- package/dist/src/routes/executePasswordReset.js.map +1 -1
- package/dist/src/routes/initiatePasswordReset.d.ts +10 -2
- package/dist/src/routes/initiatePasswordReset.d.ts.map +1 -1
- package/dist/src/routes/initiatePasswordReset.js +55 -34
- package/dist/src/routes/initiatePasswordReset.js.map +1 -1
- package/dist/src/routes/login.d.ts +8 -0
- package/dist/src/routes/login.d.ts.map +1 -1
- package/dist/src/routes/login.js +63 -22
- package/dist/src/routes/login.js.map +1 -1
- package/dist/src/throttle/ClientAddress.d.ts +35 -0
- package/dist/src/throttle/ClientAddress.d.ts.map +1 -0
- package/dist/src/throttle/ClientAddress.js +48 -0
- package/dist/src/throttle/ClientAddress.js.map +1 -0
- package/dist/src/throttle/PasswordResetThrottle.d.ts +39 -0
- package/dist/src/throttle/PasswordResetThrottle.d.ts.map +1 -0
- package/dist/src/throttle/PasswordResetThrottle.js +59 -0
- package/dist/src/throttle/PasswordResetThrottle.js.map +1 -0
- package/dist/src/throttle/RequestDigests.d.ts +42 -0
- package/dist/src/throttle/RequestDigests.d.ts.map +1 -0
- package/dist/src/throttle/RequestDigests.js +96 -0
- package/dist/src/throttle/RequestDigests.js.map +1 -0
- package/dist/src/throttle/SignInThrottle.d.ts +67 -0
- package/dist/src/throttle/SignInThrottle.d.ts.map +1 -0
- package/dist/src/throttle/SignInThrottle.js +91 -0
- package/dist/src/throttle/SignInThrottle.js.map +1 -0
- package/dist/src/throttle/SlidingWindow.d.ts +51 -0
- package/dist/src/throttle/SlidingWindow.d.ts.map +1 -0
- package/dist/src/throttle/SlidingWindow.js +85 -0
- package/dist/src/throttle/SlidingWindow.js.map +1 -0
- package/dist/test/ClientAddress.test.d.ts +2 -0
- package/dist/test/ClientAddress.test.d.ts.map +1 -0
- package/dist/test/ClientAddress.test.js +51 -0
- package/dist/test/ClientAddress.test.js.map +1 -0
- package/dist/test/DbTraffic.d.ts +29 -0
- package/dist/test/DbTraffic.d.ts.map +1 -0
- package/dist/test/DbTraffic.js +106 -0
- package/dist/test/DbTraffic.js.map +1 -0
- package/dist/test/DevLoginBootstrapAdmin.test.js +3 -4
- package/dist/test/DevLoginBootstrapAdmin.test.js.map +1 -1
- package/dist/test/DevLoginStaleCookieFirstHit.test.js +1 -1
- package/dist/test/DevLoginStaleCookieFirstHit.test.js.map +1 -1
- package/dist/test/ExecutePasswordReset.test.js +513 -124
- package/dist/test/ExecutePasswordReset.test.js.map +1 -1
- package/dist/test/InitiatePasswordReset.test.d.ts +2 -0
- package/dist/test/InitiatePasswordReset.test.d.ts.map +1 -0
- package/dist/test/InitiatePasswordReset.test.js +783 -0
- package/dist/test/InitiatePasswordReset.test.js.map +1 -0
- package/dist/test/LogCapture.d.ts +22 -0
- package/dist/test/LogCapture.d.ts.map +1 -0
- package/dist/test/LogCapture.js +127 -0
- package/dist/test/LogCapture.js.map +1 -0
- package/dist/test/LoginThrottle.integration.test.d.ts +2 -0
- package/dist/test/LoginThrottle.integration.test.d.ts.map +1 -0
- package/dist/test/LoginThrottle.integration.test.js +616 -0
- package/dist/test/LoginThrottle.integration.test.js.map +1 -0
- package/dist/test/MalformedResetTokens.d.ts +11 -0
- package/dist/test/MalformedResetTokens.d.ts.map +1 -0
- package/dist/test/MalformedResetTokens.js +35 -0
- package/dist/test/MalformedResetTokens.js.map +1 -0
- package/dist/test/RequestDigests.test.d.ts +2 -0
- package/dist/test/RequestDigests.test.d.ts.map +1 -0
- package/dist/test/RequestDigests.test.js +73 -0
- package/dist/test/RequestDigests.test.js.map +1 -0
- package/dist/test/SlidingWindow.test.d.ts +2 -0
- package/dist/test/SlidingWindow.test.d.ts.map +1 -0
- package/dist/test/SlidingWindow.test.js +72 -0
- package/dist/test/SlidingWindow.test.js.map +1 -0
- package/dist/test/ValidateResetToken.test.js +156 -33
- package/dist/test/ValidateResetToken.test.js.map +1 -1
- package/dist/test/emulatorLock.test.d.ts +2 -0
- package/dist/test/emulatorLock.test.d.ts.map +1 -0
- package/dist/test/emulatorLock.test.js +32 -0
- package/dist/test/emulatorLock.test.js.map +1 -0
- package/dist/test/emulatorLockName.test.d.ts +2 -0
- package/dist/test/emulatorLockName.test.d.ts.map +1 -0
- package/dist/test/emulatorLockName.test.js +36 -0
- package/dist/test/emulatorLockName.test.js.map +1 -0
- package/generated/index.ts +1 -1
- package/index.ts +6 -1
- package/jest.config.js +2 -2
- package/package.json +3 -3
- package/src/authentication/PasswordHasher.ts +18 -1
- package/src/authentication/PasswordResetToken.ts +74 -20
- package/src/authentication/authenticate.ts +36 -9
- package/src/routes/devLogin.ts +1 -1
- package/src/routes/executePasswordReset.ts +10 -2
- package/src/routes/initiatePasswordReset.ts +46 -25
- package/src/routes/login.ts +39 -8
- package/src/throttle/ClientAddress.ts +47 -0
- package/src/throttle/PasswordResetThrottle.ts +62 -0
- package/src/throttle/RequestDigests.ts +97 -0
- package/src/throttle/SignInThrottle.ts +98 -0
- package/src/throttle/SlidingWindow.ts +90 -0
- package/test/ClientAddress.test.ts +54 -0
- package/test/DbTraffic.ts +43 -0
- package/test/DevLoginBootstrapAdmin.test.ts +3 -4
- package/test/DevLoginStaleCookieFirstHit.test.ts +1 -1
- package/test/ExecutePasswordReset.test.ts +308 -70
- package/test/InitiatePasswordReset.test.ts +456 -0
- package/test/LogCapture.ts +54 -0
- package/test/LoginThrottle.integration.test.ts +339 -0
- package/test/MalformedResetTokens.ts +27 -0
- package/test/RequestDigests.test.ts +81 -0
- package/test/SlidingWindow.test.ts +85 -0
- package/test/ValidateResetToken.test.ts +108 -24
- package/test/emulatorLock.js +5 -6
- package/test/emulatorLock.test.ts +32 -0
- package/test/emulatorLockName.test.ts +33 -0
- package/test/setup.js +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitiatePasswordReset.test.js","sourceRoot":"","sources":["../../test/InitiatePasswordReset.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything the process wrote while a run executed, as a log reader would see it: every
|
|
3
|
+
* `console` call at every level (where the default log writer sends each entry, whichever logger
|
|
4
|
+
* produced it) and every direct stdout/stderr write, one string per write. Nothing is filtered by
|
|
5
|
+
* logger name or level, so the capture holds exactly what the default configuration emits.
|
|
6
|
+
*/
|
|
7
|
+
export declare class LogCapture {
|
|
8
|
+
readonly lines: string[];
|
|
9
|
+
/** How many leading characters of a token count as the token showing up in a log. */
|
|
10
|
+
private static readonly TOKEN_PREFIX_LENGTH;
|
|
11
|
+
private constructor();
|
|
12
|
+
static during(run: () => Promise<void>): Promise<LogCapture>;
|
|
13
|
+
get text(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Fails unless the log is free of `token` in every form that would let a log reader act on it
|
|
16
|
+
* or tie a line to a row: the token, the SHA-256 digest a row stores for it, and the token's
|
|
17
|
+
* own leading characters — a log reference to a token is cut from its digest, never from the
|
|
18
|
+
* token. Letter case is ignored.
|
|
19
|
+
*/
|
|
20
|
+
expectFreeOf(token: string): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=LogCapture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogCapture.d.ts","sourceRoot":"","sources":["../../test/LogCapture.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAAa,UAAU;IAID,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE;IAH5C,qFAAqF;IACrF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAEjD,OAAO;WAEM,MAAM,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBlE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAOlC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __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
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
+
if (ar || !(i in from)) {
|
|
41
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
+
ar[i] = from[i];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.LogCapture = void 0;
|
|
49
|
+
var crypto_1 = require("crypto");
|
|
50
|
+
/**
|
|
51
|
+
* Everything the process wrote while a run executed, as a log reader would see it: every
|
|
52
|
+
* `console` call at every level (where the default log writer sends each entry, whichever logger
|
|
53
|
+
* produced it) and every direct stdout/stderr write, one string per write. Nothing is filtered by
|
|
54
|
+
* logger name or level, so the capture holds exactly what the default configuration emits.
|
|
55
|
+
*/
|
|
56
|
+
var LogCapture = /** @class */ (function () {
|
|
57
|
+
function LogCapture(lines) {
|
|
58
|
+
this.lines = lines;
|
|
59
|
+
}
|
|
60
|
+
LogCapture.during = function (run) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
62
|
+
var lines, consoleSpies, streamSpies;
|
|
63
|
+
return __generator(this, function (_a) {
|
|
64
|
+
switch (_a.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
lines = [];
|
|
67
|
+
consoleSpies = ['log', 'info', 'warn', 'error', 'debug'].map(function (level) {
|
|
68
|
+
return jest.spyOn(console, level).mockImplementation(function () {
|
|
69
|
+
var parts = [];
|
|
70
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
71
|
+
parts[_i] = arguments[_i];
|
|
72
|
+
}
|
|
73
|
+
lines.push(parts.map(function (part) { return (typeof part === 'string' ? part : JSON.stringify(part)); }).join(' '));
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
streamSpies = [process.stdout, process.stderr].map(function (stream) {
|
|
77
|
+
var write = stream.write.bind(stream);
|
|
78
|
+
return jest.spyOn(stream, 'write').mockImplementation((function () {
|
|
79
|
+
var args = [];
|
|
80
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
81
|
+
args[_i] = arguments[_i];
|
|
82
|
+
}
|
|
83
|
+
lines.push(String(args[0]));
|
|
84
|
+
return write.apply(void 0, args);
|
|
85
|
+
}));
|
|
86
|
+
});
|
|
87
|
+
_a.label = 1;
|
|
88
|
+
case 1:
|
|
89
|
+
_a.trys.push([1, , 3, 4]);
|
|
90
|
+
return [4 /*yield*/, run()];
|
|
91
|
+
case 2:
|
|
92
|
+
_a.sent();
|
|
93
|
+
return [3 /*break*/, 4];
|
|
94
|
+
case 3:
|
|
95
|
+
__spreadArray(__spreadArray([], consoleSpies, true), streamSpies, true).forEach(function (spy) { return spy.mockRestore(); });
|
|
96
|
+
return [7 /*endfinally*/];
|
|
97
|
+
case 4: return [2 /*return*/, new LogCapture(lines)];
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
Object.defineProperty(LogCapture.prototype, "text", {
|
|
103
|
+
get: function () {
|
|
104
|
+
return this.lines.join('\n');
|
|
105
|
+
},
|
|
106
|
+
enumerable: false,
|
|
107
|
+
configurable: true
|
|
108
|
+
});
|
|
109
|
+
/**
|
|
110
|
+
* Fails unless the log is free of `token` in every form that would let a log reader act on it
|
|
111
|
+
* or tie a line to a row: the token, the SHA-256 digest a row stores for it, and the token's
|
|
112
|
+
* own leading characters — a log reference to a token is cut from its digest, never from the
|
|
113
|
+
* token. Letter case is ignored.
|
|
114
|
+
*/
|
|
115
|
+
LogCapture.prototype.expectFreeOf = function (token) {
|
|
116
|
+
var text = this.text.toLowerCase();
|
|
117
|
+
var digest = (0, crypto_1.createHash)('sha256').update(token).digest('hex');
|
|
118
|
+
expect(text).not.toContain(token.toLowerCase());
|
|
119
|
+
expect(text).not.toContain(digest);
|
|
120
|
+
expect(text).not.toContain(token.slice(0, LogCapture.TOKEN_PREFIX_LENGTH).toLowerCase());
|
|
121
|
+
};
|
|
122
|
+
/** How many leading characters of a token count as the token showing up in a log. */
|
|
123
|
+
LogCapture.TOKEN_PREFIX_LENGTH = 12;
|
|
124
|
+
return LogCapture;
|
|
125
|
+
}());
|
|
126
|
+
exports.LogCapture = LogCapture;
|
|
127
|
+
//# sourceMappingURL=LogCapture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogCapture.js","sourceRoot":"","sources":["../../test/LogCapture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAoC;AAEpC;;;;;GAKG;AACH;IAIE,oBAA6B,KAAe;QAAf,UAAK,GAAL,KAAK,CAAU;IAAG,CAAC;IAEnC,iBAAM,GAAnB,UAAoB,GAAwB;;;;;;wBACpC,KAAK,GAAa,EAAE,CAAC;wBACrB,YAAY,GAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAW,CAAC,GAAG,CAAC,UAAC,KAAK;4BAClF,OAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC;gCAAC,eAAmB;qCAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;oCAAnB,0BAAmB;;gCAChE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAxD,CAAwD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;4BACtG,CAAC,CAAC;wBAFF,CAEE,CACH,CAAC;wBACI,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,MAAM;4BAC9D,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAoC,CAAC;4BAC3E,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC;gCAAC,cAAkB;qCAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;oCAAlB,yBAAkB;;gCACxE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC5B,OAAO,KAAK,eAAI,IAAI,EAAE;4BACxB,CAAC,CAAU,CAAC,CAAC;wBACf,CAAC,CAAC,CAAC;;;;wBAED,qBAAM,GAAG,EAAE,EAAA;;wBAAX,SAAW,CAAC;;;wBAEZ,gCAAI,YAAY,SAAK,WAAW,QAAE,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,WAAW,EAAE,EAAjB,CAAiB,CAAC,CAAC;;4BAExE,sBAAO,IAAI,UAAU,CAAC,KAAK,CAAC,EAAC;;;;KAC9B;IAED,sBAAI,4BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;;;OAAA;IAED;;;;;OAKG;IACH,iCAAY,GAAZ,UAAa,KAAa;QACxB,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3F,CAAC;IA3CD,qFAAqF;IAC7D,8BAAmB,GAAG,EAAE,CAAC;IA2CnD,iBAAC;CAAA,AA7CD,IA6CC;AA7CY,gCAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginThrottle.integration.test.d.ts","sourceRoot":"","sources":["../../test/LoginThrottle.integration.test.ts"],"names":[],"mappings":""}
|