@api-client/core 0.5.10 → 0.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/build/browser.d.ts +2 -0
  2. package/build/browser.js +2 -0
  3. package/build/browser.js.map +1 -1
  4. package/build/index.d.ts +2 -0
  5. package/build/index.js +2 -0
  6. package/build/index.js.map +1 -1
  7. package/build/src/lib/calculators/DataCalculator.d.ts +3 -3
  8. package/build/src/lib/calculators/DataCalculator.js +3 -3
  9. package/build/src/lib/calculators/DataCalculator.js.map +1 -1
  10. package/build/src/lib/events/Utils.d.ts +1 -0
  11. package/build/src/lib/events/Utils.js +6 -0
  12. package/build/src/lib/events/Utils.js.map +1 -0
  13. package/build/src/lib/parsers/UriTemplate.d.ts +94 -0
  14. package/build/src/lib/parsers/UriTemplate.js +419 -0
  15. package/build/src/lib/parsers/UriTemplate.js.map +1 -0
  16. package/build/src/lib/parsers/UrlEncoder.d.ts +5 -0
  17. package/build/src/lib/parsers/UrlEncoder.js +49 -0
  18. package/build/src/lib/parsers/UrlEncoder.js.map +1 -1
  19. package/build/src/models/HttpProject.d.ts +4 -1
  20. package/build/src/models/HttpProject.js +9 -6
  21. package/build/src/models/HttpProject.js.map +1 -1
  22. package/build/src/models/ProjectParent.d.ts +9 -0
  23. package/build/src/models/ProjectParent.js +25 -0
  24. package/build/src/models/ProjectParent.js.map +1 -1
  25. package/build/src/models/Property.d.ts +8 -0
  26. package/build/src/models/Property.js +17 -0
  27. package/build/src/models/Property.js.map +1 -1
  28. package/build/src/models/Server.d.ts +14 -1
  29. package/build/src/models/Server.js +31 -1
  30. package/build/src/models/Server.js.map +1 -1
  31. package/build/src/runtime/actions/runnable/DeleteCookieRunnable.d.ts +1 -1
  32. package/build/src/runtime/actions/runnable/SetCookieRunnable.d.ts +1 -1
  33. package/build/src/runtime/actions/runnable/SetVariableRunnable.d.ts +1 -1
  34. package/build/src/runtime/http-engine/CoreEngine.d.ts +1 -1
  35. package/build/src/runtime/store/FilesSdk.d.ts +8 -0
  36. package/build/src/runtime/store/FilesSdk.js +15 -0
  37. package/build/src/runtime/store/FilesSdk.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/lib/calculators/DataCalculator.ts +3 -3
  40. package/src/lib/events/Utils.ts +5 -0
  41. package/src/lib/parsers/UriTemplate.ts +494 -0
  42. package/src/lib/parsers/UrlEncoder.ts +51 -0
  43. package/src/models/HttpProject.ts +10 -7
  44. package/src/models/ProjectParent.ts +27 -0
  45. package/src/models/Property.ts +18 -0
  46. package/src/models/Server.ts +32 -1
  47. package/src/runtime/actions/runnable/DeleteCookieRunnable.ts +1 -1
  48. package/src/runtime/actions/runnable/SetCookieRunnable.ts +1 -1
  49. package/src/runtime/actions/runnable/SetVariableRunnable.ts +1 -1
  50. package/src/runtime/http-engine/CoreEngine.ts +1 -1
  51. package/src/runtime/store/FilesSdk.ts +16 -0
@@ -0,0 +1,419 @@
1
+ import { UrlEncoder } from './UrlEncoder.js';
2
+ const cache = new Map();
3
+ /**
4
+ * pattern to identify expressions [operator, variable-list] in template
5
+ */
6
+ const EXPRESSION_PATTERN = /\{([^a-zA-Z0-9%_]?)([^}]+)(\}|$)/g;
7
+ /**
8
+ * pattern to identify variables [name, explode, maxlength] in variable-list
9
+ */
10
+ const VARIABLE_PATTERN = /^([^*:.](?:\.?[^*:.])*)((\*)|:(\d+))?$/;
11
+ /**
12
+ * pattern to verify variable name integrity
13
+ */
14
+ const VARIABLE_NAME_PATTERN = /[^a-zA-Z0-9%_.]/;
15
+ /**
16
+ * pattern to verify literal integrity
17
+ */
18
+ const LITERAL_PATTERN = /[<>{}"`^| \\]/;
19
+ var DataType;
20
+ (function (DataType) {
21
+ // undefined/null
22
+ DataType[DataType["nil"] = 0] = "nil";
23
+ // string
24
+ DataType[DataType["string"] = 1] = "string";
25
+ // object
26
+ DataType[DataType["object"] = 2] = "object";
27
+ // array
28
+ DataType[DataType["array"] = 3] = "array";
29
+ })(DataType || (DataType = {}));
30
+ class Data {
31
+ data;
32
+ cache;
33
+ constructor(data) {
34
+ this.data = data;
35
+ this.cache = {};
36
+ }
37
+ get(key) {
38
+ const { data } = this;
39
+ const d = {
40
+ type: DataType.nil,
41
+ val: [],
42
+ strictEncode: [],
43
+ encodeReserved: [],
44
+ };
45
+ if (this.cache[key] !== undefined) {
46
+ // we've already processed this key
47
+ return this.cache[key];
48
+ }
49
+ this.cache[key] = d;
50
+ let value;
51
+ if (typeof data === 'function') {
52
+ value = data(key);
53
+ }
54
+ else if (typeof data[key] === 'function') {
55
+ value = data[key](key);
56
+ }
57
+ else {
58
+ value = data[key];
59
+ }
60
+ // generalize input into [ [name1, value1], [name2, value2], … ]
61
+ // so expansion has to deal with a single data structure only
62
+ if (value === undefined || value === null) {
63
+ // undefined and null values are to be ignored completely
64
+ return d;
65
+ }
66
+ else if (Array.isArray(value)) {
67
+ value.forEach((v) => {
68
+ if (v !== undefined && v !== null) {
69
+ // arrays don't have names
70
+ d.val.push([undefined, v]);
71
+ }
72
+ });
73
+ if (d.val.length) {
74
+ d.type = DataType.array;
75
+ }
76
+ }
77
+ else if (String(Object.prototype.toString.call(value)) === '[object Object]') {
78
+ Object.keys(value).forEach((k) => {
79
+ const v = value[k];
80
+ if (v !== undefined && v !== null) {
81
+ d.val.push([k, v]);
82
+ }
83
+ });
84
+ if (d.val.length) {
85
+ d.type = DataType.object;
86
+ }
87
+ }
88
+ else {
89
+ d.type = DataType.string;
90
+ d.val.push([undefined, String(value)]);
91
+ }
92
+ return d;
93
+ }
94
+ }
95
+ const operators = {
96
+ // Simple string expansion
97
+ '': {
98
+ prefix: '',
99
+ separator: ',',
100
+ named: false,
101
+ empty_name_separator: false,
102
+ encode: 'strictEncode'
103
+ },
104
+ // Reserved character strings
105
+ '+': {
106
+ prefix: '',
107
+ separator: ',',
108
+ named: false,
109
+ empty_name_separator: false,
110
+ encode: 'encodeReserved'
111
+ },
112
+ // Fragment identifiers prefixed by '#'
113
+ '#': {
114
+ prefix: '#',
115
+ separator: ',',
116
+ named: false,
117
+ empty_name_separator: false,
118
+ encode: 'encodeReserved'
119
+ },
120
+ // Name labels or extensions prefixed by '.'
121
+ '.': {
122
+ prefix: '.',
123
+ separator: '.',
124
+ named: false,
125
+ empty_name_separator: false,
126
+ encode: 'strictEncode'
127
+ },
128
+ // Path segments prefixed by '/'
129
+ '/': {
130
+ prefix: '/',
131
+ separator: '/',
132
+ named: false,
133
+ empty_name_separator: false,
134
+ encode: 'strictEncode'
135
+ },
136
+ // Path parameter name or name=value pairs prefixed by ';'
137
+ ';': {
138
+ prefix: ';',
139
+ separator: ';',
140
+ named: true,
141
+ empty_name_separator: false,
142
+ encode: 'strictEncode'
143
+ },
144
+ // Query component beginning with '?' and consisting
145
+ // of name=value pairs separated by '&'; an
146
+ '?': {
147
+ prefix: '?',
148
+ separator: '&',
149
+ named: true,
150
+ empty_name_separator: true,
151
+ encode: 'strictEncode'
152
+ },
153
+ // Continuation of query-style &name=value pairs
154
+ // within a literal query component.
155
+ '&': {
156
+ prefix: '&',
157
+ separator: '&',
158
+ named: true,
159
+ empty_name_separator: true,
160
+ encode: 'strictEncode'
161
+ }
162
+ // The operator characters equals ("="), comma (","), exclamation ("!"),
163
+ // at sign ("@"), and pipe ("|") are reserved for future extensions.
164
+ };
165
+ /**
166
+ * Processor for URI templates: http://tools.ietf.org/html/rfc6570
167
+ */
168
+ export class UriTemplate {
169
+ expression;
170
+ parts;
171
+ /**
172
+ * Allows to ache and reuse cached instances.
173
+ *
174
+ * @param uri The URI string.
175
+ * @returns
176
+ */
177
+ static fromUri(uri) {
178
+ let cached = cache.get(uri);
179
+ if (!cached) {
180
+ cached = new UriTemplate(uri);
181
+ cache.set(uri, cached);
182
+ }
183
+ return cached;
184
+ }
185
+ /**
186
+ * @param expression The URI string.
187
+ */
188
+ constructor(expression) {
189
+ this.expression = expression;
190
+ }
191
+ /**
192
+ * Expands the template with the given map values.
193
+ *
194
+ * @param map The map with values
195
+ * @param opts Processing options
196
+ * @returns The expanded URI.
197
+ */
198
+ expand(map, opts = {}) {
199
+ let result = '';
200
+ if (!this.parts || !this.parts.length) {
201
+ this.parse();
202
+ }
203
+ const data = new Data(map);
204
+ for (const part of this.parts) {
205
+ const item = typeof part === 'string' ? part : UriTemplate.expand(part, data, opts);
206
+ result += item;
207
+ }
208
+ return result;
209
+ }
210
+ /**
211
+ * Parses the template into action tokens.
212
+ */
213
+ parse() {
214
+ const { expression } = this;
215
+ const parts = [];
216
+ let pos = 0;
217
+ function checkLiteral(literal) {
218
+ if (literal.match(LITERAL_PATTERN)) {
219
+ throw new Error(`Invalid Literal "${literal}"`);
220
+ }
221
+ return literal;
222
+ }
223
+ EXPRESSION_PATTERN.lastIndex = 0;
224
+ // eslint-disable-next-line no-constant-condition
225
+ while (true) {
226
+ const eMatch = EXPRESSION_PATTERN.exec(expression);
227
+ if (eMatch === null) {
228
+ // push trailing literal
229
+ parts.push(checkLiteral(expression.substring(pos)));
230
+ break;
231
+ }
232
+ else {
233
+ // push leading literal
234
+ parts.push(checkLiteral(expression.substring(pos, eMatch.index)));
235
+ pos = eMatch.index + eMatch[0].length;
236
+ }
237
+ if (!operators[eMatch[1]]) {
238
+ throw new Error(`Unknown Operator "${eMatch[1]}" in "${eMatch[0]}"`);
239
+ }
240
+ else if (!eMatch[3]) {
241
+ throw new Error(`Unclosed Expression "${eMatch[0]}"`);
242
+ }
243
+ // parse variable-list
244
+ const varParts = eMatch[2].split(',');
245
+ const vars = [];
246
+ for (var i = 0, l = varParts.length; i < l; i++) {
247
+ const vMatch = varParts[i].match(VARIABLE_PATTERN);
248
+ if (vMatch === null) {
249
+ throw new Error(`Invalid Variable "${varParts[i]}" in "${eMatch[0]}"`);
250
+ }
251
+ else if (vMatch[1].match(VARIABLE_NAME_PATTERN)) {
252
+ throw new Error(`Invalid Variable Name "${vMatch[1]}" in ""${eMatch[0]}"`);
253
+ }
254
+ vars[i] = {
255
+ name: vMatch[1],
256
+ explode: !!vMatch[3],
257
+ maxlength: vMatch[4] && parseInt(vMatch[4], 10) || undefined,
258
+ };
259
+ }
260
+ if (!vars.length) {
261
+ throw new Error(`Expression Missing Variable(s) "${eMatch[0]}"`);
262
+ }
263
+ parts.push({
264
+ expression: eMatch[0],
265
+ operator: eMatch[1],
266
+ variables: vars,
267
+ });
268
+ }
269
+ if (!parts.length) {
270
+ // template doesn't contain any expressions
271
+ // so it is a simple literal string
272
+ // this probably should fire a warning or something?
273
+ parts.push(checkLiteral(expression));
274
+ }
275
+ this.parts = parts;
276
+ }
277
+ static expand(expression, data, opts = {}) {
278
+ const options = operators[expression.operator];
279
+ const type = options.named ? 'Named' : 'Unnamed';
280
+ const { variables } = expression;
281
+ const buffer = [];
282
+ for (const variable of variables) {
283
+ const d = data.get(variable.name);
284
+ if (d.type === DataType.nil && opts && opts.strict) {
285
+ throw new Error(`Missing expansion value for variable "${variable.name}"`);
286
+ }
287
+ if (d.type === DataType.nil && opts.ignoreMissing) {
288
+ buffer.push(expression.expression);
289
+ continue;
290
+ }
291
+ if (!d.val.length) {
292
+ if (d.type !== DataType.nil) {
293
+ // empty variables (empty string) still lead to a separator being appended!
294
+ buffer.push('');
295
+ }
296
+ continue;
297
+ }
298
+ if (d.type > DataType.string && variable.maxlength) {
299
+ throw new Error(`Invalid expression: Prefix modifier not applicable to variable "${variable.name}"`);
300
+ }
301
+ buffer.push(UriTemplate[`expand${type}`](d, options, variable.explode, variable.explode && options.separator || ',', variable.maxlength, variable.name));
302
+ }
303
+ if (buffer.length) {
304
+ return options.prefix + buffer.join(options.separator);
305
+ }
306
+ // prefix is not prepended for empty expressions
307
+ return '';
308
+ }
309
+ /**
310
+ * Expands a named variable.
311
+ */
312
+ static expandNamed(d, options, explode, separator, length, name) {
313
+ let result = '';
314
+ const { encode, empty_name_separator } = options;
315
+ const _encode = !d[encode].length;
316
+ let _name = d.type === DataType.object ? '' : UrlEncoder[encode](name);
317
+ d.val.forEach((item, index) => {
318
+ let _value;
319
+ if (length) {
320
+ // maxlength must be determined before encoding can happen
321
+ _value = UrlEncoder[encode](item[1].substring(0, length));
322
+ if (d.type === DataType.object) {
323
+ // apply maxlength to keys of objects as well
324
+ _name = UrlEncoder[encode](item[0].substring(0, length));
325
+ }
326
+ }
327
+ else if (_encode) {
328
+ // encode value
329
+ _value = UrlEncoder[encode](item[1]);
330
+ if (d.type === DataType.object) {
331
+ // encode name and cache encoded value
332
+ _name = UrlEncoder[encode](item[0]);
333
+ d[encode].push([_name, _value]);
334
+ }
335
+ else {
336
+ // cache encoded value
337
+ d[encode].push([undefined, _value]);
338
+ }
339
+ }
340
+ else {
341
+ // values are already encoded and can be pulled from cache
342
+ _value = d[encode][index][1];
343
+ if (d.type === DataType.object) {
344
+ _name = d[encode][index][0];
345
+ }
346
+ }
347
+ if (result) {
348
+ result += separator;
349
+ }
350
+ if (!explode) {
351
+ if (!index) {
352
+ result += UrlEncoder[encode](name) + (empty_name_separator || _value ? '=' : '');
353
+ }
354
+ if (d.type === DataType.object) {
355
+ result += `${_name},`;
356
+ }
357
+ result += _value;
358
+ }
359
+ else {
360
+ result += _name + (empty_name_separator || _value ? '=' : '') + _value;
361
+ }
362
+ });
363
+ return result;
364
+ }
365
+ /**
366
+ * Expands an unnamed variable.
367
+ */
368
+ static expandUnnamed(d, options, explode, separator, length) {
369
+ let result = '';
370
+ const { encode, empty_name_separator } = options;
371
+ const _encode = !d[encode].length;
372
+ d.val.forEach((item, index) => {
373
+ let _value;
374
+ if (length) {
375
+ // maxlength must be determined before encoding can happen
376
+ _value = UrlEncoder[encode](item[1].substring(0, length));
377
+ }
378
+ else if (_encode) {
379
+ // encode and cache value
380
+ _value = UrlEncoder[encode](item[1]);
381
+ d[encode].push([
382
+ d.type === DataType.object ? UrlEncoder[encode](item[0]) : undefined,
383
+ _value
384
+ ]);
385
+ }
386
+ else {
387
+ // value already encoded, pull from cache
388
+ _value = d[encode][index][1];
389
+ }
390
+ if (result) {
391
+ // unless we're the first value, prepend the separator
392
+ result += separator;
393
+ }
394
+ if (d.type === DataType.object) {
395
+ let _name;
396
+ if (length) {
397
+ // maxlength also applies to keys of objects
398
+ _name = UrlEncoder[encode](item[0].substring(0, length));
399
+ }
400
+ else {
401
+ // at this point the name must already be encoded
402
+ _name = d[encode][index][0];
403
+ }
404
+ result += _name;
405
+ if (explode) {
406
+ // explode-modifier separates name and value by "="
407
+ result += (empty_name_separator || _value ? '=' : '');
408
+ }
409
+ else {
410
+ // no explode-modifier separates name and value by ","
411
+ result += ',';
412
+ }
413
+ }
414
+ result += _value;
415
+ });
416
+ return result;
417
+ }
418
+ }
419
+ //# sourceMappingURL=UriTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UriTemplate.js","sourceRoot":"","sources":["../../../../src/lib/parsers/UriTemplate.ts"],"names":[],"mappings":"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"}
@@ -48,4 +48,9 @@ export declare class UrlEncoder {
48
48
  * @returns string with no encoded URL component encoded sequences
49
49
  */
50
50
  static decodeQueryString(str: string, replacePlus?: boolean): string;
51
+ static strictEncode(str: string): string;
52
+ /**
53
+ * For URI templates encodes the URL string without encoding the reserved characters.
54
+ */
55
+ static encodeReserved(str: string): string;
51
56
  }
@@ -70,5 +70,54 @@ export class UrlEncoder {
70
70
  }
71
71
  return decodeURIComponent(result);
72
72
  }
73
+ static strictEncode(str) {
74
+ if (!str) {
75
+ return str;
76
+ }
77
+ const escaped = {
78
+ '!': '%21',
79
+ "'": '%27',
80
+ '(': '%28',
81
+ ')': '%29',
82
+ };
83
+ return encodeURIComponent(str).replace(/\*/g, '%2A')
84
+ // @ts-ignore
85
+ .replace(/[!'()*]/g, (c) => escaped[c]);
86
+ }
87
+ /**
88
+ * For URI templates encodes the URL string without encoding the reserved characters.
89
+ */
90
+ static encodeReserved(str) {
91
+ if (!str) {
92
+ return str;
93
+ }
94
+ const expression = /%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig;
95
+ const map = {
96
+ // gen-delims
97
+ '%3A': ':',
98
+ '%2F': '/',
99
+ '%3F': '?',
100
+ '%23': '#',
101
+ '%5B': '[',
102
+ '%5D': ']',
103
+ '%40': '@',
104
+ // sub-delims
105
+ '%21': '!',
106
+ '%24': '$',
107
+ '%26': '&',
108
+ '%27': '\'',
109
+ '%28': '(',
110
+ '%29': ')',
111
+ '%2A': '*',
112
+ '%2B': '+',
113
+ '%2C': ',',
114
+ '%3B': ';',
115
+ '%3D': '='
116
+ };
117
+ let result = UrlEncoder.strictEncode(str);
118
+ // @ts-ignore
119
+ result = result.replace(expression, (c) => map[c]);
120
+ return result;
121
+ }
73
122
  }
74
123
  //# sourceMappingURL=UrlEncoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UrlEncoder.js","sourceRoot":"","sources":["../../../../src/lib/parsers/UrlEncoder.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAW,EAAE,WAAqB;QACzD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,CAAC;SACZ;QACD,YAAY;QACZ,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,SAAS;QACT,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,WAAW,EAAE;YACf,qCAAqC;YACrC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SACtC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAW,EAAE,WAAqB;QACzD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,WAAW,EAAE;YACf,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACpC;QACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"UrlEncoder.js","sourceRoot":"","sources":["../../../../src/lib/parsers/UrlEncoder.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAW,EAAE,WAAqB;QACzD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,CAAC;SACZ;QACD,YAAY;QACZ,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,SAAS;QACT,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,WAAW,EAAE;YACf,qCAAqC;YACrC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SACtC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAW,EAAE,WAAqB;QACzD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,WAAW,EAAE;YACf,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACpC;QACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAW;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;SACX,CAAC;QACF,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YACpD,aAAa;aACZ,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAW;QAC/B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,UAAU,GAAG,4DAA4D,CAAC;QAChF,MAAM,GAAG,GAAG;YACV,aAAa;YACb,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,aAAa;YACb,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;SACX,CAAC;QACF,IAAI,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC1C,aAAa;QACb,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -441,6 +441,10 @@ export declare class HttpProject extends ProjectParent {
441
441
  * @param opts The environment read options
442
442
  */
443
443
  readEnvironments(opts?: IReadEnvironmentOptions): Promise<Environment[]>;
444
+ /**
445
+ * @returns Returns the effective environments. If the project has been initialized with an environment then it is returned. Otherwise other environments.
446
+ */
447
+ getEnvironments(): Environment[];
444
448
  /**
445
449
  * Makes a copy of this project.
446
450
  */
@@ -474,7 +478,6 @@ export declare class HttpProject extends ProjectParent {
474
478
  * @returns The current list of schemas in the project.
475
479
  */
476
480
  listSchemas(): ProjectSchema[];
477
- getEnvironments(): Environment[];
478
481
  /**
479
482
  * Iterates over requests in the project.
480
483
  */
@@ -791,6 +791,15 @@ export class HttpProject extends ProjectParent {
791
791
  }
792
792
  return result.reverse();
793
793
  }
794
+ /**
795
+ * @returns Returns the effective environments. If the project has been initialized with an environment then it is returned. Otherwise other environments.
796
+ */
797
+ getEnvironments() {
798
+ if (Array.isArray(this.initEnvironments)) {
799
+ return this.initEnvironments;
800
+ }
801
+ return super.getEnvironments();
802
+ }
794
803
  /**
795
804
  * Makes a copy of this project.
796
805
  */
@@ -919,12 +928,6 @@ export class HttpProject extends ProjectParent {
919
928
  }
920
929
  return this.definitions.schemas;
921
930
  }
922
- getEnvironments() {
923
- if (Array.isArray(this.initEnvironments)) {
924
- return this.initEnvironments;
925
- }
926
- return super.getEnvironments();
927
- }
928
931
  /**
929
932
  * Iterates over requests in the project.
930
933
  */