@loxia/rijwegen 18.0.3-202512031045 → 18.0.3-202512111148
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/fesm2022/loxia-rijwegen.mjs +24 -38
- package/fesm2022/loxia-rijwegen.mjs.map +1 -1
- package/index.d.ts +5 -225
- package/lib/jsjavautil.d.ts +5 -0
- package/lib/rijwegen.module.d.ts +6 -0
- package/lib/rpe.d.ts +167 -0
- package/lib/signaleringsbeeld-svg-utility.service.d.ts +39 -0
- package/lib/storing-symbool-util.d.ts +8 -0
- package/package.json +3 -3
- package/public-api.d.ts +4 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Injectable, NgModule } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
class StoringSymboolUtil {
|
|
5
5
|
static zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringKaderPuic) {
|
|
@@ -41,11 +41,6 @@ class StoringSymboolUtil {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
const DocumentToken = new InjectionToken('Document');
|
|
45
|
-
function documentProvider() {
|
|
46
|
-
return document;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
44
|
const SVG_NS = 'http://www.w3.org/2000/svg';
|
|
50
45
|
const COLOR_INDEX_WIT = 'ci0';
|
|
51
46
|
const COLOR_INDEX_BLAUW = 'ci1';
|
|
@@ -55,9 +50,6 @@ const COLOR_INDEX_BLAUW2 = 'ci17';
|
|
|
55
50
|
const COLOR_INDEX_OKER = 'ci62';
|
|
56
51
|
const COLOR_INDEX_GRIJS = 'ci144';
|
|
57
52
|
class SignaleringsbeeldSvgUtilityService {
|
|
58
|
-
constructor(document) {
|
|
59
|
-
this.document = document;
|
|
60
|
-
}
|
|
61
53
|
static hideElement(elementNode) {
|
|
62
54
|
elementNode.style.display = 'none';
|
|
63
55
|
}
|
|
@@ -70,21 +62,20 @@ class SignaleringsbeeldSvgUtilityService {
|
|
|
70
62
|
this.maakOngewensteTekstenOnzichtbaar();
|
|
71
63
|
}
|
|
72
64
|
maakPerSvgOngewensteElementenOnzichtbaar() {
|
|
73
|
-
const childnodes = Array.from(
|
|
65
|
+
const childnodes = Array.from(document.getElementsByTagNameNS(SVG_NS, 'g'));
|
|
74
66
|
childnodes.filter(item => item.id === 'symbols')
|
|
75
67
|
.forEach(item => this.maakWitteLijnenBinnenSymbolenOnzichtbaar(item));
|
|
76
68
|
}
|
|
77
69
|
addSvgDefs() {
|
|
78
|
-
const
|
|
79
|
-
const childnodes = svgContainer.children;
|
|
70
|
+
const childnodes = document.getElementById('svgContainer').children;
|
|
80
71
|
if (childnodes.length !== 1) {
|
|
81
72
|
return;
|
|
82
73
|
}
|
|
83
74
|
const svg = childnodes[0];
|
|
84
|
-
const defs =
|
|
75
|
+
const defs = document.createElementNS(SVG_NS, 'defs');
|
|
85
76
|
const pattern = this.createSvgDefsPattern();
|
|
86
|
-
pattern.appendChild(
|
|
87
|
-
pattern.appendChild(
|
|
77
|
+
pattern.appendChild(document.createComment('Two instances of the same checker, only positioned apart on the `x` and `y` axis'));
|
|
78
|
+
pattern.appendChild(document.createComment('We will define the `fill` in the CSS for flexible use'));
|
|
88
79
|
pattern.appendChild(this.createPatternRect('checker1', '0', '2', '2', '0'));
|
|
89
80
|
pattern.appendChild(this.createPatternRect('checker1', '2', '2', '2', '2'));
|
|
90
81
|
pattern.appendChild(this.createPatternRect('checker2', '0', '2', '2', '2'));
|
|
@@ -93,7 +84,7 @@ class SignaleringsbeeldSvgUtilityService {
|
|
|
93
84
|
svg.appendChild(defs);
|
|
94
85
|
}
|
|
95
86
|
createSvgDefsPattern() {
|
|
96
|
-
const pattern =
|
|
87
|
+
const pattern = document.createElementNS(SVG_NS, 'pattern');
|
|
97
88
|
pattern.id = 'checkers';
|
|
98
89
|
pattern.setAttribute('x', '0');
|
|
99
90
|
pattern.setAttribute('y', '0');
|
|
@@ -103,7 +94,7 @@ class SignaleringsbeeldSvgUtilityService {
|
|
|
103
94
|
return pattern;
|
|
104
95
|
}
|
|
105
96
|
createPatternRect(className, x, w, h, y) {
|
|
106
|
-
const rect =
|
|
97
|
+
const rect = document.createElementNS(SVG_NS, 'rect');
|
|
107
98
|
rect.setAttribute('class', className);
|
|
108
99
|
rect.setAttribute('x', x);
|
|
109
100
|
rect.setAttribute('width', w);
|
|
@@ -113,7 +104,7 @@ class SignaleringsbeeldSvgUtilityService {
|
|
|
113
104
|
}
|
|
114
105
|
// Polylines & Polygonen
|
|
115
106
|
maakRodePolySymbolenOnzichtbaar() {
|
|
116
|
-
Array.from(
|
|
107
|
+
Array.from(document.querySelectorAll('polyline,polygon'))
|
|
117
108
|
.filter(line => line.classList.contains(COLOR_INDEX_ROOD))
|
|
118
109
|
.forEach(line => SignaleringsbeeldSvgUtilityService.hideElement(line));
|
|
119
110
|
}
|
|
@@ -126,20 +117,20 @@ class SignaleringsbeeldSvgUtilityService {
|
|
|
126
117
|
}
|
|
127
118
|
}
|
|
128
119
|
maakOngewensteTekstenOnzichtbaar() {
|
|
129
|
-
const teksten = Array.from(
|
|
120
|
+
const teksten = Array.from(document.getElementsByTagName('text'));
|
|
130
121
|
teksten.filter(element => element.id !== 'nummer' && element.id !== 'tekst')
|
|
131
122
|
.forEach(element => SignaleringsbeeldSvgUtilityService.hideElement(element));
|
|
132
123
|
}
|
|
133
124
|
maakSignaleringsElementenOnzichtbaar(signaleringsElementen) {
|
|
134
125
|
signaleringsElementen.forEach(signaleringsElement => {
|
|
135
126
|
const puic = signaleringsElement.getPuic();
|
|
136
|
-
const elements = Array.from(
|
|
127
|
+
const elements = Array.from(document.querySelectorAll('#p' + puic));
|
|
137
128
|
elements.forEach(element => SignaleringsbeeldSvgUtilityService.hideElement(element));
|
|
138
129
|
});
|
|
139
130
|
}
|
|
140
131
|
maakOngewensteSeindelenOnzichtbaar(seinen) {
|
|
141
132
|
seinen.filter(sein => !!sein).forEach(sein => {
|
|
142
|
-
const elements = Array.from(
|
|
133
|
+
const elements = Array.from(document.querySelectorAll('#p' + sein.getPuic()));
|
|
143
134
|
elements.forEach((element) => this.verwerkSeinOpType(sein, element));
|
|
144
135
|
});
|
|
145
136
|
}
|
|
@@ -234,7 +225,7 @@ class SignaleringsbeeldSvgUtilityService {
|
|
|
234
225
|
}
|
|
235
226
|
}
|
|
236
227
|
createPolygon(elementNode) {
|
|
237
|
-
const poly =
|
|
228
|
+
const poly = document.createElementNS(SVG_NS, 'polygon');
|
|
238
229
|
poly.setAttribute('points', elementNode.getAttribute('points'));
|
|
239
230
|
poly.setAttribute('class', elementNode.getAttribute('class'));
|
|
240
231
|
poly.setAttribute('style', 'fill:transparent');
|
|
@@ -244,13 +235,13 @@ class SignaleringsbeeldSvgUtilityService {
|
|
|
244
235
|
StoringSymboolUtil.zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringSymboolPuic);
|
|
245
236
|
}
|
|
246
237
|
zetClassOpLangeText() {
|
|
247
|
-
Array.from(
|
|
238
|
+
Array.from(document.querySelectorAll('#tekst'))
|
|
248
239
|
.filter((t) => t.textContent.length > 2)
|
|
249
240
|
.forEach((t) => t.classList.add('largetext'));
|
|
250
241
|
}
|
|
251
242
|
zetClassOpSpoornummers(spoornummerPuics) {
|
|
252
243
|
spoornummerPuics.forEach(element => {
|
|
253
|
-
const spoornummer_elems = Array.from(
|
|
244
|
+
const spoornummer_elems = Array.from(document.querySelectorAll('[class=p' + element + ']'));
|
|
254
245
|
spoornummer_elems.forEach((spoornummer) => {
|
|
255
246
|
spoornummer.classList.add('spoornummer');
|
|
256
247
|
});
|
|
@@ -258,7 +249,7 @@ class SignaleringsbeeldSvgUtilityService {
|
|
|
258
249
|
}
|
|
259
250
|
zetClassOpRijrichtingen(seinen) {
|
|
260
251
|
for (const sein of seinen) {
|
|
261
|
-
const seinElement =
|
|
252
|
+
const seinElement = document.getElementById('p' + sein.getPuic());
|
|
262
253
|
if (seinElement) {
|
|
263
254
|
const rijrichtingElement = this.geefRijrichtingVanSein(seinElement);
|
|
264
255
|
if (rijrichtingElement && sein.isBediend()) {
|
|
@@ -283,32 +274,27 @@ class SignaleringsbeeldSvgUtilityService {
|
|
|
283
274
|
elementNode.id = 'p' + seinPuic + '_rijrichting';
|
|
284
275
|
elementNode.classList.add('rijrichting');
|
|
285
276
|
}
|
|
286
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
287
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
277
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: SignaleringsbeeldSvgUtilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
278
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: SignaleringsbeeldSvgUtilityService }); }
|
|
288
279
|
}
|
|
289
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: SignaleringsbeeldSvgUtilityService, decorators: [{
|
|
290
281
|
type: Injectable
|
|
291
|
-
}]
|
|
292
|
-
type: Inject,
|
|
293
|
-
args: [DocumentToken]
|
|
294
|
-
}] }] });
|
|
282
|
+
}] });
|
|
295
283
|
|
|
296
284
|
class RijwegenModule {
|
|
297
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
298
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
299
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
300
|
-
{ provide: DocumentToken, useFactory: documentProvider },
|
|
285
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: RijwegenModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
286
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: RijwegenModule }); }
|
|
287
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: RijwegenModule, providers: [
|
|
301
288
|
SignaleringsbeeldSvgUtilityService
|
|
302
289
|
] }); }
|
|
303
290
|
}
|
|
304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: RijwegenModule, decorators: [{
|
|
305
292
|
type: NgModule,
|
|
306
293
|
args: [{
|
|
307
294
|
declarations: [],
|
|
308
295
|
imports: [],
|
|
309
296
|
exports: [],
|
|
310
297
|
providers: [
|
|
311
|
-
{ provide: DocumentToken, useFactory: documentProvider },
|
|
312
298
|
SignaleringsbeeldSvgUtilityService
|
|
313
299
|
]
|
|
314
300
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loxia-rijwegen.mjs","sources":["../../../projects/rijwegen/src/lib/storing-symbool-util.ts","../../../projects/rijwegen/src/lib/util/document-token.ts","../../../projects/rijwegen/src/lib/signaleringsbeeld-svg-utility.service.ts","../../../projects/rijwegen/src/lib/rijwegen.module.ts","../../../projects/rijwegen/src/lib/jsjavautil.ts","../../../projects/rijwegen/src/public-api.ts","../../../projects/rijwegen/src/loxia-rijwegen.ts"],"sourcesContent":["export class StoringSymboolUtil {\n\n public static zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringKaderPuic: Map<string, string>) {\n wisselPuicEnStoringKaderPuic.forEach((storingskaderPuic, wisselPuic) => {\n const elements = Array.from(document.querySelectorAll('#p' + wisselPuic));\n elements.forEach((wissel) => this.setClassOpStoringSymbool(<HTMLElement>wissel, 'p' + storingskaderPuic));\n });\n }\n\n private static setClassOpStoringSymbool(wissel: HTMLElement, puic: string) {\n const storingSymbool = this.findStoringSymbool(wissel);\n\n if (storingSymbool) {\n storingSymbool.id = puic;\n storingSymbool.classList.add('storingsymbool');\n }\n }\n\n private static findStoringSymbool(wissel: HTMLElement) {\n const numberOfChildren = wissel.childNodes.length;\n let polylineCount = 0;\n\n for (let i = 0; i < numberOfChildren; i++) {\n const elementNode = (<HTMLElement>wissel.childNodes[i]);\n\n if (this.isPolyline(elementNode)) {\n polylineCount++;\n if (this.isWisselStoringSymbool(polylineCount, numberOfChildren)\n || this.isEngelsWisselStoringSymbool(polylineCount, numberOfChildren)) {\n return elementNode;\n }\n }\n }\n\n return null;\n }\n\n private static isEngelsWisselStoringSymbool(polylineCount, numberOfChildren) {\n return polylineCount === 9 && numberOfChildren === 23;\n }\n\n private static isPolyline(node) {\n return node.nodeName.toUpperCase() === 'polyline'.toUpperCase();\n }\n\n private static isWisselStoringSymbool(polylineCount, numberOfChildren) {\n return polylineCount === 6 && numberOfChildren === 15;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const DocumentToken = new InjectionToken('Document');\nexport function documentProvider(): Document {\n return document;\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { StoringSymboolUtil } from './storing-symbool-util';\nimport { DocumentToken } from './util/document-token';\n\nexport const SVG_NS = 'http://www.w3.org/2000/svg';\nexport const COLOR_INDEX_WIT = 'ci0';\nexport const COLOR_INDEX_BLAUW = 'ci1';\nexport const COLOR_INDEX_ROOD = 'ci3';\nexport const COLOR_INDEX_CYAN = 'ci7';\nexport const COLOR_INDEX_BLAUW2 = 'ci17';\nexport const COLOR_INDEX_OKER = 'ci62';\nexport const COLOR_INDEX_GRIJS = 'ci144';\n\n@Injectable()\nexport class SignaleringsbeeldSvgUtilityService {\n\n constructor(\n @Inject(DocumentToken) private readonly document: Document\n ) {\n }\n\n private static hideElement(elementNode) {\n elementNode.style.display = 'none';\n }\n\n maakOngewensteElementenOnzichtbaar(): void {\n this.maakAlgemeneElementenOnzichtbaar();\n this.maakPerSvgOngewensteElementenOnzichtbaar();\n }\n\n private maakAlgemeneElementenOnzichtbaar() {\n this.maakRodePolySymbolenOnzichtbaar();\n this.maakOngewensteTekstenOnzichtbaar();\n }\n\n maakPerSvgOngewensteElementenOnzichtbaar() {\n const childnodes = Array.from(this.document.getElementsByTagNameNS(SVG_NS, 'g'));\n childnodes.filter(item => item.id === 'symbols')\n .forEach(item => this.maakWitteLijnenBinnenSymbolenOnzichtbaar(item));\n }\n\n addSvgDefs() {\n const svgContainer = this.document.getElementById('svgContainer');\n const childnodes = svgContainer.children;\n\n if (childnodes.length !== 1) {\n return;\n }\n const svg = childnodes[0];\n const defs = this.document.createElementNS(SVG_NS, 'defs');\n const pattern = this.createSvgDefsPattern();\n pattern.appendChild(this.document.createComment('Two instances of the same checker, only positioned apart on the `x` and `y` axis'));\n pattern.appendChild(this.document.createComment('We will define the `fill` in the CSS for flexible use'));\n pattern.appendChild(this.createPatternRect('checker1', '0', '2', '2', '0'));\n pattern.appendChild(this.createPatternRect('checker1', '2', '2', '2', '2'));\n pattern.appendChild(this.createPatternRect('checker2', '0', '2', '2', '2'));\n pattern.appendChild(this.createPatternRect('checker2', '2', '2', '2', '0'));\n defs.appendChild(pattern);\n svg.appendChild(defs);\n }\n\n private createSvgDefsPattern() {\n const pattern = this.document.createElementNS(SVG_NS, 'pattern');\n pattern.id = 'checkers';\n pattern.setAttribute('x', '0');\n pattern.setAttribute('y', '0');\n pattern.setAttribute('width', '4');\n pattern.setAttribute('height', '4');\n pattern.setAttribute('patternUnits', 'userSpaceOnUse');\n return pattern;\n }\n\n private createPatternRect(className, x, w, h, y) {\n const rect = this.document.createElementNS(SVG_NS, 'rect');\n rect.setAttribute('class', className);\n rect.setAttribute('x', x);\n rect.setAttribute('width', w);\n rect.setAttribute('height', h);\n rect.setAttribute('y', y);\n return rect;\n }\n\n // Polylines & Polygonen\n private maakRodePolySymbolenOnzichtbaar() {\n Array.from(this.document.querySelectorAll('polyline,polygon'))\n .filter(line => line.classList.contains(COLOR_INDEX_ROOD))\n .forEach(line => SignaleringsbeeldSvgUtilityService.hideElement(line));\n }\n\n maakWitteLijnenBinnenSymbolenOnzichtbaar(symbols: SVGElement) {\n if (symbols) {\n const symbolLijnen = Array.from(symbols.getElementsByTagName('polyline'));\n symbolLijnen\n .filter(line => line.classList.contains(COLOR_INDEX_WIT))\n .forEach(line => SignaleringsbeeldSvgUtilityService.hideElement(line)\n );\n }\n }\n\n maakOngewensteTekstenOnzichtbaar() {\n const teksten = Array.from(this.document.getElementsByTagName('text'));\n teksten.filter(element => element.id !== 'nummer' && element.id !== 'tekst')\n .forEach(element => SignaleringsbeeldSvgUtilityService.hideElement(element));\n }\n\n maakSignaleringsElementenOnzichtbaar(signaleringsElementen: any[]) {\n signaleringsElementen.forEach(signaleringsElement => {\n const puic = signaleringsElement.getPuic();\n const elements = Array.from(this.document.querySelectorAll('#p' + puic));\n elements.forEach(element => SignaleringsbeeldSvgUtilityService.hideElement(element));\n });\n }\n\n maakOngewensteSeindelenOnzichtbaar(seinen: any[]) {\n seinen.filter(sein => !!sein).forEach(sein => {\n const elements = Array.from(this.document.querySelectorAll('#p' + sein.getPuic()));\n elements.forEach((element) => this.verwerkSeinOpType(sein, <HTMLElement>element));\n });\n }\n\n private verwerkSeinOpType(sein, seinElement: HTMLElement) {\n if (sein.getType() === 'sb_bed_sein') {\n this.verwerkSein(seinElement, this.verwerkBedSeinPolyline);\n } else if (sein.getType() === 'sb_bed_sein_3') {\n // hide sb_bed_3 Sein: 6, 7 -> kader\n // hide rijrichting polygon\n this.verwerkSein(seinElement, this.verwerkBedSein3En3a_Ertms2_Polyline, SignaleringsbeeldSvgUtilityService.hideElement);\n } else if (sein.getType() === 'sb_bed_sein_3a') {\n // hide sb_bed_3a Sein: 6 -> kader, 7 -> richting\n this.verwerkSein(seinElement, this.verwerkBedSein3En3a_Ertms2_Polyline);\n } else if (sein.getType().startsWith('sb_fict_sein')) {\n // converteer seinElement driehoek van polyline naar polygon\n this.verwerkSein(seinElement, this.verwerkFictieveSeinenPolyline.bind(this));\n } else if (sein.getType() === 'sb_stoppl_sein') {\n this.verwerkSein(seinElement, this.verwerkStopplaatsSeinPolyline);\n } else if (sein.getType().startsWith('sb_ertms2')) {\n // mogelijk moet nog aparte afhandelijk voor sb_ertms2_sein_3 en sb_ertms2_sein_3a\n // hide kader\n this.verwerkSein(seinElement, this.verwerkErtmsSein2Polyline.bind(this));\n } else if (sein.getType().startsWith('sb_ertms12')) {\n // mogelijk moet nog aparte afhandelijk voor sb_ertms12_sein_3 en sb_ertms12_sein_3a\n // hide rode circle/ellipse\n this.verwerkSein(seinElement, this.verwerkBedSeinPolyline, null, SignaleringsbeeldSvgUtilityService.hideElement);\n }\n }\n\n private verwerkStopplaatsSeinPolyline(polylineCount: number, elementNode, poly) {\n if (polylineCount === 5) {\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkErtmsSein2Polyline(polylineCount: number, elementNode, poly: any) {\n poly = this.verwerkBedSein3En3a_Ertms2_Polyline(polylineCount, elementNode, poly);\n poly = this.verwerkBedSeinPolyline(polylineCount, elementNode, poly);\n if (polylineCount === 6) {\n // save to convert lines to polygon\n poly = this.createPolygon(elementNode);\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkBedSeinPolyline(polylineCount: number, elementNode, poly) {\n if (polylineCount === 3 || polylineCount === 5) {\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkBedSein3En3a_Ertms2_Polyline(polylineCount: number, elementNode, poly) {\n if (polylineCount === 6 || polylineCount === 7) {\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkFictieveSeinenPolyline(polylineCount: number, elementNode, poly) {\n if (polylineCount === 3) {\n // save to convert lines to polygon\n poly = this.createPolygon(elementNode);\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkSein(sein: HTMLElement, polylineFunc, polygonFunc?, ellipseFunc?) {\n if (!sein) {\n return;\n }\n let poly = null;\n let polylineCount = 0;\n Array.from(sein.childNodes).forEach(element => {\n const elementNode = (<HTMLElement>element);\n\n if (elementNode.nodeName.toUpperCase() === 'polyline'.toUpperCase()) {\n polylineCount++;\n poly = polylineFunc(polylineCount, elementNode, poly);\n } else if (elementNode.nodeName.toUpperCase() === 'polygon'.toUpperCase() && polygonFunc) {\n polygonFunc(elementNode);\n } else if (elementNode.nodeName.toUpperCase() === 'ellipse'.toUpperCase() && ellipseFunc) {\n ellipseFunc(elementNode);\n }\n });\n if (poly) {\n sein.appendChild(poly);\n }\n }\n\n private createPolygon(elementNode: HTMLElement): SVGPolygonElement {\n const poly = this.document.createElementNS(SVG_NS, 'polygon');\n poly.setAttribute('points', elementNode.getAttribute('points'));\n poly.setAttribute('class', elementNode.getAttribute('class'));\n poly.setAttribute('style', 'fill:transparent');\n return poly;\n }\n\n zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringSymboolPuic: Map<string, string>) {\n StoringSymboolUtil.zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringSymboolPuic);\n }\n\n zetClassOpLangeText() {\n Array.from(this.document.querySelectorAll('#tekst'))\n .filter((t) => t.textContent.length > 2)\n .forEach((t) => t.classList.add('largetext'));\n }\n\n zetClassOpSpoornummers(spoornummerPuics: string[]) {\n spoornummerPuics.forEach(element => {\n const spoornummer_elems = Array.from(this.document.querySelectorAll('[class=p' + element + ']'));\n spoornummer_elems.forEach((spoornummer) => {\n spoornummer.classList.add('spoornummer');\n });\n });\n }\n\n zetClassOpRijrichtingen(seinen: any[]) {\n for (const sein of seinen) {\n const seinElement = this.document.getElementById('p' + sein.getPuic());\n if (seinElement) {\n const rijrichtingElement = this.geefRijrichtingVanSein(seinElement);\n if (rijrichtingElement && sein.isBediend()) {\n this.addRijrichtingClass(rijrichtingElement, sein.getPuic());\n }\n }\n }\n }\n\n private geefRijrichtingVanSein(seinElement): HTMLElement {\n let rijrichtingElement: HTMLElement;\n let polylineCount = 0;\n for (const childNode of seinElement.childNodes) {\n if (childNode.nodeName.toUpperCase() === 'polyline'.toUpperCase()) {\n if (++polylineCount === 5) {\n rijrichtingElement = <HTMLElement>childNode;\n }\n }\n }\n return rijrichtingElement;\n }\n\n private addRijrichtingClass(elementNode, seinPuic: string) {\n elementNode.id = 'p' + seinPuic + '_rijrichting';\n elementNode.classList.add('rijrichting');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SignaleringsbeeldSvgUtilityService } from './signaleringsbeeld-svg-utility.service';\nimport { documentProvider, DocumentToken } from './util/document-token';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [\n { provide: DocumentToken, useFactory: documentProvider },\n SignaleringsbeeldSvgUtilityService\n ]\n})\nexport class RijwegenModule {\n}\n","export class JsJavaUtil {\n public static listToArray<T> (list: any): T[] {\n const result = [];\n if (list && list.size) {\n for (let i = 0; i < list.size(); i++) {\n result.push(list.getAtIndex(i));\n }\n }\n else if (list && list.length) {\n for (const entry of list) {\n result.push(entry);\n }\n }\n return result;\n }\n\n public static toJavaInteger (n: number): any {\n return n || n === 0 ? { java_lang_Integer_value: n } : null;\n }\n\n public static toJavalist<T>(array: T[]): any {\n return {\n size: () => array.length,\n getAtIndex: (i) => array[i],\n isEmpty: () => array.length === 0\n };\n }\n}\n","/*\n * Public API Surface of rijwegen\n */\n\nexport * from './lib/rijwegen.module';\nexport * from './lib/rpe';\nexport * from './lib/jsjavautil';\nexport * from './lib/signaleringsbeeld-svg-utility.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loxia-rijwegen.mjs","sources":["../../../projects/rijwegen/src/lib/storing-symbool-util.ts","../../../projects/rijwegen/src/lib/signaleringsbeeld-svg-utility.service.ts","../../../projects/rijwegen/src/lib/rijwegen.module.ts","../../../projects/rijwegen/src/lib/jsjavautil.ts","../../../projects/rijwegen/src/public-api.ts","../../../projects/rijwegen/src/loxia-rijwegen.ts"],"sourcesContent":["export class StoringSymboolUtil {\n\n public static zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringKaderPuic: Map<string, string>) {\n wisselPuicEnStoringKaderPuic.forEach((storingskaderPuic, wisselPuic) => {\n const elements = Array.from(document.querySelectorAll('#p' + wisselPuic));\n elements.forEach((wissel) => this.setClassOpStoringSymbool(<HTMLElement>wissel, 'p' + storingskaderPuic));\n });\n }\n\n private static setClassOpStoringSymbool(wissel: HTMLElement, puic: string) {\n const storingSymbool = this.findStoringSymbool(wissel);\n\n if (storingSymbool) {\n storingSymbool.id = puic;\n storingSymbool.classList.add('storingsymbool');\n }\n }\n\n private static findStoringSymbool(wissel: HTMLElement) {\n const numberOfChildren = wissel.childNodes.length;\n let polylineCount = 0;\n\n for (let i = 0; i < numberOfChildren; i++) {\n const elementNode = (<HTMLElement>wissel.childNodes[i]);\n\n if (this.isPolyline(elementNode)) {\n polylineCount++;\n if (this.isWisselStoringSymbool(polylineCount, numberOfChildren)\n || this.isEngelsWisselStoringSymbool(polylineCount, numberOfChildren)) {\n return elementNode;\n }\n }\n }\n\n return null;\n }\n\n private static isEngelsWisselStoringSymbool(polylineCount, numberOfChildren) {\n return polylineCount === 9 && numberOfChildren === 23;\n }\n\n private static isPolyline(node) {\n return node.nodeName.toUpperCase() === 'polyline'.toUpperCase();\n }\n\n private static isWisselStoringSymbool(polylineCount, numberOfChildren) {\n return polylineCount === 6 && numberOfChildren === 15;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { StoringSymboolUtil } from './storing-symbool-util';\n\nexport const SVG_NS = 'http://www.w3.org/2000/svg';\nexport const COLOR_INDEX_WIT = 'ci0';\nexport const COLOR_INDEX_BLAUW = 'ci1';\nexport const COLOR_INDEX_ROOD = 'ci3';\nexport const COLOR_INDEX_CYAN = 'ci7';\nexport const COLOR_INDEX_BLAUW2 = 'ci17';\nexport const COLOR_INDEX_OKER = 'ci62';\nexport const COLOR_INDEX_GRIJS = 'ci144';\n\n@Injectable()\nexport class SignaleringsbeeldSvgUtilityService {\n\n private static hideElement(elementNode) {\n elementNode.style.display = 'none';\n }\n\n maakOngewensteElementenOnzichtbaar(): void {\n this.maakAlgemeneElementenOnzichtbaar();\n this.maakPerSvgOngewensteElementenOnzichtbaar();\n }\n\n private maakAlgemeneElementenOnzichtbaar() {\n this.maakRodePolySymbolenOnzichtbaar();\n this.maakOngewensteTekstenOnzichtbaar();\n }\n\n maakPerSvgOngewensteElementenOnzichtbaar() {\n const childnodes = Array.from(document.getElementsByTagNameNS(SVG_NS, 'g'));\n childnodes.filter(item => item.id === 'symbols')\n .forEach(item => this.maakWitteLijnenBinnenSymbolenOnzichtbaar(item));\n }\n\n addSvgDefs() {\n const childnodes = document.getElementById('svgContainer').children;\n if (childnodes.length !== 1) {\n return;\n }\n const svg = childnodes[0];\n const defs = document.createElementNS(SVG_NS, 'defs');\n const pattern = this.createSvgDefsPattern();\n pattern.appendChild(document.createComment('Two instances of the same checker, only positioned apart on the `x` and `y` axis'));\n pattern.appendChild(document.createComment('We will define the `fill` in the CSS for flexible use'));\n pattern.appendChild(this.createPatternRect('checker1', '0', '2', '2', '0'));\n pattern.appendChild(this.createPatternRect('checker1', '2', '2', '2', '2'));\n pattern.appendChild(this.createPatternRect('checker2', '0', '2', '2', '2'));\n pattern.appendChild(this.createPatternRect('checker2', '2', '2', '2', '0'));\n defs.appendChild(pattern);\n svg.appendChild(defs);\n }\n\n private createSvgDefsPattern() {\n const pattern = document.createElementNS(SVG_NS, 'pattern');\n pattern.id = 'checkers';\n pattern.setAttribute('x', '0');\n pattern.setAttribute('y', '0');\n pattern.setAttribute('width', '4');\n pattern.setAttribute('height', '4');\n pattern.setAttribute('patternUnits', 'userSpaceOnUse');\n return pattern;\n }\n\n private createPatternRect(className, x, w, h, y) {\n const rect = document.createElementNS(SVG_NS, 'rect');\n rect.setAttribute('class', className);\n rect.setAttribute('x', x);\n rect.setAttribute('width', w);\n rect.setAttribute('height', h);\n rect.setAttribute('y', y);\n return rect;\n }\n\n // Polylines & Polygonen\n private maakRodePolySymbolenOnzichtbaar() {\n Array.from(document.querySelectorAll('polyline,polygon'))\n .filter(line => line.classList.contains(COLOR_INDEX_ROOD))\n .forEach(line => SignaleringsbeeldSvgUtilityService.hideElement(line));\n }\n\n maakWitteLijnenBinnenSymbolenOnzichtbaar(symbols: SVGElement) {\n if (symbols) {\n const symbolLijnen = Array.from(symbols.getElementsByTagName('polyline'));\n symbolLijnen\n .filter(line => line.classList.contains(COLOR_INDEX_WIT))\n .forEach(line => SignaleringsbeeldSvgUtilityService.hideElement(line)\n );\n }\n }\n\n maakOngewensteTekstenOnzichtbaar() {\n const teksten = Array.from(document.getElementsByTagName('text'));\n teksten.filter(element => element.id !== 'nummer' && element.id !== 'tekst')\n .forEach(element => SignaleringsbeeldSvgUtilityService.hideElement(element));\n }\n\n maakSignaleringsElementenOnzichtbaar(signaleringsElementen: any[]) {\n signaleringsElementen.forEach(signaleringsElement => {\n const puic = signaleringsElement.getPuic();\n const elements = Array.from(document.querySelectorAll('#p' + puic));\n elements.forEach(element => SignaleringsbeeldSvgUtilityService.hideElement(element));\n });\n }\n\n maakOngewensteSeindelenOnzichtbaar(seinen: any[]) {\n seinen.filter(sein => !!sein).forEach(sein => {\n const elements = Array.from(document.querySelectorAll('#p' + sein.getPuic()));\n elements.forEach((element) => this.verwerkSeinOpType(sein, <HTMLElement>element));\n });\n }\n\n private verwerkSeinOpType(sein, seinElement: HTMLElement) {\n if (sein.getType() === 'sb_bed_sein') {\n this.verwerkSein(seinElement, this.verwerkBedSeinPolyline);\n } else if (sein.getType() === 'sb_bed_sein_3') {\n // hide sb_bed_3 Sein: 6, 7 -> kader\n // hide rijrichting polygon\n this.verwerkSein(seinElement, this.verwerkBedSein3En3a_Ertms2_Polyline, SignaleringsbeeldSvgUtilityService.hideElement);\n } else if (sein.getType() === 'sb_bed_sein_3a') {\n // hide sb_bed_3a Sein: 6 -> kader, 7 -> richting\n this.verwerkSein(seinElement, this.verwerkBedSein3En3a_Ertms2_Polyline);\n } else if (sein.getType().startsWith('sb_fict_sein')) {\n // converteer seinElement driehoek van polyline naar polygon\n this.verwerkSein(seinElement, this.verwerkFictieveSeinenPolyline.bind(this));\n } else if (sein.getType() === 'sb_stoppl_sein') {\n this.verwerkSein(seinElement, this.verwerkStopplaatsSeinPolyline);\n } else if (sein.getType().startsWith('sb_ertms2')) {\n // mogelijk moet nog aparte afhandelijk voor sb_ertms2_sein_3 en sb_ertms2_sein_3a\n // hide kader\n this.verwerkSein(seinElement, this.verwerkErtmsSein2Polyline.bind(this));\n } else if (sein.getType().startsWith('sb_ertms12')) {\n // mogelijk moet nog aparte afhandelijk voor sb_ertms12_sein_3 en sb_ertms12_sein_3a\n // hide rode circle/ellipse\n this.verwerkSein(seinElement, this.verwerkBedSeinPolyline, null, SignaleringsbeeldSvgUtilityService.hideElement);\n }\n }\n\n private verwerkStopplaatsSeinPolyline(polylineCount: number, elementNode, poly) {\n if (polylineCount === 5) {\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkErtmsSein2Polyline(polylineCount: number, elementNode, poly: any) {\n poly = this.verwerkBedSein3En3a_Ertms2_Polyline(polylineCount, elementNode, poly);\n poly = this.verwerkBedSeinPolyline(polylineCount, elementNode, poly);\n if (polylineCount === 6) {\n // save to convert lines to polygon\n poly = this.createPolygon(elementNode);\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkBedSeinPolyline(polylineCount: number, elementNode, poly) {\n if (polylineCount === 3 || polylineCount === 5) {\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkBedSein3En3a_Ertms2_Polyline(polylineCount: number, elementNode, poly) {\n if (polylineCount === 6 || polylineCount === 7) {\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkFictieveSeinenPolyline(polylineCount: number, elementNode, poly) {\n if (polylineCount === 3) {\n // save to convert lines to polygon\n poly = this.createPolygon(elementNode);\n SignaleringsbeeldSvgUtilityService.hideElement(elementNode);\n }\n return poly;\n }\n\n private verwerkSein(sein: HTMLElement, polylineFunc, polygonFunc?, ellipseFunc?) {\n if (!sein) {\n return;\n }\n let poly = null;\n let polylineCount = 0;\n Array.from(sein.childNodes).forEach(element => {\n const elementNode = (<HTMLElement>element);\n\n if (elementNode.nodeName.toUpperCase() === 'polyline'.toUpperCase()) {\n polylineCount++;\n poly = polylineFunc(polylineCount, elementNode, poly);\n } else if (elementNode.nodeName.toUpperCase() === 'polygon'.toUpperCase() && polygonFunc) {\n polygonFunc(elementNode);\n } else if (elementNode.nodeName.toUpperCase() === 'ellipse'.toUpperCase() && ellipseFunc) {\n ellipseFunc(elementNode);\n }\n });\n if (poly) {\n sein.appendChild(poly);\n }\n }\n\n private createPolygon(elementNode: HTMLElement): SVGPolygonElement {\n const poly = document.createElementNS(SVG_NS, 'polygon');\n poly.setAttribute('points', elementNode.getAttribute('points'));\n poly.setAttribute('class', elementNode.getAttribute('class'));\n poly.setAttribute('style', 'fill:transparent');\n return poly;\n }\n\n zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringSymboolPuic: Map<string, string>) {\n StoringSymboolUtil.zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringSymboolPuic);\n }\n\n zetClassOpLangeText() {\n Array.from(document.querySelectorAll('#tekst'))\n .filter((t) => t.textContent.length > 2)\n .forEach((t) => t.classList.add('largetext'));\n }\n\n zetClassOpSpoornummers(spoornummerPuics: string[]) {\n spoornummerPuics.forEach(element => {\n const spoornummer_elems = Array.from(document.querySelectorAll('[class=p' + element + ']'));\n spoornummer_elems.forEach((spoornummer) => {\n spoornummer.classList.add('spoornummer');\n });\n });\n }\n\n zetClassOpRijrichtingen(seinen: any[]) {\n for (const sein of seinen) {\n const seinElement = document.getElementById('p' + sein.getPuic());\n if (seinElement) {\n const rijrichtingElement = this.geefRijrichtingVanSein(seinElement);\n if (rijrichtingElement && sein.isBediend()) {\n this.addRijrichtingClass(rijrichtingElement, sein.getPuic());\n }\n }\n }\n }\n\n private geefRijrichtingVanSein(seinElement): HTMLElement {\n let rijrichtingElement: HTMLElement;\n let polylineCount = 0;\n for (const childNode of seinElement.childNodes) {\n if (childNode.nodeName.toUpperCase() === 'polyline'.toUpperCase()) {\n if (++polylineCount === 5) {\n rijrichtingElement = <HTMLElement>childNode;\n }\n }\n }\n return rijrichtingElement;\n }\n\n private addRijrichtingClass(elementNode, seinPuic: string) {\n elementNode.id = 'p' + seinPuic + '_rijrichting';\n elementNode.classList.add('rijrichting');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SignaleringsbeeldSvgUtilityService } from './signaleringsbeeld-svg-utility.service';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [\n SignaleringsbeeldSvgUtilityService\n ]\n})\nexport class RijwegenModule {\n}\n","export class JsJavaUtil {\n public static listToArray<T> (list: any): T[] {\n const result = [];\n if (list && list.size) {\n for (let i = 0; i < list.size(); i++) {\n result.push(list.getAtIndex(i));\n }\n }\n else if (list && list.length) {\n for (const entry of list) {\n result.push(entry);\n }\n }\n return result;\n }\n\n public static toJavaInteger (n: number): any {\n return n || n === 0 ? { java_lang_Integer_value: n } : null;\n }\n\n public static toJavalist<T>(array: T[]): any {\n return {\n size: () => array.length,\n getAtIndex: (i) => array[i],\n isEmpty: () => array.length === 0\n };\n }\n}\n","/*\n * Public API Surface of rijwegen\n */\n\nexport * from './lib/rijwegen.module';\nexport * from './lib/rpe';\nexport * from './lib/jsjavautil';\nexport * from './lib/signaleringsbeeld-svg-utility.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,225 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<RijwegenModule>;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
declare namespace domein {
|
|
10
|
-
const enum Infrawijziging {
|
|
11
|
-
GEEN = 0,
|
|
12
|
-
NIEUW = 1,
|
|
13
|
-
GERAAKT = 2
|
|
14
|
-
}
|
|
15
|
-
const enum Stand {
|
|
16
|
-
LINKS = 0,
|
|
17
|
-
RECHTS = 1
|
|
18
|
-
}
|
|
19
|
-
interface RouteInfraObject {
|
|
20
|
-
getName(): string;
|
|
21
|
-
getPPLG(): string;
|
|
22
|
-
}
|
|
23
|
-
interface Dwang {
|
|
24
|
-
getDwangIdInRouteFile(): number;
|
|
25
|
-
getDwangString(): string;
|
|
26
|
-
getDwangNummer(): number;
|
|
27
|
-
isGoedgekeurd(): boolean;
|
|
28
|
-
getRICodeOnverkort(): string;
|
|
29
|
-
getRoute(): domein.Route;
|
|
30
|
-
getVanPrlSpoor(): string;
|
|
31
|
-
getNaarPrlSpoor(): string;
|
|
32
|
-
}
|
|
33
|
-
interface Wissel extends RouteInfraObject {
|
|
34
|
-
getStand(): Stand;
|
|
35
|
-
}
|
|
36
|
-
interface Sein extends RouteInfraObject {
|
|
37
|
-
getTypeAlsString(): string;
|
|
38
|
-
}
|
|
39
|
-
interface Route {
|
|
40
|
-
getRICodeOnverkort(): string;
|
|
41
|
-
getSeinen(): List<domein.Sein>;
|
|
42
|
-
getTegenSeinen(): List<domein.Sein>;
|
|
43
|
-
getBeginSein(): domein.Sein;
|
|
44
|
-
getEindSein(): domein.Sein;
|
|
45
|
-
getVanSpoor(): string;
|
|
46
|
-
getNaarSpoor(): string;
|
|
47
|
-
getVanPrlSpoor(): string;
|
|
48
|
-
getNaarPrlSpoor(): string;
|
|
49
|
-
getEnkelvoudigeRoute(): domein.EnkelvoudigeRoute;
|
|
50
|
-
getRestDwang(): domein.Dwang;
|
|
51
|
-
getWisselObjectenInDeRoute(): List<domein.RouteInfraObject>;
|
|
52
|
-
}
|
|
53
|
-
interface EnkelvoudigeRoute extends Route {
|
|
54
|
-
getRouteInfraId(): number;
|
|
55
|
-
}
|
|
56
|
-
interface Rijwegplan {
|
|
57
|
-
getPPLG(): string;
|
|
58
|
-
getRijweg(vanPrlSpoor: string, naarPrlSpoor: string): domein.Rijweg;
|
|
59
|
-
getRijwegVoorSeinen(beginSein: domein.Sein, eindSein: domein.Sein): domein.Rijweg;
|
|
60
|
-
getRijwegenVan(vanPrlSpoor: string): List<domein.Rijweg>;
|
|
61
|
-
getRijwegen(): List<domein.Rijweg>;
|
|
62
|
-
getPrlSpoorVoorSein(seinName: string): string;
|
|
63
|
-
getRoute(evRouteVanPrlSpoor: string, evRouteNaarPrlSpoor: string, routeInfraId: number, restDwang: domein.Dwang): domein.Route;
|
|
64
|
-
getPRLPost(): string;
|
|
65
|
-
getPRLVersie(): string;
|
|
66
|
-
getBovenliggendeDwangen(dwang: domein.Dwang, recursive: boolean): List<domein.Dwang>;
|
|
67
|
-
getOnderliggendeDwangen(dwang: domein.Dwang, goedgekeurd: boolean): List<domein.Dwang>;
|
|
68
|
-
getOnderliggendeDwangenTotEnVanSein(dwang: domein.Dwang, breekSein: domein.Sein): List<domein.Dwang>;
|
|
69
|
-
getOnderliggendeDwangenRecursief(dwang: domein.Dwang, goedgekeurd: boolean): List<domein.Dwang>;
|
|
70
|
-
getRijwegVoorDwang(dwang: domein.Dwang): domein.Rijweg;
|
|
71
|
-
getMaxSeinstappen(): number;
|
|
72
|
-
getBeginSein(beginSeinNaam: string): domein.Sein;
|
|
73
|
-
getEindSeinen(beginSeinNaam: string): List<domein.Sein>;
|
|
74
|
-
}
|
|
75
|
-
interface Rijweg {
|
|
76
|
-
getVanPrlSpoor(): string;
|
|
77
|
-
getNaarPrlSpoor(): string;
|
|
78
|
-
getBeginSein(): domein.Sein;
|
|
79
|
-
getEindSein(): domein.Sein;
|
|
80
|
-
getToegewezenDwangen(): List<domein.Dwang>;
|
|
81
|
-
isGoedgekeurd(): boolean;
|
|
82
|
-
getVoorkeurDwang(): domein.Dwang;
|
|
83
|
-
getDwang(dwangId: number): domein.Dwang;
|
|
84
|
-
getDwangen(): List<domein.Dwang>;
|
|
85
|
-
getCommentaar(): string;
|
|
86
|
-
setCommentaar(commentaar: string): any;
|
|
87
|
-
getDwangVoorDwangNummer(dwangNummer: number): domein.Dwang;
|
|
88
|
-
}
|
|
89
|
-
interface VrijebaanRijwegplan extends Rijwegplan {
|
|
90
|
-
getVervolgSpoor(rijweg: Rijweg): string;
|
|
91
|
-
getTegenOvergesteldePplg(pplg: string): string;
|
|
92
|
-
}
|
|
93
|
-
interface GoedkeurRapport {
|
|
94
|
-
getSeinStapNogNietGoedgekeurd(): number;
|
|
95
|
-
getAantalGoedTeKeurenDwangen(): number;
|
|
96
|
-
getAantalNietAutomatischGoedTeKeuren(): number;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
interface List<T> {
|
|
100
|
-
}
|
|
101
|
-
declare namespace sbblad {
|
|
102
|
-
interface HasIdentifier {
|
|
103
|
-
getPuic(): string;
|
|
104
|
-
getComponentName(): string;
|
|
105
|
-
}
|
|
106
|
-
interface HasLocation {
|
|
107
|
-
getPPLG(): string;
|
|
108
|
-
}
|
|
109
|
-
interface HasName {
|
|
110
|
-
getName(): string;
|
|
111
|
-
}
|
|
112
|
-
interface Sein extends HasIdentifier, HasLocation, HasName {
|
|
113
|
-
getType(): string;
|
|
114
|
-
getVoorSectie(): TopologyElement;
|
|
115
|
-
isBediend(): boolean;
|
|
116
|
-
isErtms(): boolean;
|
|
117
|
-
}
|
|
118
|
-
interface Spoornummer extends HasIdentifier, HasLocation, HasName {
|
|
119
|
-
}
|
|
120
|
-
interface RiCode extends HasIdentifier, HasLocation {
|
|
121
|
-
getWeergave(): string;
|
|
122
|
-
}
|
|
123
|
-
interface TopologyElement extends HasIdentifier, HasLocation {
|
|
124
|
-
getKilometreringen(): List<sbblad.Kilometrering>;
|
|
125
|
-
}
|
|
126
|
-
interface SpoortakFragment extends TopologyElement {
|
|
127
|
-
getConnection1(): TopologyElement;
|
|
128
|
-
getConnection2(): TopologyElement;
|
|
129
|
-
}
|
|
130
|
-
interface Wissel extends HasName, TopologyElement {
|
|
131
|
-
getIn(): SpoortakFragment;
|
|
132
|
-
getInPinPuic(): string;
|
|
133
|
-
getLeft(): SpoortakFragment;
|
|
134
|
-
getLeftPinPuic(): string;
|
|
135
|
-
getRight(): SpoortakFragment;
|
|
136
|
-
getRightPinPuic(): string;
|
|
137
|
-
getStoringSymboolPuic(): string;
|
|
138
|
-
}
|
|
139
|
-
interface Las extends TopologyElement {
|
|
140
|
-
getIn(): SpoortakFragment;
|
|
141
|
-
getOut(): SpoortakFragment;
|
|
142
|
-
}
|
|
143
|
-
interface Kruis extends TopologyElement {
|
|
144
|
-
getIn1(): SpoortakFragment;
|
|
145
|
-
getIn1Puic(): string;
|
|
146
|
-
getOut1(): SpoortakFragment;
|
|
147
|
-
getOut1Puic(): string;
|
|
148
|
-
getIn2(): SpoortakFragment;
|
|
149
|
-
getIn2Puic(): string;
|
|
150
|
-
getOut2(): SpoortakFragment;
|
|
151
|
-
getOut2Puic(): string;
|
|
152
|
-
}
|
|
153
|
-
interface Kilometrering {
|
|
154
|
-
getKmLint(): string;
|
|
155
|
-
getKmWaarde(): number;
|
|
156
|
-
}
|
|
157
|
-
interface AlternativeRoute {
|
|
158
|
-
getTopologyElements(): List<HasIdentifier>;
|
|
159
|
-
getRoute(): domein.Route;
|
|
160
|
-
getDwang(): domein.Dwang;
|
|
161
|
-
}
|
|
162
|
-
interface Spoortak extends HasIdentifier, HasName {
|
|
163
|
-
getTakElementen(): List<TopologyElement>;
|
|
164
|
-
}
|
|
165
|
-
interface SignaleringsElement extends HasIdentifier, HasLocation {
|
|
166
|
-
}
|
|
167
|
-
interface Filter {
|
|
168
|
-
getSeinstappen(): number;
|
|
169
|
-
getGoedgekeurd(): boolean;
|
|
170
|
-
getInfrawijziging(): domein.Infrawijziging;
|
|
171
|
-
setSeinstappen(seinStappen: number): any;
|
|
172
|
-
setGoedgekeurd(goedgekeurd: boolean): any;
|
|
173
|
-
setInfrawijziging(infraWijziging: domein.Infrawijziging): any;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
declare class JsJavaUtil {
|
|
178
|
-
static listToArray<T>(list: any): T[];
|
|
179
|
-
static toJavaInteger(n: number): any;
|
|
180
|
-
static toJavalist<T>(array: T[]): any;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
declare const SVG_NS = "http://www.w3.org/2000/svg";
|
|
184
|
-
declare const COLOR_INDEX_WIT = "ci0";
|
|
185
|
-
declare const COLOR_INDEX_BLAUW = "ci1";
|
|
186
|
-
declare const COLOR_INDEX_ROOD = "ci3";
|
|
187
|
-
declare const COLOR_INDEX_CYAN = "ci7";
|
|
188
|
-
declare const COLOR_INDEX_BLAUW2 = "ci17";
|
|
189
|
-
declare const COLOR_INDEX_OKER = "ci62";
|
|
190
|
-
declare const COLOR_INDEX_GRIJS = "ci144";
|
|
191
|
-
declare class SignaleringsbeeldSvgUtilityService {
|
|
192
|
-
private readonly document;
|
|
193
|
-
constructor(document: Document);
|
|
194
|
-
private static hideElement;
|
|
195
|
-
maakOngewensteElementenOnzichtbaar(): void;
|
|
196
|
-
private maakAlgemeneElementenOnzichtbaar;
|
|
197
|
-
maakPerSvgOngewensteElementenOnzichtbaar(): void;
|
|
198
|
-
addSvgDefs(): void;
|
|
199
|
-
private createSvgDefsPattern;
|
|
200
|
-
private createPatternRect;
|
|
201
|
-
private maakRodePolySymbolenOnzichtbaar;
|
|
202
|
-
maakWitteLijnenBinnenSymbolenOnzichtbaar(symbols: SVGElement): void;
|
|
203
|
-
maakOngewensteTekstenOnzichtbaar(): void;
|
|
204
|
-
maakSignaleringsElementenOnzichtbaar(signaleringsElementen: any[]): void;
|
|
205
|
-
maakOngewensteSeindelenOnzichtbaar(seinen: any[]): void;
|
|
206
|
-
private verwerkSeinOpType;
|
|
207
|
-
private verwerkStopplaatsSeinPolyline;
|
|
208
|
-
private verwerkErtmsSein2Polyline;
|
|
209
|
-
private verwerkBedSeinPolyline;
|
|
210
|
-
private verwerkBedSein3En3a_Ertms2_Polyline;
|
|
211
|
-
private verwerkFictieveSeinenPolyline;
|
|
212
|
-
private verwerkSein;
|
|
213
|
-
private createPolygon;
|
|
214
|
-
zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringSymboolPuic: Map<string, string>): void;
|
|
215
|
-
zetClassOpLangeText(): void;
|
|
216
|
-
zetClassOpSpoornummers(spoornummerPuics: string[]): void;
|
|
217
|
-
zetClassOpRijrichtingen(seinen: any[]): void;
|
|
218
|
-
private geefRijrichtingVanSein;
|
|
219
|
-
private addRijrichtingClass;
|
|
220
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SignaleringsbeeldSvgUtilityService, never>;
|
|
221
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SignaleringsbeeldSvgUtilityService>;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
export { COLOR_INDEX_BLAUW, COLOR_INDEX_BLAUW2, COLOR_INDEX_CYAN, COLOR_INDEX_GRIJS, COLOR_INDEX_OKER, COLOR_INDEX_ROOD, COLOR_INDEX_WIT, JsJavaUtil, RijwegenModule, SVG_NS, SignaleringsbeeldSvgUtilityService, domein, sbblad };
|
|
225
|
-
export type { List };
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
/// <amd-module name="@loxia/rijwegen" />
|
|
5
|
+
export * from './public-api';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class RijwegenModule {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RijwegenModule, never>;
|
|
4
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<RijwegenModule, never, never, never>;
|
|
5
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<RijwegenModule>;
|
|
6
|
+
}
|
package/lib/rpe.d.ts
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
export declare namespace domein {
|
|
2
|
+
const enum Infrawijziging {
|
|
3
|
+
GEEN = 0,
|
|
4
|
+
NIEUW = 1,
|
|
5
|
+
GERAAKT = 2
|
|
6
|
+
}
|
|
7
|
+
const enum Stand {
|
|
8
|
+
LINKS = 0,
|
|
9
|
+
RECHTS = 1
|
|
10
|
+
}
|
|
11
|
+
interface RouteInfraObject {
|
|
12
|
+
getName(): string;
|
|
13
|
+
getPPLG(): string;
|
|
14
|
+
}
|
|
15
|
+
interface Dwang {
|
|
16
|
+
getDwangIdInRouteFile(): number;
|
|
17
|
+
getDwangString(): string;
|
|
18
|
+
getDwangNummer(): number;
|
|
19
|
+
isGoedgekeurd(): boolean;
|
|
20
|
+
getRICodeOnverkort(): string;
|
|
21
|
+
getRoute(): domein.Route;
|
|
22
|
+
getVanPrlSpoor(): string;
|
|
23
|
+
getNaarPrlSpoor(): string;
|
|
24
|
+
}
|
|
25
|
+
interface Wissel extends RouteInfraObject {
|
|
26
|
+
getStand(): Stand;
|
|
27
|
+
}
|
|
28
|
+
interface Sein extends RouteInfraObject {
|
|
29
|
+
getTypeAlsString(): string;
|
|
30
|
+
}
|
|
31
|
+
interface Route {
|
|
32
|
+
getRICodeOnverkort(): string;
|
|
33
|
+
getSeinen(): List<domein.Sein>;
|
|
34
|
+
getTegenSeinen(): List<domein.Sein>;
|
|
35
|
+
getBeginSein(): domein.Sein;
|
|
36
|
+
getEindSein(): domein.Sein;
|
|
37
|
+
getVanSpoor(): string;
|
|
38
|
+
getNaarSpoor(): string;
|
|
39
|
+
getVanPrlSpoor(): string;
|
|
40
|
+
getNaarPrlSpoor(): string;
|
|
41
|
+
getEnkelvoudigeRoute(): domein.EnkelvoudigeRoute;
|
|
42
|
+
getRestDwang(): domein.Dwang;
|
|
43
|
+
getWisselObjectenInDeRoute(): List<domein.RouteInfraObject>;
|
|
44
|
+
}
|
|
45
|
+
interface EnkelvoudigeRoute extends Route {
|
|
46
|
+
getRouteInfraId(): number;
|
|
47
|
+
}
|
|
48
|
+
interface Rijwegplan {
|
|
49
|
+
getPPLG(): string;
|
|
50
|
+
getRijweg(vanPrlSpoor: string, naarPrlSpoor: string): domein.Rijweg;
|
|
51
|
+
getRijwegVoorSeinen(beginSein: domein.Sein, eindSein: domein.Sein): domein.Rijweg;
|
|
52
|
+
getRijwegenVan(vanPrlSpoor: string): List<domein.Rijweg>;
|
|
53
|
+
getRijwegen(): List<domein.Rijweg>;
|
|
54
|
+
getPrlSpoorVoorSein(seinName: string): string;
|
|
55
|
+
getRoute(evRouteVanPrlSpoor: string, evRouteNaarPrlSpoor: string, routeInfraId: number, restDwang: domein.Dwang): domein.Route;
|
|
56
|
+
getPRLPost(): string;
|
|
57
|
+
getPRLVersie(): string;
|
|
58
|
+
getBovenliggendeDwangen(dwang: domein.Dwang, recursive: boolean): List<domein.Dwang>;
|
|
59
|
+
getOnderliggendeDwangen(dwang: domein.Dwang, goedgekeurd: boolean): List<domein.Dwang>;
|
|
60
|
+
getOnderliggendeDwangenTotEnVanSein(dwang: domein.Dwang, breekSein: domein.Sein): List<domein.Dwang>;
|
|
61
|
+
getOnderliggendeDwangenRecursief(dwang: domein.Dwang, goedgekeurd: boolean): List<domein.Dwang>;
|
|
62
|
+
getRijwegVoorDwang(dwang: domein.Dwang): domein.Rijweg;
|
|
63
|
+
getMaxSeinstappen(): number;
|
|
64
|
+
getBeginSein(beginSeinNaam: string): domein.Sein;
|
|
65
|
+
getEindSeinen(beginSeinNaam: string): List<domein.Sein>;
|
|
66
|
+
}
|
|
67
|
+
interface Rijweg {
|
|
68
|
+
getVanPrlSpoor(): string;
|
|
69
|
+
getNaarPrlSpoor(): string;
|
|
70
|
+
getBeginSein(): domein.Sein;
|
|
71
|
+
getEindSein(): domein.Sein;
|
|
72
|
+
getToegewezenDwangen(): List<domein.Dwang>;
|
|
73
|
+
isGoedgekeurd(): boolean;
|
|
74
|
+
getVoorkeurDwang(): domein.Dwang;
|
|
75
|
+
getDwang(dwangId: number): domein.Dwang;
|
|
76
|
+
getDwangen(): List<domein.Dwang>;
|
|
77
|
+
getCommentaar(): string;
|
|
78
|
+
setCommentaar(commentaar: string): any;
|
|
79
|
+
getDwangVoorDwangNummer(dwangNummer: number): domein.Dwang;
|
|
80
|
+
}
|
|
81
|
+
interface VrijebaanRijwegplan extends Rijwegplan {
|
|
82
|
+
getVervolgSpoor(rijweg: Rijweg): string;
|
|
83
|
+
getTegenOvergesteldePplg(pplg: string): string;
|
|
84
|
+
}
|
|
85
|
+
interface GoedkeurRapport {
|
|
86
|
+
getSeinStapNogNietGoedgekeurd(): number;
|
|
87
|
+
getAantalGoedTeKeurenDwangen(): number;
|
|
88
|
+
getAantalNietAutomatischGoedTeKeuren(): number;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export interface List<T> {
|
|
92
|
+
}
|
|
93
|
+
export declare namespace sbblad {
|
|
94
|
+
interface HasIdentifier {
|
|
95
|
+
getPuic(): string;
|
|
96
|
+
getComponentName(): string;
|
|
97
|
+
}
|
|
98
|
+
interface HasLocation {
|
|
99
|
+
getPPLG(): string;
|
|
100
|
+
}
|
|
101
|
+
interface HasName {
|
|
102
|
+
getName(): string;
|
|
103
|
+
}
|
|
104
|
+
interface Sein extends HasIdentifier, HasLocation, HasName {
|
|
105
|
+
getType(): string;
|
|
106
|
+
getVoorSectie(): TopologyElement;
|
|
107
|
+
isBediend(): boolean;
|
|
108
|
+
isErtms(): boolean;
|
|
109
|
+
}
|
|
110
|
+
interface Spoornummer extends HasIdentifier, HasLocation, HasName {
|
|
111
|
+
}
|
|
112
|
+
interface RiCode extends HasIdentifier, HasLocation {
|
|
113
|
+
getWeergave(): string;
|
|
114
|
+
}
|
|
115
|
+
interface TopologyElement extends HasIdentifier, HasLocation {
|
|
116
|
+
getKilometreringen(): List<sbblad.Kilometrering>;
|
|
117
|
+
}
|
|
118
|
+
interface SpoortakFragment extends TopologyElement {
|
|
119
|
+
getConnection1(): TopologyElement;
|
|
120
|
+
getConnection2(): TopologyElement;
|
|
121
|
+
}
|
|
122
|
+
interface Wissel extends HasName, TopologyElement {
|
|
123
|
+
getIn(): SpoortakFragment;
|
|
124
|
+
getInPinPuic(): string;
|
|
125
|
+
getLeft(): SpoortakFragment;
|
|
126
|
+
getLeftPinPuic(): string;
|
|
127
|
+
getRight(): SpoortakFragment;
|
|
128
|
+
getRightPinPuic(): string;
|
|
129
|
+
getStoringSymboolPuic(): string;
|
|
130
|
+
}
|
|
131
|
+
interface Las extends TopologyElement {
|
|
132
|
+
getIn(): SpoortakFragment;
|
|
133
|
+
getOut(): SpoortakFragment;
|
|
134
|
+
}
|
|
135
|
+
interface Kruis extends TopologyElement {
|
|
136
|
+
getIn1(): SpoortakFragment;
|
|
137
|
+
getIn1Puic(): string;
|
|
138
|
+
getOut1(): SpoortakFragment;
|
|
139
|
+
getOut1Puic(): string;
|
|
140
|
+
getIn2(): SpoortakFragment;
|
|
141
|
+
getIn2Puic(): string;
|
|
142
|
+
getOut2(): SpoortakFragment;
|
|
143
|
+
getOut2Puic(): string;
|
|
144
|
+
}
|
|
145
|
+
interface Kilometrering {
|
|
146
|
+
getKmLint(): string;
|
|
147
|
+
getKmWaarde(): number;
|
|
148
|
+
}
|
|
149
|
+
interface AlternativeRoute {
|
|
150
|
+
getTopologyElements(): List<HasIdentifier>;
|
|
151
|
+
getRoute(): domein.Route;
|
|
152
|
+
getDwang(): domein.Dwang;
|
|
153
|
+
}
|
|
154
|
+
interface Spoortak extends HasIdentifier, HasName {
|
|
155
|
+
getTakElementen(): List<TopologyElement>;
|
|
156
|
+
}
|
|
157
|
+
interface SignaleringsElement extends HasIdentifier, HasLocation {
|
|
158
|
+
}
|
|
159
|
+
interface Filter {
|
|
160
|
+
getSeinstappen(): number;
|
|
161
|
+
getGoedgekeurd(): boolean;
|
|
162
|
+
getInfrawijziging(): domein.Infrawijziging;
|
|
163
|
+
setSeinstappen(seinStappen: number): any;
|
|
164
|
+
setGoedgekeurd(goedgekeurd: boolean): any;
|
|
165
|
+
setInfrawijziging(infraWijziging: domein.Infrawijziging): any;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare const SVG_NS = "http://www.w3.org/2000/svg";
|
|
3
|
+
export declare const COLOR_INDEX_WIT = "ci0";
|
|
4
|
+
export declare const COLOR_INDEX_BLAUW = "ci1";
|
|
5
|
+
export declare const COLOR_INDEX_ROOD = "ci3";
|
|
6
|
+
export declare const COLOR_INDEX_CYAN = "ci7";
|
|
7
|
+
export declare const COLOR_INDEX_BLAUW2 = "ci17";
|
|
8
|
+
export declare const COLOR_INDEX_OKER = "ci62";
|
|
9
|
+
export declare const COLOR_INDEX_GRIJS = "ci144";
|
|
10
|
+
export declare class SignaleringsbeeldSvgUtilityService {
|
|
11
|
+
private static hideElement;
|
|
12
|
+
maakOngewensteElementenOnzichtbaar(): void;
|
|
13
|
+
private maakAlgemeneElementenOnzichtbaar;
|
|
14
|
+
maakPerSvgOngewensteElementenOnzichtbaar(): void;
|
|
15
|
+
addSvgDefs(): void;
|
|
16
|
+
private createSvgDefsPattern;
|
|
17
|
+
private createPatternRect;
|
|
18
|
+
private maakRodePolySymbolenOnzichtbaar;
|
|
19
|
+
maakWitteLijnenBinnenSymbolenOnzichtbaar(symbols: SVGElement): void;
|
|
20
|
+
maakOngewensteTekstenOnzichtbaar(): void;
|
|
21
|
+
maakSignaleringsElementenOnzichtbaar(signaleringsElementen: any[]): void;
|
|
22
|
+
maakOngewensteSeindelenOnzichtbaar(seinen: any[]): void;
|
|
23
|
+
private verwerkSeinOpType;
|
|
24
|
+
private verwerkStopplaatsSeinPolyline;
|
|
25
|
+
private verwerkErtmsSein2Polyline;
|
|
26
|
+
private verwerkBedSeinPolyline;
|
|
27
|
+
private verwerkBedSein3En3a_Ertms2_Polyline;
|
|
28
|
+
private verwerkFictieveSeinenPolyline;
|
|
29
|
+
private verwerkSein;
|
|
30
|
+
private createPolygon;
|
|
31
|
+
zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringSymboolPuic: Map<string, string>): void;
|
|
32
|
+
zetClassOpLangeText(): void;
|
|
33
|
+
zetClassOpSpoornummers(spoornummerPuics: string[]): void;
|
|
34
|
+
zetClassOpRijrichtingen(seinen: any[]): void;
|
|
35
|
+
private geefRijrichtingVanSein;
|
|
36
|
+
private addRijrichtingClass;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SignaleringsbeeldSvgUtilityService, never>;
|
|
38
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SignaleringsbeeldSvgUtilityService>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class StoringSymboolUtil {
|
|
2
|
+
static zetClassOpStoringSymbolenMetMap(wisselPuicEnStoringKaderPuic: Map<string, string>): void;
|
|
3
|
+
private static setClassOpStoringSymbool;
|
|
4
|
+
private static findStoringSymbool;
|
|
5
|
+
private static isEngelsWisselStoringSymbool;
|
|
6
|
+
private static isPolyline;
|
|
7
|
+
private static isWisselStoringSymbool;
|
|
8
|
+
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loxia/rijwegen",
|
|
3
|
-
"version": "18.0.3-
|
|
3
|
+
"version": "18.0.3-202512111148",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
5
|
+
"@angular/common": "^19.x.x",
|
|
6
|
+
"@angular/core": "^19.x.x"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.6.2"
|
package/public-api.d.ts
ADDED