serverless-simple-middleware 0.0.57 → 0.0.59
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/.nvmrc +1 -0
- package/dist/aws/config.d.ts +3 -3
- package/dist/aws/config.js +13 -18
- package/dist/aws/define.js +2 -4
- package/dist/aws/index.d.ts +3 -3
- package/dist/aws/index.js +3 -8
- package/dist/aws/simple.d.ts +12 -11
- package/dist/aws/simple.js +403 -646
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -8
- package/dist/middleware/aws.d.ts +4 -4
- package/dist/middleware/aws.js +38 -125
- package/dist/middleware/base.d.ts +9 -9
- package/dist/middleware/base.js +60 -94
- package/dist/middleware/build.d.ts +2 -2
- package/dist/middleware/build.js +91 -218
- package/dist/middleware/index.d.ts +10 -10
- package/dist/middleware/index.js +16 -21
- package/dist/middleware/logger.d.ts +2 -2
- package/dist/middleware/logger.js +13 -70
- package/dist/middleware/mysql.d.ts +12 -7
- package/dist/middleware/mysql.js +173 -268
- package/dist/middleware/trace.d.ts +2 -2
- package/dist/middleware/trace.js +99 -198
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.js +2 -7
- package/dist/utils/logger.d.ts +2 -2
- package/dist/utils/logger.js +25 -31
- package/dist/utils/misc.d.ts +1 -1
- package/dist/utils/misc.js +3 -5
- package/package.json +6 -3
- package/src/aws/config.ts +1 -1
- package/src/aws/index.ts +3 -3
- package/src/aws/simple.ts +21 -3
- package/src/index.ts +3 -3
- package/src/middleware/aws.ts +3 -3
- package/src/middleware/base.ts +4 -4
- package/src/middleware/build.ts +3 -3
- package/src/middleware/index.ts +10 -10
- package/src/middleware/logger.ts +2 -2
- package/src/middleware/mysql.ts +74 -7
- package/src/middleware/trace.ts +4 -4
- package/src/utils/index.ts +2 -2
- package/src/utils/logger.ts +1 -1
- package/tsconfig.json +5 -4
package/dist/middleware/build.js
CHANGED
|
@@ -1,234 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
18
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
-
function step(op) {
|
|
26
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
-
while (_) try {
|
|
28
|
-
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;
|
|
29
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
-
switch (op[0]) {
|
|
31
|
-
case 0: case 1: t = op; break;
|
|
32
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
-
default:
|
|
36
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
-
if (t[2]) _.ops.pop();
|
|
41
|
-
_.trys.pop(); continue;
|
|
42
|
-
}
|
|
43
|
-
op = body.call(thisArg, _);
|
|
44
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
var logger_1 = require("../utils/logger");
|
|
50
|
-
var utils_1 = require("../utils");
|
|
51
|
-
var base_1 = require("./base");
|
|
52
|
-
var logger = logger_1.getLogger(__filename);
|
|
53
|
-
var HandlerMiddleware = /** @class */ (function () {
|
|
54
|
-
function HandlerMiddleware(plugins) {
|
|
55
|
-
var _this = this;
|
|
56
|
-
this.createAuxPromise = function () {
|
|
57
|
-
return !_this.plugins || _this.plugins.length === 0
|
|
1
|
+
import { getLogger } from '../utils/index.js';
|
|
2
|
+
import { stringifyError } from '../utils/index.js';
|
|
3
|
+
import { HandlerRequest, HandlerResponse, } from './base.js';
|
|
4
|
+
const logger = getLogger(__filename);
|
|
5
|
+
class HandlerMiddleware {
|
|
6
|
+
constructor(plugins) {
|
|
7
|
+
this.createAuxPromise = () => {
|
|
8
|
+
return !this.plugins || this.plugins.length === 0
|
|
58
9
|
? Promise.resolve({}) // tslint:disable-line
|
|
59
|
-
: Promise.all(
|
|
60
|
-
|
|
10
|
+
: Promise.all(this.plugins.map(plugin => {
|
|
11
|
+
const maybePromise = plugin.create();
|
|
61
12
|
return maybePromise instanceof Promise
|
|
62
13
|
? maybePromise
|
|
63
14
|
: Promise.resolve(maybePromise);
|
|
64
|
-
})).then(
|
|
15
|
+
})).then(auxes => auxes.reduce((all, each) => ({ ...all, ...each }), {}));
|
|
65
16
|
};
|
|
66
17
|
this.plugins = plugins;
|
|
67
18
|
this.auxPromise = this.createAuxPromise();
|
|
68
19
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
});
|
|
99
|
-
errorHandlers = middleware.plugins.map(function (plugin) {
|
|
100
|
-
return _this.generateDelegator(plugin.error);
|
|
101
|
-
});
|
|
102
|
-
iterate = function (handlers, okResponsible) {
|
|
103
|
-
if (okResponsible === void 0) { okResponsible = false; }
|
|
104
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
105
|
-
var _this = this;
|
|
106
|
-
return __generator(this, function (_a) {
|
|
107
|
-
return [2 /*return*/, Promise.all(handlers.map(function (each) { return _this.safeCall(each, okResponsible, errorHandlers); }))];
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
};
|
|
111
|
-
return [4 /*yield*/, iterate(beginHandlers)];
|
|
112
|
-
case 4:
|
|
113
|
-
_c = (_b = (_e.sent())).concat;
|
|
114
|
-
return [4 /*yield*/, iterate(actualHandler, true)];
|
|
115
|
-
case 5:
|
|
116
|
-
_d = [(_e.sent())];
|
|
117
|
-
return [4 /*yield*/, iterate(endHandlers)];
|
|
118
|
-
case 6:
|
|
119
|
-
results = _c.apply(_b, _d.concat([(_e.sent())])).filter(function (x) { return x; });
|
|
120
|
-
// In test phase, throws any exception if there was.
|
|
121
|
-
if (process.env.NODE_ENV === 'test') {
|
|
122
|
-
for (_i = 0, results_1 = results; _i < results_1.length; _i++) {
|
|
123
|
-
each = results_1[_i];
|
|
124
|
-
if (each instanceof Error) {
|
|
125
|
-
logger.error("Error occurred: " + utils_1.stringifyError(each));
|
|
126
|
-
throw each;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
results.forEach(function (result) {
|
|
131
|
-
return logger.silly("middleware result : " + JSON.stringify(result));
|
|
132
|
-
});
|
|
133
|
-
return [2 /*return*/];
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
}); };
|
|
137
|
-
this.safeCall = function (delegator, okResponsible, errorHandlers) { return __awaiter(_this, void 0, void 0, function () {
|
|
138
|
-
var result, error_2, handled;
|
|
139
|
-
return __generator(this, function (_a) {
|
|
140
|
-
switch (_a.label) {
|
|
141
|
-
case 0:
|
|
142
|
-
_a.trys.push([0, 2, , 4]);
|
|
143
|
-
return [4 /*yield*/, delegator(okResponsible)];
|
|
144
|
-
case 1:
|
|
145
|
-
result = _a.sent();
|
|
146
|
-
return [2 /*return*/, result];
|
|
147
|
-
case 2:
|
|
148
|
-
error_2 = _a.sent();
|
|
149
|
-
return [4 /*yield*/, this.handleError(error_2, errorHandlers)];
|
|
150
|
-
case 3:
|
|
151
|
-
handled = _a.sent();
|
|
152
|
-
return [2 /*return*/, handled];
|
|
153
|
-
case 4: return [2 /*return*/];
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
}); };
|
|
157
|
-
this.generateDelegator = function (handler) { return function (okResponsible) { return __awaiter(_this, void 0, void 0, function () {
|
|
158
|
-
var maybePromise, result, _a;
|
|
159
|
-
return __generator(this, function (_b) {
|
|
160
|
-
switch (_b.label) {
|
|
161
|
-
case 0:
|
|
162
|
-
maybePromise = handler({
|
|
163
|
-
request: this.request,
|
|
164
|
-
response: this.response,
|
|
165
|
-
aux: this.aux,
|
|
166
|
-
});
|
|
167
|
-
if (!(maybePromise instanceof Promise)) return [3 /*break*/, 2];
|
|
168
|
-
return [4 /*yield*/, maybePromise];
|
|
169
|
-
case 1:
|
|
170
|
-
_a = _b.sent();
|
|
171
|
-
return [3 /*break*/, 3];
|
|
172
|
-
case 2:
|
|
173
|
-
_a = maybePromise;
|
|
174
|
-
_b.label = 3;
|
|
175
|
-
case 3:
|
|
176
|
-
result = _a;
|
|
177
|
-
logger.stupid("result", result);
|
|
178
|
-
if (!this.response.completed && okResponsible) {
|
|
179
|
-
this.response.ok(result);
|
|
180
|
-
}
|
|
181
|
-
return [2 /*return*/, result];
|
|
20
|
+
}
|
|
21
|
+
class HandlerProxy {
|
|
22
|
+
constructor(event, context, callback) {
|
|
23
|
+
this.call = async (middleware, handler) => {
|
|
24
|
+
try {
|
|
25
|
+
this.aux = await middleware.auxPromise;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
logger.error(`Error while initializing plugins' aux: ${stringifyError(error)}`);
|
|
29
|
+
this.response.fail(error instanceof Error ? { error: error.message } : error);
|
|
30
|
+
return [error];
|
|
31
|
+
}
|
|
32
|
+
const actualHandler = [this.generateDelegator(handler)];
|
|
33
|
+
const beginHandlers = middleware.plugins.map(plugin => this.generateDelegator(plugin.begin));
|
|
34
|
+
const endHandlers = middleware.plugins.map(plugin => this.generateDelegator(plugin.end));
|
|
35
|
+
const errorHandlers = middleware.plugins.map(plugin => this.generateDelegator(plugin.error));
|
|
36
|
+
const iterate = async (handlers, okResponsible = false) => Promise.all(handlers.map(each => this.safeCall(each, okResponsible, errorHandlers)));
|
|
37
|
+
const results = [
|
|
38
|
+
...(await iterate(beginHandlers)),
|
|
39
|
+
...(await iterate(actualHandler, true)),
|
|
40
|
+
...(await iterate(endHandlers)),
|
|
41
|
+
].filter(x => x);
|
|
42
|
+
// In test phase, throws any exception if there was.
|
|
43
|
+
if (process.env.NODE_ENV === 'test') {
|
|
44
|
+
for (const each of results) {
|
|
45
|
+
if (each instanceof Error) {
|
|
46
|
+
logger.error(`Error occurred: ${stringifyError(each)}`);
|
|
47
|
+
throw each;
|
|
48
|
+
}
|
|
182
49
|
}
|
|
50
|
+
}
|
|
51
|
+
results.forEach(result => logger.silly(`middleware result : ${JSON.stringify(result)}`));
|
|
52
|
+
};
|
|
53
|
+
this.safeCall = async (delegator, okResponsible, errorHandlers) => {
|
|
54
|
+
try {
|
|
55
|
+
const result = await delegator(okResponsible);
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
const handled = await this.handleError(error, errorHandlers);
|
|
60
|
+
return handled;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
this.generateDelegator = (handler) => async (okResponsible) => {
|
|
64
|
+
const maybePromise = handler({
|
|
65
|
+
request: this.request,
|
|
66
|
+
response: this.response,
|
|
67
|
+
aux: this.aux,
|
|
183
68
|
});
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
handler
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
case 3:
|
|
203
|
-
_a.sent();
|
|
204
|
-
return [3 /*break*/, 5];
|
|
205
|
-
case 4:
|
|
206
|
-
ignorable_1 = _a.sent();
|
|
207
|
-
logger.error(ignorable_1);
|
|
208
|
-
return [3 /*break*/, 5];
|
|
209
|
-
case 5:
|
|
210
|
-
_i++;
|
|
211
|
-
return [3 /*break*/, 1];
|
|
212
|
-
case 6:
|
|
213
|
-
if (!this.response.completed) {
|
|
214
|
-
this.response.fail(error instanceof Error ? { error: error.message } : error);
|
|
215
|
-
}
|
|
216
|
-
return [2 /*return*/, error];
|
|
69
|
+
const result = maybePromise instanceof Promise ? await maybePromise : maybePromise;
|
|
70
|
+
logger.stupid(`result`, result);
|
|
71
|
+
if (!this.response.completed && okResponsible) {
|
|
72
|
+
this.response.ok(result);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
};
|
|
76
|
+
this.handleError = async (error, errorHandlers) => {
|
|
77
|
+
logger.error(error);
|
|
78
|
+
this.request.lastError = error;
|
|
79
|
+
if (errorHandlers) {
|
|
80
|
+
for (const handler of errorHandlers) {
|
|
81
|
+
try {
|
|
82
|
+
await handler(false);
|
|
83
|
+
}
|
|
84
|
+
catch (ignorable) {
|
|
85
|
+
logger.error(ignorable);
|
|
86
|
+
}
|
|
217
87
|
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
88
|
+
}
|
|
89
|
+
if (!this.response.completed) {
|
|
90
|
+
this.response.fail(error instanceof Error ? { error: error.message } : error);
|
|
91
|
+
}
|
|
92
|
+
return error;
|
|
93
|
+
};
|
|
94
|
+
logger.stupid(`event`, event);
|
|
95
|
+
this.request = new HandlerRequest(event, context);
|
|
96
|
+
this.response = new HandlerResponse(callback);
|
|
223
97
|
this.aux = {}; // tslint:disable-line
|
|
224
98
|
}
|
|
225
|
-
|
|
226
|
-
}());
|
|
99
|
+
}
|
|
227
100
|
// It will break type safety because there is no relation between Aux and Plugin.
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
return
|
|
101
|
+
const build = (plugins) => {
|
|
102
|
+
const middleware = new HandlerMiddleware(plugins);
|
|
103
|
+
return (handler) => (event, context, callback) => {
|
|
231
104
|
new HandlerProxy(event, context, callback).call(middleware, handler);
|
|
232
|
-
};
|
|
105
|
+
};
|
|
233
106
|
};
|
|
234
|
-
|
|
107
|
+
export default build;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export declare const middleware: {
|
|
2
|
-
build: <Aux extends import("./base").HandlerAuxBase>(plugins: import("./base").HandlerPluginBase<any>[]) => (handler: import("./base").Handler<Aux>) => (event: any, context: any, callback: any) => void;
|
|
3
|
-
aws: (options?: import("./aws").AWSPluginOptions | undefined) => import("./aws").AWSPlugin;
|
|
4
|
-
trace: (options: import("./trace").TracerPluginOptions) => import("./trace").TracerPlugin;
|
|
5
|
-
logger: (options: import("./logger").LoggerPluginOptions) => import("./logger").LoggerPlugin;
|
|
6
|
-
mysql: (options: import("./mysql").MySQLPluginOptions) => import("./mysql").MySQLPlugin
|
|
2
|
+
build: <Aux extends import("./base.js").HandlerAuxBase>(plugins: import("./base.js").HandlerPluginBase<any>[]) => (handler: import("./base.js").Handler<Aux>) => (event: any, context: any, callback: any) => void;
|
|
3
|
+
aws: (options?: import("./aws.js").AWSPluginOptions | undefined) => import("./aws.js").AWSPlugin;
|
|
4
|
+
trace: (options: import("./trace.js").TracerPluginOptions) => import("./trace.js").TracerPlugin;
|
|
5
|
+
logger: (options: import("./logger.js").LoggerPluginOptions) => import("./logger.js").LoggerPlugin;
|
|
6
|
+
mysql: <T = unknown>(options: import("./mysql.js").MySQLPluginOptions) => import("./mysql.js").MySQLPlugin<T>;
|
|
7
7
|
};
|
|
8
|
-
export * from './base';
|
|
9
|
-
export * from './aws';
|
|
10
|
-
export * from './trace';
|
|
11
|
-
export * from './logger';
|
|
12
|
-
export * from './mysql';
|
|
8
|
+
export * from './base.js';
|
|
9
|
+
export * from './aws.js';
|
|
10
|
+
export * from './trace.js';
|
|
11
|
+
export * from './logger.js';
|
|
12
|
+
export * from './mysql.js';
|
package/dist/middleware/index.js
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
build: build_1.default,
|
|
13
|
-
aws: aws_1.default,
|
|
14
|
-
trace: trace_1.default,
|
|
15
|
-
logger: logger_1.default,
|
|
16
|
-
mysql: mysql_1.default,
|
|
1
|
+
import build from './build.js';
|
|
2
|
+
import aws from './aws.js';
|
|
3
|
+
import logger from './logger.js';
|
|
4
|
+
import mysql from './mysql.js';
|
|
5
|
+
import trace from './trace.js';
|
|
6
|
+
export const middleware = {
|
|
7
|
+
build,
|
|
8
|
+
aws,
|
|
9
|
+
trace,
|
|
10
|
+
logger,
|
|
11
|
+
mysql,
|
|
17
12
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
export * from './base.js';
|
|
14
|
+
export * from './aws.js';
|
|
15
|
+
export * from './trace.js';
|
|
16
|
+
export * from './logger.js';
|
|
17
|
+
export * from './mysql.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Logger, LogLevel } from '../utils';
|
|
2
|
-
import { HandlerAuxBase, HandlerPluginBase } from './base';
|
|
1
|
+
import { Logger, LogLevel } from '../utils/index.js';
|
|
2
|
+
import { HandlerAuxBase, HandlerPluginBase } from './base.js';
|
|
3
3
|
export interface LoggerPluginOptions {
|
|
4
4
|
name: string;
|
|
5
5
|
level?: LogLevel;
|
|
@@ -1,71 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
20
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
24
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
25
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
26
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
27
|
-
function step(op) {
|
|
28
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
29
|
-
while (_) try {
|
|
30
|
-
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;
|
|
31
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
32
|
-
switch (op[0]) {
|
|
33
|
-
case 0: case 1: t = op; break;
|
|
34
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
35
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
36
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
37
|
-
default:
|
|
38
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
39
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
40
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
41
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
42
|
-
if (t[2]) _.ops.pop();
|
|
43
|
-
_.trys.pop(); continue;
|
|
44
|
-
}
|
|
45
|
-
op = body.call(thisArg, _);
|
|
46
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
47
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
1
|
+
import { getLogger } from '../utils/index.js';
|
|
2
|
+
import { HandlerPluginBase } from './base.js';
|
|
3
|
+
export class LoggerPlugin extends HandlerPluginBase {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super();
|
|
6
|
+
this.create = async () => {
|
|
7
|
+
const { name, level } = this.options;
|
|
8
|
+
return { logger: getLogger(name, level) };
|
|
9
|
+
};
|
|
10
|
+
this.options = options;
|
|
48
11
|
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
var base_1 = require("./base");
|
|
53
|
-
var LoggerPlugin = /** @class */ (function (_super) {
|
|
54
|
-
__extends(LoggerPlugin, _super);
|
|
55
|
-
function LoggerPlugin(options) {
|
|
56
|
-
var _this = _super.call(this) || this;
|
|
57
|
-
_this.create = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
58
|
-
var _a, name, level;
|
|
59
|
-
return __generator(this, function (_b) {
|
|
60
|
-
_a = this.options, name = _a.name, level = _a.level;
|
|
61
|
-
return [2 /*return*/, { logger: utils_1.getLogger(name, level) }];
|
|
62
|
-
});
|
|
63
|
-
}); };
|
|
64
|
-
_this.options = options;
|
|
65
|
-
return _this;
|
|
66
|
-
}
|
|
67
|
-
return LoggerPlugin;
|
|
68
|
-
}(base_1.HandlerPluginBase));
|
|
69
|
-
exports.LoggerPlugin = LoggerPlugin;
|
|
70
|
-
var build = function (options) { return new LoggerPlugin(options); };
|
|
71
|
-
exports.default = build;
|
|
12
|
+
}
|
|
13
|
+
const build = (options) => new LoggerPlugin(options);
|
|
14
|
+
export default build;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { Kysely } from 'kysely';
|
|
1
2
|
import * as mysql from 'mysql';
|
|
2
|
-
import { HandlerAuxBase, HandlerPluginBase } from './base';
|
|
3
|
+
import { HandlerAuxBase, HandlerPluginBase } from './base.js';
|
|
3
4
|
export interface MySQLPluginOptions {
|
|
4
5
|
config: mysql.ConnectionConfig;
|
|
5
6
|
schema?: {
|
|
@@ -17,9 +18,9 @@ export declare class ConnectionProxy {
|
|
|
17
18
|
private initialized;
|
|
18
19
|
private dbName?;
|
|
19
20
|
constructor(config: MySQLPluginOptions);
|
|
20
|
-
query: <T>(sql: string, params?: any[]
|
|
21
|
-
fetch: <T>(sql: string, params?: any[]
|
|
22
|
-
fetchOne: <T>(sql: string, params?: any[]
|
|
21
|
+
query: <T>(sql: string, params?: any[]) => Promise<T | undefined>;
|
|
22
|
+
fetch: <T>(sql: string, params?: any[]) => Promise<T[]>;
|
|
23
|
+
fetchOne: <T>(sql: string, params?: any[], defaultValue?: T | undefined) => Promise<T>;
|
|
23
24
|
beginTransaction: () => Promise<void>;
|
|
24
25
|
commit: () => Promise<void>;
|
|
25
26
|
rollback: () => Promise<void>;
|
|
@@ -29,16 +30,20 @@ export declare class ConnectionProxy {
|
|
|
29
30
|
private changeDatabase;
|
|
30
31
|
private tryToInitializeSchema;
|
|
31
32
|
}
|
|
32
|
-
export
|
|
33
|
+
export type SQLClient<T = unknown> = Kysely<T>;
|
|
34
|
+
export interface MySQLPluginAux<T = unknown> extends HandlerAuxBase {
|
|
33
35
|
db: ConnectionProxy;
|
|
36
|
+
database: SQLClient<T>;
|
|
34
37
|
}
|
|
35
|
-
export declare class MySQLPlugin extends HandlerPluginBase<MySQLPluginAux
|
|
38
|
+
export declare class MySQLPlugin<T = unknown> extends HandlerPluginBase<MySQLPluginAux<T>> {
|
|
36
39
|
private proxy;
|
|
40
|
+
private sqlClient;
|
|
37
41
|
constructor(options: MySQLPluginOptions);
|
|
38
42
|
create: () => Promise<{
|
|
39
43
|
db: ConnectionProxy;
|
|
44
|
+
database: SQLClient<T>;
|
|
40
45
|
}>;
|
|
41
46
|
end: () => void;
|
|
42
47
|
}
|
|
43
|
-
declare const build: (options: MySQLPluginOptions) => MySQLPlugin
|
|
48
|
+
declare const build: <T = unknown>(options: MySQLPluginOptions) => MySQLPlugin<T>;
|
|
44
49
|
export default build;
|