topsyde-utils 1.0.0 → 1.0.3
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/README.md +67 -3
- package/dist/{app.js → application.js} +1 -1
- package/dist/application.js.map +1 -0
- package/dist/enums.js.map +1 -1
- package/dist/index.d.ts +13 -12
- package/dist/index.js +14 -11
- package/dist/index.js.map +1 -1
- package/dist/initializable.d.ts +1 -1
- package/dist/initializable.js +20 -22
- package/dist/initializable.js.map +1 -1
- package/dist/lib.js +14 -42
- package/dist/lib.js.map +1 -1
- package/dist/router/index.d.ts +5 -5
- package/dist/router/index.js +5 -5
- package/dist/router/index.js.map +1 -1
- package/dist/router/router.d.ts +13 -18
- package/dist/router/router.internal.d.ts +14 -0
- package/dist/router/router.internal.js +47 -0
- package/dist/router/router.internal.js.map +1 -0
- package/dist/router/router.js +33 -25
- package/dist/router/router.js.map +1 -1
- package/dist/router/routes.d.ts +5 -0
- package/dist/router/routes.js +10 -0
- package/dist/router/routes.js.map +1 -0
- package/dist/singleton.js.map +1 -1
- package/dist/throwable.js +1 -5
- package/dist/throwable.js.map +1 -1
- package/package.json +10 -10
- package/dist/app.js.map +0 -1
- package/dist/router/middleware.d.ts +0 -21
- package/dist/router/middleware.js +0 -47
- package/dist/router/middleware.js.map +0 -1
- package/dist/router/route.d.ts +0 -14
- package/dist/router/route.js +0 -22
- package/dist/router/route.js.map +0 -1
- /package/dist/{app.d.ts → application.d.ts} +0 -0
package/README.md
CHANGED
@@ -8,6 +8,8 @@ A comprehensive bundle of TypeScript utility classes and functions designed to s
|
|
8
8
|
npm install topsyde-utils
|
9
9
|
# or
|
10
10
|
yarn add topsyde-utils
|
11
|
+
# or
|
12
|
+
bun add topsyde-utils
|
11
13
|
```
|
12
14
|
|
13
15
|
## Features
|
@@ -172,15 +174,77 @@ The script:
|
|
172
174
|
To generate the index files:
|
173
175
|
|
174
176
|
```bash
|
175
|
-
|
177
|
+
bun run generate-indexes
|
176
178
|
```
|
177
179
|
|
178
|
-
|
180
|
+
### Building the Package
|
181
|
+
|
182
|
+
The build process is streamlined to perform several tasks in sequence:
|
183
|
+
|
184
|
+
1. Clean the dist directory
|
185
|
+
2. Generate index files
|
186
|
+
3. Format code with Prettier (using cache for performance)
|
187
|
+
4. Compile TypeScript
|
188
|
+
|
189
|
+
To build the package:
|
179
190
|
|
180
191
|
```bash
|
181
|
-
|
192
|
+
bun run build
|
182
193
|
```
|
183
194
|
|
195
|
+
### Development Scripts
|
196
|
+
|
197
|
+
- `bun run clean` - Remove the dist directory
|
198
|
+
- `bun run format` - Format TypeScript files with Prettier (using cache)
|
199
|
+
- `bun run lint` - Lint TypeScript files with ESLint (using cache)
|
200
|
+
- `bun run test` - Run tests with Jest
|
201
|
+
- `bun run generate-indexes` - Generate index files only
|
202
|
+
|
203
|
+
### Publishing
|
204
|
+
|
205
|
+
To publish a new version of the package, you can use either of the following methods:
|
206
|
+
|
207
|
+
#### Manual Version Specification
|
208
|
+
|
209
|
+
```bash
|
210
|
+
./scripts/publish.sh <version> [tag]
|
211
|
+
```
|
212
|
+
|
213
|
+
For example:
|
214
|
+
```bash
|
215
|
+
./scripts/publish.sh 1.0.2
|
216
|
+
./scripts/publish.sh 1.1.0-beta beta
|
217
|
+
```
|
218
|
+
|
219
|
+
#### Automated Version Increment
|
220
|
+
|
221
|
+
For a more streamlined release process, use the release script which automatically increments the version number:
|
222
|
+
|
223
|
+
```bash
|
224
|
+
# Using the script directly
|
225
|
+
./scripts/release.sh [patch|minor|major] [tag]
|
226
|
+
|
227
|
+
# Or using npm/bun scripts
|
228
|
+
bun run release [patch|minor|major] [tag]
|
229
|
+
```
|
230
|
+
|
231
|
+
Examples:
|
232
|
+
```bash
|
233
|
+
bun run release # Increment patch version (default)
|
234
|
+
bun run release patch # Same as above
|
235
|
+
bun run release minor # Increment minor version (e.g., 1.0.0 -> 1.1.0)
|
236
|
+
bun run release major # Increment major version (e.g., 1.0.0 -> 2.0.0)
|
237
|
+
bun run release minor beta # Increment minor version with 'beta' tag
|
238
|
+
```
|
239
|
+
|
240
|
+
The release script will:
|
241
|
+
1. Calculate and display the new version number
|
242
|
+
2. Ask for confirmation before proceeding
|
243
|
+
3. Update the version in package.json
|
244
|
+
4. Generate index files
|
245
|
+
5. Build the package
|
246
|
+
6. Publish to npm with the specified tag (defaults to 'latest')
|
247
|
+
|
184
248
|
#### Naming Conventions
|
185
249
|
|
186
250
|
- Default exports from files directly in src are exported with their capitalized name (e.g., `app.ts` → `App`)
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,MAAe,EAAE,OAAqB,EAAgB,EAAE;IACrF,OAAO;QACN,MAAM,EAAE,MAAM,IAAI,GAAG;QACrB,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,8BAA8B,EAAE,oBAAoB;YACpD,8BAA8B,EAAE,6BAA6B;YAC7D,kCAAkC,EAAE,MAAM;SAC1C;KACD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEW,QAAA,uBAAuB,GAAG;IACtC,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,WAAW;IACT,MAAM,CAAC,QAAQ,CAAC,IAAS,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC5E,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,KAAK,CAAuC,KAAQ,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChF,CAAC;IAEM,MAAM,CAAC,KAAK,CAAuC,KAAQ,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;CACD;AAED,kBAAe,WAAW,CAAC"}
|
package/dist/enums.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,IAQX;AARD,WAAY,IAAI;
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,IAQX;AARD,WAAY,IAAI;IACf,uBAAe,CAAA;IACf,yBAAiB,CAAA;IACjB,6BAAqB,CAAA;IACrB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,2BAAmB,CAAA;IACnB,uBAAe,CAAA;AAChB,CAAC,EARW,IAAI,oBAAJ,IAAI,QAQf;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACzB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACpB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
|
package/dist/index.d.ts
CHANGED
@@ -1,13 +1,14 @@
|
|
1
|
-
export { default as
|
2
|
-
export { default as Guards } from
|
3
|
-
export { default as Initializable } from
|
4
|
-
export { default as Lib } from
|
5
|
-
export { default as
|
6
|
-
export { default as RouterRouter } from
|
7
|
-
export { default as Singleton } from
|
8
|
-
export { default as Throwable } from
|
9
|
-
export {
|
10
|
-
export {
|
11
|
-
export {
|
12
|
-
|
1
|
+
export { default as Application } from "./application";
|
2
|
+
export { default as Guards } from "./guards";
|
3
|
+
export { default as Initializable } from "./initializable";
|
4
|
+
export { default as Lib } from "./lib";
|
5
|
+
export { default as RouterRouter_internal } from "./router/router.internal";
|
6
|
+
export { default as RouterRouter } from "./router/router";
|
7
|
+
export { default as Singleton } from "./singleton";
|
8
|
+
export { default as Throwable } from "./throwable";
|
9
|
+
export { RESPONSE_INIT, RESPONSE_METHOD_OPTIONS } from "./application";
|
10
|
+
export { DEFAULT_FALSE_RESPONSE, LOG_COLORS } from "./consts";
|
11
|
+
export { E_IS, E_ENVIRONMENTS } from "./enums";
|
12
|
+
export { ERROR_CODE, HTTP_ERROR_CODE, WS_ERROR_CODE } from "./errors";
|
13
|
+
import * as RouterModule from "./router";
|
13
14
|
export { RouterModule as Router };
|
package/dist/index.js
CHANGED
@@ -38,19 +38,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
38
38
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
39
39
|
};
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
41
|
-
exports.Router = exports.
|
41
|
+
exports.Router = exports.WS_ERROR_CODE = exports.HTTP_ERROR_CODE = exports.ERROR_CODE = exports.E_ENVIRONMENTS = exports.E_IS = exports.LOG_COLORS = exports.DEFAULT_FALSE_RESPONSE = exports.RESPONSE_METHOD_OPTIONS = exports.RESPONSE_INIT = exports.Throwable = exports.Singleton = exports.RouterRouter = exports.RouterRouter_internal = exports.Lib = exports.Initializable = exports.Guards = exports.Application = void 0;
|
42
42
|
// Export all modules
|
43
43
|
// Export default classes
|
44
|
-
var
|
45
|
-
Object.defineProperty(exports, "
|
44
|
+
var application_1 = require("./application");
|
45
|
+
Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return __importDefault(application_1).default; } });
|
46
46
|
var guards_1 = require("./guards");
|
47
47
|
Object.defineProperty(exports, "Guards", { enumerable: true, get: function () { return __importDefault(guards_1).default; } });
|
48
48
|
var initializable_1 = require("./initializable");
|
49
49
|
Object.defineProperty(exports, "Initializable", { enumerable: true, get: function () { return __importDefault(initializable_1).default; } });
|
50
50
|
var lib_1 = require("./lib");
|
51
51
|
Object.defineProperty(exports, "Lib", { enumerable: true, get: function () { return __importDefault(lib_1).default; } });
|
52
|
-
var
|
53
|
-
Object.defineProperty(exports, "
|
52
|
+
var router_internal_1 = require("./router/router.internal");
|
53
|
+
Object.defineProperty(exports, "RouterRouter_internal", { enumerable: true, get: function () { return __importDefault(router_internal_1).default; } });
|
54
54
|
var router_1 = require("./router/router");
|
55
55
|
Object.defineProperty(exports, "RouterRouter", { enumerable: true, get: function () { return __importDefault(router_1).default; } });
|
56
56
|
var singleton_1 = require("./singleton");
|
@@ -58,16 +58,19 @@ Object.defineProperty(exports, "Singleton", { enumerable: true, get: function ()
|
|
58
58
|
var throwable_1 = require("./throwable");
|
59
59
|
Object.defineProperty(exports, "Throwable", { enumerable: true, get: function () { return __importDefault(throwable_1).default; } });
|
60
60
|
// Re-export specific items for backward compatibility
|
61
|
+
var application_2 = require("./application");
|
62
|
+
Object.defineProperty(exports, "RESPONSE_INIT", { enumerable: true, get: function () { return application_2.RESPONSE_INIT; } });
|
63
|
+
Object.defineProperty(exports, "RESPONSE_METHOD_OPTIONS", { enumerable: true, get: function () { return application_2.RESPONSE_METHOD_OPTIONS; } });
|
64
|
+
var consts_1 = require("./consts");
|
65
|
+
Object.defineProperty(exports, "DEFAULT_FALSE_RESPONSE", { enumerable: true, get: function () { return consts_1.DEFAULT_FALSE_RESPONSE; } });
|
66
|
+
Object.defineProperty(exports, "LOG_COLORS", { enumerable: true, get: function () { return consts_1.LOG_COLORS; } });
|
67
|
+
var enums_1 = require("./enums");
|
68
|
+
Object.defineProperty(exports, "E_IS", { enumerable: true, get: function () { return enums_1.E_IS; } });
|
69
|
+
Object.defineProperty(exports, "E_ENVIRONMENTS", { enumerable: true, get: function () { return enums_1.E_ENVIRONMENTS; } });
|
61
70
|
var errors_1 = require("./errors");
|
62
71
|
Object.defineProperty(exports, "ERROR_CODE", { enumerable: true, get: function () { return errors_1.ERROR_CODE; } });
|
63
72
|
Object.defineProperty(exports, "HTTP_ERROR_CODE", { enumerable: true, get: function () { return errors_1.HTTP_ERROR_CODE; } });
|
64
73
|
Object.defineProperty(exports, "WS_ERROR_CODE", { enumerable: true, get: function () { return errors_1.WS_ERROR_CODE; } });
|
65
|
-
var enums_1 = require("./enums");
|
66
|
-
Object.defineProperty(exports, "E_IS", { enumerable: true, get: function () { return enums_1.E_IS; } });
|
67
|
-
Object.defineProperty(exports, "E_ENVIRONMENTS", { enumerable: true, get: function () { return enums_1.E_ENVIRONMENTS; } });
|
68
|
-
var app_2 = require("./app");
|
69
|
-
Object.defineProperty(exports, "RESPONSE_INIT", { enumerable: true, get: function () { return app_2.RESPONSE_INIT; } });
|
70
|
-
Object.defineProperty(exports, "RESPONSE_METHOD_OPTIONS", { enumerable: true, get: function () { return app_2.RESPONSE_METHOD_OPTIONS; } });
|
71
74
|
// Barrel exports for subdirectories
|
72
75
|
// Create module for router
|
73
76
|
const RouterModule = __importStar(require("./router"));
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,qBAAqB;AAErB,yBAAyB;AACzB,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,qBAAqB;AAErB,yBAAyB;AACzB,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,6BAAuC;AAA9B,2GAAA,OAAO,OAAO;AACvB,4DAA4E;AAAnE,yIAAA,OAAO,OAAyB;AACzC,0CAA0D;AAAjD,uHAAA,OAAO,OAAgB;AAChC,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAE7B,sDAAsD;AACtD,6CAAuE;AAA9D,4GAAA,aAAa,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAC/C,mCAA8D;AAArD,gHAAA,sBAAsB,OAAA;AAAE,oGAAA,UAAU,OAAA;AAC3C,iCAA+C;AAAtC,6FAAA,IAAI,OAAA;AAAE,uGAAA,cAAc,OAAA;AAC7B,mCAAsE;AAA7D,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,uGAAA,aAAa,OAAA;AAEnD,oCAAoC;AACpC,2BAA2B;AAC3B,uDAAyC;AAChB,8BAAM"}
|
package/dist/initializable.d.ts
CHANGED
@@ -14,7 +14,7 @@ export interface InitOptions {
|
|
14
14
|
/**
|
15
15
|
* Events emitted by Initializable instances
|
16
16
|
*/
|
17
|
-
export type InitializableEvent =
|
17
|
+
export type InitializableEvent = "initializing" | "initialized" | "failed" | "timeout";
|
18
18
|
/**
|
19
19
|
* Base class for objects that require asynchronous initialization
|
20
20
|
*
|
package/dist/initializable.js
CHANGED
@@ -99,25 +99,23 @@ class Initializable {
|
|
99
99
|
this.abortController = new AbortController();
|
100
100
|
try {
|
101
101
|
// Emit initializing event
|
102
|
-
this.emit(
|
102
|
+
this.emit("initializing");
|
103
103
|
// Call the implementation-specific initialization
|
104
104
|
await this.doInitialize();
|
105
105
|
// Mark as initialized
|
106
106
|
this._initialized = true;
|
107
107
|
this.initializing = false;
|
108
108
|
// Emit initialized event
|
109
|
-
this.emit(
|
109
|
+
this.emit("initialized");
|
110
110
|
}
|
111
111
|
catch (error) {
|
112
112
|
// Mark as failed
|
113
113
|
this.failed = true;
|
114
114
|
this.initializing = false;
|
115
115
|
// Emit failed event
|
116
|
-
this.emit(
|
116
|
+
this.emit("failed", error);
|
117
117
|
// Re-throw the error
|
118
|
-
throw error instanceof Error
|
119
|
-
? error
|
120
|
-
: new Error(`Initialization failed: ${String(error)}`);
|
118
|
+
throw error instanceof Error ? error : new Error(`Initialization failed: ${String(error)}`);
|
121
119
|
}
|
122
120
|
finally {
|
123
121
|
this.abortController = null;
|
@@ -170,33 +168,33 @@ class Initializable {
|
|
170
168
|
return this.initialize();
|
171
169
|
}
|
172
170
|
const className = this.constructor.name;
|
173
|
-
const maxTime = this.timeout ??
|
171
|
+
const maxTime = this.timeout ?? this.retries * this.retryInterval;
|
174
172
|
let retries = this.retries;
|
175
173
|
// Create a promise that resolves when initialization completes
|
176
174
|
return new Promise((resolve, reject) => {
|
177
175
|
// One-time event listeners for completion
|
178
176
|
const onInitialized = () => {
|
179
|
-
this.off(
|
180
|
-
this.off(
|
181
|
-
this.off(
|
177
|
+
this.off("initialized", onInitialized);
|
178
|
+
this.off("failed", onFailed);
|
179
|
+
this.off("timeout", onTimeout);
|
182
180
|
resolve();
|
183
181
|
};
|
184
182
|
const onFailed = (error) => {
|
185
|
-
this.off(
|
186
|
-
this.off(
|
187
|
-
this.off(
|
183
|
+
this.off("initialized", onInitialized);
|
184
|
+
this.off("failed", onFailed);
|
185
|
+
this.off("timeout", onTimeout);
|
188
186
|
reject(error);
|
189
187
|
};
|
190
188
|
const onTimeout = () => {
|
191
|
-
this.off(
|
192
|
-
this.off(
|
193
|
-
this.off(
|
189
|
+
this.off("initialized", onInitialized);
|
190
|
+
this.off("failed", onFailed);
|
191
|
+
this.off("timeout", onTimeout);
|
194
192
|
reject(new Error(`Initialization of ${className} timed out after ${maxTime}ms`));
|
195
193
|
};
|
196
194
|
// Register event listeners
|
197
|
-
this.on(
|
198
|
-
this.on(
|
199
|
-
this.on(
|
195
|
+
this.on("initialized", onInitialized);
|
196
|
+
this.on("failed", onFailed);
|
197
|
+
this.on("timeout", onTimeout);
|
200
198
|
// Set up polling to check for timeout
|
201
199
|
const checkInterval = setInterval(() => {
|
202
200
|
retries--;
|
@@ -206,7 +204,7 @@ class Initializable {
|
|
206
204
|
}
|
207
205
|
else if (retries <= 0) {
|
208
206
|
clearInterval(checkInterval);
|
209
|
-
this.emit(
|
207
|
+
this.emit("timeout");
|
210
208
|
}
|
211
209
|
}, this.retryInterval);
|
212
210
|
});
|
@@ -219,7 +217,7 @@ class Initializable {
|
|
219
217
|
this.abortController.abort();
|
220
218
|
this.initializing = false;
|
221
219
|
this.failed = true;
|
222
|
-
this.emit(
|
220
|
+
this.emit("failed", new Error("Initialization cancelled"));
|
223
221
|
}
|
224
222
|
}
|
225
223
|
/**
|
@@ -271,7 +269,7 @@ class Initializable {
|
|
271
269
|
emit(event, ...args) {
|
272
270
|
if (this.listeners.has(event)) {
|
273
271
|
const callbacks = [...this.listeners.get(event)];
|
274
|
-
callbacks.forEach(callback => {
|
272
|
+
callbacks.forEach((callback) => {
|
275
273
|
try {
|
276
274
|
callback(...args);
|
277
275
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"initializable.js","sourceRoot":"","sources":["../src/initializable.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;AAwBH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,aAAa;IAyBlB;;;OAGG;IACH,YAAY,UAAuB,EAAE;QAtBrC,wDAAwD;QAChD,iBAAY,GAAY,KAAK,CAAC;QAEtC,4CAA4C;QACpC,iBAAY,GAAY,KAAK,CAAC;QAEtC,wCAAwC;QAChC,WAAM,GAAY,KAAK,CAAC;QAKhC,sBAAsB;QACd,cAAS,GAAwC,IAAI,GAAG,EAAE,CAAC;QAEnE,wCAAwC;QAChC,oBAAe,GAA2B,IAAI,CAAC;QAOtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAE/B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,kFAAkF;YAClF,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU;QACtB,6CAA6C;QAC7C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACrC,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE7C,IAAI,CAAC;YACJ,0BAA0B;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAE1B,kDAAkD;YAClD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAE1B,sBAAsB;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAE1B,yBAAyB;YACzB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,iBAAiB;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAE1B,oBAAoB;YACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAE3B,qBAAqB;YACrB,MAAM,KAAK,YAAY,KAAK
|
1
|
+
{"version":3,"file":"initializable.js","sourceRoot":"","sources":["../src/initializable.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.js
CHANGED
@@ -132,12 +132,8 @@ class Lib {
|
|
132
132
|
const hours = now.getHours();
|
133
133
|
const minutes = now.getMinutes();
|
134
134
|
const seconds = now.getSeconds();
|
135
|
-
const formattedDate = `${year}-${month.toString().padStart(2, "0")}-${day
|
136
|
-
|
137
|
-
.padStart(2, "0")}`;
|
138
|
-
const formattedTime = `${hours.toString().padStart(2, "0")}:${minutes
|
139
|
-
.toString()
|
140
|
-
.padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
|
135
|
+
const formattedDate = `${year}-${month.toString().padStart(2, "0")}-${day.toString().padStart(2, "0")}`;
|
136
|
+
const formattedTime = `${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
|
141
137
|
return `${formattedDate} ${formattedTime}`;
|
142
138
|
}
|
143
139
|
static FormatUnixToDate(unix_time_stamp, in_milliseconds = false) {
|
@@ -146,7 +142,7 @@ class Lib {
|
|
146
142
|
}
|
147
143
|
static FormatDate(date, format = "MM/dd/yyyy") {
|
148
144
|
try {
|
149
|
-
const leadingZero = (value) => value < 10 ? `0${value}` : `${value}
|
145
|
+
const leadingZero = (value) => (value < 10 ? `0${value}` : `${value}`);
|
150
146
|
if (!date)
|
151
147
|
throw new Error("Lib.FormatDate() Exception: Date is required");
|
152
148
|
if (typeof date === "string") {
|
@@ -178,14 +174,8 @@ class Lib {
|
|
178
174
|
}
|
179
175
|
}
|
180
176
|
static DaysBetweenDates(startDate, endDate, format = "MM/dd/yyyy") {
|
181
|
-
if (startDate === null ||
|
182
|
-
startDate
|
183
|
-
endDate === null ||
|
184
|
-
endDate === undefined) {
|
185
|
-
throw new Error("Lib.DaysBetweenDates() Exception: Dates are required" +
|
186
|
-
startDate +
|
187
|
-
" " +
|
188
|
-
endDate);
|
177
|
+
if (startDate === null || startDate === undefined || endDate === null || endDate === undefined) {
|
178
|
+
throw new Error("Lib.DaysBetweenDates() Exception: Dates are required" + startDate + " " + endDate);
|
189
179
|
}
|
190
180
|
const start = new Date(this.FormatDate(startDate, format)).getTime();
|
191
181
|
const end = new Date(this.FormatDate(endDate, format)).getTime();
|
@@ -195,11 +185,7 @@ class Lib {
|
|
195
185
|
}
|
196
186
|
static IsPastDate(date, format = "MM/dd/yyyy HH:mm:ss", debug = false, currentDate) {
|
197
187
|
const truncateToSecond = (d) => new Date(Math.floor(d.getTime() / 1000) * 1000);
|
198
|
-
const now = truncateToSecond(currentDate
|
199
|
-
? typeof currentDate === "string"
|
200
|
-
? new Date(currentDate)
|
201
|
-
: currentDate
|
202
|
-
: new Date());
|
188
|
+
const now = truncateToSecond(currentDate ? (typeof currentDate === "string" ? new Date(currentDate) : currentDate) : new Date());
|
203
189
|
const check = truncateToSecond(typeof date === "string" ? new Date(date) : date);
|
204
190
|
if (debug) {
|
205
191
|
Debug.Log("Now:", this.FormatDate(now, format));
|
@@ -213,9 +199,7 @@ class Lib {
|
|
213
199
|
return new Date(now).getTime() > new Date(check).getTime();
|
214
200
|
}
|
215
201
|
static addTimeFromDate(date, milliseconds) {
|
216
|
-
const dateObj = new Date(typeof date === "string"
|
217
|
-
? new Date(date).getTime()
|
218
|
-
: date.getTime() + milliseconds);
|
202
|
+
const dateObj = new Date(typeof date === "string" ? new Date(date).getTime() : date.getTime() + milliseconds);
|
219
203
|
return dateObj;
|
220
204
|
}
|
221
205
|
static UUID(minLength = 36) {
|
@@ -243,7 +227,7 @@ class Lib {
|
|
243
227
|
return value === null || value === undefined;
|
244
228
|
}
|
245
229
|
static IsPrimitive(value) {
|
246
|
-
return
|
230
|
+
return this.IsNumber(value) || this.IsString(value) || this.IsBoolean(value);
|
247
231
|
}
|
248
232
|
static EmptyObject(value) {
|
249
233
|
let empty_object = true;
|
@@ -263,14 +247,10 @@ class Lib {
|
|
263
247
|
return empty_object;
|
264
248
|
}
|
265
249
|
static IsNumpty(value, _objectsOnly = false) {
|
266
|
-
return typeof value === "number"
|
267
|
-
? false
|
268
|
-
: this.IsNil(value) || this.IsEmpty(value, _objectsOnly);
|
250
|
+
return typeof value === "number" ? false : this.IsNil(value) || this.IsEmpty(value, _objectsOnly);
|
269
251
|
}
|
270
252
|
static IsEmpty(value, _objectsOnly = false) {
|
271
|
-
return ((this.GetType(value) === "array" &&
|
272
|
-
value.length === 0 &&
|
273
|
-
!_objectsOnly) ||
|
253
|
+
return ((this.GetType(value) === "array" && value.length === 0 && !_objectsOnly) ||
|
274
254
|
(this.GetType(value) === "object" && this.EmptyObject(value)) ||
|
275
255
|
(typeof value === "string" && value.trim().length === 0));
|
276
256
|
}
|
@@ -323,8 +303,7 @@ class Lib {
|
|
323
303
|
else if (typeof value === "string") {
|
324
304
|
return "string";
|
325
305
|
}
|
326
|
-
else if ({}.toString.call(value) === "[object Function]" ||
|
327
|
-
typeof value === "function") {
|
306
|
+
else if ({}.toString.call(value) === "[object Function]" || typeof value === "function") {
|
328
307
|
return "function";
|
329
308
|
}
|
330
309
|
else {
|
@@ -343,10 +322,7 @@ class Lib {
|
|
343
322
|
return currentDir;
|
344
323
|
}
|
345
324
|
static async RunTaskWithTimeout(task, timeout) {
|
346
|
-
return Promise.race([
|
347
|
-
task(),
|
348
|
-
new Promise((_, reject) => setTimeout(() => reject(new Error("Task timed out")), timeout)),
|
349
|
-
]);
|
325
|
+
return Promise.race([task(), new Promise((_, reject) => setTimeout(() => reject(new Error("Task timed out")), timeout))]);
|
350
326
|
}
|
351
327
|
static GetFolderPath(folder) {
|
352
328
|
return path.join(this.GetProjectRoot(), folder);
|
@@ -356,9 +332,7 @@ class Lib {
|
|
356
332
|
}
|
357
333
|
static async CreateDirectory(folderToCreate) {
|
358
334
|
const directoryPath = Lib.GetFolderPath(folderToCreate);
|
359
|
-
await fs.promises
|
360
|
-
.access(directoryPath, fs.constants.F_OK)
|
361
|
-
.catch(async () => {
|
335
|
+
await fs.promises.access(directoryPath, fs.constants.F_OK).catch(async () => {
|
362
336
|
await fs.promises.mkdir(directoryPath, { recursive: true });
|
363
337
|
});
|
364
338
|
return directoryPath;
|
@@ -455,9 +429,7 @@ class Lib {
|
|
455
429
|
return { result, time: this.msToString(end - start) };
|
456
430
|
}
|
457
431
|
static ToCamelCase(str) {
|
458
|
-
return str
|
459
|
-
.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => index === 0 ? word.toLowerCase() : word.toUpperCase())
|
460
|
-
.replace(/\s+/g, "");
|
432
|
+
return str.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => (index === 0 ? word.toLowerCase() : word.toUpperCase())).replace(/\s+/g, "");
|
461
433
|
}
|
462
434
|
static ToSnakeCase(str) {
|
463
435
|
return str.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
|
package/dist/lib.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,mCAA+B;AAC/B,4DAAoC;AAGpC,MAAM,GAAG;IACA,MAAM,CAAC,GAAG,CAAC,GAAG,IAAS;QAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,MAAW,EAAE,IAAa;QAChD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,GAAG,IAAS;QAC7B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,mBAAmB,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,GAAG,IAAS;QAC7B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,OAAe;QACjD,OAAO,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,OAAe;QACjD,OAAO,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,KAAa;QAC7C,OAAO,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,gBAAwB;QACjD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,IAAmB,EACnB,SAAiB,kBAAkB,EACnC,QAAiB,KAAK;QAEtB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAEzC,IAAI,GAAuB,CAAC;YAC5B,IAAI,KAAyB,CAAC;YAC9B,IAAI,IAAwB,CAAC;YAC7B,IAAI,KAAK,GAAW,CAAC,CAAC;YACtB,IAAI,OAAO,GAAW,CAAC,CAAC;YAExB,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAClC,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,IAAI,CAAC;oBACV,KAAK,IAAI;wBACP,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrC,MAAM;oBACR,KAAK,IAAI;wBACP,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,wCAAwC;wBACpF,MAAM;oBACR,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM;wBACT,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;wBACtC,MAAM;oBACR,KAAK,IAAI,CAAC;oBACV,KAAK,IAAI;wBACP,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;wBACvC,MAAM;oBACR,KAAK,IAAI;wBACP,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;wBACzC,MAAM;gBACV,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,OAAO,CAAC;YACZ,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,CAAS,EAAE,CAAS;QACpD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,cAAc;QAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,MAAM,aAAa,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG;aACtE,QAAQ,EAAE;aACV,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO;aAClE,QAAQ,EAAE;aACV,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAE7D,OAAO,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,eAAuB,EACvB,kBAA2B,KAAK;QAEhC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,IAAmB,EAAE,MAAM,GAAG,YAAY;QACjE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CACpC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI;gBACP,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAE/C,IAAI,MAAM,GAAG,MAAM;iBAChB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;iBACtB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE1C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,SAAoC,EACpC,OAAkC,EAClC,SAAiB,YAAY;QAE7B,IACE,SAAS,KAAK,IAAI;YAClB,SAAS,KAAK,SAAS;YACvB,OAAO,KAAK,IAAI;YAChB,OAAO,KAAK,SAAS,EACrB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,sDAAsD;gBACpD,SAAS;gBACT,GAAG;gBACH,OAAO,CACV,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjE,MAAM,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC;QAC/B,MAAM,UAAU,GAAG,UAAU,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,UAAU,CACtB,IAAmB,EACnB,SAAiB,qBAAqB,EACtC,QAAiB,KAAK,EACtB,WAA2B;QAE3B,MAAM,gBAAgB,GAAG,CAAC,CAAO,EAAE,EAAE,CACnC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,gBAAgB,CAC1B,WAAW;YACT,CAAC,CAAC,OAAO,WAAW,KAAK,QAAQ;gBAC/B,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC;gBACvB,CAAC,CAAC,WAAW;YACf,CAAC,CAAC,IAAI,IAAI,EAAE,CACf,CAAC;QACF,MAAM,KAAK,GAAG,gBAAgB,CAC5B,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACjD,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YAChD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,cAAc,CAC1B,IAAmB,EACnB,IAAmB,EACnB,SAAiB,YAAY;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,eAAe,CAC3B,IAAmB,EACnB,YAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,IAAI,CACtB,OAAO,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;YAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,YAAY,CAClC,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAoB,EAAE;QACvC,MAAM,QAAQ,GAAG,sCAAsC,CAAC;QACxD,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAC9B,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YACtC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,qGAAqG;QACrG,OAAO,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,QAAkC,EAClC,KAAK,GAAG,GAAG;QAEX,IAAI,OAAc,CAAC;QACnB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;YACxB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,KAAU;QAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,KAAU;QAClC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,KAAU;QAClC,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,YAAY,GAAG,KAAK,CAAC;YACrB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC7C,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAU,EAAE,eAAwB,KAAK;QAC9D,OAAO,OAAO,KAAK,KAAK,QAAQ;YAC9B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,KAAU,EAAE,eAAwB,KAAK;QAC7D,OAAO,CACL,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO;YAC9B,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,YAAY,CAAC;YAChB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,QAAa;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,YAAI,CAAC,KAAK,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,QAAa;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,YAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,QAAa;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,YAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,QAAa;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,YAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,QAAa;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,YAAI,CAAC,QAAQ,CAAC;IAClD,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,QAAa;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,YAAI,CAAC,KAAK,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,QAAa;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,YAAI,CAAC,OAAO,CAAC;IACvD,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,KAAU,EAAE,QAAQ,GAAG,KAAK;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,OAAO,KAAK,CAAC;QACtB,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;aAAM,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC;QACjB,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,IACL,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB;YAC/C,OAAO,KAAK,KAAK,UAAU,EAC3B,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,cAAc,CAC1B,WAAmB,SAAS,EAC5B,gBAAwB,cAAc;QAEtC,IAAI,UAAU,GAAG,QAAQ,CAAC;QAE1B,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YACD,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,kBAAkB,CACpC,IAAyB,EACzB,OAAe;QAEf,OAAO,OAAO,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE;YACN,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACxB,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAC/D;SACF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,MAAc;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,MAAc,EAAE,IAAY;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,cAAsB;QACxD,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC,QAAQ;aACd,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;aACxC,KAAK,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACL,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,cAAsB;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,CAAC;QACvE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAU,CAC5B,UAAkB,EAClB,QAAgB,EAChB,OAAe;QAEf,MAAM,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,gBAAwB;QAC5C,OAAO,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,aAAqB;QACrD,OAAO,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAwB;QACrD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,MAAe,KAAK;QAC1C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;QACpD,IAAI,GAAG;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;QACzC,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,KAAa;QAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,EAAU;QACjC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,4BAA4B;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACvC,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,YAAoB;QAC5C,IAAI,MAAM,GAAW,YAAY,CAAC;QAClC,6DAA6D;QAC7D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,4CAA4C;QAC5C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACxB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,IAAI,CAChB,KAAa,EACb,QAAiB,IAAI,EACrB,gBAAwB,CAAC;QAEzB,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,IAAI,CAChB,KAAa,EACb,QAAiB,IAAI,EACrB,gBAAwB,CAAC;QAEzB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QAClD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,IAAO,EACP,UAAkB,CAAC,EACnB,GAAG,IAAmB;QAEtB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,CAAC;QAEZ,OAAO,QAAQ,GAAG,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,OAAO,GAAG,CAAC,CAAC;gBACZ,IAAI,QAAQ,IAAI,OAAO,IAAI,CAAC,mBAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,GAAG,CAAC,IAAI,CAAC,WAAW,QAAQ,wBAAwB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;oBAClE,IAAI,QAAQ,IAAI,CAAC;wBAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACrC,oHAAoH;oBACpH,oCAAoC;oBACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,CAAQ,EAAE,CAAQ;QACzC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,QAAgB;QAClD,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAItC,IAAO,EACP,GAAG,IAAmB;QAEtB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;IACxD,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,OAAO,GAAG;aACP,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC9C,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CACtD;aACA,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC;CACF;AAED,kBAAe,GAAG,CAAC;AAEnB,MAAa,KAAK;IACT,MAAM,CAAC,GAAG,CAAC,GAAG,IAAS;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YAAE,OAAO;QAClD,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,GAAG,IAAS;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YAAE,OAAO;QAClD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,MAAW,EAAE,IAAa;QAChD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YAAE,OAAO;QAClD,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF;AAfD,sBAeC"}
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
|
package/dist/router/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
export * from
|
2
|
-
export
|
3
|
-
export
|
4
|
-
export
|
5
|
-
export
|
1
|
+
export * from "./router.internal";
|
2
|
+
export { default as Router_internal } from "./router.internal";
|
3
|
+
export * from "./router";
|
4
|
+
export { default as Router } from "./router";
|
5
|
+
export * from "./routes";
|
package/dist/router/index.js
CHANGED
@@ -19,12 +19,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
19
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
20
20
|
};
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
22
|
-
exports.Router = exports.
|
23
|
-
__exportStar(require("./
|
24
|
-
|
25
|
-
|
26
|
-
Object.defineProperty(exports, "Route", { enumerable: true, get: function () { return __importDefault(route_1).default; } });
|
22
|
+
exports.Router = exports.Router_internal = void 0;
|
23
|
+
__exportStar(require("./router.internal"), exports);
|
24
|
+
var router_internal_1 = require("./router.internal");
|
25
|
+
Object.defineProperty(exports, "Router_internal", { enumerable: true, get: function () { return __importDefault(router_internal_1).default; } });
|
27
26
|
__exportStar(require("./router"), exports);
|
28
27
|
var router_1 = require("./router");
|
29
28
|
Object.defineProperty(exports, "Router", { enumerable: true, get: function () { return __importDefault(router_1).default; } });
|
29
|
+
__exportStar(require("./routes"), exports);
|
30
30
|
//# sourceMappingURL=index.js.map
|
package/dist/router/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,oDAAkC;AAClC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,2CAAyB;AACzB,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,2CAAyB"}
|
package/dist/router/router.d.ts
CHANGED
@@ -1,20 +1,15 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
findRoute(path: string, method: string): Route | undefined;
|
15
|
-
/**
|
16
|
-
* Handle a request by finding and executing the matching route
|
17
|
-
*/
|
18
|
-
handleRequest(req: any, res: any): Promise<any>;
|
1
|
+
import { Controller } from "./routes";
|
2
|
+
import Singleton from "../singleton";
|
3
|
+
export type Routes = {
|
4
|
+
[key: string]: new () => Controller;
|
5
|
+
};
|
6
|
+
declare class Router extends Singleton {
|
7
|
+
private internal;
|
8
|
+
constructor();
|
9
|
+
private setRoutes;
|
10
|
+
static Call<T>(request: Request): Promise<T>;
|
11
|
+
static SetRoutes(routes: Routes): void;
|
12
|
+
private static getMethodMap;
|
13
|
+
static GetQueryParams(request: Request): URLSearchParams;
|
19
14
|
}
|
20
15
|
export default Router;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import type { Routes } from "./router";
|
2
|
+
declare class Router_Internal {
|
3
|
+
private registry;
|
4
|
+
private routes;
|
5
|
+
post<T>(req: Request): Promise<T>;
|
6
|
+
get<T>(req: Request): Promise<T>;
|
7
|
+
private handleRequest;
|
8
|
+
private getPath;
|
9
|
+
private resolve;
|
10
|
+
private register;
|
11
|
+
setRoutes(routes: Routes): void;
|
12
|
+
private controllerFactory;
|
13
|
+
}
|
14
|
+
export default Router_Internal;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const errors_1 = require("../errors");
|
4
|
+
const __1 = require("..");
|
5
|
+
const lib_1 = require("../lib");
|
6
|
+
class Router_Internal {
|
7
|
+
constructor() {
|
8
|
+
this.registry = new Map();
|
9
|
+
this.routes = {};
|
10
|
+
}
|
11
|
+
async post(req) {
|
12
|
+
return await this.handleRequest(req);
|
13
|
+
}
|
14
|
+
async get(req) {
|
15
|
+
return await this.handleRequest(req);
|
16
|
+
}
|
17
|
+
async handleRequest(request) {
|
18
|
+
const path = this.getPath(request);
|
19
|
+
const output = await this.resolve(path).call(request);
|
20
|
+
return output;
|
21
|
+
}
|
22
|
+
getPath(request) {
|
23
|
+
return new URL(request.url).pathname;
|
24
|
+
}
|
25
|
+
resolve(path) {
|
26
|
+
const controllerKey = path.split("/")[1];
|
27
|
+
return this.register(controllerKey, () => this.controllerFactory(controllerKey));
|
28
|
+
}
|
29
|
+
register(controllerKey, factory) {
|
30
|
+
if (!this.registry.has(controllerKey)) {
|
31
|
+
this.registry.set(controllerKey, factory());
|
32
|
+
lib_1.Debug.Log(`Caching controller: /${controllerKey}`);
|
33
|
+
}
|
34
|
+
return this.registry.get(controllerKey);
|
35
|
+
}
|
36
|
+
setRoutes(routes) {
|
37
|
+
this.routes = routes;
|
38
|
+
}
|
39
|
+
controllerFactory(controllerKey) {
|
40
|
+
if (!(controllerKey in this.routes))
|
41
|
+
throw new __1.Throwable(`${errors_1.ERROR_CODE.INVALID_CONTROLLER}: ${controllerKey}`, { logError: false });
|
42
|
+
const ControllerClass = this.routes[controllerKey];
|
43
|
+
return new ControllerClass();
|
44
|
+
}
|
45
|
+
}
|
46
|
+
exports.default = Router_Internal;
|
47
|
+
//# sourceMappingURL=router.internal.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"router.internal.js","sourceRoot":"","sources":["../../src/router/router.internal.ts"],"names":[],"mappings":";;AAAA,sCAAuC;AACvC,0BAA+B;AAC/B,gCAA+B;AAI/B,MAAM,eAAe;IAArB;QACS,aAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;QACzC,WAAM,GAAW,EAAE,CAAC;IA4C7B,CAAC;IA1CA,KAAK,CAAC,IAAI,CAAI,GAAY;QACzB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAY;QACxB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,aAAa,CAAI,OAAgB;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,OAAO,CAAC,OAAgB;QAC/B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACtC,CAAC;IAEO,OAAO,CAAC,IAAY;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;IAClF,CAAC;IAEO,QAAQ,CAAC,aAAqB,EAAE,OAAyB;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,WAAK,CAAC,GAAG,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAe,CAAC;IACvD,CAAC;IAEM,SAAS,CAAC,MAAc;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEO,iBAAiB,CAAC,aAAqB;QAC9C,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,aAAS,CAAC,GAAG,mBAAU,CAAC,kBAAkB,KAAK,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpI,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAyC,CAAC,CAAC;QAE/E,OAAO,IAAI,eAAe,EAAE,CAAC;IAC9B,CAAC;CACD;AAED,kBAAe,eAAe,CAAC"}
|
package/dist/router/router.js
CHANGED
@@ -1,34 +1,42 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
6
|
+
const router_internal_1 = __importDefault(require("./router.internal"));
|
7
|
+
const errors_1 = require("../errors");
|
8
|
+
const guards_1 = __importDefault(require("../guards"));
|
9
|
+
const singleton_1 = __importDefault(require("../singleton"));
|
10
|
+
class Router extends singleton_1.default {
|
7
11
|
constructor() {
|
8
|
-
|
12
|
+
super();
|
13
|
+
this.internal = new router_internal_1.default();
|
9
14
|
}
|
10
|
-
|
11
|
-
|
12
|
-
*/
|
13
|
-
addRoute(route) {
|
14
|
-
this.routes.push(route);
|
15
|
-
return this;
|
15
|
+
setRoutes(routes) {
|
16
|
+
this.internal.setRoutes(routes);
|
16
17
|
}
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
static async Call(request) {
|
19
|
+
if (guards_1.default.IsNil(request))
|
20
|
+
throw errors_1.ERROR_CODE.NO_REQUEST;
|
21
|
+
const methods = this.getMethodMap();
|
22
|
+
const method = methods[request.method];
|
23
|
+
if (guards_1.default.IsNil(method))
|
24
|
+
throw errors_1.ERROR_CODE.INVALID_METHOD;
|
25
|
+
return await method(request);
|
22
26
|
}
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
const
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
27
|
+
static SetRoutes(routes) {
|
28
|
+
Router.GetInstance().setRoutes(routes);
|
29
|
+
}
|
30
|
+
static getMethodMap() {
|
31
|
+
const router = Router.GetInstance();
|
32
|
+
return {
|
33
|
+
GET: async (req) => await router.internal.get(req),
|
34
|
+
POST: async (req) => await router.internal.post(req),
|
35
|
+
};
|
36
|
+
}
|
37
|
+
static GetQueryParams(request) {
|
38
|
+
const url = new URL(request.url);
|
39
|
+
return url.searchParams;
|
32
40
|
}
|
33
41
|
}
|
34
42
|
exports.default = Router;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":";;;;;AACA,wEAAgD;AAChD,sCAAuC;AACvC,uDAA+B;AAC/B,6DAAqC;AAUrC,MAAM,MAAO,SAAQ,mBAAS;IAG7B;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAe,EAAE,CAAC;IACvC,CAAC;IAEO,SAAS,CAAC,MAAc;QAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAI,OAAgB;QAC3C,IAAI,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,MAAM,mBAAU,CAAC,UAAU,CAAC;QACvD,MAAM,OAAO,GAAiB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,mBAAU,CAAC,cAAc,CAAC;QAE1D,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,MAAc;QACrC,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,YAAY;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO;YACN,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAClD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SACpD,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,OAAgB;QAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC,YAAY,CAAC;IACzB,CAAC;CACD;AAED,kBAAe,MAAM,CAAC"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Controller = exports.routes = void 0;
|
4
|
+
exports.routes = {};
|
5
|
+
class Controller {
|
6
|
+
}
|
7
|
+
exports.Controller = Controller;
|
8
|
+
class MockController extends Controller {
|
9
|
+
}
|
10
|
+
//# sourceMappingURL=routes.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/router/routes.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAW,EAAE,CAAC;AAEjC,MAAa,UAAU;CAEtB;AAFD,gCAEC;AAED,MAAM,cAAe,SAAQ,UAAU;CAAG"}
|
package/dist/singleton.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"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"}
|
package/dist/throwable.js
CHANGED
@@ -23,11 +23,7 @@ class Throwable extends Error {
|
|
23
23
|
constructor(message, options = {}) {
|
24
24
|
const { logError = true, context } = options;
|
25
25
|
// Format the message appropriately based on type
|
26
|
-
const _message = guards_1.default.IsString(message)
|
27
|
-
? message
|
28
|
-
: message instanceof Error
|
29
|
-
? message.message
|
30
|
-
: JSON.stringify(message);
|
26
|
+
const _message = guards_1.default.IsString(message) ? message : message instanceof Error ? message.message : JSON.stringify(message);
|
31
27
|
super(_message);
|
32
28
|
/** Flag indicating this is a deliberate error that shouldn't be retried */
|
33
29
|
this.isDeliberate = true;
|
package/dist/throwable.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"throwable.js","sourceRoot":"","sources":["../src/throwable.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,gDAAwB;AAExB;;;;;;;;GAQG;AACH,MAAM,SAAU,SAAQ,KAAK;
|
1
|
+
{"version":3,"file":"throwable.js","sourceRoot":"","sources":["../src/throwable.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,gDAAwB;AAExB;;;;;;;;GAQG;AACH,MAAM,SAAU,SAAQ,KAAK;IAU5B;;;;OAIG;IACH,YACC,OAAgB,EAChB,UAKI,EAAE;QAEN,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE7C,iDAAiD;QACjD,MAAM,QAAQ,GAAG,gBAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE3H,KAAK,CAAC,QAAQ,CAAC,CAAC;QA5BjB,2EAA2E;QAC3D,iBAAY,GAAY,IAAI,CAAC;QA4B5C,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,6BAA6B;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,EAAE,CAAC;gBACb,aAAG,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACP,aAAG,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;QAED,8DAA8D;QAC9D,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC9B,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,CAAM;QACxB,OAAO,CAAC,YAAY,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,KAAc,EAAE,OAAiC;QAC5D,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;CACD;AAED,kBAAe,SAAS,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "topsyde-utils",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.3",
|
4
4
|
"description": "A bundle of TypeScript utility classes and functions",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
@@ -8,16 +8,16 @@
|
|
8
8
|
"dist"
|
9
9
|
],
|
10
10
|
"scripts": {
|
11
|
-
"build": "bun run tsc",
|
12
11
|
"clean": "rimraf dist",
|
13
|
-
"
|
14
|
-
"
|
15
|
-
"test": "bun test",
|
16
|
-
"lint": "eslint . --ext .ts",
|
17
|
-
"format": "prettier --write \"**/*.ts\"",
|
12
|
+
"format": "prettier --cache --write \"**/*.ts\"",
|
13
|
+
"lint": "eslint . --ext .ts --cache",
|
18
14
|
"generate-indexes": "./scripts/generate-indexes.sh",
|
19
|
-
"prebuild
|
20
|
-
"build
|
15
|
+
"prebuild": "bun run clean && bun run generate-indexes && bun run format",
|
16
|
+
"build": "bun run tsc",
|
17
|
+
"test": "bun test",
|
18
|
+
"prepublishOnly": "bun run build",
|
19
|
+
"prepare": "bun run build",
|
20
|
+
"release": "./scripts/release.sh"
|
21
21
|
},
|
22
22
|
"keywords": [
|
23
23
|
"typescript",
|
@@ -52,4 +52,4 @@
|
|
52
52
|
"engines": {
|
53
53
|
"node": ">=14.0.0"
|
54
54
|
}
|
55
|
-
}
|
55
|
+
}
|
package/dist/app.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,MAAe,EAAE,OAAqB,EAAgB,EAAE;IACrF,OAAO;QACN,MAAM,EAAE,MAAM,IAAI,GAAG;QACrB,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,8BAA8B,EAAE,oBAAoB;YACpD,8BAA8B,EAAE,6BAA6B;YAC7D,kCAAkC,EAAE,MAAM;SAC1C;KACD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEW,QAAA,uBAAuB,GAAG;IACtC,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,WAAW;IACT,MAAM,CAAC,QAAQ,CAAC,IAAS,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC5E,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,KAAK,CAAuC,KAAQ,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChF,CAAC;IAEM,MAAM,CAAC,KAAK,CAAuC,KAAQ,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;CACD;AAED,kBAAe,WAAW,CAAC"}
|
@@ -1,21 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Middleware function type
|
3
|
-
*/
|
4
|
-
export type MiddlewareFunction = (req: any, res: any, next: () => Promise<void>) => Promise<void>;
|
5
|
-
/**
|
6
|
-
* Apply a chain of middleware functions
|
7
|
-
*/
|
8
|
-
export declare const applyMiddleware: (req: any, res: any, middlewares: MiddlewareFunction[]) => Promise<void>;
|
9
|
-
/**
|
10
|
-
* Common middleware functions
|
11
|
-
*/
|
12
|
-
export declare const commonMiddleware: {
|
13
|
-
/**
|
14
|
-
* Log request details
|
15
|
-
*/
|
16
|
-
logger: (req: any, res: any, next: () => Promise<void>) => Promise<void>;
|
17
|
-
/**
|
18
|
-
* Add CORS headers
|
19
|
-
*/
|
20
|
-
cors: (req: any, res: any, next: () => Promise<void>) => Promise<void>;
|
21
|
-
};
|
@@ -1,47 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.commonMiddleware = exports.applyMiddleware = void 0;
|
4
|
-
/**
|
5
|
-
* Apply a chain of middleware functions
|
6
|
-
*/
|
7
|
-
const applyMiddleware = async (req, res, middlewares) => {
|
8
|
-
const executeMiddleware = async (index) => {
|
9
|
-
if (index >= middlewares.length) {
|
10
|
-
return;
|
11
|
-
}
|
12
|
-
const middleware = middlewares[index];
|
13
|
-
await middleware(req, res, async () => {
|
14
|
-
await executeMiddleware(index + 1);
|
15
|
-
});
|
16
|
-
};
|
17
|
-
await executeMiddleware(0);
|
18
|
-
};
|
19
|
-
exports.applyMiddleware = applyMiddleware;
|
20
|
-
/**
|
21
|
-
* Common middleware functions
|
22
|
-
*/
|
23
|
-
exports.commonMiddleware = {
|
24
|
-
/**
|
25
|
-
* Log request details
|
26
|
-
*/
|
27
|
-
logger: async (req, res, next) => {
|
28
|
-
console.log(`${req.method} ${req.path}`);
|
29
|
-
const start = Date.now();
|
30
|
-
await next();
|
31
|
-
const duration = Date.now() - start;
|
32
|
-
console.log(`${req.method} ${req.path} completed in ${duration}ms`);
|
33
|
-
},
|
34
|
-
/**
|
35
|
-
* Add CORS headers
|
36
|
-
*/
|
37
|
-
cors: async (req, res, next) => {
|
38
|
-
res.headers = {
|
39
|
-
...res.headers,
|
40
|
-
'Access-Control-Allow-Origin': '*',
|
41
|
-
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
|
42
|
-
'Access-Control-Allow-Headers': 'Content-Type, Authorization',
|
43
|
-
};
|
44
|
-
await next();
|
45
|
-
}
|
46
|
-
};
|
47
|
-
//# sourceMappingURL=middleware.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/router/middleware.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACI,MAAM,eAAe,GAAG,KAAK,EAClC,GAAQ,EACR,GAAQ,EACR,WAAiC,EAClB,EAAE;IACjB,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;QAC/D,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC;AAjBW,QAAA,eAAe,mBAiB1B;AAEF;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B;;OAEG;IACH,MAAM,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAyB,EAAiB,EAAE;QAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,iBAAiB,QAAQ,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,IAAI,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAyB,EAAiB,EAAE;QAC3E,GAAG,CAAC,OAAO,GAAG;YACZ,GAAG,GAAG,CAAC,OAAO;YACd,6BAA6B,EAAE,GAAG;YAClC,8BAA8B,EAAE,iCAAiC;YACjE,8BAA8B,EAAE,6BAA6B;SAC9D,CAAC;QACF,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;CACF,CAAC"}
|
package/dist/router/route.d.ts
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Represents a route in the application
|
3
|
-
*/
|
4
|
-
export declare class Route {
|
5
|
-
readonly path: string;
|
6
|
-
readonly method: string;
|
7
|
-
readonly handler: (req: any, res: any) => Promise<any>;
|
8
|
-
constructor(path: string, method: string, handler: (req: any, res: any) => Promise<any>);
|
9
|
-
/**
|
10
|
-
* Check if this route matches the given path and method
|
11
|
-
*/
|
12
|
-
matches(path: string, method: string): boolean;
|
13
|
-
}
|
14
|
-
export default Route;
|
package/dist/router/route.js
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.Route = void 0;
|
4
|
-
/**
|
5
|
-
* Represents a route in the application
|
6
|
-
*/
|
7
|
-
class Route {
|
8
|
-
constructor(path, method, handler) {
|
9
|
-
this.path = path;
|
10
|
-
this.method = method;
|
11
|
-
this.handler = handler;
|
12
|
-
}
|
13
|
-
/**
|
14
|
-
* Check if this route matches the given path and method
|
15
|
-
*/
|
16
|
-
matches(path, method) {
|
17
|
-
return this.path === path && this.method === method;
|
18
|
-
}
|
19
|
-
}
|
20
|
-
exports.Route = Route;
|
21
|
-
exports.default = Route;
|
22
|
-
//# sourceMappingURL=route.js.map
|
package/dist/router/route.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/router/route.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,KAAK;IAChB,YACkB,IAAY,EACZ,MAAc,EACd,OAA6C;QAF7C,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAsC;IAC5D,CAAC;IAEJ;;OAEG;IACI,OAAO,CAAC,IAAY,EAAE,MAAc;QACzC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IACtD,CAAC;CACF;AAbD,sBAaC;AAED,kBAAe,KAAK,CAAC"}
|
File without changes
|