@cyklang/cli 0.18.9 → 0.18.11

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/build/index.js CHANGED
@@ -182,7 +182,7 @@ class StopCommand extends commander_1.Command {
182
182
  */
183
183
  const program = new commander_1.Command();
184
184
  program.name('cyk').description('cyklang CLI')
185
- .version('0.18.9');
185
+ .version('0.18.11');
186
186
  program.addCommand(new StartCommand('start'));
187
187
  program.addCommand(new StopCommand('stop'));
188
188
  program.addCommand(new InstallCommand_1.InstallCommand('install'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyklang/cli",
3
- "version": "0.18.9",
3
+ "version": "0.18.11",
4
4
  "description": "cyklang CLI",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
@@ -19,7 +19,7 @@
19
19
  "author": "",
20
20
  "license": "ISC",
21
21
  "dependencies": {
22
- "@cyklang/core": "^0.56.0",
22
+ "@cyklang/core": "^0.58.0",
23
23
  "commander": "^9.4.0",
24
24
  "dotenv": "^16.0.1",
25
25
  "form-data": "^4.0.0",
package/src/index.ts CHANGED
@@ -176,7 +176,7 @@ class StopCommand extends Command {
176
176
  */
177
177
  const program = new Command()
178
178
  program.name('cyk').description('cyklang CLI')
179
- .version('0.18.9')
179
+ .version('0.18.11')
180
180
  program.addCommand(new StartCommand('start'))
181
181
  program.addCommand(new StopCommand('stop'))
182
182
  program.addCommand(new InstallCommand('install'))
package/test/t45.xml ADDED
@@ -0,0 +1,541 @@
1
+ <?xml-model href="https://www.cyklang.net/schema/cyklang.xsd" ?>
2
+ <module>
3
+ <string name="ofx" literal=""><![CDATA[
4
+ OFXHEADER:100
5
+ DATA:OFXSGML
6
+ VERSION:102
7
+ SECURITY:NONE
8
+ ENCODING:USASCII
9
+ CHARSET:1252
10
+ COMPRESSION:NONE
11
+ OLDFILEUID:NONE
12
+ NEWFILEUID:NONE
13
+ <OFX>
14
+ <SIGNONMSGSRSV1>
15
+ <SONRS>
16
+ <STATUS>
17
+ <CODE>0
18
+ <SEVERITY>INFO
19
+ </STATUS>
20
+ <DTSERVER>20251028041851
21
+ <LANGUAGE>FRA
22
+ </SONRS>
23
+ </SIGNONMSGSRSV1>
24
+ <BANKMSGSRSV1>
25
+ <STMTTRNRS>
26
+ <TRNUID>75576481001
27
+ <STATUS>
28
+ <CODE>0
29
+ <SEVERITY>INFO
30
+ </STATUS>
31
+ <STMTRS>
32
+ <CURDEF>EUR
33
+ <BANKACCTFROM>
34
+ <BANKID>19906
35
+ <BRANCHID>00974
36
+ <ACCTID>75576481001
37
+ <ACCTTYPE>CHECKING
38
+ </BANKACCTFROM>
39
+ <BANKTRANLIST>
40
+ <DTSTART>20250901000000
41
+ <DTEND>20250930235959
42
+ <STMTTRN>
43
+ <TRNTYPE>OTHER
44
+ <DTPOSTED>20250930
45
+ <TRNAMT>+40.00
46
+ <FITID>7874690005176
47
+ <NAME>MUTUELLE GENERALE EDUCATION NATI
48
+ <MEMO>VIREMENT EN VOTRE FAVEUR MUTUELLE GENERALE EDUCATION NATI Ristourne au titre des cotisations 2025
49
+ </STMTTRN>
50
+ <STMTTRN>
51
+ <TRNTYPE>OTHER
52
+ <DTPOSTED>20250930
53
+ <TRNAMT>-30.00
54
+ <FITID>7857300407697
55
+ <NAME>AG ASSOC. ENFANTS DU MOND
56
+ <MEMO>VIREMENT EMIS AG ASSOC. ENFANTS DU MOND ENFANTS DU MONDE REUNION
57
+ </STMTTRN>
58
+ <STMTTRN>
59
+ <TRNTYPE>OTHER
60
+ <DTPOSTED>20250929
61
+ <TRNAMT>-102.00
62
+ <FITID>7873650000294
63
+ <NAME>9269508
64
+ <MEMO>CHEQUE EMIS 9269508
65
+ </STMTTRN>
66
+ <STMTTRN>
67
+ <TRNTYPE>OTHER
68
+ <DTPOSTED>20250926
69
+ <TRNAMT>+635.94
70
+ <FITID>7871560001486
71
+ <NAME>SARL CITYA FRANCE IMMO GERANCE V
72
+ <MEMO>VIREMENT EN VOTRE FAVEUR SARL CITYA FRANCE IMMO GERANCE V VIREMENT
73
+ </STMTTRN>
74
+ <STMTTRN>
75
+ <TRNTYPE>OTHER
76
+ <DTPOSTED>20250926
77
+ <TRNAMT>-110.00
78
+ <FITID>7871320010064
79
+ <NAME>X5211 AANYA ST DENIS 25/09
80
+ <MEMO>PAIEMENT PAR CARTE X5211 AANYA ST DENIS 25/09
81
+ </STMTTRN>
82
+ <STMTTRN>
83
+ <TRNTYPE>OTHER
84
+ <DTPOSTED>20250926
85
+ <TRNAMT>+4805.33
86
+ <FITID>7871190014052
87
+ <NAME>DRFIP REUNION 1G1040000 PAYES 20
88
+ <MEMO>VIREMENT EN VOTRE FAVEUR DRFIP REUNION 1G1040000 PAYES 20 REMUNERATION DU 09/2025. MINISTERE : 206 GESTION : 274-974
89
+ </STMTTRN>
90
+ <STMTTRN>
91
+ <TRNTYPE>OTHER
92
+ <DTPOSTED>20250925
93
+ <TRNAMT>-2000.00
94
+ <FITID>7857290272357
95
+ <NAME>VIR INST vers CHANE YOU KAYE
96
+ <MEMO>VIREMENT EMIS VIR INST vers CHANE YOU KAYE Approvisionnement
97
+ </STMTTRN>
98
+ <STMTTRN>
99
+ <TRNTYPE>OTHER
100
+ <DTPOSTED>20250925
101
+ <TRNAMT>-198.00
102
+ <FITID>7869910000456
103
+ <NAME>9269520
104
+ <MEMO>CHEQUE EMIS 9269520
105
+ </STMTTRN>
106
+ <STMTTRN>
107
+ <TRNTYPE>OTHER
108
+ <DTPOSTED>20250924
109
+ <TRNAMT>-416.50
110
+ <FITID>7868370000036
111
+ <NAME>9269522
112
+ <MEMO>CHEQUE EMIS 9269522
113
+ </STMTTRN>
114
+ <STMTTRN>
115
+ <TRNTYPE>OTHER
116
+ <DTPOSTED>20250917
117
+ <TRNAMT>-100.00
118
+ <FITID>7857300069342
119
+ <NAME>ST ANDRE BALANCE EXT 17/09 15H22
120
+ <MEMO>RETRAIT AU DISTRIBUTEUR ST ANDRE BALANCE EXT 17/09 15H22
121
+ </STMTTRN>
122
+ <STMTTRN>
123
+ <TRNTYPE>OTHER
124
+ <DTPOSTED>20250916
125
+ <TRNAMT>-223.41
126
+ <FITID>7859710001774
127
+ <NAME>PREDICA
128
+ <MEMO>PRELEVEMENT PREDICA CREDIT AGRICOLE ASSURANCE VIE CONFLUENCE ECHEANCE 09/2025 - VERSEMENT REGULIER CONTRAT 90375576481751 -XPE232509160275803
129
+ </STMTTRN>
130
+ <STMTTRN>
131
+ <TRNTYPE>OTHER
132
+ <DTPOSTED>20250912
133
+ <TRNAMT>-8.00
134
+ <FITID>7857010003804
135
+ <NAME>Offre Essentiel
136
+ <MEMO>COTISATION Offre Essentiel
137
+ </STMTTRN>
138
+ <STMTTRN>
139
+ <TRNTYPE>OTHER
140
+ <DTPOSTED>20250911
141
+ <TRNAMT>-145.05
142
+ <FITID>7854180032478
143
+ <NAME>X5211 RUN MARKET SAINTE MA 10/09
144
+ <MEMO>PAIEMENT PAR CARTE X5211 RUN MARKET SAINTE MA 10/09
145
+ </STMTTRN>
146
+ <STMTTRN>
147
+ <TRNTYPE>OTHER
148
+ <DTPOSTED>20250910
149
+ <TRNAMT>-159.50
150
+ <FITID>7853290027279
151
+ <NAME>X5211 EVASION MONTAGNE GP 09/09
152
+ <MEMO>PAIEMENT PAR CARTE X5211 EVASION MONTAGNE GP 09/09
153
+ </STMTTRN>
154
+ <STMTTRN>
155
+ <TRNTYPE>OTHER
156
+ <DTPOSTED>20250910
157
+ <TRNAMT>-59.89
158
+ <FITID>7852720120989
159
+ <NAME>ZEOP
160
+ <MEMO>PRELEVEMENT ZEOP FA20250912080036
161
+ </STMTTRN>
162
+ <STMTTRN>
163
+ <TRNTYPE>OTHER
164
+ <DTPOSTED>20250910
165
+ <TRNAMT>-10.80
166
+ <FITID>7852670006443
167
+ <NAME>X5211 PLP PATISSERIE STE C 09/09
168
+ <MEMO>PAIEMENT PAR CARTE X5211 PLP PATISSERIE STE C 09/09
169
+ </STMTTRN>
170
+ <STMTTRN>
171
+ <TRNTYPE>OTHER
172
+ <DTPOSTED>20250909
173
+ <TRNAMT>-28.39
174
+ <FITID>7851190002422
175
+ <NAME>Prelevement EDF Systemes Energet
176
+ <MEMO>PRELEVEMENT Prelevement EDF Systemes Energet EDF E PREL Mme CHANE YOU KAYE M -REFCLIENT 2179810 -FACT ELEC 25060530E -EDL 212517
177
+ </STMTTRN>
178
+ <STMTTRN>
179
+ <TRNTYPE>OTHER
180
+ <DTPOSTED>20250908
181
+ <TRNAMT>-150.30
182
+ <FITID>7850260077406
183
+ <NAME>X5211 CAROLL SAINTE-MARIE 06/09
184
+ <MEMO>PAIEMENT PAR CARTE X5211 CAROLL SAINTE-MARIE 06/09
185
+ </STMTTRN>
186
+ <STMTTRN>
187
+ <TRNTYPE>OTHER
188
+ <DTPOSTED>20250908
189
+ <TRNAMT>-82.48
190
+ <FITID>7850260124065
191
+ <NAME>X5211 LECLERC RHDOI SAINTE 07/09
192
+ <MEMO>PAIEMENT PAR CARTE X5211 LECLERC RHDOI SAINTE 07/09
193
+ </STMTTRN>
194
+ <STMTTRN>
195
+ <TRNTYPE>OTHER
196
+ <DTPOSTED>20250908
197
+ <TRNAMT>-59.39
198
+ <FITID>7850260126322
199
+ <NAME>X5211 MAISON MINATCHY STE 07/09
200
+ <MEMO>PAIEMENT PAR CARTE X5211 MAISON MINATCHY STE 07/09
201
+ </STMTTRN>
202
+ <STMTTRN>
203
+ <TRNTYPE>OTHER
204
+ <DTPOSTED>20250908
205
+ <TRNAMT>-40.00
206
+ <FITID>7850260071603
207
+ <NAME>X5211 56TH AVENUE ST PAUL 06/09
208
+ <MEMO>PAIEMENT PAR CARTE X5211 56TH AVENUE ST PAUL 06/09
209
+ </STMTTRN>
210
+ <STMTTRN>
211
+ <TRNTYPE>OTHER
212
+ <DTPOSTED>20250908
213
+ <TRNAMT>-23.17
214
+ <FITID>7850260046119
215
+ <NAME>X5211 BOUTIK MEME ST DENIS 06/09
216
+ <MEMO>PAIEMENT PAR CARTE X5211 BOUTIK MEME ST DENIS 06/09
217
+ </STMTTRN>
218
+ <STMTTRN>
219
+ <TRNTYPE>OTHER
220
+ <DTPOSTED>20250908
221
+ <TRNAMT>-12.74
222
+ <FITID>7850260127165
223
+ <NAME>X5211 COMPTOIR DU SURG SAI 07/09
224
+ <MEMO>PAIEMENT PAR CARTE X5211 COMPTOIR DU SURG SAI 07/09
225
+ </STMTTRN>
226
+ <STMTTRN>
227
+ <TRNTYPE>OTHER
228
+ <DTPOSTED>20250908
229
+ <TRNAMT>-291.33
230
+ <FITID>7849670039570
231
+ <NAME>MAIF 79038 NIORT CEDEX
232
+ <MEMO>PRELEVEMENT MAIF 79038 NIORT CEDEX ECHEANCE SEPTEMBRE2025
233
+ </STMTTRN>
234
+ <STMTTRN>
235
+ <TRNTYPE>OTHER
236
+ <DTPOSTED>20250908
237
+ <TRNAMT>-4.99
238
+ <FITID>7849670039569
239
+ <NAME>ORANGE SA
240
+ <MEMO>PRELEVEMENT ORANGE SA Orange 26890230 CLI10170959 2025-08-14
241
+ </STMTTRN>
242
+ <STMTTRN>
243
+ <TRNTYPE>OTHER
244
+ <DTPOSTED>20250908
245
+ <TRNAMT>-51.47
246
+ <FITID>7849620071479
247
+ <NAME>X5211 CARREFOUR SAINTE CLO 05/09
248
+ <MEMO>PAIEMENT PAR CARTE X5211 CARREFOUR SAINTE CLO 05/09
249
+ </STMTTRN>
250
+ <STMTTRN>
251
+ <TRNTYPE>OTHER
252
+ <DTPOSTED>20250908
253
+ <TRNAMT>-50.00
254
+ <FITID>7849620036739
255
+ <NAME>X5211 SBE ST DENIS 05/09
256
+ <MEMO>PAIEMENT PAR CARTE X5211 SBE ST DENIS 05/09
257
+ </STMTTRN>
258
+ <STMTTRN>
259
+ <TRNTYPE>OTHER
260
+ <DTPOSTED>20250908
261
+ <TRNAMT>-45.97
262
+ <FITID>7849620151890
263
+ <NAME>X5211 ETAM STE CLO SAINT D 06/09
264
+ <MEMO>PAIEMENT PAR CARTE X5211 ETAM STE CLO SAINT D 06/09
265
+ </STMTTRN>
266
+ <STMTTRN>
267
+ <TRNTYPE>OTHER
268
+ <DTPOSTED>20250908
269
+ <TRNAMT>-17.79
270
+ <FITID>7849620216202
271
+ <NAME>X5211 PAIN L ATELIER DES S 07/09
272
+ <MEMO>PAIEMENT PAR CARTE X5211 PAIN L ATELIER DES S 07/09
273
+ </STMTTRN>
274
+ <STMTTRN>
275
+ <TRNTYPE>OTHER
276
+ <DTPOSTED>20250906
277
+ <TRNAMT>-1291.04
278
+ <FITID>7849160000274
279
+ <NAME>00000611656 ECHEANCE 06/09/25
280
+ <MEMO>REMBOURSEMENT DE PRET 00000611656 ECHEANCE 06/09/25
281
+ </STMTTRN>
282
+ <STMTTRN>
283
+ <TRNTYPE>OTHER
284
+ <DTPOSTED>20250905
285
+ <TRNAMT>-4.99
286
+ <FITID>7848490044174
287
+ <NAME>X5211 MC DONALD S STE MARI 04/09
288
+ <MEMO>PAIEMENT PAR CARTE X5211 MC DONALD S STE MARI 04/09
289
+ </STMTTRN>
290
+ <STMTTRN>
291
+ <TRNTYPE>OTHER
292
+ <DTPOSTED>20250905
293
+ <TRNAMT>-20.00
294
+ <FITID>7848170172060
295
+ <NAME>Medecins du Monde
296
+ <MEMO>PRELEVEMENT Medecins du Monde
297
+ </STMTTRN>
298
+ <STMTTRN>
299
+ <TRNTYPE>OTHER
300
+ <DTPOSTED>20250905
301
+ <TRNAMT>-35.34
302
+ <FITID>7847900018331
303
+ <NAME>MGEN 112
304
+ <MEMO>PRELEVEMENT MGEN 112 Prelevement cotisation Garantie 46 2500004BgY0 2025-09-05COMPAU1900030032 G1MGEN OR 0103072341
305
+ </STMTTRN>
306
+ <STMTTRN>
307
+ <TRNTYPE>OTHER
308
+ <DTPOSTED>20250905
309
+ <TRNAMT>-13.98
310
+ <FITID>7847860031903
311
+ <NAME>X5211 SAS BAITY NORD SAINT 04/09
312
+ <MEMO>PAIEMENT PAR CARTE X5211 SAS BAITY NORD SAINT 04/09
313
+ </STMTTRN>
314
+ <STMTTRN>
315
+ <TRNTYPE>OTHER
316
+ <DTPOSTED>20250904
317
+ <TRNAMT>-10.09
318
+ <FITID>7846970028545
319
+ <NAME>X5211 BOUTIK MEME ST DENIS 03/09
320
+ <MEMO>PAIEMENT PAR CARTE X5211 BOUTIK MEME ST DENIS 03/09
321
+ </STMTTRN>
322
+ <STMTTRN>
323
+ <TRNTYPE>OTHER
324
+ <DTPOSTED>20250903
325
+ <TRNAMT>-150.00
326
+ <FITID>7846010001878
327
+ <NAME>9269515/0000000/000000000
328
+ <MEMO>CHEQUE EMIS 9269515/0000000/000000000
329
+ </STMTTRN>
330
+ <STMTTRN>
331
+ <TRNTYPE>OTHER
332
+ <DTPOSTED>20250903
333
+ <TRNAMT>-46.00
334
+ <FITID>7844820043500
335
+ <NAME>X5211 23 R GEORGES GUY STE 02/09
336
+ <MEMO>PAIEMENT PAR CARTE X5211 23 R GEORGES GUY STE 02/09
337
+ </STMTTRN>
338
+ <STMTTRN>
339
+ <TRNTYPE>OTHER
340
+ <DTPOSTED>20250902
341
+ <TRNAMT>-31.73
342
+ <FITID>7844680020078
343
+ <NAME>ASSU. CAAE PRET HABITAT 09/25
344
+ <MEMO>REGLEMENT ASSU. CAAE PRET HABITAT 09/25
345
+ </STMTTRN>
346
+ <STMTTRN>
347
+ <TRNTYPE>OTHER
348
+ <DTPOSTED>20250902
349
+ <TRNAMT>-800.00
350
+ <FITID>7844500001798
351
+ <NAME>9269521/0000000/000000000
352
+ <MEMO>CHEQUE EMIS 9269521/0000000/000000000
353
+ </STMTTRN>
354
+ <STMTTRN>
355
+ <TRNTYPE>OTHER
356
+ <DTPOSTED>20250902
357
+ <TRNAMT>-200.00
358
+ <FITID>7833820337359
359
+ <NAME>TECHNOPOLE EXT 02/09 18H24
360
+ <MEMO>RETRAIT AU DISTRIBUTEUR TECHNOPOLE EXT 02/09 18H24
361
+ </STMTTRN>
362
+ <STMTTRN>
363
+ <TRNTYPE>OTHER
364
+ <DTPOSTED>20250901
365
+ <TRNAMT>-12.46
366
+ <FITID>7841800047787
367
+ <NAME>0214268 CREDIT AGRICOLE DE LA RE
368
+ <MEMO>PRELEVEMENT 0214268 CREDIT AGRICOLE DE LA RE CREDIT AGRICOLE ASSURANCE HABITATION -ECHEANCE 09/2025 COTISATION DU CONTRAT PACIFICA 11861705907
369
+ </STMTTRN>
370
+ <STMTTRN>
371
+ <TRNTYPE>OTHER
372
+ <DTPOSTED>20250901
373
+ <TRNAMT>-475.94
374
+ <FITID>7841760054144
375
+ <NAME>X5211 AUDIOPLUS DI SAINT D 29/08
376
+ <MEMO>PAIEMENT PAR CARTE X5211 AUDIOPLUS DI SAINT D 29/08
377
+ </STMTTRN>
378
+ <STMTTRN>
379
+ <TRNTYPE>OTHER
380
+ <DTPOSTED>20250901
381
+ <TRNAMT>-30.00
382
+ <FITID>7833820227516
383
+ <NAME>AG ASSOC. ENFANTS DU MOND
384
+ <MEMO>VIREMENT EMIS AG ASSOC. ENFANTS DU MOND ENFANTS DU MONDE REUNION
385
+ </STMTTRN>
386
+ </BANKTRANLIST>
387
+ <LEDGERBAL>
388
+ <BALAMT>+1533.78
389
+ <DTASOF>20251028
390
+ </LEDGERBAL>
391
+ <AVAILBAL>
392
+ <BALAMT>+1533.78
393
+ <DTASOF>20251028
394
+ </AVAILBAL>
395
+ </STMTRS>
396
+ </STMTTRNRS>
397
+ </BANKMSGSRSV1>
398
+ </OFX>
399
+
400
+ ]]>
401
+ </string>
402
+
403
+ <!-- function getField -->
404
+
405
+ <function name="getField" returns="result: string">
406
+ <string name="str_stmt"/>
407
+ <string name="name"/>
408
+ <block>
409
+ <string name="regex"><![CDATA[ format("<{0}>([\\s\\S]*?)(?=<\\w+|$)",name) ]]></string>
410
+ <object name="match">matchre( str_stmt, regex )</object>
411
+ <if>
412
+ <condition>match</condition>
413
+ <then>
414
+ <set name="result">trim(match.at(1))</set>
415
+ </then>
416
+ <else>
417
+ <set name="result"></set>
418
+ </else>
419
+ </if>
420
+ </block>
421
+ </function>
422
+
423
+ <!-- function format_date -->
424
+
425
+ <function name="format_date" returns="result: string">
426
+ <string name="aamj"/>
427
+ <block>
428
+ <set name="result">format("{0}-{1}-{2}",substring(aamj,0,4),substring(aamj,4,6),substring(aamj,6,8))</set>
429
+ </block>
430
+ </function>
431
+
432
+ <!-- function parse_ofx -->
433
+
434
+ <function name="parse_ofx" returns="result: object">
435
+ <string name="ofx"/>
436
+ <block>
437
+ <set name="result">
438
+ <object name="info">
439
+ <string name="banque"></string>
440
+ <string name="guichet"></string>
441
+ <string name="compte"></string>
442
+ <string name="devise"></string>
443
+ <number name="solde"></number>
444
+ <string name="date_fichier"></string>
445
+ </object>
446
+ <object name="operations"></object>
447
+ </set>
448
+
449
+ <object name="bankIdMatch"><![CDATA[ matchre( ofx, "<BANKID>([^<\n]+)") ]]> </object>
450
+ <if>
451
+ <condition>bankIdMatch</condition>
452
+ <then>
453
+ <set name="result.info.banque">bankIdMatch.at(1)</set>
454
+ </then>
455
+ </if>
456
+
457
+ <object name="branchIdMatch"><![CDATA[ matchre( ofx, "<BRANCHID>([^<\n]+)") ]]> </object>
458
+ <if>
459
+ <condition>branchIdMatch</condition>
460
+ <then>
461
+ <set name="result.info.guichet">branchIdMatch.at(1)</set>
462
+ </then>
463
+ </if>
464
+
465
+ <object name="accountIdMatch"><![CDATA[ matchre( ofx, "<ACCTID>([^<\n]+)") ]]> </object>
466
+ <if>
467
+ <condition>accountIdMatch</condition>
468
+ <then>
469
+ <set name="result.info.compte">accountIdMatch.at(1)</set>
470
+ </then>
471
+ </if>
472
+
473
+ <object name="currencyMatch"><![CDATA[ matchre( ofx, "<CURDEF>([^<\n]+)") ]]> </object>
474
+ <if>
475
+ <condition>currencyMatch</condition>
476
+ <then>
477
+ <set name="result.info.devise">currencyMatch.at(1)</set>
478
+ </then>
479
+ </if>
480
+
481
+ <object name="balanceMatch"><![CDATA[ matchre( ofx, "<BALAMT>([^<\n]+)") ]]> </object>
482
+ <if>
483
+ <condition>balanceMatch</condition>
484
+ <then>
485
+ <set name="result.info.solde">balanceMatch.at(1)</set>
486
+ </then>
487
+ </if>
488
+
489
+ <object name="dateAsOfMatch"><![CDATA[ matchre( ofx, "<DTASOF>(\\d+)") ]]> </object>
490
+ <if>
491
+ <condition>dateAsOfMatch</condition>
492
+ <then>
493
+ <set name="result.info.date_fichier">format_date( dateAsOfMatch.at(1) )</set>
494
+ </then>
495
+ </if>
496
+
497
+ <object name="banktranlistMatch"><![CDATA[ matchre( ofx, "<BANKTRANLIST>([\\s\\S]*?)<\\/BANKTRANLIST>" ) ]]></object>
498
+
499
+ <if>
500
+ <condition>banktranlistMatch</condition>
501
+ <then>
502
+ <string name="tranSection">banktranlistMatch.at(1)</string>
503
+ <!-- <print>format("tranSection = {0}",tranSection)</print> -->
504
+
505
+ <object name="statements"><![CDATA[ matchre( tranSection, "<STMTTRN>([\\s\\S]*?)<\\/STMTTRN>", "g" ) ]]></object>
506
+ <if>
507
+ <condition> ! statements </condition>
508
+ <then>
509
+ <throw>format("statements UNDEFINED")</throw>
510
+ </then>
511
+ </if>
512
+ <number name="cpt">0</number>
513
+ <call object="statements" method="foreach">
514
+ <function>
515
+ <string name="str_stmt"/>
516
+ <block>
517
+ <set name="cpt">cpt + 1</set>
518
+ <object name="stmt">
519
+ <string name="type">getField( str_stmt, 'TRNTYPE')</string>
520
+ <string name="date">format_date( getField( str_stmt, 'DTPOSTED' ) )</string>
521
+ <number name="amount">getField( str_stmt, 'TRNAMT')</number>
522
+ <string name="name">getField( str_stmt, 'NAME')</string>
523
+ <string name="memo">getField( str_stmt, 'MEMO')</string>
524
+ </object>
525
+ <call object="result.operations" method="push">
526
+ <object>stmt</object>
527
+ </call>
528
+ </block>
529
+ </function>
530
+ </call>
531
+ <print>format("Nb opérations = {0}",cpt)</print>
532
+ <!-- <print>format("Opérations : {0}", result.operations)</print> -->
533
+ </then>
534
+ </if>
535
+ </block>
536
+ </function>
537
+
538
+ <string name="result">parse_ofx( ofx )</string>
539
+ <print>format("result = {0}", result)</print>
540
+
541
+ </module>
@@ -0,0 +1,10 @@
1
+ list1 = <string name="a" literal="">Alain</string>
2
+ <string name="b" literal="">Bernard</string>
3
+ list2 = <object>
4
+ <number name="id">1</number>
5
+ <string name="nom" literal="">Premier</string>
6
+ </object>
7
+ <object>
8
+ <number name="id">2</number>
9
+ <string name="nom" literal="">Second</string>
10
+ </object>
package/test/t46.xml ADDED
@@ -0,0 +1,44 @@
1
+ <?xml-model href="https://www.cyklang.net/schema/cyklang.xsd" ?>
2
+ <module>
3
+ <object name="list1">
4
+ <string name="b">"Bernard"</string>
5
+ <string name="a">"Alain"</string>
6
+ </object>
7
+ <call object="list1" method="sort"></call>
8
+ <print>format("list1 = {0}",list1)</print>
9
+
10
+ <object name="list2">
11
+ <object>
12
+ <number name="id">2</number>
13
+ <string name="nom">"Second"</string>
14
+ </object>
15
+ <object>
16
+ <number name="id">1</number>
17
+ <string name="nom">"Premier"</string>
18
+ </object>
19
+ </object>
20
+
21
+ <call object="list2" method="sort">
22
+ <function returns="result: number">
23
+ <object name="row1"/>
24
+ <object name="row2"/>
25
+ <block>
26
+ <if>
27
+ <condition><![CDATA[ row1.id < row2.id ]]></condition>
28
+ <then>
29
+ <set name="result">-1</set>
30
+ </then>
31
+ <condition>row1.id == row2.id</condition>
32
+ <then>
33
+ <set name="result">0</set>
34
+ </then>
35
+ <else>
36
+ <set name="result">1</set>
37
+ </else>
38
+ </if>
39
+ </block>
40
+ </function>
41
+ </call>
42
+
43
+ <print>format("list2 = {0}",list2)</print>
44
+ </module>