@speclynx/apidom-overlay 5.2.1 → 5.2.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.
@@ -2568,15 +2568,15 @@ __webpack_require__.r(__webpack_exports__);
2568
2568
  function grammar() {
2569
2569
  // ```
2570
2570
  // SUMMARY
2571
- // rules = 41
2571
+ // rules = 43
2572
2572
  // udts = 0
2573
- // opcodes = 214
2573
+ // opcodes = 222
2574
2574
  // --- ABNF original opcodes
2575
- // ALT = 17
2576
- // CAT = 31
2575
+ // ALT = 18
2576
+ // CAT = 33
2577
2577
  // REP = 15
2578
- // RNM = 60
2579
- // TLS = 66
2578
+ // RNM = 63
2579
+ // TLS = 68
2580
2580
  // TBS = 13
2581
2581
  // TRG = 12
2582
2582
  // --- SABNF superset opcodes
@@ -2675,165 +2675,177 @@ function grammar() {
2675
2675
  isBkr: false
2676
2676
  };
2677
2677
  this.rules[14] = {
2678
- name: 'workflow-id',
2679
- lower: 'workflow-id',
2678
+ name: 'workflows-value-reference',
2679
+ lower: 'workflows-value-reference',
2680
2680
  index: 14,
2681
2681
  isBkr: false
2682
2682
  };
2683
2683
  this.rules[15] = {
2684
- name: 'workflow-field',
2685
- lower: 'workflow-field',
2684
+ name: 'workflows-steps-reference',
2685
+ lower: 'workflows-steps-reference',
2686
2686
  index: 15,
2687
2687
  isBkr: false
2688
2688
  };
2689
2689
  this.rules[16] = {
2690
- name: 'workflow-field-name',
2691
- lower: 'workflow-field-name',
2690
+ name: 'workflow-id',
2691
+ lower: 'workflow-id',
2692
2692
  index: 16,
2693
2693
  isBkr: false
2694
2694
  };
2695
2695
  this.rules[17] = {
2696
- name: 'source-reference',
2697
- lower: 'source-reference',
2696
+ name: 'workflow-field',
2697
+ lower: 'workflow-field',
2698
2698
  index: 17,
2699
2699
  isBkr: false
2700
2700
  };
2701
2701
  this.rules[18] = {
2702
- name: 'source-name',
2703
- lower: 'source-name',
2702
+ name: 'workflow-field-name',
2703
+ lower: 'workflow-field-name',
2704
2704
  index: 18,
2705
2705
  isBkr: false
2706
2706
  };
2707
2707
  this.rules[19] = {
2708
- name: 'source-reference-id',
2709
- lower: 'source-reference-id',
2708
+ name: 'source-reference',
2709
+ lower: 'source-reference',
2710
2710
  index: 19,
2711
2711
  isBkr: false
2712
2712
  };
2713
2713
  this.rules[20] = {
2714
- name: 'components-reference',
2715
- lower: 'components-reference',
2714
+ name: 'source-name',
2715
+ lower: 'source-name',
2716
2716
  index: 20,
2717
2717
  isBkr: false
2718
2718
  };
2719
2719
  this.rules[21] = {
2720
- name: 'component-type',
2721
- lower: 'component-type',
2720
+ name: 'source-reference-id',
2721
+ lower: 'source-reference-id',
2722
2722
  index: 21,
2723
2723
  isBkr: false
2724
2724
  };
2725
2725
  this.rules[22] = {
2726
- name: 'component-name',
2727
- lower: 'component-name',
2726
+ name: 'components-reference',
2727
+ lower: 'components-reference',
2728
2728
  index: 22,
2729
2729
  isBkr: false
2730
2730
  };
2731
2731
  this.rules[23] = {
2732
- name: 'identifier-strict',
2733
- lower: 'identifier-strict',
2732
+ name: 'component-type',
2733
+ lower: 'component-type',
2734
2734
  index: 23,
2735
2735
  isBkr: false
2736
2736
  };
2737
2737
  this.rules[24] = {
2738
- name: 'identifier',
2739
- lower: 'identifier',
2738
+ name: 'component-name',
2739
+ lower: 'component-name',
2740
2740
  index: 24,
2741
2741
  isBkr: false
2742
2742
  };
2743
2743
  this.rules[25] = {
2744
- name: 'name',
2745
- lower: 'name',
2744
+ name: 'identifier-strict',
2745
+ lower: 'identifier-strict',
2746
2746
  index: 25,
2747
2747
  isBkr: false
2748
2748
  };
2749
2749
  this.rules[26] = {
2750
- name: 'json-pointer',
2751
- lower: 'json-pointer',
2750
+ name: 'identifier',
2751
+ lower: 'identifier',
2752
2752
  index: 26,
2753
2753
  isBkr: false
2754
2754
  };
2755
2755
  this.rules[27] = {
2756
- name: 'reference-token',
2757
- lower: 'reference-token',
2756
+ name: 'name',
2757
+ lower: 'name',
2758
2758
  index: 27,
2759
2759
  isBkr: false
2760
2760
  };
2761
2761
  this.rules[28] = {
2762
- name: 'unescaped',
2763
- lower: 'unescaped',
2762
+ name: 'json-pointer',
2763
+ lower: 'json-pointer',
2764
2764
  index: 28,
2765
2765
  isBkr: false
2766
2766
  };
2767
2767
  this.rules[29] = {
2768
- name: 'escaped',
2769
- lower: 'escaped',
2768
+ name: 'reference-token',
2769
+ lower: 'reference-token',
2770
2770
  index: 29,
2771
2771
  isBkr: false
2772
2772
  };
2773
2773
  this.rules[30] = {
2774
- name: 'token',
2775
- lower: 'token',
2774
+ name: 'unescaped',
2775
+ lower: 'unescaped',
2776
2776
  index: 30,
2777
2777
  isBkr: false
2778
2778
  };
2779
2779
  this.rules[31] = {
2780
- name: 'tchar',
2781
- lower: 'tchar',
2780
+ name: 'escaped',
2781
+ lower: 'escaped',
2782
2782
  index: 31,
2783
2783
  isBkr: false
2784
2784
  };
2785
2785
  this.rules[32] = {
2786
- name: 'CHAR',
2787
- lower: 'char',
2786
+ name: 'token',
2787
+ lower: 'token',
2788
2788
  index: 32,
2789
2789
  isBkr: false
2790
2790
  };
2791
2791
  this.rules[33] = {
2792
- name: 'escape',
2793
- lower: 'escape',
2792
+ name: 'tchar',
2793
+ lower: 'tchar',
2794
2794
  index: 33,
2795
2795
  isBkr: false
2796
2796
  };
2797
2797
  this.rules[34] = {
2798
- name: 'unescape',
2799
- lower: 'unescape',
2798
+ name: 'CHAR',
2799
+ lower: 'char',
2800
2800
  index: 34,
2801
2801
  isBkr: false
2802
2802
  };
2803
2803
  this.rules[35] = {
2804
- name: 'expression-string',
2805
- lower: 'expression-string',
2804
+ name: 'escape',
2805
+ lower: 'escape',
2806
2806
  index: 35,
2807
2807
  isBkr: false
2808
2808
  };
2809
2809
  this.rules[36] = {
2810
- name: 'embedded-expression',
2811
- lower: 'embedded-expression',
2810
+ name: 'unescape',
2811
+ lower: 'unescape',
2812
2812
  index: 36,
2813
2813
  isBkr: false
2814
2814
  };
2815
2815
  this.rules[37] = {
2816
- name: 'literal-char',
2817
- lower: 'literal-char',
2816
+ name: 'expression-string',
2817
+ lower: 'expression-string',
2818
2818
  index: 37,
2819
2819
  isBkr: false
2820
2820
  };
2821
2821
  this.rules[38] = {
2822
- name: 'ALPHA',
2823
- lower: 'alpha',
2822
+ name: 'embedded-expression',
2823
+ lower: 'embedded-expression',
2824
2824
  index: 38,
2825
2825
  isBkr: false
2826
2826
  };
2827
2827
  this.rules[39] = {
2828
- name: 'DIGIT',
2829
- lower: 'digit',
2828
+ name: 'literal-char',
2829
+ lower: 'literal-char',
2830
2830
  index: 39,
2831
2831
  isBkr: false
2832
2832
  };
2833
2833
  this.rules[40] = {
2834
+ name: 'ALPHA',
2835
+ lower: 'alpha',
2836
+ index: 40,
2837
+ isBkr: false
2838
+ };
2839
+ this.rules[41] = {
2840
+ name: 'DIGIT',
2841
+ lower: 'digit',
2842
+ index: 41,
2843
+ isBkr: false
2844
+ };
2845
+ this.rules[42] = {
2834
2846
  name: 'HEXDIG',
2835
2847
  lower: 'hexdig',
2836
- index: 40,
2848
+ index: 42,
2837
2849
  isBkr: false
2838
2850
  };
2839
2851
 
@@ -2953,7 +2965,7 @@ function grammar() {
2953
2965
  }; // TLS
2954
2966
  this.rules[0].opcodes[27] = {
2955
2967
  type: 4,
2956
- index: 17
2968
+ index: 19
2957
2969
  }; // RNM(source-reference)
2958
2970
  this.rules[0].opcodes[28] = {
2959
2971
  type: 2,
@@ -2965,7 +2977,7 @@ function grammar() {
2965
2977
  }; // TLS
2966
2978
  this.rules[0].opcodes[30] = {
2967
2979
  type: 4,
2968
- index: 20
2980
+ index: 22
2969
2981
  }; // RNM(components-reference)
2970
2982
  this.rules[0].opcodes[31] = {
2971
2983
  type: 7,
@@ -3011,7 +3023,7 @@ function grammar() {
3011
3023
  }; // TLS
3012
3024
  this.rules[2].opcodes[2] = {
3013
3025
  type: 4,
3014
- index: 30
3026
+ index: 32
3015
3027
  }; // RNM(token)
3016
3028
 
3017
3029
  /* query-reference */
@@ -3026,7 +3038,7 @@ function grammar() {
3026
3038
  }; // TLS
3027
3039
  this.rules[3].opcodes[2] = {
3028
3040
  type: 4,
3029
- index: 25
3041
+ index: 27
3030
3042
  }; // RNM(name)
3031
3043
 
3032
3044
  /* path-reference */
@@ -3041,7 +3053,7 @@ function grammar() {
3041
3053
  }; // TLS
3042
3054
  this.rules[4].opcodes[2] = {
3043
3055
  type: 4,
3044
- index: 25
3056
+ index: 27
3045
3057
  }; // RNM(name)
3046
3058
 
3047
3059
  /* body-reference */
@@ -3069,7 +3081,7 @@ function grammar() {
3069
3081
  }; // TLS
3070
3082
  this.rules[5].opcodes[5] = {
3071
3083
  type: 4,
3072
- index: 26
3084
+ index: 28
3073
3085
  }; // RNM(json-pointer)
3074
3086
 
3075
3087
  /* payload-reference */
@@ -3097,7 +3109,7 @@ function grammar() {
3097
3109
  }; // TLS
3098
3110
  this.rules[6].opcodes[5] = {
3099
3111
  type: 4,
3100
- index: 26
3112
+ index: 28
3101
3113
  }; // RNM(json-pointer)
3102
3114
 
3103
3115
  /* inputs-reference */
@@ -3125,7 +3137,7 @@ function grammar() {
3125
3137
  }; // TLS
3126
3138
  this.rules[7].opcodes[5] = {
3127
3139
  type: 4,
3128
- index: 26
3140
+ index: 28
3129
3141
  }; // RNM(json-pointer)
3130
3142
 
3131
3143
  /* outputs-reference */
@@ -3153,21 +3165,21 @@ function grammar() {
3153
3165
  }; // TLS
3154
3166
  this.rules[8].opcodes[5] = {
3155
3167
  type: 4,
3156
- index: 26
3168
+ index: 28
3157
3169
  }; // RNM(json-pointer)
3158
3170
 
3159
3171
  /* input-name */
3160
3172
  this.rules[9].opcodes = [];
3161
3173
  this.rules[9].opcodes[0] = {
3162
3174
  type: 4,
3163
- index: 24
3175
+ index: 26
3164
3176
  }; // RNM(identifier)
3165
3177
 
3166
3178
  /* output-name */
3167
3179
  this.rules[10].opcodes = [];
3168
3180
  this.rules[10].opcodes[0] = {
3169
3181
  type: 4,
3170
- index: 24
3182
+ index: 26
3171
3183
  }; // RNM(identifier)
3172
3184
 
3173
3185
  /* steps-reference */
@@ -3203,646 +3215,684 @@ function grammar() {
3203
3215
  }; // TLS
3204
3216
  this.rules[11].opcodes[7] = {
3205
3217
  type: 4,
3206
- index: 26
3218
+ index: 28
3207
3219
  }; // RNM(json-pointer)
3208
3220
 
3209
3221
  /* step-id */
3210
3222
  this.rules[12].opcodes = [];
3211
3223
  this.rules[12].opcodes[0] = {
3212
3224
  type: 4,
3213
- index: 23
3225
+ index: 25
3214
3226
  }; // RNM(identifier-strict)
3215
3227
 
3216
3228
  /* workflows-reference */
3217
3229
  this.rules[13].opcodes = [];
3218
3230
  this.rules[13].opcodes[0] = {
3219
3231
  type: 2,
3220
- children: [1, 2, 3, 4, 5, 6]
3232
+ children: [1, 2, 3]
3221
3233
  }; // CAT
3222
3234
  this.rules[13].opcodes[1] = {
3223
3235
  type: 4,
3224
- index: 14
3236
+ index: 16
3225
3237
  }; // RNM(workflow-id)
3226
3238
  this.rules[13].opcodes[2] = {
3227
3239
  type: 7,
3228
3240
  string: [46]
3229
3241
  }; // TLS
3230
3242
  this.rules[13].opcodes[3] = {
3243
+ type: 1,
3244
+ children: [4, 5]
3245
+ }; // ALT
3246
+ this.rules[13].opcodes[4] = {
3247
+ type: 4,
3248
+ index: 14
3249
+ }; // RNM(workflows-value-reference)
3250
+ this.rules[13].opcodes[5] = {
3231
3251
  type: 4,
3232
3252
  index: 15
3253
+ }; // RNM(workflows-steps-reference)
3254
+
3255
+ /* workflows-value-reference */
3256
+ this.rules[14].opcodes = [];
3257
+ this.rules[14].opcodes[0] = {
3258
+ type: 2,
3259
+ children: [1, 2, 3, 4]
3260
+ }; // CAT
3261
+ this.rules[14].opcodes[1] = {
3262
+ type: 4,
3263
+ index: 17
3233
3264
  }; // RNM(workflow-field)
3234
- this.rules[13].opcodes[4] = {
3265
+ this.rules[14].opcodes[2] = {
3235
3266
  type: 7,
3236
3267
  string: [46]
3237
3268
  }; // TLS
3238
- this.rules[13].opcodes[5] = {
3269
+ this.rules[14].opcodes[3] = {
3239
3270
  type: 4,
3240
- index: 16
3271
+ index: 18
3241
3272
  }; // RNM(workflow-field-name)
3242
- this.rules[13].opcodes[6] = {
3273
+ this.rules[14].opcodes[4] = {
3243
3274
  type: 3,
3244
3275
  min: 0,
3245
3276
  max: 1
3246
3277
  }; // REP
3247
- this.rules[13].opcodes[7] = {
3278
+ this.rules[14].opcodes[5] = {
3248
3279
  type: 2,
3249
- children: [8, 9]
3280
+ children: [6, 7]
3250
3281
  }; // CAT
3251
- this.rules[13].opcodes[8] = {
3282
+ this.rules[14].opcodes[6] = {
3252
3283
  type: 7,
3253
3284
  string: [35]
3254
3285
  }; // TLS
3255
- this.rules[13].opcodes[9] = {
3286
+ this.rules[14].opcodes[7] = {
3256
3287
  type: 4,
3257
- index: 26
3288
+ index: 28
3258
3289
  }; // RNM(json-pointer)
3259
3290
 
3291
+ /* workflows-steps-reference */
3292
+ this.rules[15].opcodes = [];
3293
+ this.rules[15].opcodes[0] = {
3294
+ type: 2,
3295
+ children: [1, 2, 3]
3296
+ }; // CAT
3297
+ this.rules[15].opcodes[1] = {
3298
+ type: 7,
3299
+ string: [115, 116, 101, 112, 115]
3300
+ }; // TLS
3301
+ this.rules[15].opcodes[2] = {
3302
+ type: 7,
3303
+ string: [46]
3304
+ }; // TLS
3305
+ this.rules[15].opcodes[3] = {
3306
+ type: 4,
3307
+ index: 12
3308
+ }; // RNM(step-id)
3309
+
3260
3310
  /* workflow-id */
3261
- this.rules[14].opcodes = [];
3262
- this.rules[14].opcodes[0] = {
3311
+ this.rules[16].opcodes = [];
3312
+ this.rules[16].opcodes[0] = {
3263
3313
  type: 4,
3264
- index: 23
3314
+ index: 25
3265
3315
  }; // RNM(identifier-strict)
3266
3316
 
3267
3317
  /* workflow-field */
3268
- this.rules[15].opcodes = [];
3269
- this.rules[15].opcodes[0] = {
3318
+ this.rules[17].opcodes = [];
3319
+ this.rules[17].opcodes[0] = {
3270
3320
  type: 1,
3271
3321
  children: [1, 2]
3272
3322
  }; // ALT
3273
- this.rules[15].opcodes[1] = {
3323
+ this.rules[17].opcodes[1] = {
3274
3324
  type: 7,
3275
3325
  string: [105, 110, 112, 117, 116, 115]
3276
3326
  }; // TLS
3277
- this.rules[15].opcodes[2] = {
3327
+ this.rules[17].opcodes[2] = {
3278
3328
  type: 7,
3279
3329
  string: [111, 117, 116, 112, 117, 116, 115]
3280
3330
  }; // TLS
3281
3331
 
3282
3332
  /* workflow-field-name */
3283
- this.rules[16].opcodes = [];
3284
- this.rules[16].opcodes[0] = {
3333
+ this.rules[18].opcodes = [];
3334
+ this.rules[18].opcodes[0] = {
3285
3335
  type: 4,
3286
- index: 24
3336
+ index: 26
3287
3337
  }; // RNM(identifier)
3288
3338
 
3289
3339
  /* source-reference */
3290
- this.rules[17].opcodes = [];
3291
- this.rules[17].opcodes[0] = {
3340
+ this.rules[19].opcodes = [];
3341
+ this.rules[19].opcodes[0] = {
3292
3342
  type: 2,
3293
3343
  children: [1, 2, 3]
3294
3344
  }; // CAT
3295
- this.rules[17].opcodes[1] = {
3345
+ this.rules[19].opcodes[1] = {
3296
3346
  type: 4,
3297
- index: 18
3347
+ index: 20
3298
3348
  }; // RNM(source-name)
3299
- this.rules[17].opcodes[2] = {
3349
+ this.rules[19].opcodes[2] = {
3300
3350
  type: 7,
3301
3351
  string: [46]
3302
3352
  }; // TLS
3303
- this.rules[17].opcodes[3] = {
3353
+ this.rules[19].opcodes[3] = {
3304
3354
  type: 4,
3305
- index: 19
3355
+ index: 21
3306
3356
  }; // RNM(source-reference-id)
3307
3357
 
3308
3358
  /* source-name */
3309
- this.rules[18].opcodes = [];
3310
- this.rules[18].opcodes[0] = {
3359
+ this.rules[20].opcodes = [];
3360
+ this.rules[20].opcodes[0] = {
3311
3361
  type: 4,
3312
- index: 23
3362
+ index: 25
3313
3363
  }; // RNM(identifier-strict)
3314
3364
 
3315
3365
  /* source-reference-id */
3316
- this.rules[19].opcodes = [];
3317
- this.rules[19].opcodes[0] = {
3366
+ this.rules[21].opcodes = [];
3367
+ this.rules[21].opcodes[0] = {
3318
3368
  type: 3,
3319
3369
  min: 1,
3320
3370
  max: Infinity
3321
3371
  }; // REP
3322
- this.rules[19].opcodes[1] = {
3372
+ this.rules[21].opcodes[1] = {
3323
3373
  type: 4,
3324
- index: 32
3374
+ index: 34
3325
3375
  }; // RNM(CHAR)
3326
3376
 
3327
3377
  /* components-reference */
3328
- this.rules[20].opcodes = [];
3329
- this.rules[20].opcodes[0] = {
3378
+ this.rules[22].opcodes = [];
3379
+ this.rules[22].opcodes[0] = {
3330
3380
  type: 2,
3331
3381
  children: [1, 2, 3]
3332
3382
  }; // CAT
3333
- this.rules[20].opcodes[1] = {
3383
+ this.rules[22].opcodes[1] = {
3334
3384
  type: 4,
3335
- index: 21
3385
+ index: 23
3336
3386
  }; // RNM(component-type)
3337
- this.rules[20].opcodes[2] = {
3387
+ this.rules[22].opcodes[2] = {
3338
3388
  type: 7,
3339
3389
  string: [46]
3340
3390
  }; // TLS
3341
- this.rules[20].opcodes[3] = {
3391
+ this.rules[22].opcodes[3] = {
3342
3392
  type: 4,
3343
- index: 22
3393
+ index: 24
3344
3394
  }; // RNM(component-name)
3345
3395
 
3346
3396
  /* component-type */
3347
- this.rules[21].opcodes = [];
3348
- this.rules[21].opcodes[0] = {
3397
+ this.rules[23].opcodes = [];
3398
+ this.rules[23].opcodes[0] = {
3349
3399
  type: 1,
3350
3400
  children: [1, 2, 3]
3351
3401
  }; // ALT
3352
- this.rules[21].opcodes[1] = {
3402
+ this.rules[23].opcodes[1] = {
3353
3403
  type: 7,
3354
3404
  string: [112, 97, 114, 97, 109, 101, 116, 101, 114, 115]
3355
3405
  }; // TLS
3356
- this.rules[21].opcodes[2] = {
3406
+ this.rules[23].opcodes[2] = {
3357
3407
  type: 7,
3358
3408
  string: [115, 117, 99, 99, 101, 115, 115, 97, 99, 116, 105, 111, 110, 115]
3359
3409
  }; // TLS
3360
- this.rules[21].opcodes[3] = {
3410
+ this.rules[23].opcodes[3] = {
3361
3411
  type: 7,
3362
3412
  string: [102, 97, 105, 108, 117, 114, 101, 97, 99, 116, 105, 111, 110, 115]
3363
3413
  }; // TLS
3364
3414
 
3365
3415
  /* component-name */
3366
- this.rules[22].opcodes = [];
3367
- this.rules[22].opcodes[0] = {
3416
+ this.rules[24].opcodes = [];
3417
+ this.rules[24].opcodes[0] = {
3368
3418
  type: 4,
3369
- index: 24
3419
+ index: 26
3370
3420
  }; // RNM(identifier)
3371
3421
 
3372
3422
  /* identifier-strict */
3373
- this.rules[23].opcodes = [];
3374
- this.rules[23].opcodes[0] = {
3423
+ this.rules[25].opcodes = [];
3424
+ this.rules[25].opcodes[0] = {
3375
3425
  type: 3,
3376
3426
  min: 1,
3377
3427
  max: Infinity
3378
3428
  }; // REP
3379
- this.rules[23].opcodes[1] = {
3429
+ this.rules[25].opcodes[1] = {
3380
3430
  type: 1,
3381
3431
  children: [2, 3, 4, 5]
3382
3432
  }; // ALT
3383
- this.rules[23].opcodes[2] = {
3433
+ this.rules[25].opcodes[2] = {
3384
3434
  type: 4,
3385
- index: 38
3435
+ index: 40
3386
3436
  }; // RNM(ALPHA)
3387
- this.rules[23].opcodes[3] = {
3437
+ this.rules[25].opcodes[3] = {
3388
3438
  type: 4,
3389
- index: 39
3439
+ index: 41
3390
3440
  }; // RNM(DIGIT)
3391
- this.rules[23].opcodes[4] = {
3441
+ this.rules[25].opcodes[4] = {
3392
3442
  type: 7,
3393
3443
  string: [45]
3394
3444
  }; // TLS
3395
- this.rules[23].opcodes[5] = {
3445
+ this.rules[25].opcodes[5] = {
3396
3446
  type: 7,
3397
3447
  string: [95]
3398
3448
  }; // TLS
3399
3449
 
3400
3450
  /* identifier */
3401
- this.rules[24].opcodes = [];
3402
- this.rules[24].opcodes[0] = {
3451
+ this.rules[26].opcodes = [];
3452
+ this.rules[26].opcodes[0] = {
3403
3453
  type: 3,
3404
3454
  min: 1,
3405
3455
  max: Infinity
3406
3456
  }; // REP
3407
- this.rules[24].opcodes[1] = {
3457
+ this.rules[26].opcodes[1] = {
3408
3458
  type: 1,
3409
3459
  children: [2, 3, 4, 5, 6]
3410
3460
  }; // ALT
3411
- this.rules[24].opcodes[2] = {
3461
+ this.rules[26].opcodes[2] = {
3412
3462
  type: 4,
3413
- index: 38
3463
+ index: 40
3414
3464
  }; // RNM(ALPHA)
3415
- this.rules[24].opcodes[3] = {
3465
+ this.rules[26].opcodes[3] = {
3416
3466
  type: 4,
3417
- index: 39
3467
+ index: 41
3418
3468
  }; // RNM(DIGIT)
3419
- this.rules[24].opcodes[4] = {
3469
+ this.rules[26].opcodes[4] = {
3420
3470
  type: 7,
3421
3471
  string: [46]
3422
3472
  }; // TLS
3423
- this.rules[24].opcodes[5] = {
3473
+ this.rules[26].opcodes[5] = {
3424
3474
  type: 7,
3425
3475
  string: [45]
3426
3476
  }; // TLS
3427
- this.rules[24].opcodes[6] = {
3477
+ this.rules[26].opcodes[6] = {
3428
3478
  type: 7,
3429
3479
  string: [95]
3430
3480
  }; // TLS
3431
3481
 
3432
3482
  /* name */
3433
- this.rules[25].opcodes = [];
3434
- this.rules[25].opcodes[0] = {
3483
+ this.rules[27].opcodes = [];
3484
+ this.rules[27].opcodes[0] = {
3435
3485
  type: 3,
3436
3486
  min: 0,
3437
3487
  max: Infinity
3438
3488
  }; // REP
3439
- this.rules[25].opcodes[1] = {
3489
+ this.rules[27].opcodes[1] = {
3440
3490
  type: 4,
3441
- index: 32
3491
+ index: 34
3442
3492
  }; // RNM(CHAR)
3443
3493
 
3444
3494
  /* json-pointer */
3445
- this.rules[26].opcodes = [];
3446
- this.rules[26].opcodes[0] = {
3495
+ this.rules[28].opcodes = [];
3496
+ this.rules[28].opcodes[0] = {
3447
3497
  type: 3,
3448
3498
  min: 0,
3449
3499
  max: Infinity
3450
3500
  }; // REP
3451
- this.rules[26].opcodes[1] = {
3501
+ this.rules[28].opcodes[1] = {
3452
3502
  type: 2,
3453
3503
  children: [2, 3]
3454
3504
  }; // CAT
3455
- this.rules[26].opcodes[2] = {
3505
+ this.rules[28].opcodes[2] = {
3456
3506
  type: 7,
3457
3507
  string: [47]
3458
3508
  }; // TLS
3459
- this.rules[26].opcodes[3] = {
3509
+ this.rules[28].opcodes[3] = {
3460
3510
  type: 4,
3461
- index: 27
3511
+ index: 29
3462
3512
  }; // RNM(reference-token)
3463
3513
 
3464
3514
  /* reference-token */
3465
- this.rules[27].opcodes = [];
3466
- this.rules[27].opcodes[0] = {
3515
+ this.rules[29].opcodes = [];
3516
+ this.rules[29].opcodes[0] = {
3467
3517
  type: 3,
3468
3518
  min: 0,
3469
3519
  max: Infinity
3470
3520
  }; // REP
3471
- this.rules[27].opcodes[1] = {
3521
+ this.rules[29].opcodes[1] = {
3472
3522
  type: 1,
3473
3523
  children: [2, 3]
3474
3524
  }; // ALT
3475
- this.rules[27].opcodes[2] = {
3525
+ this.rules[29].opcodes[2] = {
3476
3526
  type: 4,
3477
- index: 28
3527
+ index: 30
3478
3528
  }; // RNM(unescaped)
3479
- this.rules[27].opcodes[3] = {
3529
+ this.rules[29].opcodes[3] = {
3480
3530
  type: 4,
3481
- index: 29
3531
+ index: 31
3482
3532
  }; // RNM(escaped)
3483
3533
 
3484
3534
  /* unescaped */
3485
- this.rules[28].opcodes = [];
3486
- this.rules[28].opcodes[0] = {
3535
+ this.rules[30].opcodes = [];
3536
+ this.rules[30].opcodes[0] = {
3487
3537
  type: 1,
3488
3538
  children: [1, 2, 3, 4]
3489
3539
  }; // ALT
3490
- this.rules[28].opcodes[1] = {
3540
+ this.rules[30].opcodes[1] = {
3491
3541
  type: 5,
3492
3542
  min: 0,
3493
3543
  max: 46
3494
3544
  }; // TRG
3495
- this.rules[28].opcodes[2] = {
3545
+ this.rules[30].opcodes[2] = {
3496
3546
  type: 5,
3497
3547
  min: 48,
3498
3548
  max: 122
3499
3549
  }; // TRG
3500
- this.rules[28].opcodes[3] = {
3550
+ this.rules[30].opcodes[3] = {
3501
3551
  type: 6,
3502
3552
  string: [124]
3503
3553
  }; // TBS
3504
- this.rules[28].opcodes[4] = {
3554
+ this.rules[30].opcodes[4] = {
3505
3555
  type: 5,
3506
3556
  min: 127,
3507
3557
  max: 1114111
3508
3558
  }; // TRG
3509
3559
 
3510
3560
  /* escaped */
3511
- this.rules[29].opcodes = [];
3512
- this.rules[29].opcodes[0] = {
3561
+ this.rules[31].opcodes = [];
3562
+ this.rules[31].opcodes[0] = {
3513
3563
  type: 2,
3514
3564
  children: [1, 2]
3515
3565
  }; // CAT
3516
- this.rules[29].opcodes[1] = {
3566
+ this.rules[31].opcodes[1] = {
3517
3567
  type: 7,
3518
3568
  string: [126]
3519
3569
  }; // TLS
3520
- this.rules[29].opcodes[2] = {
3570
+ this.rules[31].opcodes[2] = {
3521
3571
  type: 1,
3522
3572
  children: [3, 4]
3523
3573
  }; // ALT
3524
- this.rules[29].opcodes[3] = {
3574
+ this.rules[31].opcodes[3] = {
3525
3575
  type: 7,
3526
3576
  string: [48]
3527
3577
  }; // TLS
3528
- this.rules[29].opcodes[4] = {
3578
+ this.rules[31].opcodes[4] = {
3529
3579
  type: 7,
3530
3580
  string: [49]
3531
3581
  }; // TLS
3532
3582
 
3533
3583
  /* token */
3534
- this.rules[30].opcodes = [];
3535
- this.rules[30].opcodes[0] = {
3584
+ this.rules[32].opcodes = [];
3585
+ this.rules[32].opcodes[0] = {
3536
3586
  type: 3,
3537
3587
  min: 1,
3538
3588
  max: Infinity
3539
3589
  }; // REP
3540
- this.rules[30].opcodes[1] = {
3590
+ this.rules[32].opcodes[1] = {
3541
3591
  type: 4,
3542
- index: 31
3592
+ index: 33
3543
3593
  }; // RNM(tchar)
3544
3594
 
3545
3595
  /* tchar */
3546
- this.rules[31].opcodes = [];
3547
- this.rules[31].opcodes[0] = {
3596
+ this.rules[33].opcodes = [];
3597
+ this.rules[33].opcodes[0] = {
3548
3598
  type: 1,
3549
3599
  children: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
3550
3600
  }; // ALT
3551
- this.rules[31].opcodes[1] = {
3601
+ this.rules[33].opcodes[1] = {
3552
3602
  type: 7,
3553
3603
  string: [33]
3554
3604
  }; // TLS
3555
- this.rules[31].opcodes[2] = {
3605
+ this.rules[33].opcodes[2] = {
3556
3606
  type: 7,
3557
3607
  string: [35]
3558
3608
  }; // TLS
3559
- this.rules[31].opcodes[3] = {
3609
+ this.rules[33].opcodes[3] = {
3560
3610
  type: 7,
3561
3611
  string: [36]
3562
3612
  }; // TLS
3563
- this.rules[31].opcodes[4] = {
3613
+ this.rules[33].opcodes[4] = {
3564
3614
  type: 7,
3565
3615
  string: [37]
3566
3616
  }; // TLS
3567
- this.rules[31].opcodes[5] = {
3617
+ this.rules[33].opcodes[5] = {
3568
3618
  type: 7,
3569
3619
  string: [38]
3570
3620
  }; // TLS
3571
- this.rules[31].opcodes[6] = {
3621
+ this.rules[33].opcodes[6] = {
3572
3622
  type: 7,
3573
3623
  string: [39]
3574
3624
  }; // TLS
3575
- this.rules[31].opcodes[7] = {
3625
+ this.rules[33].opcodes[7] = {
3576
3626
  type: 7,
3577
3627
  string: [42]
3578
3628
  }; // TLS
3579
- this.rules[31].opcodes[8] = {
3629
+ this.rules[33].opcodes[8] = {
3580
3630
  type: 7,
3581
3631
  string: [43]
3582
3632
  }; // TLS
3583
- this.rules[31].opcodes[9] = {
3633
+ this.rules[33].opcodes[9] = {
3584
3634
  type: 7,
3585
3635
  string: [45]
3586
3636
  }; // TLS
3587
- this.rules[31].opcodes[10] = {
3637
+ this.rules[33].opcodes[10] = {
3588
3638
  type: 7,
3589
3639
  string: [46]
3590
3640
  }; // TLS
3591
- this.rules[31].opcodes[11] = {
3641
+ this.rules[33].opcodes[11] = {
3592
3642
  type: 7,
3593
3643
  string: [94]
3594
3644
  }; // TLS
3595
- this.rules[31].opcodes[12] = {
3645
+ this.rules[33].opcodes[12] = {
3596
3646
  type: 7,
3597
3647
  string: [95]
3598
3648
  }; // TLS
3599
- this.rules[31].opcodes[13] = {
3649
+ this.rules[33].opcodes[13] = {
3600
3650
  type: 7,
3601
3651
  string: [96]
3602
3652
  }; // TLS
3603
- this.rules[31].opcodes[14] = {
3653
+ this.rules[33].opcodes[14] = {
3604
3654
  type: 7,
3605
3655
  string: [124]
3606
3656
  }; // TLS
3607
- this.rules[31].opcodes[15] = {
3657
+ this.rules[33].opcodes[15] = {
3608
3658
  type: 7,
3609
3659
  string: [126]
3610
3660
  }; // TLS
3611
- this.rules[31].opcodes[16] = {
3661
+ this.rules[33].opcodes[16] = {
3612
3662
  type: 4,
3613
- index: 39
3663
+ index: 41
3614
3664
  }; // RNM(DIGIT)
3615
- this.rules[31].opcodes[17] = {
3665
+ this.rules[33].opcodes[17] = {
3616
3666
  type: 4,
3617
- index: 38
3667
+ index: 40
3618
3668
  }; // RNM(ALPHA)
3619
3669
 
3620
3670
  /* CHAR */
3621
- this.rules[32].opcodes = [];
3622
- this.rules[32].opcodes[0] = {
3671
+ this.rules[34].opcodes = [];
3672
+ this.rules[34].opcodes[0] = {
3623
3673
  type: 1,
3624
3674
  children: [1, 2]
3625
3675
  }; // ALT
3626
- this.rules[32].opcodes[1] = {
3676
+ this.rules[34].opcodes[1] = {
3627
3677
  type: 4,
3628
- index: 34
3678
+ index: 36
3629
3679
  }; // RNM(unescape)
3630
- this.rules[32].opcodes[2] = {
3680
+ this.rules[34].opcodes[2] = {
3631
3681
  type: 2,
3632
3682
  children: [3, 4]
3633
3683
  }; // CAT
3634
- this.rules[32].opcodes[3] = {
3684
+ this.rules[34].opcodes[3] = {
3635
3685
  type: 4,
3636
- index: 33
3686
+ index: 35
3637
3687
  }; // RNM(escape)
3638
- this.rules[32].opcodes[4] = {
3688
+ this.rules[34].opcodes[4] = {
3639
3689
  type: 1,
3640
3690
  children: [5, 6, 7, 8, 9, 10, 11, 12, 13]
3641
3691
  }; // ALT
3642
- this.rules[32].opcodes[5] = {
3692
+ this.rules[34].opcodes[5] = {
3643
3693
  type: 6,
3644
3694
  string: [34]
3645
3695
  }; // TBS
3646
- this.rules[32].opcodes[6] = {
3696
+ this.rules[34].opcodes[6] = {
3647
3697
  type: 6,
3648
3698
  string: [92]
3649
3699
  }; // TBS
3650
- this.rules[32].opcodes[7] = {
3700
+ this.rules[34].opcodes[7] = {
3651
3701
  type: 6,
3652
3702
  string: [47]
3653
3703
  }; // TBS
3654
- this.rules[32].opcodes[8] = {
3704
+ this.rules[34].opcodes[8] = {
3655
3705
  type: 6,
3656
3706
  string: [98]
3657
3707
  }; // TBS
3658
- this.rules[32].opcodes[9] = {
3708
+ this.rules[34].opcodes[9] = {
3659
3709
  type: 6,
3660
3710
  string: [102]
3661
3711
  }; // TBS
3662
- this.rules[32].opcodes[10] = {
3712
+ this.rules[34].opcodes[10] = {
3663
3713
  type: 6,
3664
3714
  string: [110]
3665
3715
  }; // TBS
3666
- this.rules[32].opcodes[11] = {
3716
+ this.rules[34].opcodes[11] = {
3667
3717
  type: 6,
3668
3718
  string: [114]
3669
3719
  }; // TBS
3670
- this.rules[32].opcodes[12] = {
3720
+ this.rules[34].opcodes[12] = {
3671
3721
  type: 6,
3672
3722
  string: [116]
3673
3723
  }; // TBS
3674
- this.rules[32].opcodes[13] = {
3724
+ this.rules[34].opcodes[13] = {
3675
3725
  type: 2,
3676
3726
  children: [14, 15]
3677
3727
  }; // CAT
3678
- this.rules[32].opcodes[14] = {
3728
+ this.rules[34].opcodes[14] = {
3679
3729
  type: 6,
3680
3730
  string: [117]
3681
3731
  }; // TBS
3682
- this.rules[32].opcodes[15] = {
3732
+ this.rules[34].opcodes[15] = {
3683
3733
  type: 3,
3684
3734
  min: 4,
3685
3735
  max: 4
3686
3736
  }; // REP
3687
- this.rules[32].opcodes[16] = {
3737
+ this.rules[34].opcodes[16] = {
3688
3738
  type: 4,
3689
- index: 40
3739
+ index: 42
3690
3740
  }; // RNM(HEXDIG)
3691
3741
 
3692
3742
  /* escape */
3693
- this.rules[33].opcodes = [];
3694
- this.rules[33].opcodes[0] = {
3743
+ this.rules[35].opcodes = [];
3744
+ this.rules[35].opcodes[0] = {
3695
3745
  type: 6,
3696
3746
  string: [92]
3697
3747
  }; // TBS
3698
3748
 
3699
3749
  /* unescape */
3700
- this.rules[34].opcodes = [];
3701
- this.rules[34].opcodes[0] = {
3750
+ this.rules[36].opcodes = [];
3751
+ this.rules[36].opcodes[0] = {
3702
3752
  type: 1,
3703
3753
  children: [1, 2, 3, 4, 5]
3704
3754
  }; // ALT
3705
- this.rules[34].opcodes[1] = {
3755
+ this.rules[36].opcodes[1] = {
3706
3756
  type: 5,
3707
3757
  min: 32,
3708
3758
  max: 33
3709
3759
  }; // TRG
3710
- this.rules[34].opcodes[2] = {
3760
+ this.rules[36].opcodes[2] = {
3711
3761
  type: 5,
3712
3762
  min: 35,
3713
3763
  max: 91
3714
3764
  }; // TRG
3715
- this.rules[34].opcodes[3] = {
3765
+ this.rules[36].opcodes[3] = {
3716
3766
  type: 5,
3717
3767
  min: 93,
3718
3768
  max: 122
3719
3769
  }; // TRG
3720
- this.rules[34].opcodes[4] = {
3770
+ this.rules[36].opcodes[4] = {
3721
3771
  type: 6,
3722
3772
  string: [124]
3723
3773
  }; // TBS
3724
- this.rules[34].opcodes[5] = {
3774
+ this.rules[36].opcodes[5] = {
3725
3775
  type: 5,
3726
3776
  min: 126,
3727
3777
  max: 1114111
3728
3778
  }; // TRG
3729
3779
 
3730
3780
  /* expression-string */
3731
- this.rules[35].opcodes = [];
3732
- this.rules[35].opcodes[0] = {
3781
+ this.rules[37].opcodes = [];
3782
+ this.rules[37].opcodes[0] = {
3733
3783
  type: 3,
3734
3784
  min: 0,
3735
3785
  max: Infinity
3736
3786
  }; // REP
3737
- this.rules[35].opcodes[1] = {
3787
+ this.rules[37].opcodes[1] = {
3738
3788
  type: 1,
3739
3789
  children: [2, 3]
3740
3790
  }; // ALT
3741
- this.rules[35].opcodes[2] = {
3791
+ this.rules[37].opcodes[2] = {
3742
3792
  type: 4,
3743
- index: 37
3793
+ index: 39
3744
3794
  }; // RNM(literal-char)
3745
- this.rules[35].opcodes[3] = {
3795
+ this.rules[37].opcodes[3] = {
3746
3796
  type: 4,
3747
- index: 36
3797
+ index: 38
3748
3798
  }; // RNM(embedded-expression)
3749
3799
 
3750
3800
  /* embedded-expression */
3751
- this.rules[36].opcodes = [];
3752
- this.rules[36].opcodes[0] = {
3801
+ this.rules[38].opcodes = [];
3802
+ this.rules[38].opcodes[0] = {
3753
3803
  type: 2,
3754
3804
  children: [1, 2, 3]
3755
3805
  }; // CAT
3756
- this.rules[36].opcodes[1] = {
3806
+ this.rules[38].opcodes[1] = {
3757
3807
  type: 7,
3758
3808
  string: [123]
3759
3809
  }; // TLS
3760
- this.rules[36].opcodes[2] = {
3810
+ this.rules[38].opcodes[2] = {
3761
3811
  type: 4,
3762
3812
  index: 0
3763
3813
  }; // RNM(expression)
3764
- this.rules[36].opcodes[3] = {
3814
+ this.rules[38].opcodes[3] = {
3765
3815
  type: 7,
3766
3816
  string: [125]
3767
3817
  }; // TLS
3768
3818
 
3769
3819
  /* literal-char */
3770
- this.rules[37].opcodes = [];
3771
- this.rules[37].opcodes[0] = {
3820
+ this.rules[39].opcodes = [];
3821
+ this.rules[39].opcodes[0] = {
3772
3822
  type: 1,
3773
3823
  children: [1, 2, 3]
3774
3824
  }; // ALT
3775
- this.rules[37].opcodes[1] = {
3825
+ this.rules[39].opcodes[1] = {
3776
3826
  type: 5,
3777
3827
  min: 0,
3778
3828
  max: 122
3779
3829
  }; // TRG
3780
- this.rules[37].opcodes[2] = {
3830
+ this.rules[39].opcodes[2] = {
3781
3831
  type: 6,
3782
3832
  string: [124]
3783
3833
  }; // TBS
3784
- this.rules[37].opcodes[3] = {
3834
+ this.rules[39].opcodes[3] = {
3785
3835
  type: 5,
3786
3836
  min: 126,
3787
3837
  max: 1114111
3788
3838
  }; // TRG
3789
3839
 
3790
3840
  /* ALPHA */
3791
- this.rules[38].opcodes = [];
3792
- this.rules[38].opcodes[0] = {
3841
+ this.rules[40].opcodes = [];
3842
+ this.rules[40].opcodes[0] = {
3793
3843
  type: 1,
3794
3844
  children: [1, 2]
3795
3845
  }; // ALT
3796
- this.rules[38].opcodes[1] = {
3846
+ this.rules[40].opcodes[1] = {
3797
3847
  type: 5,
3798
3848
  min: 65,
3799
3849
  max: 90
3800
3850
  }; // TRG
3801
- this.rules[38].opcodes[2] = {
3851
+ this.rules[40].opcodes[2] = {
3802
3852
  type: 5,
3803
3853
  min: 97,
3804
3854
  max: 122
3805
3855
  }; // TRG
3806
3856
 
3807
3857
  /* DIGIT */
3808
- this.rules[39].opcodes = [];
3809
- this.rules[39].opcodes[0] = {
3858
+ this.rules[41].opcodes = [];
3859
+ this.rules[41].opcodes[0] = {
3810
3860
  type: 5,
3811
3861
  min: 48,
3812
3862
  max: 57
3813
3863
  }; // TRG
3814
3864
 
3815
3865
  /* HEXDIG */
3816
- this.rules[40].opcodes = [];
3817
- this.rules[40].opcodes[0] = {
3866
+ this.rules[42].opcodes = [];
3867
+ this.rules[42].opcodes[0] = {
3818
3868
  type: 1,
3819
3869
  children: [1, 2, 3, 4, 5, 6, 7]
3820
3870
  }; // ALT
3821
- this.rules[40].opcodes[1] = {
3871
+ this.rules[42].opcodes[1] = {
3822
3872
  type: 4,
3823
- index: 39
3873
+ index: 41
3824
3874
  }; // RNM(DIGIT)
3825
- this.rules[40].opcodes[2] = {
3875
+ this.rules[42].opcodes[2] = {
3826
3876
  type: 7,
3827
3877
  string: [97]
3828
3878
  }; // TLS
3829
- this.rules[40].opcodes[3] = {
3879
+ this.rules[42].opcodes[3] = {
3830
3880
  type: 7,
3831
3881
  string: [98]
3832
3882
  }; // TLS
3833
- this.rules[40].opcodes[4] = {
3883
+ this.rules[42].opcodes[4] = {
3834
3884
  type: 7,
3835
3885
  string: [99]
3836
3886
  }; // TLS
3837
- this.rules[40].opcodes[5] = {
3887
+ this.rules[42].opcodes[5] = {
3838
3888
  type: 7,
3839
3889
  string: [100]
3840
3890
  }; // TLS
3841
- this.rules[40].opcodes[6] = {
3891
+ this.rules[42].opcodes[6] = {
3842
3892
  type: 7,
3843
3893
  string: [101]
3844
3894
  }; // TLS
3845
- this.rules[40].opcodes[7] = {
3895
+ this.rules[42].opcodes[7] = {
3846
3896
  type: 7,
3847
3897
  string: [102]
3848
3898
  }; // TLS
@@ -3889,10 +3939,12 @@ function grammar() {
3889
3939
  str += "step-id = identifier-strict\n";
3890
3940
  str += "\n";
3891
3941
  str += "; Workflows expressions\n";
3892
- str += "workflows-reference = workflow-id \".\" workflow-field \".\" workflow-field-name [ \"#\" json-pointer ]\n";
3893
- str += "workflow-id = identifier-strict\n";
3894
- str += "workflow-field = \"inputs\" / \"outputs\"\n";
3895
- str += "workflow-field-name = identifier\n";
3942
+ str += "workflows-reference = workflow-id \".\" ( workflows-value-reference / workflows-steps-reference )\n";
3943
+ str += "workflows-value-reference = workflow-field \".\" workflow-field-name [ \"#\" json-pointer ]\n";
3944
+ str += "workflows-steps-reference = \"steps\" \".\" step-id\n";
3945
+ str += "workflow-id = identifier-strict\n";
3946
+ str += "workflow-field = \"inputs\" / \"outputs\"\n";
3947
+ str += "workflow-field-name = identifier\n";
3896
3948
  str += "\n";
3897
3949
  str += "; Source descriptions expressions\n";
3898
3950
  str += "source-reference = source-name \".\" source-reference-id\n";
@@ -4267,6 +4319,13 @@ class ASTTranslator extends _CSTTranslator_mjs__WEBPACK_IMPORTED_MODULE_0__["def
4267
4319
 
4268
4320
  "use strict";
4269
4321
  __webpack_require__.r(__webpack_exports__);
4322
+ /* harmony import */ var apg_lite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51751);
4323
+ /* harmony import */ var _grammar_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71652);
4324
+ /* harmony import */ var _CSTTranslator_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35963);
4325
+
4326
+
4327
+
4328
+ const grammar = new _grammar_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]();
4270
4329
  const transformCSTtoAST = (node, transformerMap) => {
4271
4330
  const transformer = transformerMap[node.type];
4272
4331
  if (!transformer) {
@@ -4274,6 +4333,35 @@ const transformCSTtoAST = (node, transformerMap) => {
4274
4333
  }
4275
4334
  return transformer(node);
4276
4335
  };
4336
+
4337
+ // Best-effort, non-committal detection of a `$workflows.<workflowId>.steps.<stepId>`-shaped
4338
+ // value nested inside an opaque `$sourceDescriptions.<name>.<reference>` reference (the
4339
+ // dependsOn cross-document step-reference syntax). This reuses the primary grammar's
4340
+ // `workflows-reference` rule as a secondary parse over just the `reference` substring — it
4341
+ // never affects whether the outer `$sourceDescriptions.` expression itself is valid, and only
4342
+ // enriches the AST when the opaque string happens to fully, unambiguously match the shape.
4343
+ const tryParseWorkflowsStepsReference = referenceText => {
4344
+ const parser = new apg_lite__WEBPACK_IMPORTED_MODULE_0__.Parser();
4345
+ parser.ast = new _CSTTranslator_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]();
4346
+ let result;
4347
+ try {
4348
+ result = parser.parse(grammar, 'workflows-reference', referenceText);
4349
+ } catch {
4350
+ return undefined;
4351
+ }
4352
+ if (!result.success) return undefined;
4353
+ const tree = parser.ast.getTree();
4354
+ const stepsRefNode = tree.children.find(c => c.type === 'workflows-steps-reference');
4355
+ if (!stepsRefNode) return undefined; // matched, but as inputs/outputs, not steps
4356
+
4357
+ const workflowIdNode = tree.children.find(c => c.type === 'workflow-id');
4358
+ const stepIdNode = stepsRefNode.children.find(c => c.type === 'step-id');
4359
+ return {
4360
+ type: 'WorkflowsStepsExpression',
4361
+ workflowId: workflowIdNode.text,
4362
+ stepId: stepIdNode.text
4363
+ };
4364
+ };
4277
4365
  const transformers = {
4278
4366
  ['expression'](node) {
4279
4367
  const text = node.text;
@@ -4448,9 +4536,19 @@ const transformers = {
4448
4536
  },
4449
4537
  ['workflows-reference'](node) {
4450
4538
  const workflowIdNode = node.children.find(c => c.type === 'workflow-id');
4451
- const fieldNode = node.children.find(c => c.type === 'workflow-field');
4452
- const fieldNameNode = node.children.find(c => c.type === 'workflow-field-name');
4453
- const jsonPointerNode = node.children.find(c => c.type === 'json-pointer');
4539
+ const stepsRefNode = node.children.find(c => c.type === 'workflows-steps-reference');
4540
+ if (stepsRefNode) {
4541
+ const stepIdNode = stepsRefNode.children.find(c => c.type === 'step-id');
4542
+ return {
4543
+ type: 'WorkflowsStepsExpression',
4544
+ workflowId: workflowIdNode.text,
4545
+ stepId: stepIdNode.text
4546
+ };
4547
+ }
4548
+ const valueRefNode = node.children.find(c => c.type === 'workflows-value-reference');
4549
+ const fieldNode = valueRefNode.children.find(c => c.type === 'workflow-field');
4550
+ const fieldNameNode = valueRefNode.children.find(c => c.type === 'workflow-field-name');
4551
+ const jsonPointerNode = valueRefNode.children.find(c => c.type === 'json-pointer');
4454
4552
  const result = {
4455
4553
  type: 'WorkflowsExpression',
4456
4554
  workflowId: workflowIdNode.text,
@@ -4465,11 +4563,16 @@ const transformers = {
4465
4563
  ['source-reference'](node) {
4466
4564
  const sourceNameNode = node.children.find(c => c.type === 'source-name');
4467
4565
  const referenceNode = node.children.find(c => c.type === 'source-reference-id');
4468
- return {
4566
+ const result = {
4469
4567
  type: 'SourceDescriptionsExpression',
4470
4568
  sourceName: sourceNameNode.text,
4471
4569
  reference: referenceNode.text
4472
4570
  };
4571
+ const stepsReference = tryParseWorkflowsStepsReference(referenceNode.text);
4572
+ if (stepsReference) {
4573
+ result.stepsReference = stepsReference;
4574
+ }
4575
+ return result;
4473
4576
  },
4474
4577
  ['components-reference'](node) {
4475
4578
  const typeNode = node.children.find(c => c.type === 'component-type');
@@ -4523,6 +4626,8 @@ class CSTTranslator extends apg_lite__WEBPACK_IMPORTED_MODULE_0__.Ast {
4523
4626
  this.callbacks['output-name'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('output-name');
4524
4627
  this.callbacks['steps-reference'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('steps-reference');
4525
4628
  this.callbacks['workflows-reference'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('workflows-reference');
4629
+ this.callbacks['workflows-value-reference'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('workflows-value-reference');
4630
+ this.callbacks['workflows-steps-reference'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('workflows-steps-reference');
4526
4631
  this.callbacks['workflow-id'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('workflow-id');
4527
4632
  this.callbacks['workflow-field'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('workflow-field');
4528
4633
  this.callbacks['workflow-field-name'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('workflow-field-name');
@@ -24076,7 +24181,7 @@ var Language = class _Language {
24076
24181
  if (input instanceof Uint8Array) {
24077
24182
  binary2 = input;
24078
24183
  } else if (globalThis.process?.versions.node) {
24079
- const fs2 = await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 59167, 19));
24184
+ const fs2 = await Promise.resolve(/* import() */).then(() => (__webpack_require__.t(59167, 19)));
24080
24185
  binary2 = await fs2.readFile(input);
24081
24186
  } else {
24082
24187
  const response = await fetch(input);
@@ -24116,7 +24221,7 @@ async function Module2(moduleArg = {}) {
24116
24221
  var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != "undefined";
24117
24222
  var ENVIRONMENT_IS_NODE = typeof process == "object" && process.versions?.node && process.type != "renderer";
24118
24223
  if (ENVIRONMENT_IS_NODE) {
24119
- const { createRequire } = await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 19451, 19));
24224
+ const { createRequire } = await Promise.resolve(/* import() */).then(() => (__webpack_require__.t(19451, 19)));
24120
24225
  var require = createRequire("file:///home/runner/work/apidom/apidom/node_modules/web-tree-sitter/web-tree-sitter.js");
24121
24226
  }
24122
24227
  Module.currentQueryProgressCallback = null;
@@ -35645,6 +35750,7 @@ __webpack_require__.r(__webpack_exports__);
35645
35750
  /* harmony export */ YAMLParseError: () => (/* reexport safe */ _dist_index_js__WEBPACK_IMPORTED_MODULE_0__.YAMLParseError),
35646
35751
  /* harmony export */ YAMLSeq: () => (/* reexport safe */ _dist_index_js__WEBPACK_IMPORTED_MODULE_0__.YAMLSeq),
35647
35752
  /* harmony export */ YAMLWarning: () => (/* reexport safe */ _dist_index_js__WEBPACK_IMPORTED_MODULE_0__.YAMLWarning),
35753
+ /* harmony export */ "default": () => (/* reexport module object */ _dist_index_js__WEBPACK_IMPORTED_MODULE_0__),
35648
35754
  /* harmony export */ isAlias: () => (/* reexport safe */ _dist_index_js__WEBPACK_IMPORTED_MODULE_0__.isAlias),
35649
35755
  /* harmony export */ isCollection: () => (/* reexport safe */ _dist_index_js__WEBPACK_IMPORTED_MODULE_0__.isCollection),
35650
35756
  /* harmony export */ isDocument: () => (/* reexport safe */ _dist_index_js__WEBPACK_IMPORTED_MODULE_0__.isDocument),
@@ -35664,12 +35770,8 @@ __webpack_require__.r(__webpack_exports__);
35664
35770
  // `export * as default from ...` fails on Webpack v4
35665
35771
  // https://github.com/eemeli/yaml/issues/228
35666
35772
 
35667
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_dist_index_js__WEBPACK_IMPORTED_MODULE_0__);
35668
35773
 
35669
35774
 
35670
- /* harmony export */ __webpack_require__.d(__webpack_exports__, [
35671
- /* harmony export */ "default", 0, /* export default binding */ __WEBPACK_DEFAULT_EXPORT__
35672
- /* harmony export */ ]);
35673
35775
 
35674
35776
 
35675
35777
  /***/ },
@@ -90125,6 +90227,18 @@ __webpack_require__.r(__webpack_exports__);
90125
90227
 
90126
90228
  const DEFAULT_CHUNK_SIZE = 64 * 1024;
90127
90229
 
90230
+ const DEFAULT_REQUEST_OPTIONS = {
90231
+ cache: 'default',
90232
+ redirect: 'follow',
90233
+ referrer: 'about:client',
90234
+ referrerPolicy: '',
90235
+ mode: 'cors',
90236
+ integrity: '',
90237
+ keepalive: false,
90238
+ priority: 'auto',
90239
+ window: null,
90240
+ };
90241
+
90128
90242
  const { isFunction } = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"];
90129
90243
 
90130
90244
  /**
@@ -90175,9 +90289,7 @@ const maybeWithAuthCredentials = (url) => {
90175
90289
 
90176
90290
  const factory = (env) => {
90177
90291
  const globalObject =
90178
- _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].global !== undefined && _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].global !== null
90179
- ? _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].global
90180
- : globalThis;
90292
+ _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].global !== undefined && _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].global !== null ? _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].global : globalThis;
90181
90293
  const { ReadableStream, TextEncoder } = globalObject;
90182
90294
 
90183
90295
  env = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge.call(
@@ -90316,6 +90428,7 @@ const factory = (env) => {
90316
90428
  fetchOptions,
90317
90429
  maxContentLength,
90318
90430
  maxBodyLength,
90431
+ maxRedirects,
90319
90432
  } = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_7__["default"])(config);
90320
90433
 
90321
90434
  const hasMaxContentLength = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNumber(maxContentLength) && maxContentLength > -1;
@@ -90366,7 +90479,7 @@ const factory = (env) => {
90366
90479
  const password = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].getSafeProp(configAuth, 'password') || '';
90367
90480
  auth = {
90368
90481
  username,
90369
- password
90482
+ password,
90370
90483
  };
90371
90484
  }
90372
90485
 
@@ -90378,7 +90491,7 @@ const factory = (env) => {
90378
90491
  const urlPassword = decodeURIComponentSafe(parsedURL.password);
90379
90492
  auth = {
90380
90493
  username: urlUsername,
90381
- password: urlPassword
90494
+ password: urlPassword,
90382
90495
  };
90383
90496
  }
90384
90497
 
@@ -90452,7 +90565,9 @@ const factory = (env) => {
90452
90565
  (onUploadProgress || mustEnforceStreamBody)
90453
90566
  ) {
90454
90567
  requestContentLength =
90455
- requestContentLength == null ? await resolveBodyLength(headers, data) : requestContentLength;
90568
+ requestContentLength == null
90569
+ ? await resolveBodyLength(headers, data)
90570
+ : requestContentLength;
90456
90571
 
90457
90572
  // A declared length of 0 is only trusted to skip the wrap when we are
90458
90573
  // not enforcing a stream limit (which must not rely on that header).
@@ -90465,7 +90580,10 @@ const factory = (env) => {
90465
90580
 
90466
90581
  let contentTypeHeader;
90467
90582
 
90468
- if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {
90583
+ if (
90584
+ _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFormData(data) &&
90585
+ (contentTypeHeader = _request.headers.get('content-type'))
90586
+ ) {
90469
90587
  headers.setContentType(contentTypeHeader);
90470
90588
  }
90471
90589
 
@@ -90528,20 +90646,57 @@ const factory = (env) => {
90528
90646
  // Set User-Agent header if not already set (fetch defaults to 'node' in Node.js)
90529
90647
  headers.set('User-Agent', 'axios/' + _env_data_js__WEBPACK_IMPORTED_MODULE_10__.VERSION, false);
90530
90648
 
90531
- const resolvedOptions = {
90532
- ...fetchOptions,
90649
+ const safeFetchOptions =
90650
+ fetchOptions == null ? fetchOptions : Object.assign(Object.create(null), fetchOptions);
90651
+
90652
+ if (safeFetchOptions) {
90653
+ // These options are owned by Axios and are already reflected in the
90654
+ // resolved Request passed to fetch.
90655
+ delete safeFetchOptions.body;
90656
+ delete safeFetchOptions.headers;
90657
+ delete safeFetchOptions.method;
90658
+ delete safeFetchOptions.signal;
90659
+ delete safeFetchOptions.duplex;
90660
+ delete safeFetchOptions.credentials;
90661
+ }
90662
+
90663
+ const resolvedOptions = Object.assign(Object.create(null), safeFetchOptions, {
90533
90664
  signal: composedSignal,
90534
90665
  method: method.toUpperCase(),
90535
90666
  headers: (0,_helpers_sanitizeHeaderValue_js__WEBPACK_IMPORTED_MODULE_11__.toByteStringHeaderObject)(headers.normalize()),
90536
90667
  body: data,
90537
90668
  duplex: 'half',
90538
90669
  credentials: isCredentialsSupported ? withCredentials : undefined,
90539
- };
90670
+ });
90671
+
90672
+ if (isRequestSupported) {
90673
+ _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].forEach(DEFAULT_REQUEST_OPTIONS, (value, key) => {
90674
+ if (resolvedOptions[key] === undefined) {
90675
+ resolvedOptions[key] = value;
90676
+ }
90677
+ });
90678
+
90679
+ if (resolvedOptions.signal === undefined) {
90680
+ resolvedOptions.signal = null;
90681
+ }
90682
+
90683
+ if (resolvedOptions.body === undefined) {
90684
+ resolvedOptions.body = null;
90685
+ }
90686
+ }
90687
+
90688
+ if (maxRedirects === 0) {
90689
+ resolvedOptions.redirect = 'manual';
90690
+
90691
+ if (safeFetchOptions) {
90692
+ safeFetchOptions.redirect = 'manual';
90693
+ }
90694
+ }
90540
90695
 
90541
90696
  request = isRequestSupported && new Request(url, resolvedOptions);
90542
90697
 
90543
90698
  let response = await (isRequestSupported
90544
- ? _fetch(request, fetchOptions)
90699
+ ? _fetch(request, safeFetchOptions)
90545
90700
  : _fetch(url, resolvedOptions));
90546
90701
 
90547
90702
  const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_5__["default"].from(response.headers);
@@ -90768,12 +90923,14 @@ __webpack_require__.r(__webpack_exports__);
90768
90923
  /* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39374);
90769
90924
  /* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(28515);
90770
90925
  /* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(32297);
90771
- /* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(40174);
90772
- /* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(42751);
90773
- /* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11495);
90774
- /* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(42970);
90775
- /* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(38691);
90776
- /* harmony import */ var _helpers_sanitizeHeaderValue_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(17706);
90926
+ /* harmony import */ var _helpers_normalizeURLForProtocolCheck_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(53680);
90927
+ /* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(40174);
90928
+ /* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42751);
90929
+ /* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(11495);
90930
+ /* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(42970);
90931
+ /* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(38691);
90932
+ /* harmony import */ var _helpers_sanitizeHeaderValue_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(17706);
90933
+
90777
90934
 
90778
90935
 
90779
90936
 
@@ -90791,13 +90948,13 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
90791
90948
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isXHRAdapterSupported &&
90792
90949
  function (config) {
90793
90950
  return new Promise(function dispatchXhrRequest(resolve, reject) {
90794
- const _config = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_9__["default"])(config);
90951
+ const _config = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_10__["default"])(config);
90795
90952
  let requestData = _config.data;
90796
- const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__["default"].from(_config.headers).normalize();
90953
+ const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__["default"].from(_config.headers).normalize();
90797
90954
  let { responseType, onUploadProgress, onDownloadProgress } = _config;
90798
90955
  let onCanceled;
90799
90956
  let uploadThrottled, downloadThrottled;
90800
- let flushUpload, flushDownload;
90957
+ let flushUpload, flushDownload, flushDownloadWithEvent;
90801
90958
 
90802
90959
  function done() {
90803
90960
  flushUpload && flushUpload(); // flush events
@@ -90815,12 +90972,57 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
90815
90972
  // Set the request timeout in MS
90816
90973
  request.timeout = _config.timeout;
90817
90974
 
90818
- function onloadend() {
90975
+ function onloadend(event) {
90976
+ if (!request) {
90977
+ return;
90978
+ }
90979
+
90980
+ // Status 0 means no response was received, which onerror and onabort normally
90981
+ // reject before this runs. Firefox 152 fires only readystatechange and loadend for
90982
+ // navigation-canceled requests (https://bugzilla.mozilla.org/show_bug.cgi?id=1505389),
90983
+ // leaving settle() to resolve them as an empty success. ECONNABORTED is the error
90984
+ // onabort raised on Firefox 151. Reads over file:, which some environments report as
90985
+ // status 0 on success, are excluded by the request URL's scheme after browser-style
90986
+ // preprocessing, by the page origin's scheme for relative URLs (which inherit it), or
90987
+ // by responseURL where implemented.
90988
+ if (
90989
+ request.status === 0 &&
90990
+ ((0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_6__["default"])((0,_helpers_normalizeURLForProtocolCheck_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_config.url)) ||
90991
+ (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_platform_index_js__WEBPACK_IMPORTED_MODULE_7__["default"].origin)) !== 'file' &&
90992
+ !(request.responseURL && request.responseURL.startsWith('file:'))
90993
+ ) {
90994
+ reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, config, request));
90995
+ done();
90996
+
90997
+ // Clean up request
90998
+ request = null;
90999
+ return;
91000
+ }
91001
+
91002
+ // When loadend is still dispatching, flushing with it gives progress
91003
+ // listeners a final delivery whose event has a live target. The legacy
91004
+ // ready-state fallback has no event, so replay its pending progress.
91005
+ // A throwing listener must not block settlement; rethrow asynchronously,
91006
+ // matching how listener errors surface on the throttle timer path.
91007
+ try {
91008
+ if (event) {
91009
+ flushDownloadWithEvent && flushDownloadWithEvent(event);
91010
+ } else {
91011
+ flushDownload && flushDownload();
91012
+ }
91013
+ } catch (err) {
91014
+ setTimeout(() => {
91015
+ throw err;
91016
+ });
91017
+ }
91018
+
91019
+ // A final progress callback can cancel the request synchronously.
90819
91020
  if (!request) {
90820
91021
  return;
90821
91022
  }
91023
+
90822
91024
  // Prepare the response
90823
- const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__["default"].from(
91025
+ const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__["default"].from(
90824
91026
  'getAllResponseHeaders' in request && request.getAllResponseHeaders()
90825
91027
  );
90826
91028
  const responseData =
@@ -90933,7 +91135,7 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
90933
91135
 
90934
91136
  // Add headers to the request
90935
91137
  if ('setRequestHeader' in request) {
90936
- _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach((0,_helpers_sanitizeHeaderValue_js__WEBPACK_IMPORTED_MODULE_10__.toByteStringHeaderObject)(requestHeaders), function setRequestHeader(val, key) {
91138
+ _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach((0,_helpers_sanitizeHeaderValue_js__WEBPACK_IMPORTED_MODULE_11__.toByteStringHeaderObject)(requestHeaders), function setRequestHeader(val, key) {
90937
91139
  request.setRequestHeader(key, val);
90938
91140
  });
90939
91141
  }
@@ -90950,13 +91152,16 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
90950
91152
 
90951
91153
  // Handle progress if needed
90952
91154
  if (onDownloadProgress) {
90953
- [downloadThrottled, flushDownload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_8__.progressEventReducer)(onDownloadProgress, true);
91155
+ [downloadThrottled, flushDownload, flushDownloadWithEvent] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_9__.progressEventReducer)(
91156
+ onDownloadProgress,
91157
+ true
91158
+ );
90954
91159
  request.addEventListener('progress', downloadThrottled);
90955
91160
  }
90956
91161
 
90957
91162
  // Not all browsers support upload events
90958
91163
  if (onUploadProgress && request.upload) {
90959
- [uploadThrottled, flushUpload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_8__.progressEventReducer)(onUploadProgress);
91164
+ [uploadThrottled, flushUpload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_9__.progressEventReducer)(onUploadProgress);
90960
91165
 
90961
91166
  request.upload.addEventListener('progress', uploadThrottled);
90962
91167
 
@@ -90984,9 +91189,9 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
90984
91189
  }
90985
91190
  }
90986
91191
 
90987
- const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_config.url);
91192
+ const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_config.url);
90988
91193
 
90989
- if (protocol && !_platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].protocols.includes(protocol)) {
91194
+ if (protocol && !_platform_index_js__WEBPACK_IMPORTED_MODULE_7__["default"].protocols.includes(protocol)) {
90990
91195
  reject(
90991
91196
  new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"](
90992
91197
  'Unsupported protocol ' + protocol + ':',
@@ -91342,9 +91547,11 @@ __webpack_require__.r(__webpack_exports__);
91342
91547
  /* harmony import */ var _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41108);
91343
91548
  /* harmony import */ var _mergeConfig_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23301);
91344
91549
  /* harmony import */ var _buildFullPath_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8041);
91345
- /* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(93735);
91346
- /* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11495);
91347
- /* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(39374);
91550
+ /* harmony import */ var _methodList_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(70902);
91551
+ /* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(93735);
91552
+ /* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(11495);
91553
+ /* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(39374);
91554
+
91348
91555
 
91349
91556
 
91350
91557
 
@@ -91357,7 +91564,7 @@ __webpack_require__.r(__webpack_exports__);
91357
91564
 
91358
91565
 
91359
91566
 
91360
- const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__["default"].validators;
91567
+ const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__["default"].validators;
91361
91568
 
91362
91569
  /**
91363
91570
  * Create a new instance of Axios
@@ -91388,21 +91595,21 @@ class Axios {
91388
91595
  return await this._request(configOrUrl, config);
91389
91596
  } catch (err) {
91390
91597
  if (err instanceof Error) {
91391
- let dummy = {};
91598
+ try {
91599
+ let dummy = {};
91392
91600
 
91393
- Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());
91601
+ Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());
91394
91602
 
91395
- // slice off the Error: ... line
91396
- const stack = (() => {
91397
- if (!dummy.stack) {
91398
- return '';
91399
- }
91603
+ const dummyStack = dummy.stack;
91604
+ let stack = '';
91400
91605
 
91401
- const firstNewlineIndex = dummy.stack.indexOf('\n');
91606
+ // slice off the Error: ... line
91607
+ if (typeof dummyStack === 'string') {
91608
+ const firstNewlineIndex = dummyStack.indexOf('\n');
91609
+
91610
+ stack = firstNewlineIndex === -1 ? '' : dummyStack.slice(firstNewlineIndex + 1);
91611
+ }
91402
91612
 
91403
- return firstNewlineIndex === -1 ? '' : dummy.stack.slice(firstNewlineIndex + 1);
91404
- })();
91405
- try {
91406
91613
  if (!err.stack) {
91407
91614
  err.stack = stack;
91408
91615
  // match without the 2 top stack lines
@@ -91418,7 +91625,7 @@ class Axios {
91418
91625
  }
91419
91626
  }
91420
91627
  } catch (e) {
91421
- // ignore the case where "stack" is an un-writable property
91628
+ // Ignore failures from custom stack hooks or un-writable stack properties.
91422
91629
  }
91423
91630
  }
91424
91631
 
@@ -91441,7 +91648,7 @@ class Axios {
91441
91648
  const { transitional, paramsSerializer, headers } = config;
91442
91649
 
91443
91650
  if (transitional !== undefined) {
91444
- _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__["default"].assertOptions(
91651
+ _helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__["default"].assertOptions(
91445
91652
  transitional,
91446
91653
  {
91447
91654
  silentJSONParsing: validators.transitional(validators.boolean),
@@ -91461,7 +91668,7 @@ class Axios {
91461
91668
  serialize: paramsSerializer,
91462
91669
  };
91463
91670
  } else {
91464
- _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__["default"].assertOptions(
91671
+ _helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__["default"].assertOptions(
91465
91672
  paramsSerializer,
91466
91673
  {
91467
91674
  encode: validators.function,
@@ -91481,7 +91688,7 @@ class Axios {
91481
91688
  config.allowAbsoluteUrls = true;
91482
91689
  }
91483
91690
 
91484
- _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__["default"].assertOptions(
91691
+ _helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__["default"].assertOptions(
91485
91692
  config,
91486
91693
  {
91487
91694
  baseUrl: validators.spelling('baseURL'),
@@ -91491,17 +91698,21 @@ class Axios {
91491
91698
  );
91492
91699
 
91493
91700
  // Set config.method
91494
- config.method = (config.method || this.defaults.method || 'get').toLowerCase();
91701
+ config.method = (
91702
+ _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].getSafeProp(config, 'method') ||
91703
+ _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].getSafeProp(this.defaults, 'method') ||
91704
+ 'get'
91705
+ ).toLowerCase();
91495
91706
 
91496
91707
  // Flatten headers
91497
91708
  let contextHeaders = headers && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].merge(headers.common, headers[config.method]);
91498
91709
 
91499
91710
  headers &&
91500
- _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'query', 'common'], (method) => {
91711
+ _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(_methodList_js__WEBPACK_IMPORTED_MODULE_6__["default"].concat('common'), (method) => {
91501
91712
  delete headers[method];
91502
91713
  });
91503
91714
 
91504
- config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__["default"].concat(contextHeaders, headers);
91715
+ config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__["default"].concat(contextHeaders, headers);
91505
91716
 
91506
91717
  // filter out skipped interceptors
91507
91718
  const requestInterceptorChain = [];
@@ -91513,7 +91724,7 @@ class Axios {
91513
91724
 
91514
91725
  synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
91515
91726
 
91516
- const transitional = config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_8__["default"];
91727
+ const transitional = config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_9__["default"];
91517
91728
  const legacyInterceptorReqResOrdering =
91518
91729
  transitional && transitional.legacyInterceptorReqResOrdering;
91519
91730
 
@@ -92389,9 +92600,57 @@ __webpack_require__.r(__webpack_exports__);
92389
92600
 
92390
92601
 
92391
92602
 
92603
+ const $internals = Symbol('internals');
92604
+
92605
+ // `handlers` is public and may be replaced with a nullish value by user code;
92606
+ // `clear()` has always tolerated that. Treat it as an empty stack rather than
92607
+ // dereferencing it.
92608
+ function countHandlers(handlers) {
92609
+ return handlers ? handlers.length : 0;
92610
+ }
92611
+
92612
+ function trimHandlers(handlers) {
92613
+ if (!handlers) {
92614
+ return;
92615
+ }
92616
+
92617
+ while (handlers.length && handlers[handlers.length - 1] === null) {
92618
+ handlers.pop();
92619
+ }
92620
+ }
92621
+
92622
+ function syncHandlerEntries(manager, internals) {
92623
+ const handlers = manager.handlers;
92624
+ const length = countHandlers(handlers);
92625
+
92626
+ if (handlers !== internals.handlersRef) {
92627
+ internals.handlersRef = handlers;
92628
+ internals.handlerEntries.clear();
92629
+ } else if (length !== internals.handlersLength) {
92630
+ if (!length) {
92631
+ internals.handlerEntries.clear();
92632
+ } else {
92633
+ internals.handlerEntries.forEach(function removeStaleEntry(entry, id) {
92634
+ if (handlers[entry.index] !== entry.handler) {
92635
+ internals.handlerEntries.delete(id);
92636
+ }
92637
+ });
92638
+ }
92639
+ }
92640
+
92641
+ internals.handlersLength = length;
92642
+ }
92643
+
92392
92644
  class InterceptorManager {
92393
92645
  constructor() {
92394
92646
  this.handlers = [];
92647
+ this[$internals] = {
92648
+ handlersRef: this.handlers,
92649
+ handlersLength: this.handlers.length,
92650
+ handlerEntries: new Map(),
92651
+ iterationDepth: 0,
92652
+ nextId: 0,
92653
+ };
92395
92654
  }
92396
92655
 
92397
92656
  /**
@@ -92404,13 +92663,30 @@ class InterceptorManager {
92404
92663
  * @return {Number} An ID used to remove interceptor later
92405
92664
  */
92406
92665
  use(fulfilled, rejected, options) {
92407
- this.handlers.push({
92666
+ const handler = {
92408
92667
  fulfilled,
92409
92668
  rejected,
92410
92669
  synchronous: options ? options.synchronous : false,
92411
92670
  runWhen: options ? options.runWhen : null,
92671
+ };
92672
+ const internals = this[$internals];
92673
+
92674
+ if (this.handlers == null) {
92675
+ this.handlers = [];
92676
+ }
92677
+
92678
+ syncHandlerEntries(this, internals);
92679
+
92680
+ const id = internals.nextId++;
92681
+
92682
+ this.handlers.push(handler);
92683
+ internals.handlerEntries.set(id, {
92684
+ handler,
92685
+ index: this.handlers.length - 1,
92412
92686
  });
92413
- return this.handlers.length - 1;
92687
+ internals.handlersLength = this.handlers.length;
92688
+
92689
+ return id;
92414
92690
  }
92415
92691
 
92416
92692
  /**
@@ -92421,8 +92697,27 @@ class InterceptorManager {
92421
92697
  * @returns {void}
92422
92698
  */
92423
92699
  eject(id) {
92424
- if (this.handlers[id]) {
92425
- this.handlers[id] = null;
92700
+ const internals = this[$internals];
92701
+
92702
+ syncHandlerEntries(this, internals);
92703
+
92704
+ const entry = internals.handlerEntries.get(id);
92705
+
92706
+ if (entry) {
92707
+ internals.handlerEntries.delete(id);
92708
+
92709
+ // Ignore IDs invalidated by clear or direct replacement of handlers.
92710
+ if (this.handlers[entry.index] !== entry.handler) {
92711
+ return;
92712
+ }
92713
+
92714
+ this.handlers[entry.index] = null;
92715
+
92716
+ // Do not reuse an index while forEach is walking its length snapshot.
92717
+ if (!internals.iterationDepth) {
92718
+ trimHandlers(this.handlers);
92719
+ internals.handlersLength = this.handlers.length;
92720
+ }
92426
92721
  }
92427
92722
  }
92428
92723
 
@@ -92434,6 +92729,7 @@ class InterceptorManager {
92434
92729
  clear() {
92435
92730
  if (this.handlers) {
92436
92731
  this.handlers = [];
92732
+ syncHandlerEntries(this, this[$internals]);
92437
92733
  }
92438
92734
  }
92439
92735
 
@@ -92448,11 +92744,25 @@ class InterceptorManager {
92448
92744
  * @returns {void}
92449
92745
  */
92450
92746
  forEach(fn) {
92451
- _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this.handlers, function forEachHandler(h) {
92452
- if (h !== null) {
92453
- fn(h);
92747
+ const internals = this[$internals];
92748
+
92749
+ syncHandlerEntries(this, internals);
92750
+
92751
+ internals.iterationDepth++;
92752
+
92753
+ try {
92754
+ _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this.handlers, function forEachHandler(h) {
92755
+ if (h !== null) {
92756
+ fn(h);
92757
+ }
92758
+ });
92759
+ } finally {
92760
+ if (!--internals.iterationDepth) {
92761
+ syncHandlerEntries(this, internals);
92762
+ trimHandlers(this.handlers);
92763
+ internals.handlersLength = countHandlers(this.handlers);
92454
92764
  }
92455
- });
92765
+ }
92456
92766
  }
92457
92767
  }
92458
92768
 
@@ -92476,26 +92786,15 @@ __webpack_require__.r(__webpack_exports__);
92476
92786
  /* harmony import */ var _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(28515);
92477
92787
  /* harmony import */ var _helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40623);
92478
92788
  /* harmony import */ var _helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48250);
92789
+ /* harmony import */ var _helpers_normalizeURLForProtocolCheck_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53680);
92479
92790
 
92480
92791
 
92481
92792
 
92482
92793
 
92483
92794
 
92484
92795
 
92485
- const malformedHttpProtocol = /^https?:(?!\/\/)/i;
92486
- const httpProtocolControlCharacters = /[\t\n\r]/g;
92487
-
92488
- function stripLeadingC0ControlOrSpace(url) {
92489
- let i = 0;
92490
- while (i < url.length && url.charCodeAt(i) <= 0x20) {
92491
- i++;
92492
- }
92493
- return url.slice(i);
92494
- }
92495
92796
 
92496
- function normalizeURLForProtocolCheck(url) {
92497
- return stripLeadingC0ControlOrSpace(url).replace(httpProtocolControlCharacters, '');
92498
- }
92797
+ const malformedHttpProtocol = /^https?:(?!\/\/)/i;
92499
92798
 
92500
92799
  // Redact the parts of a URL that can carry secrets before it is embedded in an
92501
92800
  // error message. AxiosError.toJSON() serializes `message` verbatim and errors
@@ -92534,7 +92833,7 @@ function redactSensitiveURLParts(url) {
92534
92833
 
92535
92834
  function assertValidHttpProtocolURL(url, config) {
92536
92835
  if (typeof url === 'string') {
92537
- const normalizedURL = normalizeURLForProtocolCheck(url);
92836
+ const normalizedURL = (0,_helpers_normalizeURLForProtocolCheck_js__WEBPACK_IMPORTED_MODULE_3__["default"])(url);
92538
92837
  if (malformedHttpProtocol.test(normalizedURL)) {
92539
92838
  throw new _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"](
92540
92839
  `Invalid URL ${JSON.stringify(redactSensitiveURLParts(normalizedURL))}: missing "//" after protocol`,
@@ -92582,6 +92881,8 @@ __webpack_require__.r(__webpack_exports__);
92582
92881
  /* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32297);
92583
92882
  /* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11495);
92584
92883
  /* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(95546);
92884
+ /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(56398);
92885
+
92585
92886
 
92586
92887
 
92587
92888
 
@@ -92615,10 +92916,15 @@ function throwIfCancellationRequested(config) {
92615
92916
  *
92616
92917
  * @returns {Promise} The Promise to be fulfilled
92617
92918
  */
92618
- function dispatchRequest(config) {
92919
+ function dispatchRequest(_config) {
92920
+ // Interceptors may replace the merged config with an ordinary object. Flatten
92921
+ // it at the dispatch boundary so shared prototype members cannot become
92922
+ // request behavior, while preserving intentional template/class members.
92923
+ const config = _utils_js__WEBPACK_IMPORTED_MODULE_6__["default"].toSafeFlatObject(_config);
92924
+
92619
92925
  throwIfCancellationRequested(config);
92620
92926
 
92621
- config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].from(config.headers);
92927
+ config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].from(_utils_js__WEBPACK_IMPORTED_MODULE_6__["default"].getSafeProp(config, 'headers'));
92622
92928
 
92623
92929
  // Transform request data
92624
92930
  config.data = _transformData_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(config, config.transformRequest);
@@ -92811,7 +93117,7 @@ function mergeConfig(config1, config2) {
92811
93117
  transformResponse: defaultToConfig2,
92812
93118
  paramsSerializer: defaultToConfig2,
92813
93119
  timeout: defaultToConfig2,
92814
- timeoutMessage: defaultToConfig2,
93120
+ timeoutErrorMessage: defaultToConfig2,
92815
93121
  withCredentials: defaultToConfig2,
92816
93122
  withXSRFToken: defaultToConfig2,
92817
93123
  adapter: defaultToConfig2,
@@ -92861,6 +93167,36 @@ function mergeConfig(config1, config2) {
92861
93167
  }
92862
93168
 
92863
93169
 
93170
+ /***/ },
93171
+
93172
+ /***/ 70902
93173
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
93174
+
93175
+ "use strict";
93176
+ __webpack_require__.r(__webpack_exports__);
93177
+
93178
+
93179
+ const methodList = Object.freeze([
93180
+ 'get',
93181
+ 'delete',
93182
+ 'head',
93183
+ 'options',
93184
+ 'post',
93185
+ 'put',
93186
+ 'patch',
93187
+ 'purge',
93188
+ 'link',
93189
+ 'unlink',
93190
+ 'query',
93191
+ ]);
93192
+
93193
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (methodList);
93194
+
93195
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, [
93196
+ /* harmony export */ "default", 0, /* export default binding */ __WEBPACK_DEFAULT_EXPORT__
93197
+ /* harmony export */ ]);
93198
+
93199
+
92864
93200
  /***/ },
92865
93201
 
92866
93202
  /***/ 74899
@@ -92997,6 +93333,8 @@ __webpack_require__.r(__webpack_exports__);
92997
93333
  /* harmony import */ var _helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83067);
92998
93334
  /* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(42751);
92999
93335
  /* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3120);
93336
+ /* harmony import */ var _core_methodList_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(70902);
93337
+
93000
93338
 
93001
93339
 
93002
93340
 
@@ -93169,7 +93507,7 @@ const defaults = {
93169
93507
  },
93170
93508
  };
93171
93509
 
93172
- _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'query'], (method) => {
93510
+ _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(_core_methodList_js__WEBPACK_IMPORTED_MODULE_7__["default"], (method) => {
93173
93511
  defaults.headers[method] = {};
93174
93512
  });
93175
93513
 
@@ -93210,7 +93548,7 @@ __webpack_require__.r(__webpack_exports__);
93210
93548
 
93211
93549
  "use strict";
93212
93550
  __webpack_require__.r(__webpack_exports__);
93213
- const VERSION = "1.19.0";
93551
+ const VERSION = "1.20.0";
93214
93552
  /* harmony export */ __webpack_require__.d(__webpack_exports__, [
93215
93553
  /* harmony export */ "VERSION", 0, /* binding */ VERSION
93216
93554
  /* harmony export */ ]);
@@ -93333,14 +93671,22 @@ const HttpStatusCode = {
93333
93671
  Gone: 410,
93334
93672
  LengthRequired: 411,
93335
93673
  PreconditionFailed: 412,
93674
+ /**
93675
+ * @deprecated Use `ContentTooLarge` instead.
93676
+ */
93336
93677
  PayloadTooLarge: 413,
93678
+ ContentTooLarge: 413,
93337
93679
  UriTooLong: 414,
93338
93680
  UnsupportedMediaType: 415,
93339
93681
  RangeNotSatisfiable: 416,
93340
93682
  ExpectationFailed: 417,
93341
93683
  ImATeapot: 418,
93342
93684
  MisdirectedRequest: 421,
93685
+ /**
93686
+ * @deprecated Use `UnprocessableContent` instead.
93687
+ */
93343
93688
  UnprocessableEntity: 422,
93689
+ UnprocessableContent: 422,
93344
93690
  Locked: 423,
93345
93691
  FailedDependency: 424,
93346
93692
  TooEarly: 425,
@@ -93370,7 +93716,9 @@ const HttpStatusCode = {
93370
93716
  };
93371
93717
 
93372
93718
  Object.entries(HttpStatusCode).forEach(([key, value]) => {
93373
- HttpStatusCode[value] = key;
93719
+ if (HttpStatusCode[value] === undefined) {
93720
+ HttpStatusCode[value] = key;
93721
+ }
93374
93722
  });
93375
93723
 
93376
93724
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HttpStatusCode);
@@ -94096,6 +94444,42 @@ __webpack_require__.r(__webpack_exports__);
94096
94444
  /* harmony export */ ]);
94097
94445
 
94098
94446
 
94447
+ /***/ },
94448
+
94449
+ /***/ 53680
94450
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
94451
+
94452
+ "use strict";
94453
+ __webpack_require__.r(__webpack_exports__);
94454
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
94455
+ /* harmony export */ "default": () => (/* binding */ normalizeURLForProtocolCheck)
94456
+ /* harmony export */ });
94457
+
94458
+
94459
+ const urlParserControlCharacters = /[\t\n\r]/g;
94460
+
94461
+ /**
94462
+ * Match WHATWG URL preprocessing before checking a URL's protocol.
94463
+ *
94464
+ * @param {string} url
94465
+ *
94466
+ * @returns {string}
94467
+ */
94468
+ function normalizeURLForProtocolCheck(url) {
94469
+ if (typeof url !== 'string') {
94470
+ return url;
94471
+ }
94472
+
94473
+ let start = 0;
94474
+
94475
+ while (start < url.length && url.charCodeAt(start) <= 0x20) {
94476
+ start++;
94477
+ }
94478
+
94479
+ return url.slice(start).replace(urlParserControlCharacters, '');
94480
+ }
94481
+
94482
+
94099
94483
  /***/ },
94100
94484
 
94101
94485
  /***/ 17096
@@ -94233,7 +94617,7 @@ const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
94233
94617
  const _speedometer = (0,_speedometer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(50, 250);
94234
94618
 
94235
94619
  return (0,_throttle_js__WEBPACK_IMPORTED_MODULE_1__["default"])((e) => {
94236
- if (!e || typeof e.loaded !== 'number') {
94620
+ if (!e || !_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isNumber(e.loaded)) {
94237
94621
  return;
94238
94622
  }
94239
94623
  const rawLoaded = e.loaded;
@@ -94368,15 +94752,17 @@ function resolveConfig(config) {
94368
94752
  }
94369
94753
 
94370
94754
  if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFormData(data)) {
94755
+ const getHeaders = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].getSafeProp(data, 'getHeaders');
94756
+
94371
94757
  if (
94372
94758
  _platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ||
94373
94759
  _platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserWebWorkerEnv ||
94374
94760
  _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isReactNative(data)
94375
94761
  ) {
94376
94762
  headers.setContentType(undefined); // browser/web worker/RN handles it
94377
- } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFunction(data.getHeaders)) {
94763
+ } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFunction(getHeaders)) {
94378
94764
  // Node.js FormData (like form-data package)
94379
- (0,_core_setFormDataHeaders_js__WEBPACK_IMPORTED_MODULE_8__["default"])(headers, data.getHeaders(), own('formDataHeaderPolicy'));
94765
+ (0,_core_setFormDataHeaders_js__WEBPACK_IMPORTED_MODULE_8__["default"])(headers, getHeaders.call(data), own('formDataHeaderPolicy'));
94380
94766
  }
94381
94767
  }
94382
94768
 
@@ -94611,7 +94997,7 @@ __webpack_require__.r(__webpack_exports__);
94611
94997
  * Throttle decorator
94612
94998
  * @param {Function} fn
94613
94999
  * @param {Number} freq
94614
- * @return {Function}
95000
+ * @return {Array<Function>}
94615
95001
  */
94616
95002
  function throttle(fn, freq) {
94617
95003
  let timestamp = 0;
@@ -94646,8 +95032,9 @@ function throttle(fn, freq) {
94646
95032
  };
94647
95033
 
94648
95034
  const flush = () => lastArgs && invoke(lastArgs);
95035
+ const flushWith = (...args) => invoke(args);
94649
95036
 
94650
- return [throttled, flush];
95037
+ return [throttled, flush, flushWith];
94651
95038
  }
94652
95039
 
94653
95040
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (throttle);
@@ -94768,28 +95155,18 @@ function toFormData(obj, formData, options) {
94768
95155
  // eslint-disable-next-line no-param-reassign
94769
95156
  formData = formData || new (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_2__["default"] || FormData)();
94770
95157
 
94771
- // eslint-disable-next-line no-param-reassign
94772
- options = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(
94773
- options,
94774
- {
94775
- metaTokens: true,
94776
- dots: false,
94777
- indexes: false,
94778
- },
94779
- false,
94780
- function defined(option, source) {
94781
- // eslint-disable-next-line no-eq-null,eqeqeq
94782
- return !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(source[option]);
94783
- }
94784
- );
95158
+ const option = (name, fallback) => {
95159
+ const value = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].getSafeProp(options, name);
95160
+ return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(value) ? fallback : value;
95161
+ };
94785
95162
 
94786
- const metaTokens = options.metaTokens;
95163
+ const metaTokens = option('metaTokens', true);
94787
95164
  // eslint-disable-next-line no-use-before-define
94788
- const visitor = options.visitor || defaultVisitor;
94789
- const dots = options.dots;
94790
- const indexes = options.indexes;
94791
- const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);
94792
- const maxDepth = options.maxDepth === undefined ? DEFAULT_FORM_DATA_MAX_DEPTH : options.maxDepth;
95165
+ const visitor = option('visitor') || defaultVisitor;
95166
+ const dots = option('dots', false);
95167
+ const indexes = option('indexes', false);
95168
+ const _Blob = option('Blob') || (typeof Blob !== 'undefined' && Blob);
95169
+ const maxDepth = option('maxDepth', DEFAULT_FORM_DATA_MAX_DEPTH);
94793
95170
  const useBlob = _Blob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isSpecCompliantForm(formData);
94794
95171
  const stack = [];
94795
95172
 
@@ -94819,7 +95196,10 @@ function toFormData(obj, formData, options) {
94819
95196
  if (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_2__["default"] && _platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_2__["default"].isBufferAvailable()) {
94820
95197
  return _platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_2__["default"].from(value);
94821
95198
  }
94822
- throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('Blob is not supported. Use a Buffer instead.', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_NOT_SUPPORT);
95199
+ throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"](
95200
+ 'Blob is not supported. Use a Buffer instead.',
95201
+ _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_NOT_SUPPORT
95202
+ );
94823
95203
  }
94824
95204
 
94825
95205
  return value;
@@ -95414,12 +95794,65 @@ const hasOwnProperty = (
95414
95794
  hasOwnProperty.call(obj, prop)
95415
95795
  )(Object.prototype);
95416
95796
 
95797
+ const isUnsafeObjectKey = (prop) =>
95798
+ typeof prop === 'string' &&
95799
+ (prop === '__proto__' || prop === 'constructor' || prop === 'prototype');
95800
+
95417
95801
  /**
95418
- * Walk the prototype chain (excluding the shared Object.prototype) looking for
95419
- * an own `prop`. This distinguishes genuine own/inherited members — including
95420
- * class accessors and template prototypes — from members injected via
95421
- * Object.prototype pollution (e.g. `Object.prototype.username = '...'`), which
95422
- * live on Object.prototype itself and are therefore never matched.
95802
+ * Determine whether an inherited object must be treated as a shared-prototype
95803
+ * boundary. Cross-realm Object.prototype objects cannot be distinguished
95804
+ * reliably from application-created null-prototype objects because their
95805
+ * properties are mutable, so all inherited terminal prototypes are excluded
95806
+ * as a fail-closed boundary. A null-prototype source still keeps its own
95807
+ * properties, as produced by mergeConfig and other safe materialization paths.
95808
+ *
95809
+ * @param {*} obj The object to inspect
95810
+ * @param {*} prototype The object's prototype
95811
+ * @param {boolean} source Whether obj is the original traversal source
95812
+ *
95813
+ * @returns {boolean} True when obj is a safe prototype traversal boundary
95814
+ */
95815
+ const isPrototypeBoundary = (obj, prototype, source) =>
95816
+ obj === Object.prototype || (!source && prototype === null);
95817
+
95818
+ /**
95819
+ * Determine whether an object can retain its identity through code paths that
95820
+ * add, replace, and remove config properties without bypassing unsafe-key
95821
+ * filtering. Immutable objects, unsafe-key-bearing objects, and objects with
95822
+ * accessor or restricted data properties must be materialized instead.
95823
+ *
95824
+ * @param {*} obj The object to inspect
95825
+ *
95826
+ * @returns {boolean} True when every own property is safe and fully mutable
95827
+ */
95828
+ const isSafeAndFullyMutable = (obj) => {
95829
+ if (!Object.isExtensible(obj)) {
95830
+ return false;
95831
+ }
95832
+
95833
+ const props = Object.getOwnPropertyNames(obj);
95834
+
95835
+ if (Object.getOwnPropertySymbols) {
95836
+ props.push(...Object.getOwnPropertySymbols(obj));
95837
+ }
95838
+
95839
+ return props.every((prop) => {
95840
+ if (isUnsafeObjectKey(prop)) {
95841
+ return false;
95842
+ }
95843
+
95844
+ const descriptor = Object.getOwnPropertyDescriptor(obj, prop);
95845
+
95846
+ return !!descriptor && descriptor.configurable && descriptor.writable === true;
95847
+ });
95848
+ };
95849
+
95850
+ /**
95851
+ * Walk the prototype chain (excluding the source realm's Object.prototype)
95852
+ * looking for an own `prop`. This distinguishes genuine own/inherited members
95853
+ * — including class accessors and template prototypes — from members injected
95854
+ * via Object.prototype pollution (e.g. `Object.prototype.username = '...'`),
95855
+ * which live on Object.prototype itself and are therefore never matched.
95423
95856
  *
95424
95857
  * @param {*} thing The value whose chain to inspect
95425
95858
  * @param {string|symbol} prop The property key to look for
@@ -95430,16 +95863,22 @@ const hasOwnInPrototypeChain = (thing, prop) => {
95430
95863
  let obj = thing;
95431
95864
  const seen = [];
95432
95865
 
95433
- while (obj != null && obj !== Object.prototype) {
95866
+ while (obj != null) {
95434
95867
  if (seen.indexOf(obj) !== -1) {
95435
95868
  return false;
95436
95869
  }
95437
95870
  seen.push(obj);
95438
95871
 
95872
+ const prototype = getPrototypeOf(obj);
95873
+
95874
+ if (isPrototypeBoundary(obj, prototype, obj === thing)) {
95875
+ return false;
95876
+ }
95877
+
95439
95878
  if (hasOwnProperty(obj, prop)) {
95440
95879
  return true;
95441
95880
  }
95442
- obj = getPrototypeOf(obj);
95881
+ obj = prototype;
95443
95882
  }
95444
95883
  return false;
95445
95884
  };
@@ -95458,6 +95897,69 @@ const hasOwnInPrototypeChain = (thing, prop) => {
95458
95897
  const getSafeProp = (obj, prop) =>
95459
95898
  obj != null && hasOwnInPrototypeChain(obj, prop) ? obj[prop] : undefined;
95460
95899
 
95900
+ /**
95901
+ * Flatten an object and its application-defined prototype chain into a
95902
+ * null-prototype object. Members inherited only from the source realm's
95903
+ * Object.prototype are deliberately excluded, while class/template members
95904
+ * below that boundary are preserved.
95905
+ *
95906
+ * @param {*} thing The value to flatten
95907
+ *
95908
+ * @returns {*} A null-prototype copy, or the original value when it is already
95909
+ * structurally safe or is not an object
95910
+ */
95911
+ const toSafeFlatObject = (thing) => {
95912
+ if (thing == null || (typeof thing !== 'object' && typeof thing !== 'function')) {
95913
+ return thing;
95914
+ }
95915
+
95916
+ const sourcePrototype = getPrototypeOf(thing);
95917
+
95918
+ if (sourcePrototype === null && isSafeAndFullyMutable(thing)) {
95919
+ return thing;
95920
+ }
95921
+
95922
+ const result = Object.create(null);
95923
+ const merged = Object.create(null);
95924
+ const seen = [];
95925
+ let current = thing;
95926
+
95927
+ while (current != null) {
95928
+ if (seen.indexOf(current) !== -1) {
95929
+ break;
95930
+ }
95931
+
95932
+ seen.push(current);
95933
+
95934
+ const prototype = current === thing ? sourcePrototype : getPrototypeOf(current);
95935
+
95936
+ if (isPrototypeBoundary(current, prototype, current === thing)) {
95937
+ break;
95938
+ }
95939
+
95940
+ const props = Object.getOwnPropertyNames(current);
95941
+
95942
+ if (Object.getOwnPropertySymbols) {
95943
+ props.push(...Object.getOwnPropertySymbols(current));
95944
+ }
95945
+
95946
+ for (const prop of props) {
95947
+ if (isUnsafeObjectKey(prop)) {
95948
+ continue;
95949
+ }
95950
+
95951
+ if (!hasOwnProperty(merged, prop)) {
95952
+ result[prop] = thing[prop];
95953
+ merged[prop] = true;
95954
+ }
95955
+ }
95956
+
95957
+ current = prototype;
95958
+ }
95959
+
95960
+ return result;
95961
+ };
95962
+
95461
95963
  const kindOf = ((cache) => (thing) => {
95462
95964
  const str = toString.call(thing);
95463
95965
  return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
@@ -95589,12 +96091,10 @@ const isPlainObject = (val) => {
95589
96091
 
95590
96092
  const prototype = getPrototypeOf(val);
95591
96093
  return (
95592
- (prototype === null ||
95593
- prototype === Object.prototype ||
95594
- getPrototypeOf(prototype) === null) &&
95595
- // Treat any genuine (non-Object.prototype-polluted) Symbol.toStringTag or
95596
- // Symbol.iterator as evidence the value is a tagged/iterable type rather
95597
- // than a plain object, while ignoring keys injected onto Object.prototype.
96094
+ (prototype === null || prototype === Object.prototype || getPrototypeOf(prototype) === null) &&
96095
+ // Treat safe own/inherited Symbol.toStringTag or Symbol.iterator members as
96096
+ // evidence the value is tagged/iterable, while ignoring members reachable
96097
+ // only through shared or terminal prototype boundaries.
95598
96098
  !hasOwnInPrototypeChain(val, toStringTag) &&
95599
96099
  !hasOwnInPrototypeChain(val, iterator)
95600
96100
  );
@@ -96408,6 +96908,7 @@ const isSafeIterable = (thing) =>
96408
96908
  hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection
96409
96909
  hasOwnInPrototypeChain,
96410
96910
  getSafeProp,
96911
+ toSafeFlatObject,
96411
96912
  reduceDescriptors,
96412
96913
  freezeMethods,
96413
96914
  toObjectSet,
@@ -101393,17 +101894,11 @@ __webpack_require__.r(__webpack_exports__);
101393
101894
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(84660);
101394
101895
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4823);
101395
101896
  /* harmony import */ var _speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(28839);
101396
- /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26365);
101397
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32131);
101398
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(76332);
101399
- /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(44673);
101400
- /* harmony import */ var _util_url_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(18917);
101401
- /* harmony import */ var _options_util_mjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(7778);
101402
- /* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(79920);
101403
- /* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(42424);
101404
-
101405
-
101406
-
101897
+ /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44673);
101898
+ /* harmony import */ var _util_url_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18917);
101899
+ /* harmony import */ var _options_util_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7778);
101900
+ /* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(79920);
101901
+ /* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(42424);
101407
101902
 
101408
101903
 
101409
101904
 
@@ -101426,9 +101921,9 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
101426
101921
 
101427
101922
  // set class and metadata from source description element
101428
101923
  parseResult.classes.push('source-description');
101429
- if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(sourceDescription.name)) parseResult.setMetaProperty('name', (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(sourceDescription.name));
101430
- if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(sourceDescription.type)) parseResult.setMetaProperty('type', (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(sourceDescription.type));
101431
- const sourceDescriptionURI = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(sourceDescription.url);
101924
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(sourceDescription.name)) parseResult.setMetaProperty('name', (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__["default"])(sourceDescription.name));
101925
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(sourceDescription.type)) parseResult.setMetaProperty('type', (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__["default"])(sourceDescription.type));
101926
+ const sourceDescriptionURI = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__["default"])(sourceDescription.url);
101432
101927
  if (typeof sourceDescriptionURI !== 'string') {
101433
101928
  const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"]('Source description URL is missing or not a string. Skipping');
101434
101929
  annotation.classes.push('warning');
@@ -101437,17 +101932,28 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
101437
101932
  }
101438
101933
 
101439
101934
  // normalize URI for consistent cycle detection and refSet cache key matching
101440
- const retrievalURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.stripHash(_util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.resolve(ctx.baseURI, sourceDescriptionURI)));
101935
+ const retrievalURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.stripHash(_util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.resolve(ctx.baseURI, sourceDescriptionURI)));
101441
101936
  parseResult.setMetaProperty('retrievalURI', retrievalURI);
101442
101937
 
101443
- // skip if already visited (cycle detection)
101444
- if (ctx.visitedUrls.has(retrievalURI)) {
101938
+ // skip if the document is still being dereferenced higher up the chain (cycle detection)
101939
+ if (ctx.ancestors.includes(retrievalURI)) {
101445
101940
  const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](`Source description "${retrievalURI}" has already been visited. Skipping to prevent cycle`);
101446
101941
  annotation.classes.push('warning');
101447
101942
  parseResult.push(annotation);
101448
101943
  return parseResult;
101449
101944
  }
101450
- ctx.visitedUrls.add(retrievalURI);
101945
+
101946
+ // a document reached again through a different path is a shared dependency, not a cycle;
101947
+ // point at the result where it was dereferenced instead of dereferencing it again
101948
+ const sharedDereferenceResult = ctx.dereferenced.get(retrievalURI);
101949
+ if (sharedDereferenceResult !== undefined) {
101950
+ const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](`Source description "${retrievalURI}" has already been dereferenced. Reusing existing dereference result`);
101951
+ annotation.classes.push('info');
101952
+ parseResult.push(annotation);
101953
+ parseResult.meta.set('parseResult', sharedDereferenceResult);
101954
+ (0,_util_mjs__WEBPACK_IMPORTED_MODULE_9__.validateSourceDescriptionAPI)(parseResult, sourceDescription, sharedDereferenceResult.api, retrievalURI);
101955
+ return parseResult;
101956
+ }
101451
101957
 
101452
101958
  // check if source description was already parsed (e.g., during parse phase with sourceDescriptions: true)
101453
101959
  const existingParseResult = sourceDescription.meta.get('parseResult');
@@ -101455,7 +101961,7 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
101455
101961
  let sourceDescriptionDereferenced;
101456
101962
  if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isParseResultElement)(existingParseResult)) {
101457
101963
  // use existing parsed result - just dereference it (no re-fetch/re-parse)
101458
- sourceDescriptionDereferenced = await (0,_index_mjs__WEBPACK_IMPORTED_MODULE_11__.dereferenceApiDOM)(existingParseResult, (0,_options_util_mjs__WEBPACK_IMPORTED_MODULE_10__.merge)(ctx.options, {
101964
+ sourceDescriptionDereferenced = await (0,_index_mjs__WEBPACK_IMPORTED_MODULE_8__.dereferenceApiDOM)(existingParseResult, (0,_options_util_mjs__WEBPACK_IMPORTED_MODULE_7__.merge)(ctx.options, {
101459
101965
  parse: {
101460
101966
  mediaType: 'text/plain' // allow dereference strategy detection via ApiDOM inspection
101461
101967
  },
@@ -101470,14 +101976,15 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
101470
101976
  [ctx.strategyName]: {
101471
101977
  sourceDescriptions: true,
101472
101978
  sourceDescriptionsDepth: ctx.currentDepth + 1,
101473
- sourceDescriptionsVisitedUrls: ctx.visitedUrls
101979
+ sourceDescriptionsAncestors: ctx.ancestors,
101980
+ sourceDescriptionsDereferenced: ctx.dereferenced
101474
101981
  }
101475
101982
  }
101476
101983
  }
101477
101984
  }));
101478
101985
  } else {
101479
101986
  // no existing parse result - fetch, parse, and dereference
101480
- sourceDescriptionDereferenced = await (0,_index_mjs__WEBPACK_IMPORTED_MODULE_11__["default"])(retrievalURI, (0,_options_util_mjs__WEBPACK_IMPORTED_MODULE_10__.merge)(ctx.options, {
101987
+ sourceDescriptionDereferenced = await (0,_index_mjs__WEBPACK_IMPORTED_MODULE_8__["default"])(retrievalURI, (0,_options_util_mjs__WEBPACK_IMPORTED_MODULE_7__.merge)(ctx.options, {
101481
101988
  parse: {
101482
101989
  mediaType: 'text/plain' // allow parser plugin detection
101483
101990
  },
@@ -101489,7 +101996,8 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
101489
101996
  [ctx.strategyName]: {
101490
101997
  sourceDescriptions: true,
101491
101998
  sourceDescriptionsDepth: ctx.currentDepth + 1,
101492
- sourceDescriptionsVisitedUrls: ctx.visitedUrls
101999
+ sourceDescriptionsAncestors: ctx.ancestors,
102000
+ sourceDescriptionsDereferenced: ctx.dereferenced
101493
102001
  }
101494
102002
  }
101495
102003
  }
@@ -101509,32 +102017,14 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
101509
102017
  return parseResult;
101510
102018
  }
101511
102019
 
101512
- // only allow OpenAPI and Arazzo as source descriptions
102020
+ // register dereferenced document for later references to it
101513
102021
  const {
101514
102022
  api: sourceDescriptionAPI
101515
102023
  } = parseResult;
101516
- const isOpenApi = (0,_speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_5__.isSwaggerElement)(sourceDescriptionAPI) || (0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_6__.isOpenApi3_0Element)(sourceDescriptionAPI) || (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_7__.isOpenApi3_1Element)(sourceDescriptionAPI);
101517
- const isArazzo = (0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_4__.isArazzoSpecification1Element)(sourceDescriptionAPI);
101518
- if (!isOpenApi && !isArazzo) {
101519
- const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](`Source description "${retrievalURI}" is not an OpenAPI or Arazzo document`);
101520
- annotation.classes.push('warning');
101521
- parseResult.push(annotation);
101522
- return parseResult;
101523
- }
101524
-
101525
- // validate declared type matches actual dereferenced type
101526
- const declaredType = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(sourceDescription.type);
101527
- if (typeof declaredType === 'string') {
101528
- if (declaredType === 'openapi' && !isOpenApi) {
101529
- const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](`Source description "${retrievalURI}" declared as "openapi" but dereferenced as Arazzo document`);
101530
- annotation.classes.push('warning');
101531
- parseResult.push(annotation);
101532
- } else if (declaredType === 'arazzo' && !isArazzo) {
101533
- const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](`Source description "${retrievalURI}" declared as "arazzo" but dereferenced as OpenAPI document`);
101534
- annotation.classes.push('warning');
101535
- parseResult.push(annotation);
101536
- }
102024
+ for (const documentURI of (0,_util_mjs__WEBPACK_IMPORTED_MODULE_9__.arazzoDocumentURIs)(retrievalURI, sourceDescriptionAPI)) {
102025
+ ctx.dereferenced.set(documentURI, parseResult);
101537
102026
  }
102027
+ ;(0,_util_mjs__WEBPACK_IMPORTED_MODULE_9__.validateSourceDescriptionAPI)(parseResult, sourceDescription, sourceDescriptionAPI, retrievalURI);
101538
102028
  return parseResult;
101539
102029
  }
101540
102030
 
@@ -101546,6 +102036,13 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
101546
102036
  * regardless of success or failure. On failure, the ParseResultElement
101547
102037
  * contains annotations explaining what went wrong.
101548
102038
  *
102039
+ * A document referenced from more than one place is dereferenced only once.
102040
+ * Every later source description referencing it gets its own result carrying
102041
+ * an 'info' annotation and a 'parseResult' meta pointing at the result where
102042
+ * the document was dereferenced; that result is also what gets attached to the
102043
+ * SourceDescriptionElement's meta. A document referencing one of its ancestors
102044
+ * forms a cycle and is skipped with a 'warning' annotation instead.
102045
+ *
101549
102046
  * @param parseResult - ParseResult containing a parsed (optionally dereferenced) Arazzo specification
101550
102047
  * @param parseResultRetrievalURI - URI from which the parseResult was retrieved
101551
102048
  * @param options - Full ReferenceOptions. Pass `sourceDescriptions` as an array of names
@@ -101580,7 +102077,7 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
101580
102077
  * @public
101581
102078
  */
101582
102079
  async function dereferenceSourceDescriptions(parseResult, parseResultRetrievalURI, options, strategyName = 'arazzo-1') {
101583
- const retrievalURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.stripHash(parseResultRetrievalURI));
102080
+ const retrievalURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.stripHash(parseResultRetrievalURI));
101584
102081
  const results = [];
101585
102082
 
101586
102083
  // get API from dereferenced parse result
@@ -101609,14 +102106,9 @@ async function dereferenceSourceDescriptions(parseResult, parseResultRetrievalUR
101609
102106
  // recursion state comes from strategy-specific options
101610
102107
  const sharedOpts = options?.dereference?.strategyOpts?.[strategyName] ?? {};
101611
102108
  const currentDepth = sharedOpts.sourceDescriptionsDepth ?? 0;
101612
- const visitedUrls = sharedOpts.sourceDescriptionsVisitedUrls ?? new Set();
101613
-
101614
- // base URI for resolving source description URLs honors Arazzo `$self` field
101615
- const baseURI = (0,_util_mjs__WEBPACK_IMPORTED_MODULE_12__.resolveArazzo$selfField)(retrievalURI, api);
101616
-
101617
- // add current file to visited URLs to prevent cycles (by retrieval URI and by identity)
101618
- visitedUrls.add(retrievalURI);
101619
- visitedUrls.add(baseURI);
102109
+ const dereferenced = sharedOpts.sourceDescriptionsDereferenced ?? new Map();
102110
+ // current file is an ancestor of everything dereferenced below
102111
+ const ancestors = [...(sharedOpts.sourceDescriptionsAncestors ?? []), ...(0,_util_mjs__WEBPACK_IMPORTED_MODULE_9__.arazzoDocumentURIs)(retrievalURI, api)];
101620
102112
  if (currentDepth >= maxDepth) {
101621
102113
  const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](`Maximum dereference depth of ${maxDepth} has been exceeded by file "${retrievalURI}"`);
101622
102114
  annotation.classes.push('error');
@@ -101625,26 +102117,29 @@ async function dereferenceSourceDescriptions(parseResult, parseResultRetrievalUR
101625
102117
  return [parseResult];
101626
102118
  }
101627
102119
  const ctx = {
101628
- baseURI,
102120
+ // base URI for resolving source description URLs honors Arazzo `$self` field
102121
+ baseURI: (0,_util_mjs__WEBPACK_IMPORTED_MODULE_9__.resolveArazzo$selfField)(retrievalURI, api),
101629
102122
  options,
101630
102123
  strategyName,
101631
102124
  currentDepth,
101632
- visitedUrls
102125
+ ancestors,
102126
+ dereferenced
101633
102127
  };
101634
102128
 
101635
102129
  // determine which source descriptions to dereference (array filters by name)
101636
102130
  const sourceDescriptionsOption = options?.dereference?.strategyOpts?.[strategyName]?.sourceDescriptions ?? options?.dereference?.strategyOpts?.sourceDescriptions;
101637
102131
  const sourceDescriptions = Array.isArray(sourceDescriptionsOption) ? api.sourceDescriptions.filter(sd => {
101638
102132
  if (!(0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_4__.isSourceDescriptionElement)(sd)) return false;
101639
- const name = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(sd.name);
102133
+ const name = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__["default"])(sd.name);
101640
102134
  return typeof name === 'string' && sourceDescriptionsOption.includes(name);
101641
102135
  }) : api.sourceDescriptions;
101642
102136
 
101643
- // process sequentially to ensure proper cycle detection with shared visitedUrls
102137
+ // process sequentially to ensure proper cycle detection with shared state
101644
102138
  for (const sourceDescription of sourceDescriptions) {
101645
102139
  const sourceDescriptionDereferenceResult = await dereferenceSourceDescription(sourceDescription, ctx);
101646
- // always attach result (even on failure - contains annotations)
101647
- sourceDescription.meta.set('parseResult', sourceDescriptionDereferenceResult);
102140
+ // always attach result (even on failure - contains annotations);
102141
+ // a shared document attaches the result where it was dereferenced
102142
+ sourceDescription.meta.set('parseResult', sourceDescriptionDereferenceResult.meta.get('parseResult') ?? sourceDescriptionDereferenceResult);
101648
102143
  results.push(sourceDescriptionDereferenceResult);
101649
102144
  }
101650
102145
  return results;
@@ -101658,15 +102153,22 @@ async function dereferenceSourceDescriptions(parseResult, parseResultRetrievalUR
101658
102153
  "use strict";
101659
102154
  __webpack_require__.r(__webpack_exports__);
101660
102155
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
101661
- /* harmony export */ resolveSchema$idField: () => (/* reexport safe */ _openapi_3_1_util_mjs__WEBPACK_IMPORTED_MODULE_5__.resolveSchema$idField),
101662
- /* harmony export */ resolveSchema$refField: () => (/* reexport safe */ _openapi_3_1_util_mjs__WEBPACK_IMPORTED_MODULE_5__.resolveSchema$refField)
102156
+ /* harmony export */ resolveSchema$idField: () => (/* reexport safe */ _openapi_3_1_util_mjs__WEBPACK_IMPORTED_MODULE_9__.resolveSchema$idField),
102157
+ /* harmony export */ resolveSchema$refField: () => (/* reexport safe */ _openapi_3_1_util_mjs__WEBPACK_IMPORTED_MODULE_9__.resolveSchema$refField)
101663
102158
  /* harmony export */ });
101664
102159
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25162);
101665
- /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44673);
101666
- /* harmony import */ var _speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7392);
101667
- /* harmony import */ var _speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(28839);
101668
- /* harmony import */ var _util_url_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18917);
101669
- /* harmony import */ var _openapi_3_1_util_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29587);
102160
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84660);
102161
+ /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44673);
102162
+ /* harmony import */ var _speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7392);
102163
+ /* harmony import */ var _speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(28839);
102164
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26365);
102165
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32131);
102166
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(76332);
102167
+ /* harmony import */ var _util_url_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(18917);
102168
+ /* harmony import */ var _openapi_3_1_util_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(29587);
102169
+
102170
+
102171
+
101670
102172
 
101671
102173
 
101672
102174
 
@@ -101684,14 +102186,53 @@ __webpack_require__.r(__webpack_exports__);
101684
102186
  * @public
101685
102187
  */
101686
102188
  const resolveArazzo$selfField = (retrievalURI, element) => {
101687
- if (!(0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_3__.isArazzoSpecification1Element)(element)) {
102189
+ if (!(0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_4__.isArazzoSpecification1Element)(element)) {
101688
102190
  return retrievalURI;
101689
102191
  }
101690
- const $self = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(element.$self);
102192
+ const $self = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_2__["default"])(element.$self);
101691
102193
  if (typeof $self !== 'string' || $self === '') {
101692
102194
  return retrievalURI;
101693
102195
  }
101694
- return _util_url_mjs__WEBPACK_IMPORTED_MODULE_4__.resolve(retrievalURI, _util_url_mjs__WEBPACK_IMPORTED_MODULE_4__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_4__.stripHash($self)));
102196
+ return _util_url_mjs__WEBPACK_IMPORTED_MODULE_8__.resolve(retrievalURI, _util_url_mjs__WEBPACK_IMPORTED_MODULE_8__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_8__.stripHash($self)));
102197
+ };
102198
+
102199
+ /**
102200
+ * URIs an Arazzo document is known by: its retrieval URI and, when the
102201
+ * document carries a `$self` field resolving elsewhere, its identity.
102202
+ */
102203
+ const arazzoDocumentURIs = (retrievalURI, element) => {
102204
+ const identity = resolveArazzo$selfField(retrievalURI, element);
102205
+ return identity === retrievalURI ? [retrievalURI] : [retrievalURI, identity];
102206
+ };
102207
+
102208
+ /**
102209
+ * Annotates a source description result when the document is not an OpenAPI
102210
+ * or Arazzo document, or does not match the type the source description declares.
102211
+ */
102212
+ const validateSourceDescriptionAPI = (parseResult, sourceDescription, sourceDescriptionAPI, retrievalURI) => {
102213
+ // only allow OpenAPI and Arazzo as source descriptions
102214
+ const isOpenApi = (0,_speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_5__.isSwaggerElement)(sourceDescriptionAPI) || (0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_6__.isOpenApi3_0Element)(sourceDescriptionAPI) || (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_7__.isOpenApi3_1Element)(sourceDescriptionAPI);
102215
+ const isArazzo = (0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_4__.isArazzoSpecification1Element)(sourceDescriptionAPI);
102216
+ if (!isOpenApi && !isArazzo) {
102217
+ const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"](`Source description "${retrievalURI}" is not an OpenAPI or Arazzo document`);
102218
+ annotation.classes.push('warning');
102219
+ parseResult.push(annotation);
102220
+ return;
102221
+ }
102222
+
102223
+ // validate declared type matches actual type
102224
+ const declaredType = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_2__["default"])(sourceDescription.type);
102225
+ if (typeof declaredType === 'string') {
102226
+ if (declaredType === 'openapi' && !isOpenApi) {
102227
+ const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"](`Source description "${retrievalURI}" declared as "openapi" but is an Arazzo document`);
102228
+ annotation.classes.push('warning');
102229
+ parseResult.push(annotation);
102230
+ } else if (declaredType === 'arazzo' && !isArazzo) {
102231
+ const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"](`Source description "${retrievalURI}" declared as "arazzo" but is an OpenAPI document`);
102232
+ annotation.classes.push('warning');
102233
+ parseResult.push(annotation);
102234
+ }
102235
+ }
101695
102236
  };
101696
102237
 
101697
102238
  /**
@@ -101704,7 +102245,7 @@ const resolveArazzo$selfField = (retrievalURI, element) => {
101704
102245
  */
101705
102246
  const identifiedBy$self = uri => reference => {
101706
102247
  const result = reference.value?.result;
101707
- return (0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_3__.isArazzoSpecification1Element)(result) && resolveArazzo$selfField(reference.uri, result) === uri;
102248
+ return (0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_4__.isArazzoSpecification1Element)(result) && resolveArazzo$selfField(reference.uri, result) === uri;
101708
102249
  };
101709
102250
 
101710
102251
  /**
@@ -101714,7 +102255,7 @@ const refractToJSONSchemaElement = element => {
101714
102255
  if (refractToJSONSchemaElement.cache.has(element)) {
101715
102256
  return refractToJSONSchemaElement.cache.get(element);
101716
102257
  }
101717
- const refracted = (0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_2__.refractJSONSchema)(element);
102258
+ const refracted = (0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_3__.refractJSONSchema)(element);
101718
102259
  refractToJSONSchemaElement.cache.set(element, refracted);
101719
102260
  return refracted;
101720
102261
  };
@@ -101734,10 +102275,12 @@ const maybeRefractToJSONSchemaElement = element => {
101734
102275
  return element;
101735
102276
  };
101736
102277
  /* harmony export */ __webpack_require__.d(__webpack_exports__, [
102278
+ /* harmony export */ "arazzoDocumentURIs", 0, /* binding */ arazzoDocumentURIs,
101737
102279
  /* harmony export */ "identifiedBy$self", 0, /* binding */ identifiedBy$self,
101738
102280
  /* harmony export */ "maybeRefractToJSONSchemaElement", 0, /* binding */ maybeRefractToJSONSchemaElement,
101739
102281
  /* harmony export */ "refractToJSONSchemaElement", 0, /* binding */ refractToJSONSchemaElement,
101740
- /* harmony export */ "resolveArazzo$selfField", 0, /* binding */ resolveArazzo$selfField
102282
+ /* harmony export */ "resolveArazzo$selfField", 0, /* binding */ resolveArazzo$selfField,
102283
+ /* harmony export */ "validateSourceDescriptionAPI", 0, /* binding */ validateSourceDescriptionAPI
101741
102284
  /* harmony export */ ]);
101742
102285
 
101743
102286
 
@@ -107348,18 +107891,12 @@ __webpack_require__.r(__webpack_exports__);
107348
107891
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84660);
107349
107892
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4823);
107350
107893
  /* harmony import */ var _speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(28839);
107351
- /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26365);
107352
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(32131);
107353
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(76332);
107354
- /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(44673);
107355
- /* harmony import */ var _File_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(29217);
107356
- /* harmony import */ var _util_url_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(18917);
107357
- /* harmony import */ var _options_util_mjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(7778);
107358
- /* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(85533);
107359
- /* harmony import */ var _dereference_strategies_arazzo_1_util_mjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(42424);
107360
-
107361
-
107362
-
107894
+ /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44673);
107895
+ /* harmony import */ var _File_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29217);
107896
+ /* harmony import */ var _util_url_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18917);
107897
+ /* harmony import */ var _options_util_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7778);
107898
+ /* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(85533);
107899
+ /* harmony import */ var _dereference_strategies_arazzo_1_util_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(42424);
107363
107900
 
107364
107901
 
107365
107902
 
@@ -107384,9 +107921,9 @@ async function parseSourceDescription(sourceDescription, ctx) {
107384
107921
 
107385
107922
  // set class and metadata from source description element
107386
107923
  parseResult.classes.push('source-description');
107387
- if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(sourceDescription.name)) parseResult.setMetaProperty('name', (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(sourceDescription.name));
107388
- if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(sourceDescription.type)) parseResult.setMetaProperty('type', (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(sourceDescription.type));
107389
- const sourceDescriptionURI = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(sourceDescription.url);
107924
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(sourceDescription.name)) parseResult.setMetaProperty('name', (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_4__["default"])(sourceDescription.name));
107925
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(sourceDescription.type)) parseResult.setMetaProperty('type', (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_4__["default"])(sourceDescription.type));
107926
+ const sourceDescriptionURI = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_4__["default"])(sourceDescription.url);
107390
107927
  if (typeof sourceDescriptionURI !== 'string') {
107391
107928
  const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"]('Source description URL is missing or not a string. Skipping');
107392
107929
  annotation.classes.push('warning');
@@ -107395,19 +107932,30 @@ async function parseSourceDescription(sourceDescription, ctx) {
107395
107932
  }
107396
107933
 
107397
107934
  // normalize URI for consistent cycle detection and cache key matching
107398
- const retrievalURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.stripHash(_util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.resolve(ctx.baseURI, sourceDescriptionURI)));
107935
+ const retrievalURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.stripHash(_util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.resolve(ctx.baseURI, sourceDescriptionURI)));
107399
107936
  parseResult.setMetaProperty('retrievalURI', retrievalURI);
107400
107937
 
107401
- // skip if already visited (cycle detection)
107402
- if (ctx.visitedUrls.has(retrievalURI)) {
107938
+ // skip if the document is still being parsed higher up the chain (cycle detection)
107939
+ if (ctx.ancestors.includes(retrievalURI)) {
107403
107940
  const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"](`Source description "${retrievalURI}" has already been visited. Skipping to prevent cycle`);
107404
107941
  annotation.classes.push('warning');
107405
107942
  parseResult.push(annotation);
107406
107943
  return parseResult;
107407
107944
  }
107408
- ctx.visitedUrls.add(retrievalURI);
107945
+
107946
+ // a document reached again through a different path is a shared dependency, not a cycle;
107947
+ // point at the result where it was parsed instead of parsing it again
107948
+ const sharedParseResult = ctx.parsed.get(retrievalURI);
107949
+ if (sharedParseResult !== undefined) {
107950
+ const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"](`Source description "${retrievalURI}" has already been parsed. Reusing existing parse result`);
107951
+ annotation.classes.push('info');
107952
+ parseResult.push(annotation);
107953
+ parseResult.meta.set('parseResult', sharedParseResult);
107954
+ (0,_dereference_strategies_arazzo_1_util_mjs__WEBPACK_IMPORTED_MODULE_9__.validateSourceDescriptionAPI)(parseResult, sourceDescription, sharedParseResult.api, retrievalURI);
107955
+ return parseResult;
107956
+ }
107409
107957
  try {
107410
- const sourceDescriptionParseResult = await (0,_index_mjs__WEBPACK_IMPORTED_MODULE_11__["default"])(retrievalURI, (0,_options_util_mjs__WEBPACK_IMPORTED_MODULE_10__.merge)(ctx.options, {
107958
+ const sourceDescriptionParseResult = await (0,_index_mjs__WEBPACK_IMPORTED_MODULE_8__["default"])(retrievalURI, (0,_options_util_mjs__WEBPACK_IMPORTED_MODULE_7__.merge)(ctx.options, {
107411
107959
  parse: {
107412
107960
  mediaType: 'text/plain',
107413
107961
  // allow parser plugin detection
@@ -107417,7 +107965,8 @@ async function parseSourceDescription(sourceDescription, ctx) {
107417
107965
  sourceDescriptions: true,
107418
107966
  [ARAZZO_RECURSION_KEY]: {
107419
107967
  sourceDescriptionsDepth: ctx.currentDepth + 1,
107420
- sourceDescriptionsVisitedUrls: ctx.visitedUrls
107968
+ sourceDescriptionsAncestors: ctx.ancestors,
107969
+ sourceDescriptionsParsed: ctx.parsed
107421
107970
  }
107422
107971
  }
107423
107972
  }
@@ -107435,32 +107984,14 @@ async function parseSourceDescription(sourceDescription, ctx) {
107435
107984
  return parseResult;
107436
107985
  }
107437
107986
 
107438
- // only allow OpenAPI and Arazzo as source descriptions
107987
+ // register parsed document for later references to it
107439
107988
  const {
107440
107989
  api: sourceDescriptionAPI
107441
107990
  } = parseResult;
107442
- const isOpenApi = (0,_speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_4__.isSwaggerElement)(sourceDescriptionAPI) || (0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_5__.isOpenApi3_0Element)(sourceDescriptionAPI) || (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_6__.isOpenApi3_1Element)(sourceDescriptionAPI);
107443
- const isArazzo = (0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_3__.isArazzoSpecification1Element)(sourceDescriptionAPI);
107444
- if (!isOpenApi && !isArazzo) {
107445
- const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"](`Source description "${retrievalURI}" is not an OpenAPI or Arazzo document`);
107446
- annotation.classes.push('warning');
107447
- parseResult.push(annotation);
107448
- return parseResult;
107449
- }
107450
-
107451
- // validate declared type matches actual parsed type
107452
- const declaredType = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(sourceDescription.type);
107453
- if (typeof declaredType === 'string') {
107454
- if (declaredType === 'openapi' && !isOpenApi) {
107455
- const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"](`Source description "${retrievalURI}" declared as "openapi" but parsed as Arazzo document`);
107456
- annotation.classes.push('warning');
107457
- parseResult.push(annotation);
107458
- } else if (declaredType === 'arazzo' && !isArazzo) {
107459
- const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"](`Source description "${retrievalURI}" declared as "arazzo" but parsed as OpenAPI document`);
107460
- annotation.classes.push('warning');
107461
- parseResult.push(annotation);
107462
- }
107991
+ for (const documentURI of (0,_dereference_strategies_arazzo_1_util_mjs__WEBPACK_IMPORTED_MODULE_9__.arazzoDocumentURIs)(retrievalURI, sourceDescriptionAPI)) {
107992
+ ctx.parsed.set(documentURI, parseResult);
107463
107993
  }
107994
+ ;(0,_dereference_strategies_arazzo_1_util_mjs__WEBPACK_IMPORTED_MODULE_9__.validateSourceDescriptionAPI)(parseResult, sourceDescription, sourceDescriptionAPI, retrievalURI);
107464
107995
  return parseResult;
107465
107996
  }
107466
107997
 
@@ -107472,6 +108003,13 @@ async function parseSourceDescription(sourceDescription, ctx) {
107472
108003
  * regardless of success or failure. On failure, the ParseResultElement
107473
108004
  * contains annotations explaining what went wrong.
107474
108005
  *
108006
+ * A document referenced from more than one place is parsed only once.
108007
+ * Every later source description referencing it gets its own result carrying
108008
+ * an 'info' annotation and a 'parseResult' meta pointing at the result where
108009
+ * the document was parsed; that result is also what gets attached to the
108010
+ * SourceDescriptionElement's meta. A document referencing one of its ancestors
108011
+ * forms a cycle and is skipped with a 'warning' annotation instead.
108012
+ *
107475
108013
  * @param parseResult - ParseResult containing an Arazzo specification
107476
108014
  * @param parseResultRetrievalURI - URI from which the parseResult was retrieved
107477
108015
  * @param options - Full ReferenceOptions. Pass `sourceDescriptions` as an array of names
@@ -107511,8 +108049,8 @@ async function parseSourceDescriptions(parseResult, parseResultRetrievalURI, opt
107511
108049
  const {
107512
108050
  api
107513
108051
  } = parseResult;
107514
- const file = new _File_mjs__WEBPACK_IMPORTED_MODULE_8__["default"]({
107515
- uri: _util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_9__.stripHash(parseResultRetrievalURI))
108052
+ const file = new _File_mjs__WEBPACK_IMPORTED_MODULE_5__["default"]({
108053
+ uri: _util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_6__.stripHash(parseResultRetrievalURI))
107516
108054
  });
107517
108055
  const results = [];
107518
108056
 
@@ -107537,14 +108075,9 @@ async function parseSourceDescriptions(parseResult, parseResultRetrievalURI, opt
107537
108075
  // recursion state comes from shared key (works across JSON/YAML)
107538
108076
  const sharedOpts = options?.parse?.parserOpts?.[ARAZZO_RECURSION_KEY] ?? {};
107539
108077
  const currentDepth = sharedOpts.sourceDescriptionsDepth ?? 0;
107540
- const visitedUrls = sharedOpts.sourceDescriptionsVisitedUrls ?? new Set();
107541
-
107542
- // base URI for resolving source description URLs honors Arazzo `$self` field
107543
- const baseURI = (0,_dereference_strategies_arazzo_1_util_mjs__WEBPACK_IMPORTED_MODULE_12__.resolveArazzo$selfField)(file.uri, api);
107544
-
107545
- // add current file to visited URLs to prevent cycles (by retrieval URI and by identity)
107546
- visitedUrls.add(file.uri);
107547
- visitedUrls.add(baseURI);
108078
+ const parsed = sharedOpts.sourceDescriptionsParsed ?? new Map();
108079
+ // current file is an ancestor of everything parsed below
108080
+ const ancestors = [...(sharedOpts.sourceDescriptionsAncestors ?? []), ...(0,_dereference_strategies_arazzo_1_util_mjs__WEBPACK_IMPORTED_MODULE_9__.arazzoDocumentURIs)(file.uri, api)];
107548
108081
  if (currentDepth >= maxDepth) {
107549
108082
  const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"](`Maximum parse depth of ${maxDepth} has been exceeded by file "${file.uri}"`);
107550
108083
  annotation.classes.push('error');
@@ -107553,25 +108086,28 @@ async function parseSourceDescriptions(parseResult, parseResultRetrievalURI, opt
107553
108086
  return [parseResult];
107554
108087
  }
107555
108088
  const ctx = {
107556
- baseURI,
108089
+ // base URI for resolving source description URLs honors Arazzo `$self` field
108090
+ baseURI: (0,_dereference_strategies_arazzo_1_util_mjs__WEBPACK_IMPORTED_MODULE_9__.resolveArazzo$selfField)(file.uri, api),
107557
108091
  options,
107558
108092
  currentDepth,
107559
- visitedUrls
108093
+ ancestors,
108094
+ parsed
107560
108095
  };
107561
108096
 
107562
108097
  // determine which source descriptions to parse (array filters by name)
107563
108098
  const sourceDescriptionsOption = options?.parse?.parserOpts?.[parserName]?.sourceDescriptions ?? options?.parse?.parserOpts?.sourceDescriptions;
107564
108099
  const sourceDescriptions = Array.isArray(sourceDescriptionsOption) ? api.sourceDescriptions.filter(sd => {
107565
108100
  if (!(0,_speclynx_apidom_ns_arazzo_1__WEBPACK_IMPORTED_MODULE_3__.isSourceDescriptionElement)(sd)) return false;
107566
- const name = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(sd.name);
108101
+ const name = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_4__["default"])(sd.name);
107567
108102
  return typeof name === 'string' && sourceDescriptionsOption.includes(name);
107568
108103
  }) : api.sourceDescriptions;
107569
108104
 
107570
- // process sequentially to ensure proper cycle detection with shared visitedUrls
108105
+ // process sequentially to ensure proper cycle detection with shared state
107571
108106
  for (const sourceDescription of sourceDescriptions) {
107572
108107
  const sourceDescriptionParseResult = await parseSourceDescription(sourceDescription, ctx);
107573
- // always attach result (even on failure - contains annotations)
107574
- sourceDescription.meta.set('parseResult', sourceDescriptionParseResult);
108108
+ // always attach result (even on failure - contains annotations);
108109
+ // a shared document attaches the result where it was parsed
108110
+ sourceDescription.meta.set('parseResult', sourceDescriptionParseResult.meta.get('parseResult') ?? sourceDescriptionParseResult);
107575
108111
  results.push(sourceDescriptionParseResult);
107576
108112
  }
107577
108113
  return results;
@@ -111362,13 +111898,10 @@ function createPathProxy(originalPath, currentNode) {
111362
111898
  /******/ return module.exports;
111363
111899
  /******/ }
111364
111900
  /******/
111365
- /******/ // expose the modules object (__webpack_modules__)
111366
- /******/ __webpack_require__.m = __webpack_modules__;
111367
- /******/
111368
111901
  /************************************************************************/
111369
111902
  /******/ /* webpack/runtime/create fake namespace object */
111370
111903
  /******/ (() => {
111371
- /******/ const getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
111904
+ /******/ const getProto = Object.getPrototypeOf;
111372
111905
  /******/ let leafPrototypes;
111373
111906
  /******/ // create a fake namespace object
111374
111907
  /******/ // mode & 1: value is a module id, require it
@@ -111397,70 +111930,50 @@ function createPathProxy(originalPath, currentNode) {
111397
111930
  /******/ })();
111398
111931
  /******/
111399
111932
  /******/ /* webpack/runtime/define property getters */
111400
- /******/ (() => {
111401
- /******/ // define getter/value functions for harmony exports
111402
- /******/ __webpack_require__.d = (exports, definition) => {
111403
- /******/ if(Array.isArray(definition)) {
111404
- /******/ var i = 0;
111405
- /******/ while(i < definition.length) {
111406
- /******/ var key = definition[i++];
111407
- /******/ var binding = definition[i++];
111408
- /******/ if(!__webpack_require__.o(exports, key)) {
111409
- /******/ if(binding === 0) {
111410
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
111411
- /******/ } else {
111412
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
111413
- /******/ }
111414
- /******/ } else if(binding === 0) { i++; }
111415
- /******/ }
111416
- /******/ } else {
111417
- /******/ for(var key in definition) {
111418
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
111419
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
111420
- /******/ }
111933
+ /******/ // define getter/value functions for harmony exports
111934
+ /******/ __webpack_require__.d = (exports, definition) => {
111935
+ /******/ if(Array.isArray(definition)) {
111936
+ /******/ var i = 0;
111937
+ /******/ while(i < definition.length) {
111938
+ /******/ var key = definition[i++];
111939
+ /******/ var binding = definition[i++];
111940
+ /******/ var descriptor = binding === 0 ? { enumerable: true, value: definition[i++] } : { enumerable: true, get: binding };
111941
+ /******/ if(!__webpack_require__.o(exports, key)) Object.defineProperty(exports, key, descriptor);
111942
+ /******/ }
111943
+ /******/ } else {
111944
+ /******/ for(var key in definition) {
111945
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
111946
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
111421
111947
  /******/ }
111422
111948
  /******/ }
111423
- /******/ };
111424
- /******/ })();
111949
+ /******/ }
111950
+ /******/ };
111425
111951
  /******/
111426
111952
  /******/ /* webpack/runtime/global */
111427
- /******/ (() => {
111428
- /******/ __webpack_require__.g = (function() {
111429
- /******/ if (typeof globalThis === 'object') return globalThis;
111430
- /******/ try {
111431
- /******/ return this || new Function('return this')();
111432
- /******/ } catch (e) {
111433
- /******/ if (typeof window === 'object') return window;
111434
- /******/ }
111435
- /******/ })();
111953
+ /******/ __webpack_require__.g = (function() {
111954
+ /******/ if (typeof globalThis === 'object') return globalThis;
111955
+ /******/ try {
111956
+ /******/ return this || new Function('return this')();
111957
+ /******/ } catch (e) {
111958
+ /******/ if (typeof window === 'object') return window;
111959
+ /******/ }
111436
111960
  /******/ })();
111437
111961
  /******/
111438
111962
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
111439
- /******/ (() => {
111440
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
111441
- /******/ })();
111963
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
111442
111964
  /******/
111443
111965
  /******/ /* webpack/runtime/make namespace object */
111444
- /******/ (() => {
111445
- /******/ // define __esModule on exports
111446
- /******/ __webpack_require__.r = (exports) => {
111447
- /******/ if(Symbol.toStringTag) {
111448
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
111449
- /******/ }
111450
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
111451
- /******/ };
111452
- /******/ })();
111966
+ /******/ // define __esModule on exports
111967
+ /******/ __webpack_require__.r = (exports) => {
111968
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
111969
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
111970
+ /******/ };
111453
111971
  /******/
111454
111972
  /******/ /* webpack/runtime/jsonp chunk loading */
111455
111973
  /******/ (() => {
111456
111974
  /******/ __webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;
111457
111975
  /******/
111458
- /******/ // object to store loaded and loading chunks
111459
- /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
111460
- /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
111461
- /******/ const installedChunks = {
111462
- /******/ 792: 0
111463
- /******/ };
111976
+ /******/ // no installed chunks
111464
111977
  /******/
111465
111978
  /******/ // no chunk on demand loading
111466
111979
  /******/