@skilbjo/logger 0.0.1 → 1.0.20

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@skilbjo/logger",
4
- "version": "0.0.1",
4
+ "version": "1.0.20",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
7
7
  "scripts": {
package/README.md DELETED
@@ -1,4 +0,0 @@
1
- # logger
2
-
3
- [![release](https://github.com/skilbjo/logger/actions/workflows/release.yml/badge.svg)](https://github.com/skilbjo/logger/actions/workflows/release.yml)
4
- [![codecov](https://codecov.io/gh/skilbjo/logger/graph/badge.svg?token=tsCLaKllQ4)](https://codecov.io/gh/skilbjo/logger)
package/dist/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import * as pino from "./pino";
2
- export * from "./pino";
3
- export declare const debugLog: pino.Logger;
4
- export declare const infoLog: pino.Logger;
5
- export declare const warnLog: pino.Logger;
6
- declare const log: pino.Logger;
7
- export default log;
package/dist/package.json DELETED
@@ -1,53 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/package",
3
- "name": "@skilbjo/logger",
4
- "version": "1.0.17",
5
- "repository": "github:skilbjo/logger.git",
6
- "main": "index.js",
7
- "typings": "index.d.ts",
8
- "scripts": {
9
- "prepare": "if [ -z \"$GITHUB_ACTIONS\" ]; then npx husky install; fi",
10
- "eslint": "eslint .",
11
- "depcheck": "depcheck",
12
- "lint": "npm run eslint",
13
- "test": "jest --runInBand",
14
- "build": "tspc -p tsconfig.build.json",
15
- "postbuild": "jq 'del(.files)' package.json >dist/package.json"
16
- },
17
- "publishConfig": {
18
- "registry": "https://npm.pkg.github.com/skilbjo"
19
- },
20
- "license": "ISC",
21
- "author": "skilbjo",
22
- "keywords": [
23
- "api",
24
- "sdk",
25
- "openapi"
26
- ],
27
- "dependencies": {
28
- "pino": "9.4.0",
29
- "winston": "3.14.2"
30
- },
31
- "devDependencies": {
32
- "@commitlint/cli": "17.0.0",
33
- "@commitlint/config-angular": "17.0.0",
34
- "@skilbjo/config-rc": "1.0.9",
35
- "@skilbjo/eslint-config-rc": "npm:@skilbjo/config-rc@1.0.9",
36
- "@types/http-errors": "2.0.4",
37
- "depcheck": "1.4.7",
38
- "eslint": "8.57.0",
39
- "http-errors": "2.0.0",
40
- "husky": "8.0.1",
41
- "jest": "29.7.0",
42
- "ts-jest": "29.2.5",
43
- "ts-node": "10.9.2",
44
- "ts-patch": "3.2.1",
45
- "typescript": "5.5.4",
46
- "typescript-transform-paths": "3.5.1"
47
- },
48
- "commitlint": {
49
- "extends": [
50
- "@commitlint/config-angular"
51
- ]
52
- }
53
- }
package/dist/pino.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import type { LoggerOptions, SerializedError } from 'pino';
2
- export type LogLevels = 'debug' | 'error' | 'fatal' | 'info' | 'trace' | 'warn';
3
- type LogFn = (object: Record<string, unknown>, message: string) => void;
4
- type ErrorLogFn = (object: {
5
- err: Error;
6
- } & Partial<Record<string, unknown>>, message: string) => void;
7
- export type Logger = {
8
- debug: LogFn;
9
- error: ErrorLogFn;
10
- info: LogFn;
11
- util: {
12
- serialize: (error: Error) => SerializedError;
13
- };
14
- warn: LogFn;
15
- };
16
- export declare const mixin: () => Record<string, unknown>;
17
- export declare const create: (options?: LoggerOptions, stream?: NodeJS.WriteStream) => Logger;
18
- export {};
package/dist/pino.js DELETED
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.create = exports.mixin = void 0;
7
- const pino_1 = __importDefault(require("pino"));
8
- const mixin = () => ({
9
- lambdaName: process.env.AWS_LAMBDA_FUNCTION_NAME,
10
- logGroup: process.env.AWS_LAMBDA_LOG_GROUP_NAME,
11
- logStream: process.env.AWS_LAMBDA_LOG_STREAM_NAME,
12
- requestId: process.env._X_AMZN_REQUEST_ID,
13
- xRayTraceId: process.env._X_AMZN_TRACE_ID,
14
- });
15
- exports.mixin = mixin;
16
- const create = (options, stream) => {
17
- const pinoLogger = (0, pino_1.default)({
18
- formatters: {
19
- bindings: () => ({}),
20
- level: (level) => ({ level }),
21
- },
22
- mixin: () => ({
23
- lambdaName: process.env.AWS_LAMBDA_FUNCTION_NAME,
24
- logGroup: process.env.AWS_LAMBDA_LOG_GROUP_NAME,
25
- logStream: process.env.AWS_LAMBDA_LOG_STREAM_NAME,
26
- requestId: process.env._X_AMZN_REQUEST_ID,
27
- xRayTraceId: process.env._X_AMZN_TRACE_ID,
28
- }),
29
- timestamp: pino_1.default.stdTimeFunctions.isoTime,
30
- ...options,
31
- }, stream || process.stdout);
32
- return {
33
- debug: pinoLogger.debug.bind(pinoLogger),
34
- error: (object, message) => pinoLogger.error(pino_1.default.stdSerializers.err(object.err), message),
35
- info: pinoLogger.info.bind(pinoLogger),
36
- util: {
37
- serialize: (error) => pino_1.default.stdSerializers.err(error),
38
- },
39
- warn: pinoLogger.warn.bind(pinoLogger),
40
- };
41
- };
42
- exports.create = create;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9waW5vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQXFCakIsTUFBTSxLQUFLLEdBQUcsR0FBNEIsRUFBRSxDQUFDLENBQUM7SUFDbkQsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCO0lBQ2hELFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QjtJQUMvQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEI7SUFDakQsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCO0lBQ3pDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQjtDQUMxQyxDQUFDLENBQUM7QUFOVSxRQUFBLEtBQUssU0FNZjtBQUVJLE1BQU0sTUFBTSxHQUFHLENBQ3BCLE9BQXVCLEVBQ3ZCLE1BQTJCLEVBQ25CLEVBQUU7SUFDVixNQUFNLFVBQVUsR0FBRyxJQUFBLGNBQUksRUFDckI7UUFDRSxVQUFVLEVBQUU7WUFDVixRQUFRLEVBQUUsR0FBNEIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRTdDLEtBQUssRUFBRSxDQUFDLEtBQWEsRUFBMkIsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUMvRDtRQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ1osVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCO1lBQ2hELFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QjtZQUMvQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEI7WUFDakQsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCO1lBQ3pDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQjtTQUMxQyxDQUFDO1FBQ0YsU0FBUyxFQUFFLGNBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPO1FBQ3hDLEdBQUcsT0FBTztLQUNYLEVBQ0QsTUFBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQ3pCLENBQUM7SUFFRixPQUFPO1FBQ0wsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN4QyxLQUFLLEVBQUUsQ0FBQyxNQUFzQixFQUFFLE9BQWUsRUFBUSxFQUFFLENBQ3ZELFVBQVUsQ0FBQyxLQUFLLENBQUMsY0FBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUNoRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3RDLElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxDQUFDLEtBQVksRUFBbUIsRUFBRSxDQUMzQyxjQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7U0FDakM7UUFDRCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0tBQ3ZDLENBQUM7QUFDSixDQUFDLENBQUM7QUFuQ1csUUFBQSxNQUFNLFVBbUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwaW5vIGZyb20gJ3Bpbm8nO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXJPcHRpb25zLCBTZXJpYWxpemVkRXJyb3IgfSBmcm9tICdwaW5vJztcblxuZXhwb3J0IHR5cGUgTG9nTGV2ZWxzID0gJ2RlYnVnJyB8ICdlcnJvcicgfCAnZmF0YWwnIHwgJ2luZm8nIHwgJ3RyYWNlJyB8ICd3YXJuJztcblxudHlwZSBMb2dGbiA9IChvYmplY3Q6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG50eXBlIEVycm9yTG9nRm4gPSAoXG4gIG9iamVjdDogeyBlcnI6IEVycm9yIH0gJiBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIHVua25vd24+PixcbiAgbWVzc2FnZTogc3RyaW5nXG4pID0+IHZvaWQ7XG5cbmV4cG9ydCB0eXBlIExvZ2dlciA9IHtcbiAgZGVidWc6IExvZ0ZuO1xuICBlcnJvcjogRXJyb3JMb2dGbjtcbiAgaW5mbzogTG9nRm47XG4gIHV0aWw6IHtcbiAgICBzZXJpYWxpemU6IChlcnJvcjogRXJyb3IpID0+IFNlcmlhbGl6ZWRFcnJvcjtcbiAgfTtcbiAgd2FybjogTG9nRm47XG59O1xuXG5leHBvcnQgY29uc3QgbWl4aW4gPSAoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4gKHtcbiAgbGFtYmRhTmFtZTogcHJvY2Vzcy5lbnYuQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FLFxuICBsb2dHcm91cDogcHJvY2Vzcy5lbnYuQVdTX0xBTUJEQV9MT0dfR1JPVVBfTkFNRSxcbiAgbG9nU3RyZWFtOiBwcm9jZXNzLmVudi5BV1NfTEFNQkRBX0xPR19TVFJFQU1fTkFNRSxcbiAgcmVxdWVzdElkOiBwcm9jZXNzLmVudi5fWF9BTVpOX1JFUVVFU1RfSUQsXG4gIHhSYXlUcmFjZUlkOiBwcm9jZXNzLmVudi5fWF9BTVpOX1RSQUNFX0lELFxufSk7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGUgPSAoXG4gIG9wdGlvbnM/OiBMb2dnZXJPcHRpb25zLFxuICBzdHJlYW0/OiBOb2RlSlMuV3JpdGVTdHJlYW1cbik6IExvZ2dlciA9PiB7XG4gIGNvbnN0IHBpbm9Mb2dnZXIgPSBwaW5vKFxuICAgIHtcbiAgICAgIGZvcm1hdHRlcnM6IHtcbiAgICAgICAgYmluZGluZ3M6ICgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiAoe30pLFxuXG4gICAgICAgIGxldmVsOiAobGV2ZWw6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+ICh7IGxldmVsIH0pLFxuICAgICAgfSxcbiAgICAgIG1peGluOiAoKSA9PiAoe1xuICAgICAgICBsYW1iZGFOYW1lOiBwcm9jZXNzLmVudi5BV1NfTEFNQkRBX0ZVTkNUSU9OX05BTUUsXG4gICAgICAgIGxvZ0dyb3VwOiBwcm9jZXNzLmVudi5BV1NfTEFNQkRBX0xPR19HUk9VUF9OQU1FLFxuICAgICAgICBsb2dTdHJlYW06IHByb2Nlc3MuZW52LkFXU19MQU1CREFfTE9HX1NUUkVBTV9OQU1FLFxuICAgICAgICByZXF1ZXN0SWQ6IHByb2Nlc3MuZW52Ll9YX0FNWk5fUkVRVUVTVF9JRCxcbiAgICAgICAgeFJheVRyYWNlSWQ6IHByb2Nlc3MuZW52Ll9YX0FNWk5fVFJBQ0VfSUQsXG4gICAgICB9KSxcbiAgICAgIHRpbWVzdGFtcDogcGluby5zdGRUaW1lRnVuY3Rpb25zLmlzb1RpbWUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0sXG4gICAgc3RyZWFtIHx8IHByb2Nlc3Muc3Rkb3V0XG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBkZWJ1ZzogcGlub0xvZ2dlci5kZWJ1Zy5iaW5kKHBpbm9Mb2dnZXIpLFxuICAgIGVycm9yOiAob2JqZWN0OiB7IGVycjogRXJyb3IgfSwgbWVzc2FnZTogc3RyaW5nKTogdm9pZCA9PlxuICAgICAgcGlub0xvZ2dlci5lcnJvcihwaW5vLnN0ZFNlcmlhbGl6ZXJzLmVycihvYmplY3QuZXJyKSwgbWVzc2FnZSksXG4gICAgaW5mbzogcGlub0xvZ2dlci5pbmZvLmJpbmQocGlub0xvZ2dlciksXG4gICAgdXRpbDoge1xuICAgICAgc2VyaWFsaXplOiAoZXJyb3I6IEVycm9yKTogU2VyaWFsaXplZEVycm9yID0+XG4gICAgICAgIHBpbm8uc3RkU2VyaWFsaXplcnMuZXJyKGVycm9yKSxcbiAgICB9LFxuICAgIHdhcm46IHBpbm9Mb2dnZXIud2Fybi5iaW5kKHBpbm9Mb2dnZXIpLFxuICB9O1xufTtcbiJdfQ==
package/dist/winston.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import type { LeveledLogMethod } from 'winston';
2
- export { Logger } from 'winston';
3
- export type LogLevels = 'debug' | 'error' | 'fatal' | 'info' | 'trace' | 'warn';
4
- export declare const create: ({ level }?: {
5
- level: LogLevels;
6
- }, stream?: NodeJS.WriteStream) => {
7
- debug: LeveledLogMethod;
8
- error: LeveledLogMethod;
9
- info: LeveledLogMethod;
10
- warn: LeveledLogMethod;
11
- };
package/dist/winston.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.create = exports.Logger = void 0;
7
- const winston_1 = __importDefault(require("winston"));
8
- var winston_2 = require("winston");
9
- Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return winston_2.Logger; } });
10
- const create = ({ level } = { level: 'debug' }, stream // eslint-disable-line @typescript-eslint/no-unused-vars
11
- // ) => {
12
- ) => {
13
- const winstonLogger = winston_1.default.createLogger({
14
- format: winston_1.default.format.combine(winston_1.default.format.metadata(), winston_1.default.format.timestamp(), winston_1.default.format.json(), winston_1.default.format.colorize(), winston_1.default.format.prettyPrint(), winston_1.default.format.splat(), winston_1.default.format.simple()),
15
- level,
16
- // transports: stream || [new winston.transports.Console({})],
17
- transports: [new winston_1.default.transports.Console({})],
18
- });
19
- return {
20
- debug: winstonLogger.debug.bind(winstonLogger),
21
- error: winstonLogger.error.bind(winstonLogger),
22
- info: winstonLogger.info.bind(winstonLogger),
23
- warn: winstonLogger.warn.bind(winstonLogger),
24
- };
25
- };
26
- exports.create = create;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luc3Rvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93aW5zdG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHNEQUE4QjtBQUU5QixtQ0FBaUM7QUFBeEIsaUdBQUEsTUFBTSxPQUFBO0FBSVIsTUFBTSxNQUFNLEdBQUcsQ0FDcEIsRUFBRSxLQUFLLEtBQTJCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUNwRCxNQUEyQixDQUFDLHdEQUF3RDtBQUNwRixTQUFTO0VBTVQsRUFBRTtJQUNGLE1BQU0sYUFBYSxHQUFHLGlCQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxpQkFBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzVCLGlCQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUN6QixpQkFBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFDMUIsaUJBQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBRXJCLGlCQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUN6QixpQkFBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFDNUIsaUJBQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQ3RCLGlCQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUN4QjtRQUNELEtBQUs7UUFDTCw4REFBOEQ7UUFDOUQsVUFBVSxFQUFFLENBQUMsSUFBSSxpQkFBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDakQsQ0FBQyxDQUFDO0lBRUgsT0FBTztRQUNMLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDOUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7S0FDN0MsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWhDVyxRQUFBLE1BQU0sVUFnQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMZXZlbGVkTG9nTWV0aG9kIH0gZnJvbSAnd2luc3Rvbic7XG5pbXBvcnQgd2luc3RvbiBmcm9tICd3aW5zdG9uJztcblxuZXhwb3J0IHsgTG9nZ2VyIH0gZnJvbSAnd2luc3Rvbic7XG5cbmV4cG9ydCB0eXBlIExvZ0xldmVscyA9ICdkZWJ1ZycgfCAnZXJyb3InIHwgJ2ZhdGFsJyB8ICdpbmZvJyB8ICd0cmFjZScgfCAnd2Fybic7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGUgPSAoXG4gIHsgbGV2ZWwgfTogeyBsZXZlbDogTG9nTGV2ZWxzIH0gPSB7IGxldmVsOiAnZGVidWcnIH0sXG4gIHN0cmVhbT86IE5vZGVKUy5Xcml0ZVN0cmVhbSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAvLyApID0+IHtcbik6IHtcbiAgZGVidWc6IExldmVsZWRMb2dNZXRob2Q7XG4gIGVycm9yOiBMZXZlbGVkTG9nTWV0aG9kO1xuICBpbmZvOiBMZXZlbGVkTG9nTWV0aG9kO1xuICB3YXJuOiBMZXZlbGVkTG9nTWV0aG9kO1xufSA9PiB7XG4gIGNvbnN0IHdpbnN0b25Mb2dnZXIgPSB3aW5zdG9uLmNyZWF0ZUxvZ2dlcih7XG4gICAgZm9ybWF0OiB3aW5zdG9uLmZvcm1hdC5jb21iaW5lKFxuICAgICAgd2luc3Rvbi5mb3JtYXQubWV0YWRhdGEoKSxcbiAgICAgIHdpbnN0b24uZm9ybWF0LnRpbWVzdGFtcCgpLFxuICAgICAgd2luc3Rvbi5mb3JtYXQuanNvbigpLFxuXG4gICAgICB3aW5zdG9uLmZvcm1hdC5jb2xvcml6ZSgpLFxuICAgICAgd2luc3Rvbi5mb3JtYXQucHJldHR5UHJpbnQoKSxcbiAgICAgIHdpbnN0b24uZm9ybWF0LnNwbGF0KCksXG4gICAgICB3aW5zdG9uLmZvcm1hdC5zaW1wbGUoKVxuICAgICksXG4gICAgbGV2ZWwsXG4gICAgLy8gdHJhbnNwb3J0czogc3RyZWFtIHx8IFtuZXcgd2luc3Rvbi50cmFuc3BvcnRzLkNvbnNvbGUoe30pXSxcbiAgICB0cmFuc3BvcnRzOiBbbmV3IHdpbnN0b24udHJhbnNwb3J0cy5Db25zb2xlKHt9KV0sXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgZGVidWc6IHdpbnN0b25Mb2dnZXIuZGVidWcuYmluZCh3aW5zdG9uTG9nZ2VyKSxcbiAgICBlcnJvcjogd2luc3RvbkxvZ2dlci5lcnJvci5iaW5kKHdpbnN0b25Mb2dnZXIpLFxuICAgIGluZm86IHdpbnN0b25Mb2dnZXIuaW5mby5iaW5kKHdpbnN0b25Mb2dnZXIpLFxuICAgIHdhcm46IHdpbnN0b25Mb2dnZXIud2Fybi5iaW5kKHdpbnN0b25Mb2dnZXIpLFxuICB9O1xufTtcbiJdfQ==
File without changes