@operato/data-mapper 9.0.0-beta.50

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/CHANGELOG.md ADDED
@@ -0,0 +1,11 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ ## [9.0.0-beta.50](https://github.com/hatiolab/operato/compare/v9.0.0-beta.49...v9.0.0-beta.50) (2025-02-17)
7
+
8
+
9
+ ### :rocket: New Features
10
+
11
+ * ox-data-mapper component ([4c74e2d](https://github.com/hatiolab/operato/commit/4c74e2db10b5276e7c19711748820fcda555a1ef))
package/README.md ADDED
@@ -0,0 +1,95 @@
1
+ # \<data-mapper>
2
+
3
+ This webcomponent follows the [open-wc](https://github.com/open-wc/open-wc) recommendation.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm i data-mapper
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```html
14
+ <script type="module">
15
+ import 'data-mapper/data-mapper.js'
16
+ </script>
17
+
18
+ <data-mapper></data-mapper>
19
+ ```
20
+
21
+ ## Linting with ESLint, Prettier, and Types
22
+
23
+ To scan the project for linting errors, run
24
+
25
+ ```bash
26
+ npm run lint
27
+ ```
28
+
29
+ You can lint with ESLint and Prettier individually as well
30
+
31
+ ```bash
32
+ npm run lint:eslint
33
+ ```
34
+
35
+ ```bash
36
+ npm run lint:prettier
37
+ ```
38
+
39
+ To automatically fix many linting errors, run
40
+
41
+ ```bash
42
+ npm run format
43
+ ```
44
+
45
+ You can format using ESLint and Prettier individually as well
46
+
47
+ ```bash
48
+ npm run format:eslint
49
+ ```
50
+
51
+ ```bash
52
+ npm run format:prettier
53
+ ```
54
+
55
+ ## Testing with Web Test Runner
56
+
57
+ To run the suite of Web Test Runner tests, run
58
+
59
+ ```bash
60
+ npm run test
61
+ ```
62
+
63
+ To run the tests in watch mode (for &lt;abbr title=&#34;test driven development&#34;&gt;TDD&lt;/abbr&gt;, for example), run
64
+
65
+ ```bash
66
+ npm run test:watch
67
+ ```
68
+
69
+ ## Demoing with Storybook
70
+
71
+ To run a local instance of Storybook for your component, run
72
+
73
+ ```bash
74
+ npm run storybook
75
+ ```
76
+
77
+ To build a production version of Storybook, run
78
+
79
+ ```bash
80
+ npm run storybook:build
81
+ ```
82
+
83
+ ## Tooling configs
84
+
85
+ For most of the tools, the configuration is in the `package.json` to reduce the amount of files in your project.
86
+
87
+ If you customize the configuration a lot, you can consider moving them to individual files.
88
+
89
+ ## Local Demo with `web-dev-server`
90
+
91
+ ```bash
92
+ npm start
93
+ ```
94
+
95
+ To run a local development server that serves the basic demo located in `demo/index.html`
Binary file
@@ -0,0 +1 @@
1
+ export * from './ox-data-mapper.js';
@@ -0,0 +1,2 @@
1
+ export * from './ox-data-mapper.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA","sourcesContent":["export * from './ox-data-mapper.js'\n"]}
@@ -0,0 +1,25 @@
1
+ import '@operato/data-tree/ox-tree.js';
2
+ import { LitElement, nothing } from 'lit';
3
+ interface Mapping {
4
+ inputs: string[];
5
+ outputs: string[];
6
+ transformLogic?: string;
7
+ }
8
+ export declare class OxDataMapper extends LitElement {
9
+ static styles: import("lit").CSSResult;
10
+ private sourceScheme;
11
+ private targetScheme;
12
+ private mappings;
13
+ private sourceTree;
14
+ private targetTree;
15
+ private mappingsArea;
16
+ render(): import("lit-html").TemplateResult<1>;
17
+ handleSourceSelect(): void;
18
+ handleTargetSelect(): void;
19
+ renderMapping(mapping: Mapping): typeof nothing | import("lit-html").TemplateResult<2>;
20
+ getNodePosition(nodeId: string, source: boolean): {
21
+ x: number;
22
+ y: number;
23
+ } | undefined;
24
+ }
25
+ export {};
@@ -0,0 +1,200 @@
1
+ import { __decorate } from "tslib";
2
+ import '@operato/data-tree/ox-tree.js';
3
+ import { LitElement, html, svg, css, nothing } from 'lit';
4
+ import { customElement, query, state } from 'lit/decorators.js';
5
+ let OxDataMapper = class OxDataMapper extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.sourceScheme = {
9
+ id: 's1',
10
+ label: 'Order',
11
+ multiplicity: '*',
12
+ children: [
13
+ {
14
+ id: 's1-1',
15
+ label: 'Item',
16
+ multiplicity: '*',
17
+ children: [
18
+ { id: 's1-1-1', label: 'Name' },
19
+ { id: 's1-1-2', label: 'Price' }
20
+ ]
21
+ }
22
+ ]
23
+ };
24
+ this.targetScheme = {
25
+ id: 't1',
26
+ label: 'Invoice',
27
+ children: [
28
+ {
29
+ id: 't1-1',
30
+ label: 'Products',
31
+ multiplicity: '*',
32
+ children: [
33
+ { id: 't1-1-1', label: 'Product Name' },
34
+ { id: 't1-1-2', label: 'Cost' }
35
+ ]
36
+ }
37
+ ]
38
+ };
39
+ this.mappings = [
40
+ {
41
+ inputs: ['s1-1-1'],
42
+ outputs: ['t1-1-1'],
43
+ transformLogic: 'toUpperCase()'
44
+ },
45
+ {
46
+ inputs: ['s1-1-2'],
47
+ outputs: ['t1-1-2'],
48
+ transformLogic: 'convertCurrency()'
49
+ }
50
+ ];
51
+ }
52
+ render() {
53
+ return html `
54
+ <div class="container">
55
+ <div class="tree-container source">
56
+ <h3>Source Structure</h3>
57
+ <ox-tree .data=${this.sourceScheme} @select=${this.handleSourceSelect} label-extends></ox-tree>
58
+ </div>
59
+ <div class="mapping-area">
60
+ <h3>Mappings</h3>
61
+ <svg>${this.mappings.map(m => this.renderMapping(m))}</svg>
62
+ </div>
63
+ <div class="tree-container target">
64
+ <h3>Target Structure</h3>
65
+ <ox-tree
66
+ .data=${this.targetScheme}
67
+ @select=${this.handleTargetSelect}
68
+ direction="rtl"
69
+ label-extends
70
+ ></ox-tree>
71
+ </div>
72
+ </div>
73
+ `;
74
+ }
75
+ handleSourceSelect() {
76
+ this.requestUpdate();
77
+ }
78
+ handleTargetSelect() { }
79
+ renderMapping(mapping) {
80
+ const sourcePoses = mapping.inputs.map(input => this.getNodePosition(input, true)).filter(Boolean);
81
+ const targetPoses = mapping.outputs.map(output => this.getNodePosition(output, false)).filter(Boolean);
82
+ const positions = [...sourcePoses, ...targetPoses];
83
+ if (positions.length == 0) {
84
+ return nothing;
85
+ }
86
+ const mappingsRect = this.mappingsArea.getBoundingClientRect();
87
+ const centerY = positions.reduce((sum, pos) => {
88
+ return sum + pos.y;
89
+ }, 0);
90
+ const boxX = mappingsRect.width / 2 - 50;
91
+ const boxY = centerY / positions.length - 10;
92
+ return svg `
93
+ <g>
94
+ ${sourcePoses.map(sourcePos => svg `<line class="mapping-line" x1=${sourcePos.x} y1=${sourcePos.y} x2=${boxX} y2=${boxY + 10}></line>`)}
95
+
96
+ <rect class="mapping-box" x=${boxX} y=${boxY} width="100" height="20"></rect>
97
+ <text x=${boxX + 50} y=${boxY + 15} fill="black" font-size="12" text-anchor="middle">
98
+ ${mapping.transformLogic || 'map'}
99
+ </text>
100
+
101
+ ${targetPoses.map(targetPos => svg `<line class="mapping-line" x1=${boxX + 100} y1=${boxY + 10} x2=${targetPos.x} y2=${targetPos.y}></line>`)}
102
+ </g>
103
+ `;
104
+ }
105
+ getNodePosition(nodeId, source) {
106
+ const tree = source ? this.sourceTree : this.targetTree;
107
+ if (!tree) {
108
+ return;
109
+ }
110
+ const node = tree.renderRoot.querySelector(`[data-id='${nodeId}']`);
111
+ if (!node) {
112
+ return;
113
+ }
114
+ const mappingsRect = this.mappingsArea.getBoundingClientRect();
115
+ const nodeRect = node.getBoundingClientRect();
116
+ return {
117
+ x: source ? 0 : mappingsRect.width,
118
+ y: nodeRect.top
119
+ };
120
+ }
121
+ };
122
+ OxDataMapper.styles = css `
123
+ .container {
124
+ display: flex;
125
+ width: 100%;
126
+ height: 100%;
127
+ position: relative;
128
+ }
129
+
130
+ .tree-container {
131
+ flex: 1;
132
+ display: flex;
133
+ flex-direction: column;
134
+ padding: 10px;
135
+ border: 1px solid #ccc;
136
+ overflow-y: auto;
137
+ }
138
+
139
+ .tree-container.source {
140
+ padding-right: 0px;
141
+ }
142
+
143
+ .tree-container.target {
144
+ padding-left: 0px;
145
+ text-align: right;
146
+ }
147
+
148
+ .mapping-area {
149
+ flex: 1;
150
+ padding: 10px 0;
151
+ margin: 0;
152
+ border: 1px solid #ccc;
153
+ text-align: center;
154
+ position: relative;
155
+ }
156
+
157
+ svg {
158
+ position: absolute;
159
+ top: 0;
160
+ left: 0;
161
+ width: 100%;
162
+ height: 100%;
163
+ pointer-events: none;
164
+ }
165
+
166
+ .mapping-box {
167
+ fill: rgba(0, 0, 255, 0.2);
168
+ stroke: blue;
169
+ stroke-width: 0.5;
170
+ }
171
+
172
+ .mapping-line {
173
+ stroke: black;
174
+ stroke-width: 0.5;
175
+ fill: none;
176
+ }
177
+ `;
178
+ __decorate([
179
+ state()
180
+ ], OxDataMapper.prototype, "sourceScheme", void 0);
181
+ __decorate([
182
+ state()
183
+ ], OxDataMapper.prototype, "targetScheme", void 0);
184
+ __decorate([
185
+ state()
186
+ ], OxDataMapper.prototype, "mappings", void 0);
187
+ __decorate([
188
+ query('.tree-container.source > ox-tree')
189
+ ], OxDataMapper.prototype, "sourceTree", void 0);
190
+ __decorate([
191
+ query('.tree-container.target > ox-tree')
192
+ ], OxDataMapper.prototype, "targetTree", void 0);
193
+ __decorate([
194
+ query('.mapping-area')
195
+ ], OxDataMapper.prototype, "mappingsArea", void 0);
196
+ OxDataMapper = __decorate([
197
+ customElement('ox-data-mapper')
198
+ ], OxDataMapper);
199
+ export { OxDataMapper };
200
+ //# sourceMappingURL=ox-data-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-data-mapper.js","sourceRoot":"","sources":["../../src/ox-data-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-tree/ox-tree.js'\nimport { OxTree } from '@operato/data-tree/ox-tree.js'\n\nimport { LitElement, html, svg, css, nothing } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\ninterface TreeNode {\n id: string\n label: string\n children?: TreeNode[]\n multiplicity?: '1' | '*' | '1..*' | '0..1'\n}\n\ninterface Mapping {\n inputs: string[]\n outputs: string[]\n transformLogic?: string\n}\n\n@customElement('ox-data-mapper')\nexport class OxDataMapper extends LitElement {\n static styles = css`\n .container {\n display: flex;\n width: 100%;\n height: 100%;\n position: relative;\n }\n\n .tree-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: 10px;\n border: 1px solid #ccc;\n overflow-y: auto;\n }\n\n .tree-container.source {\n padding-right: 0px;\n }\n\n .tree-container.target {\n padding-left: 0px;\n text-align: right;\n }\n\n .mapping-area {\n flex: 1;\n padding: 10px 0;\n margin: 0;\n border: 1px solid #ccc;\n text-align: center;\n position: relative;\n }\n\n svg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n }\n\n .mapping-box {\n fill: rgba(0, 0, 255, 0.2);\n stroke: blue;\n stroke-width: 0.5;\n }\n\n .mapping-line {\n stroke: black;\n stroke-width: 0.5;\n fill: none;\n }\n `\n\n @state() private sourceScheme: TreeNode = {\n id: 's1',\n label: 'Order',\n multiplicity: '*',\n children: [\n {\n id: 's1-1',\n label: 'Item',\n multiplicity: '*',\n children: [\n { id: 's1-1-1', label: 'Name' },\n { id: 's1-1-2', label: 'Price' }\n ]\n }\n ]\n }\n\n @state() private targetScheme: TreeNode = {\n id: 't1',\n label: 'Invoice',\n children: [\n {\n id: 't1-1',\n label: 'Products',\n multiplicity: '*',\n children: [\n { id: 't1-1-1', label: 'Product Name' },\n { id: 't1-1-2', label: 'Cost' }\n ]\n }\n ]\n }\n\n @state() private mappings: Mapping[] = [\n {\n inputs: ['s1-1-1'],\n outputs: ['t1-1-1'],\n transformLogic: 'toUpperCase()'\n },\n {\n inputs: ['s1-1-2'],\n outputs: ['t1-1-2'],\n transformLogic: 'convertCurrency()'\n }\n ]\n\n @query('.tree-container.source > ox-tree') private sourceTree!: OxTree\n @query('.tree-container.target > ox-tree') private targetTree!: OxTree\n @query('.mapping-area') private mappingsArea!: HTMLDivElement\n\n render() {\n return html`\n <div class=\"container\">\n <div class=\"tree-container source\">\n <h3>Source Structure</h3>\n <ox-tree .data=${this.sourceScheme} @select=${this.handleSourceSelect} label-extends></ox-tree>\n </div>\n <div class=\"mapping-area\">\n <h3>Mappings</h3>\n <svg>${this.mappings.map(m => this.renderMapping(m))}</svg>\n </div>\n <div class=\"tree-container target\">\n <h3>Target Structure</h3>\n <ox-tree\n .data=${this.targetScheme}\n @select=${this.handleTargetSelect}\n direction=\"rtl\"\n label-extends\n ></ox-tree>\n </div>\n </div>\n `\n }\n\n handleSourceSelect() {\n this.requestUpdate()\n }\n handleTargetSelect() {}\n\n renderMapping(mapping: Mapping) {\n const sourcePoses = mapping.inputs.map(input => this.getNodePosition(input, true)).filter(Boolean) as {\n x: number\n y: number\n }[]\n const targetPoses = mapping.outputs.map(output => this.getNodePosition(output, false)).filter(Boolean) as {\n x: number\n y: number\n }[]\n\n const positions = [...sourcePoses, ...targetPoses]\n if (positions.length == 0) {\n return nothing\n }\n\n const mappingsRect = this.mappingsArea.getBoundingClientRect()\n const centerY = positions.reduce((sum, pos) => {\n return sum + pos.y\n }, 0)\n\n const boxX = mappingsRect.width / 2 - 50\n const boxY = centerY / positions.length - 10\n\n return svg`\n <g>\n ${sourcePoses.map(sourcePos => svg`<line class=\"mapping-line\" x1=${sourcePos!.x} y1=${sourcePos!.y} x2=${boxX} y2=${boxY + 10}></line>`)}\n\n <rect class=\"mapping-box\" x=${boxX} y=${boxY} width=\"100\" height=\"20\"></rect>\n <text x=${boxX + 50} y=${boxY + 15} fill=\"black\" font-size=\"12\" text-anchor=\"middle\">\n ${mapping.transformLogic || 'map'}\n </text>\n\n ${targetPoses.map(targetPos => svg`<line class=\"mapping-line\" x1=${boxX + 100} y1=${boxY + 10} x2=${targetPos!.x} y2=${targetPos!.y}></line>`)}\n </g>\n `\n }\n\n getNodePosition(nodeId: string, source: boolean) {\n const tree = source ? this.sourceTree : this.targetTree\n if (!tree) {\n return\n }\n\n const node = tree!.renderRoot.querySelector(`[data-id='${nodeId}']`)\n if (!node) {\n return\n }\n\n const mappingsRect = this.mappingsArea.getBoundingClientRect()\n const nodeRect = node.getBoundingClientRect()\n\n return {\n x: source ? 0 : mappingsRect.width,\n y: nodeRect.top\n }\n }\n}\n"]}
@@ -0,0 +1,30 @@
1
+ import '../src/ox-data-mapper.js';
2
+ import '@material/web/icon/icon.js';
3
+ import { TemplateResult } from 'lit';
4
+ declare const _default: {
5
+ title: string;
6
+ component: string;
7
+ argTypes: {
8
+ sourceScheme: {
9
+ control: string;
10
+ };
11
+ targetScheme: {
12
+ control: string;
13
+ };
14
+ mappings: {
15
+ control: string;
16
+ };
17
+ };
18
+ };
19
+ export default _default;
20
+ interface Story<T> {
21
+ (args: T): TemplateResult;
22
+ args?: Partial<T>;
23
+ argTypes?: Record<string, unknown>;
24
+ }
25
+ interface ArgTypes {
26
+ sourceScheme: object;
27
+ targetScheme: object;
28
+ mappings: Object;
29
+ }
30
+ export declare const Regular: Story<ArgTypes>;
@@ -0,0 +1,93 @@
1
+ import '../src/ox-data-mapper.js';
2
+ import '@material/web/icon/icon.js';
3
+ import { html } from 'lit';
4
+ export default {
5
+ title: '3 modes in ox-data-mapper',
6
+ component: 'ox-data-mapper',
7
+ argTypes: {
8
+ sourceScheme: { control: 'object' },
9
+ targetScheme: { control: 'object' },
10
+ mappings: { control: 'object' }
11
+ }
12
+ };
13
+ const Template = ({ sourceScheme, targetScheme, mappings }) => html `
14
+ <link
15
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
16
+ rel="stylesheet"
17
+ />
18
+ <link
19
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
20
+ rel="stylesheet"
21
+ />
22
+ <link
23
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
24
+ rel="stylesheet"
25
+ />
26
+
27
+ <link href="/themes/app-theme.css" rel="stylesheet" />
28
+ <link href="/themes/light.css" rel="stylesheet" />
29
+ <link href="/themes/dark.css" rel="stylesheet" />
30
+ <link href="/themes/spacing.css" rel="stylesheet" />
31
+ <link href="/themes/grist-theme.css" rel="stylesheet" />
32
+ <link href="/themes/form-theme.css" rel="stylesheet" />
33
+
34
+ <style>
35
+ #root-inner {
36
+ min-height: 1000px;
37
+ }
38
+
39
+ ox-data-mapper {
40
+ width: 100%;
41
+ height: 1000px;
42
+ }
43
+ </style>
44
+
45
+ <ox-data-mapper .sourceScheme=${sourceScheme} .targetScheme=${targetScheme} .mappings=${mappings}></ox-data-mapper>
46
+ `;
47
+ export const Regular = Template.bind({});
48
+ Regular.args = {
49
+ sourceScheme: {
50
+ id: 's1',
51
+ label: 'Order',
52
+ multiplicity: '*',
53
+ children: [
54
+ {
55
+ id: 's1-1',
56
+ label: 'Item',
57
+ multiplicity: '*',
58
+ children: [
59
+ { id: 's1-1-1', label: 'Name' },
60
+ { id: 's1-1-2', label: 'Price' }
61
+ ]
62
+ }
63
+ ]
64
+ },
65
+ targetScheme: {
66
+ id: 't1',
67
+ label: 'Invoice',
68
+ children: [
69
+ {
70
+ id: 't1-1',
71
+ label: 'Products',
72
+ multiplicity: '*',
73
+ children: [
74
+ { id: 't1-1-1', label: 'Product Name' },
75
+ { id: 't1-1-2', label: 'Cost' }
76
+ ]
77
+ }
78
+ ]
79
+ },
80
+ mappings: [
81
+ {
82
+ inputs: ['s1'],
83
+ outputs: ['t1-1-1'],
84
+ transformLogic: 'toUpperCase()'
85
+ },
86
+ {
87
+ inputs: ['s1-1-1', 's1-1-2'],
88
+ outputs: ['t1-1-2'],
89
+ transformLogic: 'convertCurrency()'
90
+ }
91
+ ]
92
+ };
93
+ //# sourceMappingURL=ox-data-mapper.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-data-mapper.stories.js","sourceRoot":"","sources":["../../stories/ox-data-mapper.stories.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAA;AACjC,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,eAAe;IACb,KAAK,EAAE,2BAA2B;IAClC,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE;QACR,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACnC,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACnC,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;KAChC;CACF,CAAA;AAcD,MAAM,QAAQ,GAAoB,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgC5D,YAAY,kBAAkB,YAAY,cAAc,QAAQ;CACjG,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,YAAY,EAAE;QACZ,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,OAAO;QACd,YAAY,EAAE,GAAG;QACjB,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,MAAM;gBACb,YAAY,EAAE,GAAG;gBACjB,QAAQ,EAAE;oBACR,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC/B,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;iBACjC;aACF;SACF;KACF;IAED,YAAY,EAAE;QACZ,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,UAAU;gBACjB,YAAY,EAAE,GAAG;gBACjB,QAAQ,EAAE;oBACR,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;oBACvC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;iBAChC;aACF;SACF;KACF;IAED,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,CAAC,QAAQ,CAAC;YACnB,cAAc,EAAE,eAAe;SAChC;QACD;YACE,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC5B,OAAO,EAAE,CAAC,QAAQ,CAAC;YACnB,cAAc,EAAE,mBAAmB;SACpC;KACF;CACF,CAAA","sourcesContent":["import '../src/ox-data-mapper.js'\nimport '@material/web/icon/icon.js'\n\nimport { html, TemplateResult } from 'lit'\n\nexport default {\n title: '3 modes in ox-data-mapper',\n component: 'ox-data-mapper',\n argTypes: {\n sourceScheme: { control: 'object' },\n targetScheme: { control: 'object' },\n mappings: { control: 'object' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n sourceScheme: object\n targetScheme: object\n mappings: Object\n}\n\nconst Template: Story<ArgTypes> = ({ sourceScheme, targetScheme, mappings }: ArgTypes) => html`\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n\n <link href=\"/themes/app-theme.css\" rel=\"stylesheet\" />\n <link href=\"/themes/light.css\" rel=\"stylesheet\" />\n <link href=\"/themes/dark.css\" rel=\"stylesheet\" />\n <link href=\"/themes/spacing.css\" rel=\"stylesheet\" />\n <link href=\"/themes/grist-theme.css\" rel=\"stylesheet\" />\n <link href=\"/themes/form-theme.css\" rel=\"stylesheet\" />\n\n <style>\n #root-inner {\n min-height: 1000px;\n }\n\n ox-data-mapper {\n width: 100%;\n height: 1000px;\n }\n </style>\n\n <ox-data-mapper .sourceScheme=${sourceScheme} .targetScheme=${targetScheme} .mappings=${mappings}></ox-data-mapper>\n`\n\nexport const Regular = Template.bind({})\nRegular.args = {\n sourceScheme: {\n id: 's1',\n label: 'Order',\n multiplicity: '*',\n children: [\n {\n id: 's1-1',\n label: 'Item',\n multiplicity: '*',\n children: [\n { id: 's1-1-1', label: 'Name' },\n { id: 's1-1-2', label: 'Price' }\n ]\n }\n ]\n },\n\n targetScheme: {\n id: 't1',\n label: 'Invoice',\n children: [\n {\n id: 't1-1',\n label: 'Products',\n multiplicity: '*',\n children: [\n { id: 't1-1-1', label: 'Product Name' },\n { id: 't1-1-2', label: 'Cost' }\n ]\n }\n ]\n },\n\n mappings: [\n {\n inputs: ['s1'],\n outputs: ['t1-1-1'],\n transformLogic: 'toUpperCase()'\n },\n {\n inputs: ['s1-1-1', 's1-1-2'],\n outputs: ['t1-1-2'],\n transformLogic: 'convertCurrency()'\n }\n ]\n}\n"]}
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.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.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../../../node_modules/@lit/reactive-element/development/css-tag.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-element.d.ts","../../../node_modules/lit-html/development/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/development/lit-html.d.ts","../../../node_modules/lit-element/development/lit-element.d.ts","../../../node_modules/lit-html/development/is-server.d.ts","../../../node_modules/lit/development/index.d.ts","../../data-tree/dist/src/ox-tree.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/development/decorators.d.ts","../src/ox-data-mapper.ts","../src/index.ts","../../../node_modules/@material/web/icon/internal/icon.d.ts","../../../node_modules/@material/web/icon/icon.d.ts","../stories/ox-data-mapper.stories.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileIdsList":[[80,123],[59,80,123],[51,59,80,123],[51,59,67,80,123],[61,80,123],[49,50,80,123],[57,72,80,123],[54,57,80,123],[80,120,123],[80,122,123],[123],[80,123,128,158],[80,123,124,129,135,136,143,155,166],[80,123,124,125,135,143],[75,76,77,80,123],[80,123,126,167],[80,123,127,128,136,144],[80,123,128,155,163],[80,123,129,131,135,143],[80,122,123,130],[80,123,131,132],[80,123,135],[80,123,133,135],[80,122,123,135],[80,123,135,136,137,155,166],[80,123,135,136,137,150,155,158],[80,118,123,171],[80,118,123,131,135,138,143,155,166],[80,123,135,136,138,139,143,155,163,166],[80,123,138,140,155,163,166],[78,79,80,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],[80,123,135,141],[80,123,142,166],[80,123,131,135,143,155],[80,123,144],[80,123,145],[80,122,123,146],[80,120,121,122,123,124,125,126,127,128,129,130,131,132,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],[80,123,148],[80,123,149],[80,123,135,150,151],[80,123,150,152,167,169],[80,123,135,155,156,157,158],[80,123,155,157],[80,123,155,156],[80,123,158],[80,123,159],[80,120,123,155],[80,123,135,161,162],[80,123,161,162],[80,123,128,143,155,163],[80,123,164],[80,123,143,165],[80,123,138,149,166],[80,123,128,167],[80,123,155,168],[80,123,142,169],[80,123,170],[80,123,128,135,137,146,155,166,169,171],[80,123,155,172],[51,54,80,123],[54,80,123],[52,53,80,123],[60,61,62,63,64,65,66,67,68,80,123],[51,54,55,56,80,123],[47,80,123],[80,90,94,123,166],[80,90,123,155,166],[80,85,123],[80,87,90,123,163,166],[80,123,143,163],[80,123,173],[80,85,123,173],[80,87,90,123,143,166],[80,82,83,86,89,123,135,155,166],[80,90,97,123],[80,82,88,123],[80,90,111,112,123],[80,86,90,123,158,166,173],[80,111,123,173],[80,84,85,123,173],[80,90,123],[80,84,85,86,87,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,123],[80,90,105,123],[80,90,97,98,123],[80,88,90,98,99,123],[80,89,123],[80,82,85,90,123],[80,90,94,98,99,123],[80,94,123],[80,88,90,93,123,166],[80,82,87,90,97,123],[80,123,155],[80,85,90,111,123,171,173],[48,70,80,123],[48,57,58,69,80,123],[48,57,70,73,80,123],[57,80,123]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","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":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"e056bb30bf82271634daeee81f772f4a7960085f01f6d4d09c8da1ebe5f6a623","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"86492a546c3308feaf1dde967afd325c321483b5e96f5fa9e9b6e691dc23fa9e","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"43f58358870effc43ba93c92c040dee2285cbd8685ddfa77658e498780727c4e","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},"090099dd67bcf6afcbfe261ec834385fee0756623e900bde786434c3faa4de60",{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"1cc188904259bd0985b24d9dc2a160891cb5e94210901466b951716fcdb4ff62","impliedFormat":99},{"version":"732fb71ecb695d6f36ddcbb72ebfe4ff6b6491d45101a00fa2b75a26b80d640f","impliedFormat":99},{"version":"039cb05125d7621f8143616c495b8e6b54249c4e64d2754b80ff93867f7f4b01","impliedFormat":99},{"version":"1b81f1fa82ad30af01ab1cae91ccaddc10c48f5916bbd6d282155e44a65d858d","impliedFormat":99},{"version":"a0fc7a02a75802678a67000607f20266cf1a49dc0e787967efe514e31b9ed0c3","impliedFormat":99},{"version":"5ebf098a1d81d400b8af82807cf19893700335cf91a7b9dbd83a5d737af34b11","impliedFormat":99},{"version":"101cf83ac3f9c5e1a7355a02e4fbe988877ef83c4ebec0ff0f02b2af022254a3","impliedFormat":99},{"version":"d017e2fcd44b46ca80cd2b592a6314e75f5caab5bda230f0f4a45e964049a43a","impliedFormat":99},{"version":"a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","impliedFormat":99},{"version":"d66134be6e57bfbbd0318315db53a9945720757601f97cd387386e7c1c07e838","signature":"5b3413a45c93bdf116695c15a31b76d331d23d6aa02c75ab084c1875771776b1"},{"version":"4ea79eb62d245a67a054cfe5e60df46987cad7af04af9698fcd8e7184ac9aa83","signature":"7074910c13fe1fa1bb9d1a83db892f0ff8f249e1481cb12f5f4dabb8b82948f9"},{"version":"5565deadc1d553f9f1ef370351432c258d2a6f1a5ca47e574e5430db824468c7","impliedFormat":99},{"version":"4ae1ed87c59518f4e0918a21409ec3020e97037a386b57953c6b9fed9cad6949","affectsGlobalScope":true,"impliedFormat":99},{"version":"d213bc359d179eb6f41648e35f19cb0a2da7e7b85f99ffcf8ce7845b9608ba58","signature":"39e9ba15e53d2af0fed4dfed37d601b579c8847e23803229a2030d8bd1d526e2"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"13af9e8fb6757946c48117315866177b95e554d1e773577bb6ca6e40083b6d73","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0539c58717cbc8b73acb29f9e992ab5ff20adba5f9b57130691c7f9b186a4d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ff5a53a58e756d2661b73ba60ffe274231a4432d21f7a2d0d9e4f6aa99f4283","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"2ea254f944dfe131df1264d1fb96e4b1f7d110195b21f1f5dbb68fdd394e5518","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"b11cb909327c874a4e81bfb390bf0d231e5bf9439052689ab80ba8afa50da17b","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f6f1d54779d0b9ed152b0516b0958cd34889764c1190434bbf18e7a8bb884cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"1cbae62b67f180291d211f0e1045fb923a8ec800cfbf9caa13223d769013dae2","impliedFormat":1},{"version":"b52d379b4939681f3781d1cfd5b2c3cbb35e7e76f2425172e165782f8a08228c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"993985beef40c7d113f6dd8f0ba26eed63028b691fbfeb6a5b63f26408dd2c6d","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb094bb347d7df3380299eb69836c2c8758626ecf45917577707c03cf816b6f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"b02784111b3fc9c38590cd4339ff8718f9329a6f4d3fd66e9744a1dcd1d7e191","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"29f72ec1289ae3aeda78bf14b38086d3d803262ac13904b400422941a26a3636","affectsGlobalScope":true,"impliedFormat":1}],"root":[70,71,74],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"referencedMap":[[49,1],[59,1],[60,2],[63,3],[61,3],[65,3],[68,4],[67,3],[66,3],[64,3],[62,5],[50,1],[51,6],[73,7],[72,8],[174,1],[120,9],[121,9],[122,10],[80,11],[123,12],[124,13],[125,14],[75,1],[78,15],[76,1],[77,1],[126,16],[127,17],[128,18],[129,19],[130,20],[131,21],[132,21],[134,22],[133,23],[135,24],[136,25],[137,26],[119,27],[79,1],[138,28],[139,29],[140,30],[173,31],[141,32],[142,33],[143,34],[144,35],[145,36],[146,37],[147,38],[148,39],[149,40],[150,41],[151,41],[152,42],[153,1],[154,1],[155,43],[157,44],[156,45],[158,46],[159,47],[160,48],[161,49],[162,50],[163,51],[164,52],[165,53],[166,54],[167,55],[168,56],[169,57],[170,58],[171,59],[172,60],[53,1],[81,1],[55,61],[52,62],[56,1],[54,63],[69,64],[57,65],[48,66],[47,1],[45,1],[46,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[97,67],[107,68],[96,67],[117,69],[88,70],[87,71],[116,72],[110,73],[115,74],[90,75],[104,76],[89,77],[113,78],[85,79],[84,72],[114,80],[86,81],[91,82],[92,1],[95,82],[82,1],[118,83],[108,84],[99,85],[100,86],[102,87],[98,88],[101,89],[111,72],[93,90],[94,91],[103,92],[83,93],[106,84],[105,82],[109,1],[112,94],[71,95],[70,96],[74,97],[58,98]],"version":"5.7.3"}