bridgelist 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # bridgelist
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/bridgelist.svg)](https://www.npmjs.com/package/bridgelist)
4
- [![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue)](https://www.typescriptlang.org/)
6
6
 
7
7
  A TypeScript-based tool for automatically documenting field mappings between different API systems. Generate documentation from your mapping code using simple decorators.
8
8
 
9
- ![img.png](img.png)
9
+ ![birdgelist-example](https://biga.de/wp-content/uploads/2025/09/bridgelist-example.png)
10
10
 
11
11
  ## Installation
12
12
 
@@ -204,13 +204,18 @@ function analyzeMethod(filePath, className, methodName) {
204
204
  // search for ReturnStatement
205
205
  if (typescript_1.default.isReturnStatement(node) && node.expression) {
206
206
  let objectLiteral;
207
+ let expression = node.expression;
208
+ // Handle type assertions
209
+ if (typescript_1.default.isAsExpression(expression)) {
210
+ expression = expression.expression;
211
+ }
207
212
  // Case 1: direct return of an object literal
208
- if (typescript_1.default.isObjectLiteralExpression(node.expression)) {
209
- objectLiteral = node.expression;
213
+ if (typescript_1.default.isObjectLiteralExpression(expression)) {
214
+ objectLiteral = expression;
210
215
  }
211
216
  // Case 2: return of an object literal from a variable
212
- else if (typescript_1.default.isIdentifier(node.expression)) {
213
- const variableName = node.expression.getText();
217
+ else if (typescript_1.default.isIdentifier(expression)) {
218
+ const variableName = expression.getText();
214
219
  const varObjectLiteral = objectVariables.get(variableName);
215
220
  if (varObjectLiteral) {
216
221
  objectLiteral = varObjectLiteral;
@@ -1 +1 @@
1
- {"version":3,"file":"ast-analyzer.js","sourceRoot":"","sources":["../../src/analyzers/ast-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-analyzer.js","sourceRoot":"","sources":["../../src/analyzers/ast-analyzer.ts"],"names":[],"mappings":"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"}
@@ -1,299 +1,836 @@
1
-
2
- <!DOCTYPE html>
3
- <html lang="en">
4
- <head>
5
- <title>bridgelist</title>
6
- <style>
7
- * {
8
- margin: 0;
9
- padding: 0;
10
- box-sizing: border-box;
11
- }
12
- h1 {
13
- margin-bottom: 2rem;
14
- }
15
- h3, p {
16
- margin-bottom: 1rem;
17
- }
18
- body {
19
- font-family: Roboto, Helvetica, sans-serif;
20
- padding: 2rem;
21
- }
22
- .mapping-container {
23
- width: 100%;
24
- display: flex;
25
- flex-direction: column;
26
- align-items: flex-start;
27
- border: 1px solid #ddd;
28
- border-radius: 5px;
29
- padding: 1rem;
30
- margin: 1rem 0;
31
- }
32
- table {
33
- border-collapse: collapse;
34
- width: 100%;
35
- margin: 1rem 0;
36
- }
37
- th, td {
38
- border: 1px solid #ddd;
39
- padding: 8px;
40
- }
41
- th {
42
- background-color: #f2f2f2;
43
- text-align: left;
44
- }
45
- .arrow {
46
- color: #666;
47
- }
48
- .hidden {
49
- display: none;
50
- }
51
- .show-hide-mapping {
52
- cursor: pointer;
53
- padding: 1rem;
54
- width: 100%;
55
- background-color: #7ac29d44;
56
- display: flex;
57
- justify-content: flex-start;
58
- gap: 1rem;
59
- align-items: center;
60
- user-select: none;
61
- }
62
- .collapse {
63
- width: 24px;
64
- height: 24px;
65
- border: 1px solid #000;
66
- border-radius: 50%;
67
- display: flex;
68
- justify-content: center;
69
- align-items: center;
70
- pointer-events: none;
71
- }
72
- .rotate {
73
- transform: rotate(180deg);
74
- }
75
- input[type="text"] {
76
- padding: 0.5rem;
77
- }
78
- .header {
79
- position: fixed;
80
- top: 0;
81
- left: 0;
82
- display: flex;
83
- justify-content: space-between;
84
- align-items: center;
85
- height: 5rem;
86
- padding: 1rem 2rem;
87
- background-color: #c2e5da;
88
- width: 100%;
89
- z-index: 100;
90
- }
91
- .container {
92
- margin-top: 7rem;
93
- }
94
- .constant-value {
95
- background-color: #f9dcbe44;
96
- }
97
- .transformed-value {
98
- background-color: #dae6e366;
99
- }
100
- .styled-text {
101
- font-size: 1.2rem;
102
- font-weight: lighter;
103
- }
104
- .class-method {
105
- width: 100%;
106
- display: flex;
107
- flex-wrap: wrap;
108
- justify-content: space-between;
109
- align-items: center;
110
- }
111
- .class-method-col {
112
- width: 33%;
113
- display: flex;
114
- flex-direction: column;
115
- }
116
- @media (max-width: 1024px) {
117
- .last {
118
- display: none;
119
- }
120
- }
121
- </style>
122
- </head>
123
- <body>
124
- <div class="header">
125
- <h1 style="margin: 0; flex: 1">bridgelist</h1>
126
- <input style="flex: 1;" type="text" id="searchInput" name="search" size="30" placeholder="Search for method or class..." />
127
- <div style="flex: 1"></div>
128
- </div>
129
- <div class="container">
130
-
131
-
132
- <div class="mapping-container">
133
- <div class="class-method">
134
- <div class="class-method-col">
135
- <span class="styled-text">Class:</span><h3>ComplexMapper</h3>
136
- </div>
137
- <div class="class-method-col">
138
- <span class="styled-text"> Method:</span><h3>mapContactToCustomer</h3>
139
- </div>
140
- <div class="class-method-col last">
141
- </div>
142
- </div>
143
- <p>Converts CRM contacts to ERP customers</p>
144
- <div class="show-hide-mapping">
145
- <div class="collapse">
146
- <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
147
- <g id="Arrow / Caret_Down_MD">
148
- <path id="Vector" d="M16 10L12 14L8 10" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
149
- </g>
150
- </svg>
151
- </div>
152
- <span>Mapping from <strong>CRM</strong> to <strong>ERP</strong></span>
153
- </div>
154
- <table class="mapping-table hidden">
155
- <tr>
156
- <th>CRM Field</th>
157
- <th></th>
158
- <th>ERP Field</th>
159
- <th>Transformation</th>
160
- </tr>
161
-
162
- <tr>
163
- <td>contact.id</td>
164
- <td class="arrow">&rarr;</td>
165
- <td>customerId</td>
166
- <td>Direct mapping</td>
167
- </tr>
168
-
169
- <tr>
170
- <td>contact.firstName, contact.lastName</td>
171
- <td class="arrow">&rarr;</td>
172
- <td>fullName</td>
173
- <td>Transformed</td>
174
- </tr>
175
-
176
- <tr>
177
- <td>contact.address.streetName</td>
178
- <td class="arrow">&rarr;</td>
179
- <td>address.street</td>
180
- <td>Direct mapping</td>
181
- </tr>
182
-
183
- <tr>
184
- <td>contact.address.city</td>
185
- <td class="arrow">&rarr;</td>
186
- <td>address.city</td>
187
- <td>Direct mapping</td>
188
- </tr>
189
-
190
- <tr>
191
- <td>Constant value</td>
192
- <td class="arrow">&rarr;</td>
193
- <td>address.country</td>
194
- <td>defaultCountry</td>
195
- </tr>
196
- </table>
197
- </div>
198
- </div>
199
-
200
- <div class="mapping-container">
201
- <div class="class-method">
202
- <div class="class-method-col">
203
- <span class="styled-text">Class:</span><h3>SimpleMapper</h3>
204
- </div>
205
- <div class="class-method-col">
206
- <span class="styled-text"> Method:</span><h3>mapAToB</h3>
207
- </div>
208
- <div class="class-method-col last">
209
- </div>
210
- </div>
211
- <p>Simple mapping example</p>
212
- <div class="show-hide-mapping">
213
- <div class="collapse">
214
- <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
215
- <g id="Arrow / Caret_Down_MD">
216
- <path id="Vector" d="M16 10L12 14L8 10" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
217
- </g>
218
- </svg>
219
- </div>
220
- <span>Mapping from <strong>System A</strong> to <strong>System B</strong></span>
221
- </div>
222
- <table class="mapping-table hidden">
223
- <tr>
224
- <th>System A Field</th>
225
- <th></th>
226
- <th>System B Field</th>
227
- <th>Transformation</th>
228
- </tr>
229
-
230
- <tr>
231
- <td>sourceObject.id</td>
232
- <td class="arrow">&rarr;</td>
233
- <td>objectId</td>
234
- <td>Direct mapping</td>
235
- </tr>
236
-
237
- <tr>
238
- <td>sourceObject.firstname</td>
239
- <td class="arrow">&rarr;</td>
240
- <td>name</td>
241
- <td>Direct mapping</td>
242
- </tr>
243
-
244
- <tr>
245
- <td>sourceObject.details</td>
246
- <td class="arrow">&rarr;</td>
247
- <td>description</td>
248
- <td>Direct mapping</td>
249
- </tr>
250
- </table>
251
- </div>
252
- </div>
253
- <script>
254
- const collapseButtons = document.querySelectorAll('.show-hide-mapping');
255
- const mappingTables = document.querySelectorAll('.mapping-table');
256
- const search = document.getElementById('searchInput');
257
- const mappingContainers = document.querySelectorAll('.mapping-container');
258
- const tableRows = document.querySelectorAll('tr');
259
-
260
- tableRows.forEach(row => {
261
- const sourceField = row.cells[0].textContent;
262
- const transformation = row.cells[3].textContent;
263
- if (sourceField.includes('Constant value')) {
264
- row.classList.add('constant-value');
265
- } else if (transformation.includes('Transformed')) {
266
- row.classList.add('transformed-value');
267
- } else if (!sourceField.includes('Constant value') && !transformation.includes('Direct mapping')) {
268
- row.classList.add('transformed-value');
269
- }
270
- });
271
-
272
- search.addEventListener('input', (e) => {
273
- const searchTerm = e.target.value.toLowerCase();
274
- mappingContainers.forEach(container => {
275
- let classMethodName = '';
276
- const names = container.querySelectorAll('h3');
277
- names.forEach(name => {
278
- classMethodName += name.textContent.toLowerCase();
279
- })
280
- console.log(classMethodName);
281
- if (!classMethodName.includes(searchTerm)) {
282
- container.style.display = 'none';
283
- } else {
284
- container.style.display = 'flex';
285
- }
286
- });
287
- });
288
-
289
- collapseButtons.forEach(button => {
290
- button.addEventListener('click', function() {
291
- const table = button.nextElementSibling;
292
- const caret = button.querySelector('.collapse');
293
- table.classList.toggle('hidden');
294
- caret.classList.toggle('rotate');
295
- });
296
- });
297
- </script>
298
- </body>
299
- </html>
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <title>bridgelist</title>
6
+ <style>
7
+ * {
8
+ margin: 0;
9
+ padding: 0;
10
+ box-sizing: border-box;
11
+ }
12
+ h1 {
13
+ margin-bottom: 2rem;
14
+ }
15
+ h3, p {
16
+ margin-bottom: 1rem;
17
+ }
18
+ body {
19
+ font-family: Roboto, Helvetica, sans-serif;
20
+ padding: 2rem;
21
+ }
22
+ .mapping-container {
23
+ width: 100%;
24
+ display: flex;
25
+ flex-direction: column;
26
+ align-items: flex-start;
27
+ border: 1px solid #ddd;
28
+ border-radius: 5px;
29
+ padding: 1rem;
30
+ margin: 1rem 0;
31
+ }
32
+ table {
33
+ border-collapse: collapse;
34
+ width: 100%;
35
+ margin: 1rem 0;
36
+ }
37
+ th, td {
38
+ border: 1px solid #ddd;
39
+ padding: 8px;
40
+ }
41
+ th {
42
+ background-color: #f2f2f2;
43
+ text-align: left;
44
+ }
45
+ .arrow {
46
+ color: #666;
47
+ }
48
+ .hidden {
49
+ display: none;
50
+ }
51
+ .show-hide-mapping {
52
+ cursor: pointer;
53
+ padding: 1rem;
54
+ width: 100%;
55
+ background-color: #7ac29d44;
56
+ display: flex;
57
+ justify-content: flex-start;
58
+ gap: 1rem;
59
+ align-items: center;
60
+ user-select: none;
61
+ }
62
+ .collapse {
63
+ width: 24px;
64
+ height: 24px;
65
+ border: 1px solid #000;
66
+ border-radius: 50%;
67
+ display: flex;
68
+ justify-content: center;
69
+ align-items: center;
70
+ pointer-events: none;
71
+ }
72
+ .rotate {
73
+ transform: rotate(180deg);
74
+ }
75
+ input[type="text"] {
76
+ padding: 0.5rem;
77
+ }
78
+ .header {
79
+ position: fixed;
80
+ top: 0;
81
+ left: 0;
82
+ display: flex;
83
+ justify-content: space-between;
84
+ align-items: center;
85
+ height: 5rem;
86
+ padding: 1rem 2rem;
87
+ background-color: #c2e5da;
88
+ width: 100%;
89
+ z-index: 100;
90
+ }
91
+ .container {
92
+ margin-top: 7rem;
93
+ }
94
+ .constant-value {
95
+ background-color: #f9dcbe44;
96
+ }
97
+ .transformed-value {
98
+ background-color: #dae6e366;
99
+ }
100
+ .styled-text {
101
+ font-size: 1.2rem;
102
+ font-weight: lighter;
103
+ }
104
+ .class-method {
105
+ width: 100%;
106
+ display: flex;
107
+ justify-content: space-between;
108
+ align-items: center;
109
+ }
110
+ .class-method-col {
111
+ width: 33%;
112
+ display: flex;
113
+ flex-direction: column;
114
+ }
115
+ @media (max-width: 1024px) {
116
+ .last {
117
+ display: none;
118
+ }
119
+ }
120
+ </style>
121
+ </head>
122
+ <body>
123
+ <div class="header">
124
+ <h1 style="margin: 0; flex: 1">bridgelist</h1>
125
+ <input style="flex: 1;" type="text" id="searchInput" name="search" size="30" placeholder="Search for method or class..." />
126
+ <div style="flex: 1"></div>
127
+ </div>
128
+ <div class="container">
129
+
130
+
131
+ <div class="mapping-container">
132
+ <div class="class-method">
133
+ <div class="class-method-col">
134
+ <span class="styled-text">Class:</span><h3>ComplexMapper</h3>
135
+ </div>
136
+ <div class="class-method-col">
137
+ <span class="styled-text"> Method:</span><h3>mapContactToCustomer</h3>
138
+ </div>
139
+ <div class="class-method-col last">
140
+ </div>
141
+ </div>
142
+ <p>Converts CRM contacts to ERP customers</p>
143
+ <div class="show-hide-mapping">
144
+ <div class="collapse">
145
+ <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
146
+ <g id="Arrow / Caret_Down_MD">
147
+ <path id="Vector" d="M16 10L12 14L8 10" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
148
+ </g>
149
+ </svg>
150
+ </div>
151
+ <span>Mapping from <strong>CRM</strong> to <strong>ERP</strong></span>
152
+ </div>
153
+ <table class="mapping-table hidden">
154
+ <tr>
155
+ <th>CRM Field</th>
156
+ <th></th>
157
+ <th>ERP Field</th>
158
+ <th>Transformation</th>
159
+ </tr>
160
+
161
+ <tr>
162
+ <td>contact.id</td>
163
+ <td class="arrow">&rarr;</td>
164
+ <td>customerId</td>
165
+ <td>Direct mapping</td>
166
+ </tr>
167
+
168
+ <tr>
169
+ <td>contact.firstName, contact.lastName</td>
170
+ <td class="arrow">&rarr;</td>
171
+ <td>fullName</td>
172
+ <td>Transformed</td>
173
+ </tr>
174
+
175
+ <tr>
176
+ <td>contact.address.streetName</td>
177
+ <td class="arrow">&rarr;</td>
178
+ <td>address.street</td>
179
+ <td>Direct mapping</td>
180
+ </tr>
181
+
182
+ <tr>
183
+ <td>contact.address.city</td>
184
+ <td class="arrow">&rarr;</td>
185
+ <td>address.city</td>
186
+ <td>Direct mapping</td>
187
+ </tr>
188
+
189
+ <tr>
190
+ <td>Constant value</td>
191
+ <td class="arrow">&rarr;</td>
192
+ <td>address.country</td>
193
+ <td>defaultCountry</td>
194
+ </tr>
195
+ </table>
196
+ </div>
197
+ </div>
198
+
199
+ <div class="mapping-container">
200
+ <div class="class-method">
201
+ <div class="class-method-col">
202
+ <span class="styled-text">Class:</span><h3>SanivisionRestCustomerParser</h3>
203
+ </div>
204
+ <div class="class-method-col">
205
+ <span class="styled-text"> Method:</span><h3>parseCustomerToContact</h3>
206
+ </div>
207
+ <div class="class-method-col last">
208
+ </div>
209
+ </div>
210
+ <p>Sanivision REST customer to Hubspot contact</p>
211
+ <div class="show-hide-mapping">
212
+ <div class="collapse">
213
+ <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
214
+ <g id="Arrow / Caret_Down_MD">
215
+ <path id="Vector" d="M16 10L12 14L8 10" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
216
+ </g>
217
+ </svg>
218
+ </div>
219
+ <span>Mapping from <strong>Sanivision</strong> to <strong>hubspot</strong></span>
220
+ </div>
221
+ <table class="mapping-table hidden">
222
+ <tr>
223
+ <th>Sanivision Field</th>
224
+ <th></th>
225
+ <th>hubspot Field</th>
226
+ <th>Transformation</th>
227
+ </tr>
228
+
229
+ <tr>
230
+ <td>customer.kundennummer.toString</td>
231
+ <td class="arrow">&rarr;</td>
232
+ <td>properties.kundennummer</td>
233
+ <td>customer.kundennummer.toString</td>
234
+ </tr>
235
+
236
+ <tr>
237
+ <td>customer.name1</td>
238
+ <td class="arrow">&rarr;</td>
239
+ <td>properties.firstname</td>
240
+ <td>Direct mapping</td>
241
+ </tr>
242
+
243
+ <tr>
244
+ <td>customer.name2</td>
245
+ <td class="arrow">&rarr;</td>
246
+ <td>properties.lastname</td>
247
+ <td>Direct mapping</td>
248
+ </tr>
249
+
250
+ <tr>
251
+ <td>customer.name3</td>
252
+ <td class="arrow">&rarr;</td>
253
+ <td>properties.name3</td>
254
+ <td>Direct mapping</td>
255
+ </tr>
256
+
257
+ <tr>
258
+ <td>customer.strasse</td>
259
+ <td class="arrow">&rarr;</td>
260
+ <td>properties.stra_e</td>
261
+ <td>Direct mapping</td>
262
+ </tr>
263
+
264
+ <tr>
265
+ <td>customer.ort</td>
266
+ <td class="arrow">&rarr;</td>
267
+ <td>properties.ort</td>
268
+ <td>Direct mapping</td>
269
+ </tr>
270
+
271
+ <tr>
272
+ <td>customer.postleitzahl</td>
273
+ <td class="arrow">&rarr;</td>
274
+ <td>properties.zip</td>
275
+ <td>Direct mapping</td>
276
+ </tr>
277
+
278
+ <tr>
279
+ <td>customer.telefon1</td>
280
+ <td class="arrow">&rarr;</td>
281
+ <td>properties.phone</td>
282
+ <td>this.parsePhoneNumber</td>
283
+ </tr>
284
+
285
+ <tr>
286
+ <td>customer.email</td>
287
+ <td class="arrow">&rarr;</td>
288
+ <td>properties.email</td>
289
+ <td>this.validateEmail</td>
290
+ </tr>
291
+
292
+ <tr>
293
+ <td>Constant value</td>
294
+ <td class="arrow">&rarr;</td>
295
+ <td>properties.kundentyp</td>
296
+ <td>'B2C'</td>
297
+ </tr>
298
+
299
+ <tr>
300
+ <td>(customer.kostentraegergruppeNr ?? '').toString</td>
301
+ <td class="arrow">&rarr;</td>
302
+ <td>properties.kostentrager</td>
303
+ <td>(customer.kostentraegergruppeNr ?? '').toString</td>
304
+ </tr>
305
+
306
+ <tr>
307
+ <td>Constant value</td>
308
+ <td class="arrow">&rarr;</td>
309
+ <td>properties.kundenart</td>
310
+ <td>'SIC'</td>
311
+ </tr>
312
+
313
+ <tr>
314
+ <td>customer.geburtsdatum.split</td>
315
+ <td class="arrow">&rarr;</td>
316
+ <td>properties.geburtsdatum__kunde_</td>
317
+ <td>Transformed</td>
318
+ </tr>
319
+
320
+ <tr>
321
+ <td>Constant value</td>
322
+ <td class="arrow">&rarr;</td>
323
+ <td>properties.herkunft_der_daten__erp_</td>
324
+ <td>process.env.HERKUNFT_DER_DATEN ?? 'Sanivision REST'</td>
325
+ </tr>
326
+
327
+ <tr>
328
+ <td>Constant value</td>
329
+ <td class="arrow">&rarr;</td>
330
+ <td>associations</td>
331
+ <td>[]</td>
332
+ </tr>
333
+ </table>
334
+ </div>
335
+ </div>
336
+
337
+ <div class="mapping-container">
338
+ <div class="class-method">
339
+ <div class="class-method-col">
340
+ <span class="styled-text">Class:</span><h3>SanivisionRestCustomerParser</h3>
341
+ </div>
342
+ <div class="class-method-col">
343
+ <span class="styled-text"> Method:</span><h3>parseContactToCustomer</h3>
344
+ </div>
345
+ <div class="class-method-col last">
346
+ </div>
347
+ </div>
348
+ <p>Hubspot contact to Sanivision REST customer</p>
349
+ <div class="show-hide-mapping">
350
+ <div class="collapse">
351
+ <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
352
+ <g id="Arrow / Caret_Down_MD">
353
+ <path id="Vector" d="M16 10L12 14L8 10" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
354
+ </g>
355
+ </svg>
356
+ </div>
357
+ <span>Mapping from <strong>hubspot</strong> to <strong>Sanivision</strong></span>
358
+ </div>
359
+ <table class="mapping-table hidden">
360
+ <tr>
361
+ <th>hubspot Field</th>
362
+ <th></th>
363
+ <th>Sanivision Field</th>
364
+ <th>Transformation</th>
365
+ </tr>
366
+
367
+ <tr>
368
+ <td>hubspotContact.properties.zustaendige_filiale</td>
369
+ <td class="arrow">&rarr;</td>
370
+ <td>filialenummer</td>
371
+ <td>Direct mapping</td>
372
+ </tr>
373
+
374
+ <tr>
375
+ <td>hubspotContact.properties.firstname</td>
376
+ <td class="arrow">&rarr;</td>
377
+ <td>name1</td>
378
+ <td>Direct mapping</td>
379
+ </tr>
380
+
381
+ <tr>
382
+ <td>hubspotContact.properties.lastname</td>
383
+ <td class="arrow">&rarr;</td>
384
+ <td>name2</td>
385
+ <td>Direct mapping</td>
386
+ </tr>
387
+
388
+ <tr>
389
+ <td>hubspotContact.properties.name3</td>
390
+ <td class="arrow">&rarr;</td>
391
+ <td>name3</td>
392
+ <td>Direct mapping</td>
393
+ </tr>
394
+
395
+ <tr>
396
+ <td>hubspotContact.properties.stra_e</td>
397
+ <td class="arrow">&rarr;</td>
398
+ <td>strasse</td>
399
+ <td>Direct mapping</td>
400
+ </tr>
401
+
402
+ <tr>
403
+ <td>hubspotContact.properties.zip</td>
404
+ <td class="arrow">&rarr;</td>
405
+ <td>postleitzahl</td>
406
+ <td>Direct mapping</td>
407
+ </tr>
408
+
409
+ <tr>
410
+ <td>hubspotContact.properties.postfach</td>
411
+ <td class="arrow">&rarr;</td>
412
+ <td>postfach</td>
413
+ <td>Direct mapping</td>
414
+ </tr>
415
+
416
+ <tr>
417
+ <td>hubspotContact.properties.plz___postfach</td>
418
+ <td class="arrow">&rarr;</td>
419
+ <td>postleitzahlPostfach</td>
420
+ <td>Direct mapping</td>
421
+ </tr>
422
+
423
+ <tr>
424
+ <td>hubspotContact.properties.ort</td>
425
+ <td class="arrow">&rarr;</td>
426
+ <td>ort</td>
427
+ <td>Direct mapping</td>
428
+ </tr>
429
+
430
+ <tr>
431
+ <td>hubspotContact.properties.phone</td>
432
+ <td class="arrow">&rarr;</td>
433
+ <td>telefon1</td>
434
+ <td>Direct mapping</td>
435
+ </tr>
436
+
437
+ <tr>
438
+ <td>hubspotContact.properties.telefonnummer_2</td>
439
+ <td class="arrow">&rarr;</td>
440
+ <td>telefon2</td>
441
+ <td>Direct mapping</td>
442
+ </tr>
443
+
444
+ <tr>
445
+ <td>hubspotContact.properties.email</td>
446
+ <td class="arrow">&rarr;</td>
447
+ <td>email</td>
448
+ <td>Direct mapping</td>
449
+ </tr>
450
+
451
+ <tr>
452
+ <td>hubspotContact.properties.geburtsdatum__kunde_</td>
453
+ <td class="arrow">&rarr;</td>
454
+ <td>geburtsdatum</td>
455
+ <td>this.parseDateString</td>
456
+ </tr>
457
+
458
+ <tr>
459
+ <td>hubspotContact.properties.krankenkassekostentrager</td>
460
+ <td class="arrow">&rarr;</td>
461
+ <td>krankenkasse.kostentraegerNr</td>
462
+ <td>Direct mapping</td>
463
+ </tr>
464
+
465
+ <tr>
466
+ <td>hubspotContact.properties.versichertennummer</td>
467
+ <td class="arrow">&rarr;</td>
468
+ <td>krankenkasse.versichertenNr</td>
469
+ <td>Direct mapping</td>
470
+ </tr>
471
+
472
+ <tr>
473
+ <td>hubspotContact.properties.pflegegrad</td>
474
+ <td class="arrow">&rarr;</td>
475
+ <td>pflegegrad</td>
476
+ <td>Direct mapping</td>
477
+ </tr>
478
+
479
+ <tr>
480
+ <td>hubspotContact.properties.fibu_kto</td>
481
+ <td class="arrow">&rarr;</td>
482
+ <td>fiBuKonto</td>
483
+ <td>Direct mapping</td>
484
+ </tr>
485
+
486
+ <tr>
487
+ <td>hubspotContact.properties.zuzahlungsbefreit__ja_nein_</td>
488
+ <td class="arrow">&rarr;</td>
489
+ <td>zuzahlungsbefreiung.befreit</td>
490
+ <td>Direct mapping</td>
491
+ </tr>
492
+
493
+ <tr>
494
+ <td>Constant value</td>
495
+ <td class="arrow">&rarr;</td>
496
+ <td>zuzahlungsbefreiung.von</td>
497
+ <td>''</td>
498
+ </tr>
499
+
500
+ <tr>
501
+ <td>hubspotContact.properties.zuzahlungsbefreit_bis</td>
502
+ <td class="arrow">&rarr;</td>
503
+ <td>zuzahlungsbefreiung.bis</td>
504
+ <td>this.parseDateString</td>
505
+ </tr>
506
+
507
+ <tr>
508
+ <td>hubspotContact.properties.sterbedatum</td>
509
+ <td class="arrow">&rarr;</td>
510
+ <td>sterbedatum</td>
511
+ <td>this.parseDateString</td>
512
+ </tr>
513
+
514
+ <tr>
515
+ <td>hubspotContact.properties.zustaendiger_bearbeiter</td>
516
+ <td class="arrow">&rarr;</td>
517
+ <td>zustaendigerMitarbeiterNr</td>
518
+ <td>Direct mapping</td>
519
+ </tr>
520
+
521
+ <tr>
522
+ <td>hubspotContact.properties.iban</td>
523
+ <td class="arrow">&rarr;</td>
524
+ <td>bankverbindung.iban</td>
525
+ <td>Direct mapping</td>
526
+ </tr>
527
+
528
+ <tr>
529
+ <td>Constant value</td>
530
+ <td class="arrow">&rarr;</td>
531
+ <td>bankverbindung.bicswift</td>
532
+ <td>''</td>
533
+ </tr>
534
+
535
+ <tr>
536
+ <td>hubspotContact.properties.datenschutz_einwilligung__ja_nein_</td>
537
+ <td class="arrow">&rarr;</td>
538
+ <td>datenschutzerklaerung</td>
539
+ <td>Transformed</td>
540
+ </tr>
541
+ </table>
542
+ </div>
543
+ </div>
544
+
545
+ <div class="mapping-container">
546
+ <div class="class-method">
547
+ <div class="class-method-col">
548
+ <span class="styled-text">Class:</span><h3>SanivisionRestCustomerParser</h3>
549
+ </div>
550
+ <div class="class-method-col">
551
+ <span class="styled-text"> Method:</span><h3>parseContactToCustomer2</h3>
552
+ </div>
553
+ <div class="class-method-col last">
554
+ </div>
555
+ </div>
556
+ <p>Hubspot contact to Sanivision REST customer</p>
557
+ <div class="show-hide-mapping">
558
+ <div class="collapse">
559
+ <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
560
+ <g id="Arrow / Caret_Down_MD">
561
+ <path id="Vector" d="M16 10L12 14L8 10" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
562
+ </g>
563
+ </svg>
564
+ </div>
565
+ <span>Mapping from <strong>hubspot</strong> to <strong>Sanivision</strong></span>
566
+ </div>
567
+ <table class="mapping-table hidden">
568
+ <tr>
569
+ <th>hubspot Field</th>
570
+ <th></th>
571
+ <th>Sanivision Field</th>
572
+ <th>Transformation</th>
573
+ </tr>
574
+
575
+ <tr>
576
+ <td>hubspotContact.properties.firstname</td>
577
+ <td class="arrow">&rarr;</td>
578
+ <td>name1</td>
579
+ <td>Direct mapping</td>
580
+ </tr>
581
+
582
+ <tr>
583
+ <td>hubspotContact.properties.lastname</td>
584
+ <td class="arrow">&rarr;</td>
585
+ <td>name2</td>
586
+ <td>Direct mapping</td>
587
+ </tr>
588
+
589
+ <tr>
590
+ <td>hubspotContact.properties.name3</td>
591
+ <td class="arrow">&rarr;</td>
592
+ <td>name3</td>
593
+ <td>Direct mapping</td>
594
+ </tr>
595
+
596
+ <tr>
597
+ <td>hubspotContact.properties.name4</td>
598
+ <td class="arrow">&rarr;</td>
599
+ <td>name4</td>
600
+ <td>Direct mapping</td>
601
+ </tr>
602
+
603
+ <tr>
604
+ <td>hubspotContact.properties.kurzname</td>
605
+ <td class="arrow">&rarr;</td>
606
+ <td>kurzname</td>
607
+ <td>Direct mapping</td>
608
+ </tr>
609
+
610
+ <tr>
611
+ <td>hubspotContact.properties.stra_e</td>
612
+ <td class="arrow">&rarr;</td>
613
+ <td>strasse</td>
614
+ <td>Direct mapping</td>
615
+ </tr>
616
+
617
+ <tr>
618
+ <td>hubspotContact.properties.zip</td>
619
+ <td class="arrow">&rarr;</td>
620
+ <td>postleitzahl</td>
621
+ <td>Direct mapping</td>
622
+ </tr>
623
+
624
+ <tr>
625
+ <td>hubspotContact.properties.postfach</td>
626
+ <td class="arrow">&rarr;</td>
627
+ <td>postfach</td>
628
+ <td>Direct mapping</td>
629
+ </tr>
630
+
631
+ <tr>
632
+ <td>hubspotContact.properties.plz___postfach</td>
633
+ <td class="arrow">&rarr;</td>
634
+ <td>postleitzahlPostfach</td>
635
+ <td>Direct mapping</td>
636
+ </tr>
637
+
638
+ <tr>
639
+ <td>hubspotContact.properties.laenderkennzeichen</td>
640
+ <td class="arrow">&rarr;</td>
641
+ <td>laenderkennzeichen</td>
642
+ <td>Direct mapping</td>
643
+ </tr>
644
+
645
+ <tr>
646
+ <td>hubspotContact.properties.ort</td>
647
+ <td class="arrow">&rarr;</td>
648
+ <td>ort</td>
649
+ <td>Direct mapping</td>
650
+ </tr>
651
+
652
+ <tr>
653
+ <td>hubspotContact.properties.ortsteil</td>
654
+ <td class="arrow">&rarr;</td>
655
+ <td>ortsteil</td>
656
+ <td>Direct mapping</td>
657
+ </tr>
658
+
659
+ <tr>
660
+ <td>hubspotContact.properties.phone</td>
661
+ <td class="arrow">&rarr;</td>
662
+ <td>telefon1</td>
663
+ <td>Direct mapping</td>
664
+ </tr>
665
+
666
+ <tr>
667
+ <td>hubspotContact.properties.telefonnummer_2</td>
668
+ <td class="arrow">&rarr;</td>
669
+ <td>telefon2</td>
670
+ <td>Direct mapping</td>
671
+ </tr>
672
+
673
+ <tr>
674
+ <td>hubspotContact.properties.telefax</td>
675
+ <td class="arrow">&rarr;</td>
676
+ <td>telefax</td>
677
+ <td>Direct mapping</td>
678
+ </tr>
679
+
680
+ <tr>
681
+ <td>hubspotContact.properties.http</td>
682
+ <td class="arrow">&rarr;</td>
683
+ <td>http</td>
684
+ <td>Direct mapping</td>
685
+ </tr>
686
+
687
+ <tr>
688
+ <td>hubspotContact.properties.status</td>
689
+ <td class="arrow">&rarr;</td>
690
+ <td>status</td>
691
+ <td>Direct mapping</td>
692
+ </tr>
693
+
694
+ <tr>
695
+ <td>hubspotContact.properties.email</td>
696
+ <td class="arrow">&rarr;</td>
697
+ <td>email</td>
698
+ <td>Direct mapping</td>
699
+ </tr>
700
+ </table>
701
+ </div>
702
+ </div>
703
+
704
+ <div class="mapping-container">
705
+ <div class="class-method">
706
+ <div class="class-method-col">
707
+ <span class="styled-text">Class:</span><h3>SanivisionRestCustomerParser</h3>
708
+ </div>
709
+ <div class="class-method-col">
710
+ <span class="styled-text"> Method:</span><h3>parseHubspotContactToPrescriber</h3>
711
+ </div>
712
+ <div class="class-method-col last">
713
+ </div>
714
+ </div>
715
+ <p>Konvertiert Hubspot Kontakte zu Acriba Verordner</p>
716
+ <div class="show-hide-mapping">
717
+ <div class="collapse">
718
+ <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
719
+ <g id="Arrow / Caret_Down_MD">
720
+ <path id="Vector" d="M16 10L12 14L8 10" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
721
+ </g>
722
+ </svg>
723
+ </div>
724
+ <span>Mapping from <strong>Hubspot</strong> to <strong>Acriba</strong></span>
725
+ </div>
726
+ <table class="mapping-table hidden">
727
+ <tr>
728
+ <th>Hubspot Field</th>
729
+ <th></th>
730
+ <th>Acriba Field</th>
731
+ <th>Transformation</th>
732
+ </tr>
733
+ </table>
734
+ </div>
735
+ </div>
736
+
737
+ <div class="mapping-container">
738
+ <div class="class-method">
739
+ <div class="class-method-col">
740
+ <span class="styled-text">Class:</span><h3>SimpleMapper</h3>
741
+ </div>
742
+ <div class="class-method-col">
743
+ <span class="styled-text"> Method:</span><h3>mapAToB</h3>
744
+ </div>
745
+ <div class="class-method-col last">
746
+ </div>
747
+ </div>
748
+ <p>Simple mapping example</p>
749
+ <div class="show-hide-mapping">
750
+ <div class="collapse">
751
+ <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
752
+ <g id="Arrow / Caret_Down_MD">
753
+ <path id="Vector" d="M16 10L12 14L8 10" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
754
+ </g>
755
+ </svg>
756
+ </div>
757
+ <span>Mapping from <strong>System A</strong> to <strong>System B</strong></span>
758
+ </div>
759
+ <table class="mapping-table hidden">
760
+ <tr>
761
+ <th>System A Field</th>
762
+ <th></th>
763
+ <th>System B Field</th>
764
+ <th>Transformation</th>
765
+ </tr>
766
+
767
+ <tr>
768
+ <td>sourceObject.id</td>
769
+ <td class="arrow">&rarr;</td>
770
+ <td>objectId</td>
771
+ <td>Direct mapping</td>
772
+ </tr>
773
+
774
+ <tr>
775
+ <td>sourceObject.firstname</td>
776
+ <td class="arrow">&rarr;</td>
777
+ <td>name</td>
778
+ <td>Direct mapping</td>
779
+ </tr>
780
+
781
+ <tr>
782
+ <td>sourceObject.details</td>
783
+ <td class="arrow">&rarr;</td>
784
+ <td>description</td>
785
+ <td>Direct mapping</td>
786
+ </tr>
787
+ </table>
788
+ </div>
789
+ </div>
790
+ <script>
791
+ const collapseButtons = document.querySelectorAll('.show-hide-mapping');
792
+ const mappingTables = document.querySelectorAll('.mapping-table');
793
+ const search = document.getElementById('searchInput');
794
+ const mappingContainers = document.querySelectorAll('.mapping-container');
795
+ const tableRows = document.querySelectorAll('tr');
796
+
797
+ tableRows.forEach(row => {
798
+ const sourceField = row.cells[0].textContent;
799
+ const transformation = row.cells[3].textContent;
800
+ if (sourceField.includes('Constant value')) {
801
+ row.classList.add('constant-value');
802
+ } else if (transformation.includes('Transformed')) {
803
+ row.classList.add('transformed-value');
804
+ } else if (!sourceField.includes('Constant value') && !transformation.includes('Direct mapping')) {
805
+ row.classList.add('transformed-value');
806
+ }
807
+ });
808
+
809
+ search.addEventListener('input', (e) => {
810
+ const searchTerm = e.target.value.toLowerCase();
811
+ mappingContainers.forEach(container => {
812
+ let classMethodName = '';
813
+ const names = container.querySelectorAll('h3');
814
+ names.forEach(name => {
815
+ classMethodName += name.textContent.toLowerCase();
816
+ })
817
+ console.log(classMethodName);
818
+ if (!classMethodName.includes(searchTerm)) {
819
+ container.style.display = 'none';
820
+ } else {
821
+ container.style.display = 'flex';
822
+ }
823
+ });
824
+ });
825
+
826
+ collapseButtons.forEach(button => {
827
+ button.addEventListener('click', function() {
828
+ const table = button.nextElementSibling;
829
+ const caret = button.querySelector('.collapse');
830
+ table.classList.toggle('hidden');
831
+ caret.classList.toggle('rotate');
832
+ });
833
+ });
834
+ </script>
835
+ </body>
836
+ </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bridgelist",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "A TypeScript-based tool for automatically documenting field mappings between different API systems",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
File without changes