@api-client/core 0.5.14 → 0.5.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/lib/parsers/UriTemplate.d.ts +13 -0
- package/build/src/lib/parsers/UriTemplate.js +24 -3
- package/build/src/lib/parsers/UriTemplate.js.map +1 -1
- package/build/src/models/HttpProject.d.ts +85 -32
- package/build/src/models/HttpProject.js +181 -80
- package/build/src/models/HttpProject.js.map +1 -1
- package/build/src/models/ProjectFolder.d.ts +43 -6
- package/build/src/models/ProjectFolder.js +37 -12
- package/build/src/models/ProjectFolder.js.map +1 -1
- package/build/src/models/ProjectItem.d.ts +13 -6
- package/build/src/models/ProjectItem.js +24 -4
- package/build/src/models/ProjectItem.js.map +1 -1
- package/build/src/models/ProjectParent.d.ts +1 -42
- package/build/src/models/ProjectParent.js +1 -84
- package/build/src/models/ProjectParent.js.map +1 -1
- package/build/src/models/store/Backend.d.ts +28 -7
- package/build/src/models/transformers/PostmanBackupTransformer.js +0 -1
- package/build/src/models/transformers/PostmanBackupTransformer.js.map +1 -1
- package/build/src/models/transformers/PostmanV21Transformer.js +0 -1
- package/build/src/models/transformers/PostmanV21Transformer.js.map +1 -1
- package/build/src/models/transformers/PostmanV2Transformer.js +0 -1
- package/build/src/models/transformers/PostmanV2Transformer.js.map +1 -1
- package/build/src/runtime/node/ProjectRequestRunner.js +1 -1
- package/build/src/runtime/node/ProjectRequestRunner.js.map +1 -1
- package/build/src/runtime/store/FilesSdk.d.ts +2 -3
- package/build/src/runtime/store/FilesSdk.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/parsers/UriTemplate.ts +25 -4
- package/src/models/HttpProject.ts +236 -99
- package/src/models/ProjectFolder.ts +68 -17
- package/src/models/ProjectItem.ts +33 -11
- package/src/models/ProjectParent.ts +1 -110
- package/src/models/store/Backend.ts +30 -7
- package/src/models/transformers/PostmanBackupTransformer.ts +0 -1
- package/src/models/transformers/PostmanV21Transformer.ts +0 -1
- package/src/models/transformers/PostmanV2Transformer.ts +0 -1
- package/src/runtime/node/ProjectRequestRunner.ts +1 -1
- package/src/runtime/store/FilesSdk.ts +2 -3
|
@@ -81,6 +81,19 @@ export declare class UriTemplate {
|
|
|
81
81
|
* Parses the template into action tokens.
|
|
82
82
|
*/
|
|
83
83
|
parse(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Creates a Data object with the passed map.
|
|
86
|
+
*
|
|
87
|
+
* @param map The map with values.
|
|
88
|
+
*/
|
|
89
|
+
protected static getData(map: Record<string, any>): Data;
|
|
90
|
+
/**
|
|
91
|
+
* Can be used by a child class to manipulate string parts that are not template expressions
|
|
92
|
+
*
|
|
93
|
+
* @param part The string part
|
|
94
|
+
* @returns The processed part.
|
|
95
|
+
*/
|
|
96
|
+
protected static expandString(part: string): string;
|
|
84
97
|
protected static expand(expression: IPart, data: Data, opts?: IUriTemplateOptions): string;
|
|
85
98
|
/**
|
|
86
99
|
* Expands a named variable.
|
|
@@ -200,10 +200,14 @@ export class UriTemplate {
|
|
|
200
200
|
if (!this.parts || !this.parts.length) {
|
|
201
201
|
this.parse();
|
|
202
202
|
}
|
|
203
|
-
const data =
|
|
203
|
+
const data = UriTemplate.getData(map);
|
|
204
204
|
for (const part of this.parts) {
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
if (typeof part === 'string') {
|
|
206
|
+
result += UriTemplate.expandString(part);
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
result += UriTemplate.expand(part, data, opts);
|
|
210
|
+
}
|
|
207
211
|
}
|
|
208
212
|
return result;
|
|
209
213
|
}
|
|
@@ -274,6 +278,23 @@ export class UriTemplate {
|
|
|
274
278
|
}
|
|
275
279
|
this.parts = parts;
|
|
276
280
|
}
|
|
281
|
+
/**
|
|
282
|
+
* Creates a Data object with the passed map.
|
|
283
|
+
*
|
|
284
|
+
* @param map The map with values.
|
|
285
|
+
*/
|
|
286
|
+
static getData(map) {
|
|
287
|
+
return new Data(map);
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Can be used by a child class to manipulate string parts that are not template expressions
|
|
291
|
+
*
|
|
292
|
+
* @param part The string part
|
|
293
|
+
* @returns The processed part.
|
|
294
|
+
*/
|
|
295
|
+
static expandString(part) {
|
|
296
|
+
return part;
|
|
297
|
+
}
|
|
277
298
|
static expand(expression, data, opts = {}) {
|
|
278
299
|
const options = operators[expression.operator];
|
|
279
300
|
const type = options.named ? 'Named' : 'Unnamed';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UriTemplate.js","sourceRoot":"","sources":["../../../../src/lib/parsers/UriTemplate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UriTemplate.js","sourceRoot":"","sources":["../../../../src/lib/parsers/UriTemplate.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,20 @@ import { ProjectSchema, IProjectSchema } from './ProjectSchema.js';
|
|
|
11
11
|
import { ARCSavedRequest, ARCHistoryRequest } from './legacy/request/ArcRequest.js';
|
|
12
12
|
import { ArcLegacyProject } from './legacy/models/ArcLegacyProject.js';
|
|
13
13
|
export declare const Kind = "Core#HttpProject";
|
|
14
|
+
export interface IItemOptions {
|
|
15
|
+
/**
|
|
16
|
+
* The parent folder to add the item to.
|
|
17
|
+
*/
|
|
18
|
+
parent?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface IItemCreateOptions extends IItemOptions {
|
|
21
|
+
/**
|
|
22
|
+
* The position at which to add the item.
|
|
23
|
+
*/
|
|
24
|
+
index?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface IEnvironmentCreateOptions extends IItemCreateOptions {
|
|
27
|
+
}
|
|
14
28
|
/**
|
|
15
29
|
* A list of options to initialize a project in various situations.
|
|
16
30
|
*/
|
|
@@ -82,20 +96,16 @@ export interface IProjectMoveOptions {
|
|
|
82
96
|
*/
|
|
83
97
|
parent?: string;
|
|
84
98
|
}
|
|
85
|
-
export interface IReadEnvironmentOptions {
|
|
99
|
+
export interface IReadEnvironmentOptions extends IItemOptions {
|
|
86
100
|
/**
|
|
87
101
|
* The name or the key of the environment to select.
|
|
88
102
|
*
|
|
89
103
|
* When the name is not specified it selects:
|
|
90
104
|
* - the first environment from the project, if any
|
|
91
|
-
* - any parent folder's first environment to the requested folder, if any (if
|
|
92
|
-
* - the requested folder's first environment, if any (if
|
|
105
|
+
* - any parent folder's first environment to the requested folder, if any (if parent is set)
|
|
106
|
+
* - the requested folder's first environment, if any (if parent is set)
|
|
93
107
|
*/
|
|
94
108
|
nameOrKey?: string;
|
|
95
|
-
/**
|
|
96
|
-
* The key of the folder to collect the environments for.
|
|
97
|
-
*/
|
|
98
|
-
folderKey?: string;
|
|
99
109
|
}
|
|
100
110
|
/**
|
|
101
111
|
* The object stored as a list index for the projects.
|
|
@@ -205,11 +215,6 @@ export interface IHttpProject extends IProjectDefinitionProperty {
|
|
|
205
215
|
* This is where all the data are stored.
|
|
206
216
|
*/
|
|
207
217
|
definitions: IHttpProjectDefinitions;
|
|
208
|
-
/**
|
|
209
|
-
* The list of environment keys to apply to the project.
|
|
210
|
-
* Each key references an environment in the `definitions.environments` array.
|
|
211
|
-
*/
|
|
212
|
-
environments?: string[];
|
|
213
218
|
}
|
|
214
219
|
export interface IHttpProjectDefinitions {
|
|
215
220
|
requests?: IProjectRequest[];
|
|
@@ -432,26 +437,6 @@ export declare class HttpProject extends ProjectParent {
|
|
|
432
437
|
attachedCallback(): void;
|
|
433
438
|
detachedCallback(): void;
|
|
434
439
|
getProject(): HttpProject;
|
|
435
|
-
/**
|
|
436
|
-
* Reads the list of environments from then selected folder up to the project environments.
|
|
437
|
-
* It stops going up in the project structure when selected environment has the `encapsulated`
|
|
438
|
-
* property set to true.
|
|
439
|
-
* The environments are ordered from the top-most level to the selected folder.
|
|
440
|
-
*
|
|
441
|
-
* @param opts The environment read options
|
|
442
|
-
*/
|
|
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[];
|
|
448
|
-
/**
|
|
449
|
-
* Finds a definition for an environment regardless of its parent.
|
|
450
|
-
*
|
|
451
|
-
* @param key The Key of the environment to find.
|
|
452
|
-
* @returns The environment definition or undefined if not found.
|
|
453
|
-
*/
|
|
454
|
-
findEnvironment(key: string): Environment | undefined;
|
|
455
440
|
/**
|
|
456
441
|
* Makes a copy of this project.
|
|
457
442
|
*/
|
|
@@ -496,5 +481,73 @@ export declare class HttpProject extends ProjectParent {
|
|
|
496
481
|
*/
|
|
497
482
|
folderIterator(opts?: IProjectFolderIterator, indent?: number): Generator<IProjectFolderIteratorResult>;
|
|
498
483
|
[Symbol.iterator](): Generator<ProjectRequest>;
|
|
484
|
+
/**
|
|
485
|
+
* Depending on the options returns a project or a folder.
|
|
486
|
+
* It throws when parent folder cannot ber found.
|
|
487
|
+
*/
|
|
488
|
+
protected _getRoot(opts: IItemOptions): ProjectFolder | HttpProject;
|
|
489
|
+
protected _insertItem(item: ProjectItem, root: ProjectFolder | HttpProject, opts: IItemCreateOptions): void;
|
|
490
|
+
/**
|
|
491
|
+
* Adds an environment to the project.
|
|
492
|
+
*
|
|
493
|
+
* @param env The definition of the environment to use to create the environment
|
|
494
|
+
* @returns The same or created environment.
|
|
495
|
+
*/
|
|
496
|
+
addEnvironment(env: IEnvironment, opts?: IEnvironmentCreateOptions): Environment;
|
|
497
|
+
/**
|
|
498
|
+
* Adds an environment to the project.
|
|
499
|
+
*
|
|
500
|
+
* @param env The instance of the environment to add
|
|
501
|
+
* @returns The same or created environment.
|
|
502
|
+
*/
|
|
503
|
+
addEnvironment(env: Environment, opts?: IEnvironmentCreateOptions): Environment;
|
|
504
|
+
/**
|
|
505
|
+
* Adds an environment to the project.
|
|
506
|
+
*
|
|
507
|
+
* @param env The name of the environment to create
|
|
508
|
+
* @returns The same or created environment.
|
|
509
|
+
*/
|
|
510
|
+
addEnvironment(env: string, opts?: IEnvironmentCreateOptions): Environment;
|
|
511
|
+
protected _createEnv(env: IEnvironment | Environment | string): Environment;
|
|
512
|
+
/**
|
|
513
|
+
* This is different to `readEnvironments()`. While the `readEnvironments()`
|
|
514
|
+
* function generate a list of all environments that apply to a folder, this method
|
|
515
|
+
* just lists this folder's environments.
|
|
516
|
+
*
|
|
517
|
+
* @returns The list of environments defined in this folder
|
|
518
|
+
*/
|
|
519
|
+
getEnvironments(opts?: IItemOptions): Environment[];
|
|
520
|
+
/**
|
|
521
|
+
* @param key The environment key to read.
|
|
522
|
+
*/
|
|
523
|
+
getEnvironment(key: string, opts?: IItemOptions): Environment | undefined;
|
|
524
|
+
/**
|
|
525
|
+
* Removes an environment from the folder or a sub-folder.
|
|
526
|
+
*
|
|
527
|
+
* @param key the key of the environment to remove
|
|
528
|
+
* @returns The removed environment, if any.
|
|
529
|
+
*/
|
|
530
|
+
removeEnvironment(key: string, opts?: IItemOptions): Environment | undefined;
|
|
531
|
+
/**
|
|
532
|
+
* This is a link to the `getEnvironments()`. The difference is that on the
|
|
533
|
+
* project level it won't return environments defined with the class initialization.
|
|
534
|
+
*/
|
|
535
|
+
listEnvironments(opts?: IItemOptions): Environment[];
|
|
536
|
+
/**
|
|
537
|
+
* Reads the list of environments from then selected folder up to the project root.
|
|
538
|
+
* It stops going up in the project structure when selected environment has the `encapsulated`
|
|
539
|
+
* property set to true.
|
|
540
|
+
* The environments are ordered from the top-most level to the selected folder.
|
|
541
|
+
*
|
|
542
|
+
* @param opts The environment read options
|
|
543
|
+
*/
|
|
544
|
+
readEnvironments(opts?: IReadEnvironmentOptions): Promise<Environment[]>;
|
|
545
|
+
/**
|
|
546
|
+
* Finds a definition for an environment regardless of its parent.
|
|
547
|
+
*
|
|
548
|
+
* @param key The Key of the environment to find.
|
|
549
|
+
* @returns The environment definition or undefined if not found.
|
|
550
|
+
*/
|
|
551
|
+
findEnvironment(key: string): Environment | undefined;
|
|
499
552
|
}
|
|
500
553
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProjectParent } from './ProjectParent.js';
|
|
2
|
-
import { Environment } from './Environment.js';
|
|
2
|
+
import { Environment, Kind as EnvironmentKind } from './Environment.js';
|
|
3
3
|
import { License } from './License.js';
|
|
4
4
|
import { Provider } from './Provider.js';
|
|
5
5
|
import { Thing, Kind as ThingKind } from './Thing.js';
|
|
@@ -136,12 +136,8 @@ export class HttpProject extends ProjectParent {
|
|
|
136
136
|
if (!init || !init.definitions || !init.items) {
|
|
137
137
|
throw new Error(`Not a project.`);
|
|
138
138
|
}
|
|
139
|
-
const { key = v4(), definitions = {}, items, info, license, provider
|
|
139
|
+
const { key = v4(), definitions = {}, items, info, license, provider } = init;
|
|
140
140
|
this.key = key;
|
|
141
|
-
this.environments = [];
|
|
142
|
-
if (Array.isArray(environments)) {
|
|
143
|
-
this.environments = [...environments];
|
|
144
|
-
}
|
|
145
141
|
if (license) {
|
|
146
142
|
this.license = new License(license);
|
|
147
143
|
}
|
|
@@ -191,7 +187,6 @@ export class HttpProject extends ProjectParent {
|
|
|
191
187
|
kind: Kind,
|
|
192
188
|
key: this.key,
|
|
193
189
|
definitions: {},
|
|
194
|
-
environments: [],
|
|
195
190
|
items: [],
|
|
196
191
|
info: this.info.toJSON(),
|
|
197
192
|
};
|
|
@@ -207,9 +202,6 @@ export class HttpProject extends ProjectParent {
|
|
|
207
202
|
if (Array.isArray(this.definitions.schemas) && this.definitions.schemas.length) {
|
|
208
203
|
result.definitions.schemas = this.definitions.schemas.map(i => i.toJSON());
|
|
209
204
|
}
|
|
210
|
-
if (Array.isArray(this.environments) && this.environments.length) {
|
|
211
|
-
result.environments = [...this.environments];
|
|
212
|
-
}
|
|
213
205
|
if (Array.isArray(this.items) && this.items.length) {
|
|
214
206
|
result.items = this.items.map(i => i.toJSON());
|
|
215
207
|
}
|
|
@@ -711,18 +703,13 @@ export class HttpProject extends ProjectParent {
|
|
|
711
703
|
else if (item.kind === ProjectRequestKind) {
|
|
712
704
|
definition = definitions.requests.find(d => item.key === d.key);
|
|
713
705
|
}
|
|
706
|
+
else if (item.kind === EnvironmentKind) {
|
|
707
|
+
definition = definitions.environments.find(d => item.key === d.key);
|
|
708
|
+
}
|
|
714
709
|
if (definition) {
|
|
715
710
|
result.push(definition);
|
|
716
711
|
}
|
|
717
712
|
});
|
|
718
|
-
if (Array.isArray(root.environments)) {
|
|
719
|
-
root.environments.map((id) => {
|
|
720
|
-
const definition = definitions.environments.find(d => d.key === id);
|
|
721
|
-
if (definition) {
|
|
722
|
-
result.push(definition);
|
|
723
|
-
}
|
|
724
|
-
});
|
|
725
|
-
}
|
|
726
713
|
return result;
|
|
727
714
|
}
|
|
728
715
|
/**
|
|
@@ -760,55 +747,6 @@ export class HttpProject extends ProjectParent {
|
|
|
760
747
|
getProject() {
|
|
761
748
|
return this;
|
|
762
749
|
}
|
|
763
|
-
/**
|
|
764
|
-
* Reads the list of environments from then selected folder up to the project environments.
|
|
765
|
-
* It stops going up in the project structure when selected environment has the `encapsulated`
|
|
766
|
-
* property set to true.
|
|
767
|
-
* The environments are ordered from the top-most level to the selected folder.
|
|
768
|
-
*
|
|
769
|
-
* @param opts The environment read options
|
|
770
|
-
*/
|
|
771
|
-
async readEnvironments(opts = {}) {
|
|
772
|
-
const result = [];
|
|
773
|
-
const { folderKey, nameOrKey } = opts;
|
|
774
|
-
const root = folderKey ? this.findFolder(folderKey, { keyOnly: true }) : this;
|
|
775
|
-
if (!root) {
|
|
776
|
-
return result;
|
|
777
|
-
}
|
|
778
|
-
let current = root;
|
|
779
|
-
while (current) {
|
|
780
|
-
const environments = current.getEnvironments();
|
|
781
|
-
if (environments.length) {
|
|
782
|
-
const selected = nameOrKey ? environments.find(i => i.key === nameOrKey || i.info.name === nameOrKey) : environments[0];
|
|
783
|
-
if (selected) {
|
|
784
|
-
result.push(selected);
|
|
785
|
-
if (selected.encapsulated) {
|
|
786
|
-
break;
|
|
787
|
-
}
|
|
788
|
-
}
|
|
789
|
-
}
|
|
790
|
-
current = current.getParent();
|
|
791
|
-
}
|
|
792
|
-
return result.reverse();
|
|
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
|
-
}
|
|
803
|
-
/**
|
|
804
|
-
* Finds a definition for an environment regardless of its parent.
|
|
805
|
-
*
|
|
806
|
-
* @param key The Key of the environment to find.
|
|
807
|
-
* @returns The environment definition or undefined if not found.
|
|
808
|
-
*/
|
|
809
|
-
findEnvironment(key) {
|
|
810
|
-
return this.definitions.environments.find(i => i.key === key);
|
|
811
|
-
}
|
|
812
750
|
/**
|
|
813
751
|
* Makes a copy of this project.
|
|
814
752
|
*/
|
|
@@ -840,14 +778,14 @@ export class HttpProject extends ProjectParent {
|
|
|
840
778
|
flatItems = flatItems.concat(folder.items);
|
|
841
779
|
}
|
|
842
780
|
});
|
|
843
|
-
const withEnvironments = [];
|
|
844
|
-
if (Array.isArray(src.environments) && src.environments.length) {
|
|
845
|
-
|
|
846
|
-
}
|
|
781
|
+
// const withEnvironments: (HttpProject | ProjectFolder)[] = [];
|
|
782
|
+
// if (Array.isArray(src.environments) && src.environments.length) {
|
|
783
|
+
// withEnvironments.push(src);
|
|
784
|
+
// }
|
|
847
785
|
(definitions.folders || []).forEach((folder) => {
|
|
848
|
-
if (Array.isArray(folder.environments) && folder.environments.length) {
|
|
849
|
-
|
|
850
|
-
}
|
|
786
|
+
// if (Array.isArray(folder.environments) && folder.environments.length) {
|
|
787
|
+
// withEnvironments.push(folder);
|
|
788
|
+
// }
|
|
851
789
|
const oldKey = folder.key;
|
|
852
790
|
const indexObject = flatItems.find(i => i.key === oldKey);
|
|
853
791
|
if (!indexObject) {
|
|
@@ -871,15 +809,14 @@ export class HttpProject extends ProjectParent {
|
|
|
871
809
|
schema.key = v4();
|
|
872
810
|
});
|
|
873
811
|
(definitions.environments || []).forEach((environment) => {
|
|
874
|
-
// project or folder that has the environment.
|
|
875
|
-
const parent = withEnvironments.find(item => item.environments.includes(environment.key));
|
|
876
812
|
const oldKey = environment.key;
|
|
813
|
+
const indexObject = flatItems.find(i => i.key === oldKey);
|
|
814
|
+
if (!indexObject) {
|
|
815
|
+
return;
|
|
816
|
+
}
|
|
877
817
|
const newKey = v4();
|
|
818
|
+
indexObject.key = newKey;
|
|
878
819
|
environment.key = newKey;
|
|
879
|
-
if (parent) {
|
|
880
|
-
const index = parent.environments.indexOf(oldKey);
|
|
881
|
-
parent.environments[index] = newKey;
|
|
882
|
-
}
|
|
883
820
|
});
|
|
884
821
|
}
|
|
885
822
|
/**
|
|
@@ -1043,5 +980,169 @@ export class HttpProject extends ProjectParent {
|
|
|
1043
980
|
recursive: true,
|
|
1044
981
|
});
|
|
1045
982
|
}
|
|
983
|
+
/**
|
|
984
|
+
* Depending on the options returns a project or a folder.
|
|
985
|
+
* It throws when parent folder cannot ber found.
|
|
986
|
+
*/
|
|
987
|
+
_getRoot(opts) {
|
|
988
|
+
const project = this.getProject();
|
|
989
|
+
if (opts.parent) {
|
|
990
|
+
const parent = project.findFolder(opts.parent);
|
|
991
|
+
if (!parent) {
|
|
992
|
+
throw new Error(`Unable to find the parent folder ${opts.parent}.`);
|
|
993
|
+
}
|
|
994
|
+
return parent;
|
|
995
|
+
}
|
|
996
|
+
return project;
|
|
997
|
+
}
|
|
998
|
+
_insertItem(item, root, opts) {
|
|
999
|
+
if (!Array.isArray(root.items)) {
|
|
1000
|
+
root.items = [];
|
|
1001
|
+
}
|
|
1002
|
+
if (typeof opts.index === 'number') {
|
|
1003
|
+
root.items.splice(opts.index, 0, item);
|
|
1004
|
+
}
|
|
1005
|
+
else {
|
|
1006
|
+
root.items.push(item);
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
/**
|
|
1010
|
+
* Adds an environment to the project.
|
|
1011
|
+
* @returns The same or created environment.
|
|
1012
|
+
*/
|
|
1013
|
+
addEnvironment(env, opts = {}) {
|
|
1014
|
+
const environment = this._createEnv(env);
|
|
1015
|
+
const root = this._getRoot(opts);
|
|
1016
|
+
const project = this.getProject();
|
|
1017
|
+
if (!project.definitions.environments) {
|
|
1018
|
+
project.definitions.environments = [];
|
|
1019
|
+
}
|
|
1020
|
+
project.definitions.environments.push(environment);
|
|
1021
|
+
const item = ProjectItem.projectEnvironment(project, environment.key);
|
|
1022
|
+
this._insertItem(item, root, opts);
|
|
1023
|
+
return environment;
|
|
1024
|
+
}
|
|
1025
|
+
_createEnv(env) {
|
|
1026
|
+
let finalEnv;
|
|
1027
|
+
if (env instanceof Environment) {
|
|
1028
|
+
finalEnv = env;
|
|
1029
|
+
}
|
|
1030
|
+
else if (typeof env === 'string') {
|
|
1031
|
+
finalEnv = Environment.fromName(env);
|
|
1032
|
+
}
|
|
1033
|
+
else {
|
|
1034
|
+
finalEnv = new Environment(env);
|
|
1035
|
+
}
|
|
1036
|
+
if (!finalEnv.key) {
|
|
1037
|
+
finalEnv.key = v4();
|
|
1038
|
+
}
|
|
1039
|
+
return finalEnv;
|
|
1040
|
+
}
|
|
1041
|
+
/**
|
|
1042
|
+
* This is different to `readEnvironments()`. While the `readEnvironments()`
|
|
1043
|
+
* function generate a list of all environments that apply to a folder, this method
|
|
1044
|
+
* just lists this folder's environments.
|
|
1045
|
+
*
|
|
1046
|
+
* @returns The list of environments defined in this folder
|
|
1047
|
+
*/
|
|
1048
|
+
getEnvironments(opts = {}) {
|
|
1049
|
+
if (Array.isArray(this.initEnvironments)) {
|
|
1050
|
+
return this.initEnvironments;
|
|
1051
|
+
}
|
|
1052
|
+
return this.listEnvironments(opts);
|
|
1053
|
+
}
|
|
1054
|
+
/**
|
|
1055
|
+
* @param key The environment key to read.
|
|
1056
|
+
*/
|
|
1057
|
+
getEnvironment(key, opts = {}) {
|
|
1058
|
+
const root = this._getRoot(opts);
|
|
1059
|
+
const item = root.items.find(i => i.key === key);
|
|
1060
|
+
if (!item) {
|
|
1061
|
+
return undefined;
|
|
1062
|
+
}
|
|
1063
|
+
const project = this.getProject();
|
|
1064
|
+
if (!Array.isArray(project.definitions.environments)) {
|
|
1065
|
+
project.definitions.environments = [];
|
|
1066
|
+
}
|
|
1067
|
+
return project.definitions.environments.find(e => e.key === key);
|
|
1068
|
+
}
|
|
1069
|
+
/**
|
|
1070
|
+
* Removes an environment from the folder or a sub-folder.
|
|
1071
|
+
*
|
|
1072
|
+
* @param key the key of the environment to remove
|
|
1073
|
+
* @returns The removed environment, if any.
|
|
1074
|
+
*/
|
|
1075
|
+
removeEnvironment(key, opts = {}) {
|
|
1076
|
+
const root = this._getRoot(opts);
|
|
1077
|
+
const itemIndex = root.items.findIndex(i => i.key === key);
|
|
1078
|
+
if (itemIndex < 0) {
|
|
1079
|
+
return undefined;
|
|
1080
|
+
}
|
|
1081
|
+
root.items.splice(itemIndex, 1);
|
|
1082
|
+
const project = this.getProject();
|
|
1083
|
+
if (!Array.isArray(project.definitions.environments)) {
|
|
1084
|
+
project.definitions.environments = [];
|
|
1085
|
+
}
|
|
1086
|
+
const defIndex = project.definitions.environments.findIndex(i => i.key === key);
|
|
1087
|
+
if (defIndex < 0) {
|
|
1088
|
+
return undefined;
|
|
1089
|
+
}
|
|
1090
|
+
const env = project.definitions.environments[defIndex];
|
|
1091
|
+
project.definitions.environments.splice(defIndex, 1);
|
|
1092
|
+
return env;
|
|
1093
|
+
}
|
|
1094
|
+
/**
|
|
1095
|
+
* This is a link to the `getEnvironments()`. The difference is that on the
|
|
1096
|
+
* project level it won't return environments defined with the class initialization.
|
|
1097
|
+
*/
|
|
1098
|
+
listEnvironments(opts = {}) {
|
|
1099
|
+
const root = this._getRoot(opts);
|
|
1100
|
+
const items = root.items.filter(i => i.kind === EnvironmentKind).map(i => i.key);
|
|
1101
|
+
const project = this.getProject();
|
|
1102
|
+
if (!Array.isArray(project.definitions.environments)) {
|
|
1103
|
+
project.definitions.environments = [];
|
|
1104
|
+
}
|
|
1105
|
+
return project.definitions.environments.filter(e => items.includes(e.key));
|
|
1106
|
+
}
|
|
1107
|
+
/**
|
|
1108
|
+
* Reads the list of environments from then selected folder up to the project root.
|
|
1109
|
+
* It stops going up in the project structure when selected environment has the `encapsulated`
|
|
1110
|
+
* property set to true.
|
|
1111
|
+
* The environments are ordered from the top-most level to the selected folder.
|
|
1112
|
+
*
|
|
1113
|
+
* @param opts The environment read options
|
|
1114
|
+
*/
|
|
1115
|
+
async readEnvironments(opts = {}) {
|
|
1116
|
+
const result = [];
|
|
1117
|
+
const { parent, nameOrKey } = opts;
|
|
1118
|
+
const root = parent ? this.findFolder(parent, { keyOnly: true }) : this;
|
|
1119
|
+
if (!root) {
|
|
1120
|
+
return result;
|
|
1121
|
+
}
|
|
1122
|
+
let current = root;
|
|
1123
|
+
while (current) {
|
|
1124
|
+
const environments = current.getEnvironments();
|
|
1125
|
+
if (environments.length) {
|
|
1126
|
+
const selected = nameOrKey ? environments.find(i => i.key === nameOrKey || i.info.name === nameOrKey) : environments[0];
|
|
1127
|
+
if (selected) {
|
|
1128
|
+
result.push(selected);
|
|
1129
|
+
if (selected.encapsulated) {
|
|
1130
|
+
break;
|
|
1131
|
+
}
|
|
1132
|
+
}
|
|
1133
|
+
}
|
|
1134
|
+
current = current.getParent();
|
|
1135
|
+
}
|
|
1136
|
+
return result.reverse();
|
|
1137
|
+
}
|
|
1138
|
+
/**
|
|
1139
|
+
* Finds a definition for an environment regardless of its parent.
|
|
1140
|
+
*
|
|
1141
|
+
* @param key The Key of the environment to find.
|
|
1142
|
+
* @returns The environment definition or undefined if not found.
|
|
1143
|
+
*/
|
|
1144
|
+
findEnvironment(key) {
|
|
1145
|
+
return this.definitions.environments.find(i => i.key === key);
|
|
1146
|
+
}
|
|
1046
1147
|
}
|
|
1047
1148
|
//# sourceMappingURL=HttpProject.js.map
|