serverless-simple-middleware 0.0.63 → 0.0.65

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.
Files changed (52) hide show
  1. package/.prettierignore +2 -2
  2. package/README.md +3 -3
  3. package/dist/aws/config.js +11 -12
  4. package/dist/aws/index.d.ts +1 -1
  5. package/dist/aws/index.js +1 -1
  6. package/dist/aws/simple.d.ts +1 -1
  7. package/dist/aws/simple.js +534 -786
  8. package/dist/internal/AwsError.js +10 -28
  9. package/dist/middleware/aws.js +42 -125
  10. package/dist/middleware/base.d.ts +3 -3
  11. package/dist/middleware/base.js +84 -104
  12. package/dist/middleware/build.js +101 -244
  13. package/dist/middleware/database/connectionProxy.d.ts +19 -0
  14. package/dist/middleware/database/connectionProxy.js +136 -0
  15. package/dist/middleware/database/index.d.ts +2 -0
  16. package/dist/middleware/database/index.js +7 -0
  17. package/dist/middleware/database/sqlClient.d.ts +8 -0
  18. package/dist/middleware/database/sqlClient.js +65 -0
  19. package/dist/middleware/index.d.ts +4 -3
  20. package/dist/middleware/index.js +8 -7
  21. package/dist/middleware/logger.js +13 -69
  22. package/dist/middleware/mysql.d.ts +11 -23
  23. package/dist/middleware/mysql.js +25 -288
  24. package/dist/middleware/trace.d.ts +1 -1
  25. package/dist/middleware/trace.js +144 -216
  26. package/dist/utils/logger.js +29 -30
  27. package/dist/utils/misc.js +6 -6
  28. package/jest.config.js +7 -7
  29. package/package.json +71 -69
  30. package/src/aws/config.ts +46 -46
  31. package/src/aws/define.ts +10 -10
  32. package/src/aws/index.ts +3 -3
  33. package/src/aws/simple.ts +686 -686
  34. package/src/index.ts +3 -3
  35. package/src/internal/AwsError.ts +13 -13
  36. package/src/internal/s3.ts +75 -75
  37. package/src/middleware/aws.ts +78 -78
  38. package/src/middleware/base.ts +189 -185
  39. package/src/middleware/build.ts +173 -173
  40. package/src/middleware/database/connectionProxy.ts +174 -0
  41. package/src/middleware/database/index.ts +14 -0
  42. package/src/middleware/database/sqlClient.ts +95 -0
  43. package/src/middleware/index.ts +21 -20
  44. package/src/middleware/logger.ts +28 -28
  45. package/src/middleware/mysql.ts +52 -214
  46. package/src/middleware/trace.ts +265 -265
  47. package/src/utils/index.ts +2 -2
  48. package/src/utils/logger.ts +94 -94
  49. package/src/utils/misc.ts +20 -20
  50. package/tsconfig.json +15 -15
  51. package/tslint.json +12 -12
  52. package/.idea/workspace.xml +0 -99
@@ -1,94 +1,94 @@
1
- import { basename } from 'path';
2
- import { envDefault as currentStage, StagingLevel } from 'simple-staging';
3
- import { $enum } from 'ts-enum-util';
4
- import { stringifyError } from './misc';
5
-
6
- export enum LogLevel {
7
- Error = 'error',
8
- Warn = 'warn',
9
- Info = 'info',
10
- Debug = 'debug',
11
- Verbose = 'verbose',
12
- Silly = 'silly',
13
- Stupid = 'stupid',
14
- }
15
-
16
- const severity = (level: LogLevel) => {
17
- switch (level) {
18
- case LogLevel.Error:
19
- return 100;
20
- case LogLevel.Warn:
21
- return 200;
22
- case LogLevel.Info:
23
- return 300;
24
- case LogLevel.Debug:
25
- return 400;
26
- case LogLevel.Verbose:
27
- return 500;
28
- case LogLevel.Silly:
29
- return 600;
30
- case LogLevel.Stupid:
31
- return 700;
32
- default:
33
- return 1000;
34
- }
35
- };
36
-
37
- export const currentLogLevel = $enum(LogLevel).asValueOrDefault(
38
- process.env.LOG_LEVEL,
39
- currentStage.level !== StagingLevel.Release
40
- ? LogLevel.Verbose
41
- : LogLevel.Debug,
42
- );
43
-
44
- type LogMessage = string | Error;
45
-
46
- export class Logger {
47
- private name: string;
48
- private severity: number;
49
-
50
- constructor(name: string, level: LogLevel = currentLogLevel) {
51
- this.name = name;
52
- this.severity = severity(level);
53
- }
54
-
55
- public log = (level: LogLevel, message: LogMessage) => {
56
- if (this.severity >= severity(level)) {
57
- console.log(
58
- `[${new Date().toISOString()}][${level.toUpperCase()}][${this.name}] ${
59
- message instanceof Error ? stringifyError(message) : message
60
- }`,
61
- );
62
- }
63
- return message;
64
- };
65
-
66
- public error = (message: LogMessage) => this.log(LogLevel.Error, message);
67
- public warn = (message: LogMessage) => this.log(LogLevel.Warn, message);
68
- public info = (message: LogMessage) => this.log(LogLevel.Info, message);
69
- public debug = (message: LogMessage) => this.log(LogLevel.Debug, message);
70
- public verbose = (message: LogMessage) => this.log(LogLevel.Verbose, message);
71
- public silly = (message: LogMessage) => this.log(LogLevel.Silly, message);
72
-
73
- public stupid = <T>(
74
- message: string,
75
- object: T,
76
- replacer?: (key: string, value: T) => T,
77
- ) => {
78
- this.log(
79
- LogLevel.Stupid,
80
- `${message}: ${JSON.stringify(object, replacer)}`,
81
- );
82
- return object;
83
- };
84
- }
85
-
86
- const loggers: { [name: string]: Logger } = {};
87
-
88
- export const getLogger = (fileName: string, level?: LogLevel): Logger => {
89
- const name = basename(fileName);
90
- if (loggers[name] === undefined) {
91
- loggers[name] = new Logger(name, level);
92
- }
93
- return loggers[name];
94
- };
1
+ import { basename } from 'path';
2
+ import { envDefault as currentStage, StagingLevel } from 'simple-staging';
3
+ import { $enum } from 'ts-enum-util';
4
+ import { stringifyError } from './misc';
5
+
6
+ export enum LogLevel {
7
+ Error = 'error',
8
+ Warn = 'warn',
9
+ Info = 'info',
10
+ Debug = 'debug',
11
+ Verbose = 'verbose',
12
+ Silly = 'silly',
13
+ Stupid = 'stupid',
14
+ }
15
+
16
+ const severity = (level: LogLevel) => {
17
+ switch (level) {
18
+ case LogLevel.Error:
19
+ return 100;
20
+ case LogLevel.Warn:
21
+ return 200;
22
+ case LogLevel.Info:
23
+ return 300;
24
+ case LogLevel.Debug:
25
+ return 400;
26
+ case LogLevel.Verbose:
27
+ return 500;
28
+ case LogLevel.Silly:
29
+ return 600;
30
+ case LogLevel.Stupid:
31
+ return 700;
32
+ default:
33
+ return 1000;
34
+ }
35
+ };
36
+
37
+ export const currentLogLevel = $enum(LogLevel).asValueOrDefault(
38
+ process.env.LOG_LEVEL,
39
+ currentStage.level !== StagingLevel.Release
40
+ ? LogLevel.Verbose
41
+ : LogLevel.Debug,
42
+ );
43
+
44
+ type LogMessage = string | Error;
45
+
46
+ export class Logger {
47
+ private name: string;
48
+ private severity: number;
49
+
50
+ constructor(name: string, level: LogLevel = currentLogLevel) {
51
+ this.name = name;
52
+ this.severity = severity(level);
53
+ }
54
+
55
+ public log = (level: LogLevel, message: LogMessage) => {
56
+ if (this.severity >= severity(level)) {
57
+ console.log(
58
+ `[${new Date().toISOString()}][${level.toUpperCase()}][${this.name}] ${
59
+ message instanceof Error ? stringifyError(message) : message
60
+ }`,
61
+ );
62
+ }
63
+ return message;
64
+ };
65
+
66
+ public error = (message: LogMessage) => this.log(LogLevel.Error, message);
67
+ public warn = (message: LogMessage) => this.log(LogLevel.Warn, message);
68
+ public info = (message: LogMessage) => this.log(LogLevel.Info, message);
69
+ public debug = (message: LogMessage) => this.log(LogLevel.Debug, message);
70
+ public verbose = (message: LogMessage) => this.log(LogLevel.Verbose, message);
71
+ public silly = (message: LogMessage) => this.log(LogLevel.Silly, message);
72
+
73
+ public stupid = <T>(
74
+ message: string,
75
+ object: T,
76
+ replacer?: (key: string, value: T) => T,
77
+ ) => {
78
+ this.log(
79
+ LogLevel.Stupid,
80
+ `${message}: ${JSON.stringify(object, replacer)}`,
81
+ );
82
+ return object;
83
+ };
84
+ }
85
+
86
+ const loggers: { [name: string]: Logger } = {};
87
+
88
+ export const getLogger = (fileName: string, level?: LogLevel): Logger => {
89
+ const name = basename(fileName);
90
+ if (loggers[name] === undefined) {
91
+ loggers[name] = new Logger(name, level);
92
+ }
93
+ return loggers[name];
94
+ };
package/src/utils/misc.ts CHANGED
@@ -1,20 +1,20 @@
1
- import { AwsError } from '../internal/AwsError';
2
-
3
- export const stringifyError = (
4
- err: any,
5
- replacer?: (key: string, value: any) => any,
6
- space?: string | number,
7
- ) => {
8
- const error = isAWSv3Error(err) ? new AwsError(err) : err;
9
- const plainObject = {} as any;
10
- Object.getOwnPropertyNames(error).forEach((key) => {
11
- plainObject[key] = error[key];
12
- });
13
- return JSON.stringify(plainObject, replacer, space);
14
- };
15
-
16
- const isAWSv3Error = (
17
- error: unknown,
18
- ): error is Error & { $metadata?: object } => {
19
- return error instanceof Error && 'name' in error && '$metadata' in error;
20
- };
1
+ import { AwsError } from '../internal/AwsError';
2
+
3
+ export const stringifyError = (
4
+ err: any,
5
+ replacer?: (key: string, value: any) => any,
6
+ space?: string | number,
7
+ ) => {
8
+ const error = isAWSv3Error(err) ? new AwsError(err) : err;
9
+ const plainObject = {} as any;
10
+ Object.getOwnPropertyNames(error).forEach((key) => {
11
+ plainObject[key] = error[key];
12
+ });
13
+ return JSON.stringify(plainObject, replacer, space);
14
+ };
15
+
16
+ const isAWSv3Error = (
17
+ error: unknown,
18
+ ): error is Error & { $metadata?: object } => {
19
+ return error instanceof Error && 'name' in error && '$metadata' in error;
20
+ };
package/tsconfig.json CHANGED
@@ -1,15 +1,15 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es5",
4
- "module": "commonjs",
5
- "lib": ["es2017", "es7", "es6", "esnext", "dom"],
6
- "rootDir": "src",
7
- "outDir": "dist",
8
- "declaration": true,
9
- "noImplicitAny": true,
10
- "strictNullChecks": true,
11
- "noUnusedLocals": true,
12
- "noUnusedParameters": true
13
- },
14
- "exclude": ["node_modules", "dist", "__tests__"]
15
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "commonjs",
5
+ "lib": ["ES2022", "es7", "es6", "esnext", "dom"],
6
+ "rootDir": "src",
7
+ "outDir": "dist",
8
+ "declaration": true,
9
+ "noImplicitAny": true,
10
+ "strictNullChecks": true,
11
+ "noUnusedLocals": true,
12
+ "noUnusedParameters": true
13
+ },
14
+ "exclude": ["node_modules", "dist", "__tests__"]
15
+ }
package/tslint.json CHANGED
@@ -1,12 +1,12 @@
1
- {
2
- "extends": ["tslint:latest", "tslint-config-prettier"],
3
- "linterOptions": {
4
- "exclude": ["node_modules", "dist"]
5
- },
6
- "rules": {
7
- "object-literal-sort-keys": false,
8
- "interface-name": false,
9
- "max-classes-per-file": false,
10
- "no-console": false
11
- }
12
- }
1
+ {
2
+ "extends": ["tslint:latest", "tslint-config-prettier"],
3
+ "linterOptions": {
4
+ "exclude": ["node_modules", "dist"]
5
+ },
6
+ "rules": {
7
+ "object-literal-sort-keys": false,
8
+ "interface-name": false,
9
+ "max-classes-per-file": false,
10
+ "no-console": false
11
+ }
12
+ }
@@ -1,99 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="AutoImportSettings">
4
- <option name="autoReloadType" value="SELECTIVE" />
5
- </component>
6
- <component name="ChangeListManager">
7
- <list default="true" id="d3e8841d-4c1b-4775-9eaf-7a7f45125ca6" name="Changes" comment="" />
8
- <option name="SHOW_DIALOG" value="false" />
9
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
10
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
11
- <option name="LAST_RESOLUTION" value="IGNORE" />
12
- </component>
13
- <component name="Git.Settings">
14
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
15
- </component>
16
- <component name="GitHubPullRequestSearchHistory">{
17
- &quot;lastFilter&quot;: {
18
- &quot;state&quot;: &quot;OPEN&quot;,
19
- &quot;assignee&quot;: &quot;mintae-v6x&quot;
20
- }
21
- }</component>
22
- <component name="GithubPullRequestsUISettings">{
23
- &quot;selectedUrlAndAccountId&quot;: {
24
- &quot;url&quot;: &quot;git@github.com:v6x/serverless-simple-middleware.git&quot;,
25
- &quot;accountId&quot;: &quot;651af4d7-dc5b-4c87-ad25-95bb095bbdab&quot;
26
- }
27
- }</component>
28
- <component name="ProjectColorInfo">{
29
- &quot;customColor&quot;: &quot;&quot;,
30
- &quot;associatedIndex&quot;: 0
31
- }</component>
32
- <component name="ProjectId" id="2wLO998bpCyv1XeFcGkak71tJ00" />
33
- <component name="ProjectViewState">
34
- <option name="hideEmptyMiddlePackages" value="true" />
35
- <option name="showLibraryContents" value="true" />
36
- </component>
37
- <component name="PropertiesComponent"><![CDATA[{
38
- "keyToString": {
39
- "RunOnceActivity.ShowReadmeOnStart": "true",
40
- "node.js.detected.package.eslint": "true",
41
- "node.js.detected.package.tslint": "true",
42
- "node.js.selected.package.eslint": "(autodetect)",
43
- "node.js.selected.package.tslint": "(autodetect)",
44
- "nodejs_package_manager_path": "yarn",
45
- "ts.external.directory.path": "C:\\Users\\MintaeHwang\\Projects\\serverless-simple-middleware\\node_modules\\typescript\\lib",
46
- "vue.rearranger.settings.migration": "true"
47
- }
48
- }]]></component>
49
- <component name="SharedIndexes">
50
- <attachedChunks>
51
- <set>
52
- <option value="bundled-js-predefined-1d06a55b98c1-0b3e54e931b4-JavaScript-WS-241.18034.50" />
53
- </set>
54
- </attachedChunks>
55
- </component>
56
- <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
57
- <component name="TaskManager">
58
- <task active="true" id="Default" summary="Default task">
59
- <changelist id="d3e8841d-4c1b-4775-9eaf-7a7f45125ca6" name="Changes" comment="" />
60
- <created>1745817233391</created>
61
- <option name="number" value="Default" />
62
- <option name="presentableId" value="Default" />
63
- <updated>1745817233391</updated>
64
- <workItem from="1745817234628" duration="4410000" />
65
- <workItem from="1746006740077" duration="129000" />
66
- <workItem from="1749703698039" duration="5259000" />
67
- <workItem from="1749721908491" duration="1629000" />
68
- <workItem from="1750211888403" duration="1739000" />
69
- <workItem from="1750643159276" duration="1164000" />
70
- <workItem from="1751023632877" duration="2292000" />
71
- </task>
72
- <servers />
73
- </component>
74
- <component name="TypeScriptGeneratedFilesManager">
75
- <option name="version" value="3" />
76
- </component>
77
- <component name="Vcs.Log.Tabs.Properties">
78
- <option name="TAB_STATES">
79
- <map>
80
- <entry key="MAIN">
81
- <value>
82
- <State />
83
- </value>
84
- </entry>
85
- </map>
86
- </option>
87
- </component>
88
- <component name="XDebuggerManager">
89
- <breakpoint-manager>
90
- <breakpoints>
91
- <line-breakpoint enabled="true" type="javascript">
92
- <url>file://$PROJECT_DIR$/src/middleware/trace.ts</url>
93
- <line>118</line>
94
- <option name="timeStamp" value="1" />
95
- </line-breakpoint>
96
- </breakpoints>
97
- </breakpoint-manager>
98
- </component>
99
- </project>