tsdkarc 1.0.0 → 1.0.1
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 +3 -3
- package/esm/index.d.ts +3 -0
- package/esm/index.js +15 -3
- package/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +15 -3
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# <a href="https://arc.tsdk.dev" align="center"><img src="./assets/logo.jpg" align="center" width="30px" height="30px" style="border-radius: 4px;margin-right:4px;" alt="TsdkArc: the Elegant, fully type-safe module
|
|
1
|
+
# <a href="https://arc.tsdk.dev" align="center"><img src="./assets/logo.jpg" align="center" width="30px" height="30px" style="border-radius: 4px;margin-right:4px;" alt="TsdkArc: the Elegant, fully type-safe composable module library" /></a> TsdkArc
|
|
2
2
|
|
|
3
3
|
<a href="https://arc.tsdk.dev">
|
|
4
|
-
<img src="./assets/banner.jpg" width="100%" style="border-radius: 24px" alt="TsdkArc: the Elegant, fully type-safe module
|
|
4
|
+
<img src="./assets/banner.jpg" width="100%" style="border-radius: 24px" alt="TsdkArc: the Elegant, fully type-safe composable module library" /></a>
|
|
5
5
|
|
|
6
|
-
<div align="center">The Elegant, Fully Type-safe Module
|
|
6
|
+
<div align="center">The Elegant, Fully Type-safe Composable Module Library.
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
9
|
---
|
package/esm/index.d.ts
CHANGED
|
@@ -75,6 +75,9 @@ export interface LifecycleHooks<S extends object = Record<never, never>> {
|
|
|
75
75
|
afterEachShutdown?(ctx: ContextWriter<S>,
|
|
76
76
|
/** The module that just finished shutting down. */
|
|
77
77
|
module: Module<any>): Promise<void> | void;
|
|
78
|
+
onError?(error: Error, ctx: ContextWriter<S>,
|
|
79
|
+
/** The module that just finished shutting down. */
|
|
80
|
+
module: Module<any>): Promise<void> | void;
|
|
78
81
|
}
|
|
79
82
|
/**
|
|
80
83
|
* Module<S, Sl>
|
package/esm/index.js
CHANGED
|
@@ -74,7 +74,7 @@ export function defineModule() {
|
|
|
74
74
|
export default function start(roots_1) {
|
|
75
75
|
return __awaiter(this, arguments, void 0, function* (roots, options = {}) {
|
|
76
76
|
var _a, _b, _c;
|
|
77
|
-
const { beforeBoot, afterBoot, beforeShutdown, afterShutdown, beforeEachBoot, afterEachBoot, beforeEachShutdown, afterEachShutdown, } = options;
|
|
77
|
+
const { beforeBoot, afterBoot, beforeShutdown, afterShutdown, beforeEachBoot, afterEachBoot, beforeEachShutdown, afterEachShutdown, onError, } = options;
|
|
78
78
|
const ctx = {};
|
|
79
79
|
const writer = makeWriter(ctx);
|
|
80
80
|
const modWriter = writer;
|
|
@@ -97,7 +97,13 @@ export default function start(roots_1) {
|
|
|
97
97
|
yield ((_c = mod.afterShutdown) === null || _c === void 0 ? void 0 : _c.call(mod, modWriter));
|
|
98
98
|
}
|
|
99
99
|
catch (err) {
|
|
100
|
-
|
|
100
|
+
const error = new Error(`Module "${mod.name}" stop failed: ${errorMessage(err)}`);
|
|
101
|
+
if (onError) {
|
|
102
|
+
yield (onError === null || onError === void 0 ? void 0 : onError(error, writer, mod));
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
throw error;
|
|
106
|
+
}
|
|
101
107
|
}
|
|
102
108
|
}
|
|
103
109
|
yield (afterShutdown === null || afterShutdown === void 0 ? void 0 : afterShutdown(writer));
|
|
@@ -116,7 +122,13 @@ export default function start(roots_1) {
|
|
|
116
122
|
catch (err) {
|
|
117
123
|
stopped = true;
|
|
118
124
|
yield rollback(booted, modWriter);
|
|
119
|
-
|
|
125
|
+
const error = new Error(`Module "${mod.name}" boot failed: ${errorMessage(err)}`);
|
|
126
|
+
if (onError) {
|
|
127
|
+
yield (onError === null || onError === void 0 ? void 0 : onError(error, writer, mod));
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
120
132
|
}
|
|
121
133
|
}
|
|
122
134
|
yield (afterBoot === null || afterBoot === void 0 ? void 0 : afterBoot(writer));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/index.ts","../node_modules/@types/deep-eql/index.d.ts","../node_modules/assertion-error/index.d.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@types/estree/index.d.ts"],"fileIdsList":[[16,17]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"
|
|
1
|
+
{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/index.ts","../node_modules/@types/deep-eql/index.d.ts","../node_modules/assertion-error/index.d.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@types/estree/index.d.ts"],"fileIdsList":[[16,17]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"8c889829892f006580f4127d8aca6046c7902c4d55e8caefb7e885da10847f39","signature":"02a34f653ee8320a827383436b9bdfbc07b00f901b0894fbfda47a3fc85286f2"},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1}],"root":[15],"options":{"declaration":true,"downlevelIteration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":5,"noImplicitAny":true,"outDir":"./","skipLibCheck":true,"strict":true,"strictPropertyInitialization":false,"target":2},"referencedMap":[[18,1]],"version":"5.9.3"}
|
package/lib/index.d.ts
CHANGED
|
@@ -75,6 +75,9 @@ export interface LifecycleHooks<S extends object = Record<never, never>> {
|
|
|
75
75
|
afterEachShutdown?(ctx: ContextWriter<S>,
|
|
76
76
|
/** The module that just finished shutting down. */
|
|
77
77
|
module: Module<any>): Promise<void> | void;
|
|
78
|
+
onError?(error: Error, ctx: ContextWriter<S>,
|
|
79
|
+
/** The module that just finished shutting down. */
|
|
80
|
+
module: Module<any>): Promise<void> | void;
|
|
78
81
|
}
|
|
79
82
|
/**
|
|
80
83
|
* Module<S, Sl>
|
package/lib/index.js
CHANGED
|
@@ -81,7 +81,7 @@ function defineModule() {
|
|
|
81
81
|
function start(roots_1) {
|
|
82
82
|
return __awaiter(this, arguments, void 0, function* (roots, options = {}) {
|
|
83
83
|
var _a, _b, _c;
|
|
84
|
-
const { beforeBoot, afterBoot, beforeShutdown, afterShutdown, beforeEachBoot, afterEachBoot, beforeEachShutdown, afterEachShutdown, } = options;
|
|
84
|
+
const { beforeBoot, afterBoot, beforeShutdown, afterShutdown, beforeEachBoot, afterEachBoot, beforeEachShutdown, afterEachShutdown, onError, } = options;
|
|
85
85
|
const ctx = {};
|
|
86
86
|
const writer = makeWriter(ctx);
|
|
87
87
|
const modWriter = writer;
|
|
@@ -104,7 +104,13 @@ function start(roots_1) {
|
|
|
104
104
|
yield ((_c = mod.afterShutdown) === null || _c === void 0 ? void 0 : _c.call(mod, modWriter));
|
|
105
105
|
}
|
|
106
106
|
catch (err) {
|
|
107
|
-
|
|
107
|
+
const error = new Error(`Module "${mod.name}" stop failed: ${errorMessage(err)}`);
|
|
108
|
+
if (onError) {
|
|
109
|
+
yield (onError === null || onError === void 0 ? void 0 : onError(error, writer, mod));
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
108
114
|
}
|
|
109
115
|
}
|
|
110
116
|
yield (afterShutdown === null || afterShutdown === void 0 ? void 0 : afterShutdown(writer));
|
|
@@ -123,7 +129,13 @@ function start(roots_1) {
|
|
|
123
129
|
catch (err) {
|
|
124
130
|
stopped = true;
|
|
125
131
|
yield rollback(booted, modWriter);
|
|
126
|
-
|
|
132
|
+
const error = new Error(`Module "${mod.name}" boot failed: ${errorMessage(err)}`);
|
|
133
|
+
if (onError) {
|
|
134
|
+
yield (onError === null || onError === void 0 ? void 0 : onError(error, writer, mod));
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
127
139
|
}
|
|
128
140
|
}
|
|
129
141
|
yield (afterBoot === null || afterBoot === void 0 ? void 0 : afterBoot(writer));
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tsdkarc",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Elegant and Fully type-safe module
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Elegant and Fully type-safe composable module library",
|
|
5
5
|
"repository": "tsdk-monorepo/tsdkarc",
|
|
6
6
|
"bugs": "https://github.com/tsdk-monorepo/tsdkarc/issues",
|
|
7
|
-
"homepage": "https://
|
|
7
|
+
"homepage": "https://arc.tsdk.dev",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"module": "esm/index.js",
|
|
10
10
|
"types": "./lib/index.d.ts",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"keywords": [
|
|
18
18
|
"typesafe",
|
|
19
19
|
"tsdk",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
20
|
+
"composable module",
|
|
21
|
+
"dependency injection"
|
|
22
22
|
],
|
|
23
23
|
"license": "MIT"
|
|
24
24
|
}
|