@lionweb/delta-protocol-test-cli 0.0.1-alpha.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shapes.g.js","sourceRoot":"","sources":["../../src/gen/Shapes.g.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./gen/Shapes.g.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,cAAc,mBAAmB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ // Copyright 2025 TRUMPF Laser SE and other contributors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License")
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+ // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
+ // SPDX-License-Identifier: Apache-2.0
17
+ export * from "./gen/Shapes.g.js";
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { INodeBase } from "@lionweb/class-core";
2
+ import { LionWebClient } from "@lionweb/delta-protocol-impl";
3
+ import { ISemanticLogItem } from "@lionweb/delta-protocol-impl/dist/semantic-logging.js";
4
+ export declare const recognizedTasks: Record<string, boolean>;
5
+ export declare const taskExecutor: (lionWebClient: LionWebClient, partition: INodeBase, semanticLogItems: ISemanticLogItem[]) => (task: string, queryId: string) => Promise<void>;
6
+ //# sourceMappingURL=tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,uDAAuD,CAAA;AAoB5G,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmCnD,CAAA;AAOD,eAAO,MAAM,YAAY,kBAAmB,aAAa,aAAa,SAAS,oBAAoB,gBAAgB,EAAE,YAoB7F,MAAM,WAAW,MAAM,kBAkH9C,CAAA"}
package/dist/tasks.js ADDED
@@ -0,0 +1,193 @@
1
+ // Copyright 2025 TRUMPF Laser SE and other contributors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License")
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+ // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
+ // SPDX-License-Identifier: Apache-2.0
17
+ import { ClientAppliedEvent } from "@lionweb/delta-protocol-impl/dist/semantic-logging.js";
18
+ import { withStylesApplied } from "@lionweb/delta-protocol-impl/dist/utils/ansi.js";
19
+ import { waitUntil } from "@lionweb/delta-protocol-impl/dist/utils/async.js";
20
+ import { ShapesBase } from "./gen/Shapes.g.js";
21
+ import { TestLanguageBase } from "@lionweb/class-core-test/dist/gen/TestLanguage.g.js";
22
+ const lastOf = (ts) => {
23
+ if (ts.length === 0) {
24
+ throw new Error(`empty array doesn't have a last element`);
25
+ }
26
+ return ts[ts.length - 1];
27
+ };
28
+ export const recognizedTasks = {
29
+ "SignOn": true,
30
+ "SignOff": true,
31
+ "Wait": true,
32
+ "AddDocs": true,
33
+ "SetDocsText": true,
34
+ "AddStringValue_0_1": true,
35
+ "SetStringValue_0_1": true,
36
+ "DeleteStringValue_0_1": true,
37
+ "AddAnnotation": true,
38
+ "AddAnnotations": true,
39
+ "AddAnnotation_to_Containment_0_1": true,
40
+ "DeleteAnnotation": true,
41
+ "MoveAnnotationInSameParent": true,
42
+ "MoveAnnotationFromOtherParent": true,
43
+ "AddReference_0_1_to_Containment_0_1": true,
44
+ "AddReference_0_1_to_Containment_1": true,
45
+ "DeleteReference_0_1": true,
46
+ "AddContainment_0_1": true,
47
+ "AddContainment_1": true,
48
+ "ReplaceContainment_0_1": true,
49
+ "DeleteContainment_0_1": true,
50
+ "AddContainment_0_1_Containment_0_1": true,
51
+ "AddContainment_1_Containment_0_1": true,
52
+ "AddContainment_0_n": true,
53
+ "AddContainment_1_n": true,
54
+ "MoveAndReplaceChildFromOtherContainment_Single": true,
55
+ "MoveAndReplaceChildFromOtherContainmentInSameParent_Single": true,
56
+ "MoveAndReplaceChildFromOtherContainment_Multiple": true,
57
+ "MoveChildInSameContainment": true,
58
+ "MoveChildFromOtherContainment_Single": true,
59
+ "MoveChildFromOtherContainment_Multiple": true,
60
+ "MoveChildFromOtherContainmentInSameParent_Single": true,
61
+ "MoveChildFromOtherContainmentInSameParent_Multiple": true,
62
+ "AddPartition": true
63
+ };
64
+ const shapesLanguageBase = ShapesBase.INSTANCE;
65
+ const testLanguageBase = TestLanguageBase.INSTANCE;
66
+ export const taskExecutor = (lionWebClient, partition, semanticLogItems) => {
67
+ const numberOfAppliedEvents = () => semanticLogItems.filter((item) => item instanceof ClientAppliedEvent).length;
68
+ const waitForReceived = async (delta) => {
69
+ const expectedNumber = numberOfAppliedEvents() + delta; // (precompute here)
70
+ return waitUntil(10, () => numberOfAppliedEvents() >= expectedNumber)
71
+ .then(() => {
72
+ console.log(withStylesApplied("italic")(`(client applied (the deltas from) a total of ${numberOfAppliedEvents()} events so far)`));
73
+ });
74
+ };
75
+ const annotation = (id) => lionWebClient.factory(testLanguageBase.TestAnnotation, id);
76
+ const linkTestConcept = (id) => id === undefined
77
+ ? partition
78
+ : lionWebClient.factory(testLanguageBase.LinkTestConcept, id);
79
+ return async (task, queryId) => {
80
+ switch (task) {
81
+ case "SignOn":
82
+ return await lionWebClient.signOn(queryId);
83
+ case "SignOff":
84
+ return await lionWebClient.signOff(queryId);
85
+ case "Wait": {
86
+ return waitForReceived(1);
87
+ }
88
+ case "AddDocs": {
89
+ partition.documentation = lionWebClient.factory(shapesLanguageBase.Documentation, "documentation");
90
+ return waitForReceived(1);
91
+ }
92
+ case "SetDocsText": {
93
+ partition.documentation.text = "hello there";
94
+ return waitForReceived(1);
95
+ }
96
+ case "AddStringValue_0_1":
97
+ partition.stringValue_0_1 = "new property";
98
+ return waitForReceived(1);
99
+ case "SetStringValue_0_1":
100
+ partition.stringValue_0_1 = "changed property";
101
+ return waitForReceived(1);
102
+ case "DeleteStringValue_0_1":
103
+ partition.stringValue_0_1 = undefined;
104
+ return waitForReceived(1);
105
+ case "AddAnnotation":
106
+ linkTestConcept().addAnnotation(annotation("annotation"));
107
+ return waitForReceived(1);
108
+ case "AddAnnotations":
109
+ linkTestConcept().addAnnotation(annotation("annotation0")); // (keep ;!)
110
+ linkTestConcept().addAnnotation(annotation("annotation1"));
111
+ return waitForReceived(2);
112
+ case "AddAnnotation_to_Containment_0_1":
113
+ linkTestConcept().containment_0_1.addAnnotation(annotation("annotation"));
114
+ return waitForReceived(1);
115
+ case "DeleteAnnotation":
116
+ linkTestConcept().removeAnnotation(linkTestConcept().annotations[0]);
117
+ return waitForReceived(1);
118
+ case "MoveAnnotationInSameParent":
119
+ linkTestConcept().insertAnnotationAtIndex(lastOf(linkTestConcept().annotations), 0);
120
+ return waitForReceived(1);
121
+ case "MoveAnnotationFromOtherParent":
122
+ linkTestConcept().addAnnotation(linkTestConcept().containment_0_1.annotations[0]);
123
+ return waitForReceived(1);
124
+ case "AddReference_0_1_to_Containment_0_1":
125
+ linkTestConcept().reference_0_1 = linkTestConcept().containment_0_1;
126
+ return waitForReceived(1);
127
+ case "AddReference_0_1_to_Containment_1":
128
+ linkTestConcept().reference_0_1 = linkTestConcept().containment_1;
129
+ return waitForReceived(1);
130
+ case "DeleteReference_0_1":
131
+ linkTestConcept().reference_0_1 = undefined;
132
+ return waitForReceived(1);
133
+ case "AddContainment_0_1":
134
+ linkTestConcept().containment_0_1 = linkTestConcept("containment_0_1");
135
+ return waitForReceived(1);
136
+ case "AddContainment_1":
137
+ linkTestConcept().containment_1 = linkTestConcept("containment_1");
138
+ return waitForReceived(1);
139
+ case "ReplaceContainment_0_1":
140
+ linkTestConcept().containment_0_1 = linkTestConcept("substitute");
141
+ return waitForReceived(1);
142
+ case "DeleteContainment_0_1":
143
+ linkTestConcept().containment_0_1 = undefined;
144
+ return waitForReceived(1);
145
+ case "AddContainment_0_1_Containment_0_1":
146
+ linkTestConcept().containment_0_1.containment_0_1 = linkTestConcept("containment_0_1_containment_0_1");
147
+ return waitForReceived(1);
148
+ case "AddContainment_1_Containment_0_1":
149
+ linkTestConcept().containment_1.containment_0_1 = linkTestConcept("containment_1_containment_0_1");
150
+ return waitForReceived(1);
151
+ case "AddContainment_0_n":
152
+ linkTestConcept().addContainment_0_n(linkTestConcept("containment_0_n_child0")); // (keep ;!)
153
+ linkTestConcept().addContainment_0_n(linkTestConcept("containment_0_n_child1"));
154
+ return waitForReceived(2);
155
+ case "AddContainment_1_n":
156
+ linkTestConcept().addContainment_1_n(linkTestConcept("containment_1_n_child0")); // (keep ;!)
157
+ linkTestConcept().addContainment_1_n(linkTestConcept("containment_1_n_child1"));
158
+ return waitForReceived(2);
159
+ case "MoveAndReplaceChildFromOtherContainment_Single":
160
+ linkTestConcept().containment_1.replaceContainment_0_1With(linkTestConcept().containment_0_1.containment_0_1);
161
+ return waitForReceived(1);
162
+ case "MoveAndReplaceChildFromOtherContainmentInSameParent_Single":
163
+ linkTestConcept().replaceContainment_1With(linkTestConcept().containment_0_1);
164
+ return waitForReceived(1);
165
+ case "MoveAndReplaceChildFromOtherContainment_Multiple":
166
+ linkTestConcept().replaceContainment_1_nAtIndex(lastOf(linkTestConcept().containment_0_n), linkTestConcept().containment_1_n.length - 1);
167
+ return waitForReceived(1);
168
+ case "MoveChildInSameContainment":
169
+ linkTestConcept().addContainment_0_nAtIndex(lastOf(linkTestConcept().containment_0_n), 0);
170
+ return waitForReceived(1);
171
+ case "MoveChildFromOtherContainment_Single":
172
+ linkTestConcept().containment_1 = linkTestConcept().containment_0_1.containment_0_1;
173
+ return waitForReceived(1);
174
+ case "MoveChildFromOtherContainment_Multiple":
175
+ linkTestConcept().addContainment_1_nAtIndex(lastOf(linkTestConcept().containment_0_n).containment_0_n[0], 1);
176
+ return waitForReceived(1);
177
+ case "MoveChildFromOtherContainmentInSameParent_Single":
178
+ linkTestConcept().containment_1 = linkTestConcept().containment_0_1;
179
+ return waitForReceived(1);
180
+ case "MoveChildFromOtherContainmentInSameParent_Multiple":
181
+ linkTestConcept().addContainment_1_nAtIndex(lastOf(linkTestConcept().containment_0_n), 1);
182
+ return waitForReceived(1);
183
+ case "AddPartition":
184
+ lionWebClient.addPartition(linkTestConcept("partition"));
185
+ return waitForReceived(1);
186
+ default: {
187
+ console.log(withStylesApplied("italic", "red")(`task "${task}" is unknown => ignored`));
188
+ return Promise.resolve();
189
+ }
190
+ }
191
+ };
192
+ };
193
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@lionweb/delta-protocol-test-cli",
3
+ "version": "0.0.1-alpha.0",
4
+ "description": "CLI programs for testing the delta protocol",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "typings": "dist/index.d.ts",
8
+ "type": "module",
9
+ "license": "Apache-2.0",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/LionWeb-io/lionweb-typescript.git"
13
+ },
14
+ "bugs": {
15
+ "url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
16
+ },
17
+ "bin": {
18
+ "cli-client": "./dist/cli-client.js",
19
+ "cli-repository": "./dist/cli-repository.js"
20
+ },
21
+ "scripts": {
22
+ "clean": "npx rimraf dist node_modules delta-protocol-test-cli-*.tgz",
23
+ "build": "tsc",
24
+ "lint": "eslint src",
25
+ "start-client": "npm run build && node --trace-uncaught dist/cli-client.js 40000 client-A LinkTestConcept Bogus,SignOn,AddDocs,SetDocs,SignOff,Wait",
26
+ "start-repository": "npm run build && node --trace-uncaught dist/cli-repository.js 40000",
27
+ "prep:pre-release": "npm run clean && npm install && npm run build",
28
+ "prerelease-alpha": "npm run prep:pre-release",
29
+ "release-alpha": "npm publish --tag alpha",
30
+ "prerelease-beta": "npm run prep:pre-release",
31
+ "release-beta": "npm publish --tag beta",
32
+ "prerelease": "npm run prep:pre-release",
33
+ "release": "npm publish"
34
+ },
35
+ "dependencies": {
36
+ "@lionweb/delta-protocol-impl": "0.0.1-alpha.0"
37
+ }
38
+ }
@@ -0,0 +1,96 @@
1
+ // Copyright 2025 TRUMPF Laser SE and other contributors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License")
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+ // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
+ // SPDX-License-Identifier: Apache-2.0
17
+
18
+ import { argv, exit } from "process"
19
+ import { Concept } from "@lionweb/core"
20
+ import { LionWebClient, wsLocalhostUrl } from "@lionweb/delta-protocol-impl"
21
+ import { runAsApp, tryParseInteger } from "./common.js"
22
+ import { recognizedTasks, taskExecutor } from "./tasks.js"
23
+ import { clientInfo, withStylesApplied } from "@lionweb/delta-protocol-impl/dist/utils/ansi.js"
24
+ import { combine } from "@lionweb/delta-protocol-impl/dist/utils/procedure.js"
25
+ import { ShapesBase } from "./gen/Shapes.g.js"
26
+ import { TestLanguageBase } from "@lionweb/class-core-test/dist/gen/TestLanguage.g.js"
27
+ import { semanticConsoleLogger, semanticLogItemStorer } from "@lionweb/delta-protocol-impl/dist/semantic-logging.js"
28
+
29
+ const shapesLanguageBase = ShapesBase.INSTANCE
30
+ const testLanguageBase = TestLanguageBase.INSTANCE
31
+ const languageBases = [shapesLanguageBase, testLanguageBase]
32
+
33
+ const boldRedIf = (apply: boolean, text: string) =>
34
+ apply ? withStylesApplied("bold", "red")(text) : text
35
+
36
+ const partitionConcepts: Record<string, Concept> = Object.fromEntries(
37
+ [testLanguageBase.DataTypeTestConcept, shapesLanguageBase.Geometry, testLanguageBase.LinkTestConcept]
38
+ .map((concept) => [concept.name, concept])
39
+ )
40
+
41
+ if (argv.length < 5) { // $ node dist/cli-client.js <port> <clientID> <partitionConcept> [tasks]
42
+ console.log(
43
+ `A Node.js-based app that implements a LionWeb delta protocol client.
44
+
45
+ Parameters (${boldRedIf(true, "bold red")} are missing):
46
+ - ${boldRedIf(argv.length < 3, `<port>: the port of the WebSocket where the LionWeb delta protocol repository is running on localhost`)}
47
+ - ${boldRedIf(argv.length < 4, `<clientID>: the ID that the client identifies itself with at the repository`)}
48
+ - ${boldRedIf(argv.length < 5, `<partitionConcept>: the name of a partition concept that gets instantiated as the model's primary partition — one of: ${Object.keys(partitionConcepts).join(", ")}`)}
49
+ - ${boldRedIf(argv.length < 6, `[tasks]: a comma-separated list of tasks — one of ${Object.keys(recognizedTasks).sort().join(", ")}`)}
50
+
51
+ ASSUMPTION: the initial (states of the models) on client(s) and repository are identical!
52
+ `)
53
+ exit(2)
54
+ }
55
+
56
+ const port = tryParseInteger(argv[2])
57
+ const clientId = argv[3]
58
+ const partitionConcept = argv[4]
59
+ if (!(partitionConcept in partitionConcepts)) {
60
+ console.log(boldRedIf(true, `unknown partition concept specified: ${partitionConcept} — must be one of: ${Object.keys(partitionConcepts).join(", ")}`))
61
+ exit(2)
62
+ }
63
+ const tasks = argv[5]?.split(",") ?? [] // unknown tasks will be ignored
64
+ console.log(clientInfo(`tasks provided: ${tasks.length === 0 ? "none" : tasks.join(", ")}`))
65
+
66
+ await runAsApp(async () => {
67
+ const url = wsLocalhostUrl(port)
68
+
69
+ const [storingLogger, semanticLogItems] = semanticLogItemStorer()
70
+
71
+ const lionWebClient = await LionWebClient.create({
72
+ clientId,
73
+ url,
74
+ languageBases,
75
+ semanticLogger: combine(semanticConsoleLogger, storingLogger)
76
+ })
77
+
78
+ console.log(clientInfo(`LionWeb delta protocol client (with ID=${clientId}) connecting to repository on ${url} - press Ctrl+C to terminate`))
79
+
80
+ const partition = lionWebClient.factory(partitionConcepts[partitionConcept], "a")
81
+ lionWebClient.setModel([partition])
82
+
83
+ const executeTask = taskExecutor(lionWebClient, partition, semanticLogItems)
84
+
85
+ let querySequenceNumber = 0
86
+ const queryId = () => `query-${++querySequenceNumber}`
87
+
88
+ for (const task of tasks) {
89
+ await executeTask(task, queryId())
90
+ }
91
+
92
+ return () => {
93
+ return lionWebClient.disconnect()
94
+ }
95
+ })
96
+
@@ -0,0 +1,50 @@
1
+ // Copyright 2025 TRUMPF Laser SE and other contributors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License")
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+ // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
+ // SPDX-License-Identifier: Apache-2.0
17
+
18
+ import { LionWebRepository } from "@lionweb/delta-protocol-impl"
19
+ import { argv, exit } from "process"
20
+ import { runAsApp, tryParseInteger } from "./common.js"
21
+ import { semanticConsoleLogger } from "@lionweb/delta-protocol-impl/dist/semantic-logging.js"
22
+ import { repositoryInfo } from "@lionweb/delta-protocol-impl/dist/utils/ansi.js"
23
+
24
+ if (argv.length < 3) { // $ node dist/cli-repository.js <port>
25
+ console.log(
26
+ `A Node.js-based app that “implements” a LionWeb delta protocol repository
27
+ that just turns any incoming command into the “obvious” event, without validation, etc.
28
+
29
+ Parameter (missing):
30
+ - <port>: the number of the WebSocket port where the LionWeb delta protocol repository is going to run
31
+
32
+ `)
33
+ exit(2)
34
+ }
35
+
36
+ const port = tryParseInteger(argv[2])
37
+
38
+ await runAsApp(async () => {
39
+ const lionWebRepository = await LionWebRepository.setUp({
40
+ port,
41
+ semanticLogger: semanticConsoleLogger
42
+ })
43
+
44
+ console.log(repositoryInfo(`LionWeb delta protocol repository running on port ${port} - press Ctrl+C to terminate`))
45
+
46
+ return () => {
47
+ return lionWebRepository.shutdown()
48
+ }
49
+ })
50
+
package/src/common.ts ADDED
@@ -0,0 +1,48 @@
1
+ // Copyright 2025 TRUMPF Laser SE and other contributors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License")
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+ // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
+ // SPDX-License-Identifier: Apache-2.0
17
+
18
+ import { clearInterval } from "timers"
19
+ import { exit } from "process"
20
+
21
+ /**
22
+ * Runs the given asynchronous thunk as an application.
23
+ * @param startReturningShutdown an asynchronous thunk that returns an asynchronous function that shuts down the app.
24
+ */
25
+ export const runAsApp = async (startReturningShutdown: () => Promise<() => Promise<void>>) => {
26
+ const intervalID = setInterval(() => {}, 1 << 25) // =9h19m14s432ms
27
+
28
+ const shutDownHandler = async () => {
29
+ clearInterval(intervalID)
30
+ await shutdown()
31
+ exit(0)
32
+ }
33
+
34
+ const shutdown = await startReturningShutdown()
35
+
36
+ process.on("SIGTERM", shutDownHandler)
37
+ process.on("SIGINT", shutDownHandler)
38
+ }
39
+
40
+ export const tryParseInteger = (str: string, origin?: string): number | never => {
41
+ try {
42
+ return Number.parseInt(str, 10)
43
+ } catch (_) {
44
+ console.error(`${origin === undefined ? `` : `${origin} is `}not an integer: ${str}`)
45
+ exit(2)
46
+ }
47
+ }
48
+