@api-client/core 0.3.1 → 0.3.4

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 (183) hide show
  1. package/build/browser.d.ts +1 -1
  2. package/build/index.d.ts +2 -2
  3. package/build/index.js.map +1 -1
  4. package/build/src/models/Backend.d.ts +22 -0
  5. package/build/src/runtime/store/StoreSdk.d.ts +192 -12
  6. package/build/src/runtime/store/StoreSdk.js +592 -53
  7. package/build/src/runtime/store/StoreSdk.js.map +1 -1
  8. package/package.json +3 -1
  9. package/src/data/DataReader.ts +11 -0
  10. package/src/data/DataUtils.ts +108 -0
  11. package/src/data/JmesparthReader.ts +26 -0
  12. package/src/data/Json2Xml.ts +190 -0
  13. package/src/data/JsonReader.ts +41 -0
  14. package/src/data/PayloadPointer.ts +48 -0
  15. package/src/data/RequestDataExtractor.ts +133 -0
  16. package/src/data/UrlEncodedReader.ts +20 -0
  17. package/src/data/XmlReader.ts +103 -0
  18. package/src/events/BaseEvents.ts +259 -0
  19. package/src/events/CustomEvent.ts +27 -0
  20. package/src/events/EventTypes.ts +19 -0
  21. package/src/events/Events.ts +19 -0
  22. package/src/events/authorization/AuthorizationEventTypes.ts +22 -0
  23. package/src/events/authorization/AuthorizationEvents.ts +61 -0
  24. package/src/events/cookies/CookieEventTypes.ts +13 -0
  25. package/src/events/cookies/CookieEvents.ts +157 -0
  26. package/src/events/encryption/EncryptionEventTypes.ts +4 -0
  27. package/src/events/encryption/EncryptionEvents.ts +51 -0
  28. package/src/events/environment/EnvironmentEventTypes.ts +3 -0
  29. package/src/events/environment/EnvironmentEvents.ts +24 -0
  30. package/src/events/models/ClientCertificateEvents.ts +87 -0
  31. package/src/events/models/ModelEventTypes.ts +47 -0
  32. package/src/events/models/ModelEvents.ts +7 -0
  33. package/src/events/models/ProjectEvents.ts +331 -0
  34. package/src/events/process/ProcessEventTypes.ts +5 -0
  35. package/src/events/process/ProcessEvents.ts +76 -0
  36. package/src/events/readme.md +22 -0
  37. package/src/events/reporting/ReportingEventTypes.ts +3 -0
  38. package/src/events/reporting/ReportingEvents.ts +28 -0
  39. package/src/events/telemetry/TelemetryEventTypes.ts +10 -0
  40. package/src/events/telemetry/TelemetryEvents.ts +156 -0
  41. package/src/lib/cookies/Cookie.ts +312 -0
  42. package/src/lib/cookies/Cookies.ts +326 -0
  43. package/src/lib/cookies/Utils.ts +168 -0
  44. package/src/lib/headers/Headers.ts +219 -0
  45. package/src/lib/logging/DefaultLogger.ts +19 -0
  46. package/src/lib/logging/DummyLogger.ts +21 -0
  47. package/src/lib/logging/Logger.ts +16 -0
  48. package/src/lib/transformers/PayloadSerializer.ts +332 -0
  49. package/src/lib/transformers/Utils.ts +18 -0
  50. package/src/lib/uuid.ts +40 -0
  51. package/src/mocking/LegacyInterfaces.ts +52 -0
  52. package/src/mocking/LegacyMock.ts +37 -0
  53. package/src/mocking/legacy/Authorization.ts +39 -0
  54. package/src/mocking/legacy/Certificates.ts +145 -0
  55. package/src/mocking/legacy/Cookies.ts +51 -0
  56. package/src/mocking/legacy/HostRules.ts +43 -0
  57. package/src/mocking/legacy/Http.ts +236 -0
  58. package/src/mocking/legacy/HttpResponse.ts +106 -0
  59. package/src/mocking/legacy/RestApi.ts +68 -0
  60. package/src/mocking/legacy/Urls.ts +44 -0
  61. package/src/mocking/legacy/Variables.ts +53 -0
  62. package/src/models/ArcResponse.ts +166 -0
  63. package/src/models/Authorization.ts +481 -0
  64. package/src/models/AuthorizationData.ts +60 -0
  65. package/src/models/Backend.ts +107 -0
  66. package/src/models/ClientCertificate.ts +68 -0
  67. package/src/models/Environment.ts +279 -0
  68. package/src/models/ErrorResponse.ts +101 -0
  69. package/src/models/HistoryIndex.ts +76 -0
  70. package/src/models/HistoryRequest.ts +28 -0
  71. package/src/models/HostRule.ts +163 -0
  72. package/src/models/HttpCookie.ts +285 -0
  73. package/src/models/HttpProject.ts +1294 -0
  74. package/src/models/HttpProjectListItem.ts +23 -0
  75. package/src/models/HttpRequest.ts +124 -0
  76. package/src/models/HttpResponse.ts +143 -0
  77. package/src/models/License.ts +113 -0
  78. package/src/models/ProjectDefinitionProperty.ts +40 -0
  79. package/src/models/ProjectFolder.ts +439 -0
  80. package/src/models/ProjectItem.ts +135 -0
  81. package/src/models/ProjectParent.ts +113 -0
  82. package/src/models/ProjectRequest.ts +277 -0
  83. package/src/models/ProjectSchema.ts +202 -0
  84. package/src/models/Property.ts +423 -0
  85. package/src/models/Provider.ts +98 -0
  86. package/src/models/README.md +20 -0
  87. package/src/models/Request.ts +452 -0
  88. package/src/models/RequestActions.ts +163 -0
  89. package/src/models/RequestAuthorization.ts +115 -0
  90. package/src/models/RequestConfig.ts +317 -0
  91. package/src/models/RequestLog.ts +159 -0
  92. package/src/models/RequestTime.ts +108 -0
  93. package/src/models/RequestUiMeta.ts +258 -0
  94. package/src/models/RequestsSize.ts +65 -0
  95. package/src/models/ResponseAuthorization.ts +104 -0
  96. package/src/models/ResponseRedirect.ts +158 -0
  97. package/src/models/RevisionInfo.ts +37 -0
  98. package/src/models/SentRequest.ts +125 -0
  99. package/src/models/SerializablePayload.ts +68 -0
  100. package/src/models/Server.ts +153 -0
  101. package/src/models/Thing.ts +110 -0
  102. package/src/models/Url.ts +90 -0
  103. package/src/models/User.ts +120 -0
  104. package/src/models/WebApi.ts +234 -0
  105. package/src/models/WebApiIndex.ts +122 -0
  106. package/src/models/Workspace.ts +182 -0
  107. package/src/models/actions/Action.ts +213 -0
  108. package/src/models/actions/ActionView.ts +40 -0
  109. package/src/models/actions/Condition.ts +207 -0
  110. package/src/models/actions/ConditionView.ts +42 -0
  111. package/src/models/actions/Enums.ts +29 -0
  112. package/src/models/actions/RunnableAction.ts +144 -0
  113. package/src/models/actions/runnable/DeleteCookieAction.ts +113 -0
  114. package/src/models/actions/runnable/Runnable.ts +9 -0
  115. package/src/models/actions/runnable/SetCookieAction.ts +216 -0
  116. package/src/models/actions/runnable/SetVariableAction.ts +81 -0
  117. package/src/models/legacy/DataExport.ts +172 -0
  118. package/src/models/legacy/Normalizer.ts +110 -0
  119. package/src/models/legacy/actions/Actions.ts +269 -0
  120. package/src/models/legacy/authorization/Authorization.ts +572 -0
  121. package/src/models/legacy/models/ApiTypes.ts +202 -0
  122. package/src/models/legacy/models/ArcLegacyProject.ts +39 -0
  123. package/src/models/legacy/models/AuthData.ts +17 -0
  124. package/src/models/legacy/models/ClientCertificate.ts +95 -0
  125. package/src/models/legacy/models/Cookies.ts +52 -0
  126. package/src/models/legacy/models/HostRule.ts +35 -0
  127. package/src/models/legacy/models/RestApi.ts +49 -0
  128. package/src/models/legacy/models/UrlHistory.ts +37 -0
  129. package/src/models/legacy/models/Variable.ts +43 -0
  130. package/src/models/legacy/models/base.d.ts +95 -0
  131. package/src/models/legacy/request/ArcRequest.ts +405 -0
  132. package/src/models/legacy/request/ArcResponse.ts +177 -0
  133. package/src/models/legacy/request/HistoryData.ts +47 -0
  134. package/src/models/legacy/request/Legacy.ts +45 -0
  135. package/src/models/legacy/request/RequestBody.ts +87 -0
  136. package/src/models/transformers/ArcDexieTransformer.ts +323 -0
  137. package/src/models/transformers/ArcLegacyNormalizer.ts +85 -0
  138. package/src/models/transformers/ArcLegacyTransformer.ts +200 -0
  139. package/src/models/transformers/ArcPouchTransformer.ts +184 -0
  140. package/src/models/transformers/BaseTransformer.ts +116 -0
  141. package/src/models/transformers/ImportUtils.ts +141 -0
  142. package/src/models/transformers/LegacyDataExportToApiProject.ts +76 -0
  143. package/src/models/transformers/LegacyExportProcessor.ts +252 -0
  144. package/src/models/transformers/PostmanBackupTransformer.ts +306 -0
  145. package/src/models/transformers/PostmanDataTransformer.ts +50 -0
  146. package/src/models/transformers/PostmanTransformer.ts +106 -0
  147. package/src/models/transformers/PostmanV21Transformer.ts +311 -0
  148. package/src/models/transformers/PostmanV2Transformer.ts +308 -0
  149. package/src/models/transformers/har.ts +865 -0
  150. package/src/runtime/actions/ActionRunner.ts +83 -0
  151. package/src/runtime/actions/ConditionRunner.ts +194 -0
  152. package/src/runtime/actions/RunnableCondition.ts +57 -0
  153. package/src/runtime/actions/runnable/ActionRunnable.ts +19 -0
  154. package/src/runtime/actions/runnable/DeleteCookieRunnable.ts +39 -0
  155. package/src/runtime/actions/runnable/SetCookieRunnable.ts +92 -0
  156. package/src/runtime/actions/runnable/SetVariableRunnable.ts +53 -0
  157. package/src/runtime/http-engine/ArcEngine.ts +1064 -0
  158. package/src/runtime/http-engine/Errors.ts +13 -0
  159. package/src/runtime/http-engine/FormData.ts +85 -0
  160. package/src/runtime/http-engine/HttpEngine.ts +874 -0
  161. package/src/runtime/http-engine/HttpErrorCodes.ts +270 -0
  162. package/src/runtime/http-engine/NodeEngine.ts +787 -0
  163. package/src/runtime/http-engine/NodeEngineDirect.ts +476 -0
  164. package/src/runtime/http-engine/PayloadSupport.ts +84 -0
  165. package/src/runtime/http-engine/RequestUtils.ts +164 -0
  166. package/src/runtime/http-engine/ntlm/Des.ts +345 -0
  167. package/src/runtime/http-engine/ntlm/MD4.ts +135 -0
  168. package/src/runtime/http-engine/ntlm/NtlmAuth.ts +186 -0
  169. package/src/runtime/http-engine/ntlm/NtlmMessage.ts +57 -0
  170. package/src/runtime/modules/BasicAuthCache.ts +133 -0
  171. package/src/runtime/modules/ExecutionResponse.ts +4 -0
  172. package/src/runtime/modules/ModulesRegistry.ts +136 -0
  173. package/src/runtime/modules/RequestAuthorization.ts +110 -0
  174. package/src/runtime/modules/RequestCookies.ts +145 -0
  175. package/src/runtime/node/ProjectRunner.ts +275 -0
  176. package/src/runtime/node/RequestFactory.ts +422 -0
  177. package/src/runtime/node/VariablesStore.ts +25 -0
  178. package/src/runtime/store/StoreSdk.ts +838 -0
  179. package/src/runtime/variables/Cache.ts +53 -0
  180. package/src/runtime/variables/EvalFunctions.ts +132 -0
  181. package/src/runtime/variables/ProjectVariables.ts +6 -0
  182. package/src/runtime/variables/VariablesProcessor.ts +543 -0
  183. package/src/runtime/variables/VariablesTokenizer.ts +55 -0
@@ -0,0 +1,23 @@
1
+ export const Kind = 'ARC#HttpProjectListItem';
2
+ /**
3
+ * The HTTP Project definition to be used in lists.
4
+ */
5
+ export interface IHttpProjectListItem {
6
+ /**
7
+ * The data store key of the project.
8
+ */
9
+ key: string;
10
+ /**
11
+ * Project's name
12
+ */
13
+ name: string;
14
+ /**
15
+ * Whether the project is one of the favourites.
16
+ * May be used by an UI to add projects to favourites.
17
+ */
18
+ favourite?: boolean;
19
+ /**
20
+ * The timestamp when the project was last updated.
21
+ */
22
+ updated: number;
23
+ }
@@ -0,0 +1,124 @@
1
+ import { SerializablePayload } from './SerializablePayload.js';
2
+ import { Payload } from '../lib/transformers/PayloadSerializer.js';
3
+
4
+ export const Kind = 'ARC#HttpRequest';
5
+
6
+ export interface IBaseHttpRequest {
7
+ /**
8
+ * The request URL
9
+ */
10
+ url: string;
11
+ /**
12
+ * HTTP method name
13
+ * Defaults to "GET".
14
+ */
15
+ method?: string;
16
+ /**
17
+ * HTTP headers string
18
+ */
19
+ headers?: string;
20
+ /**
21
+ * The request payload.
22
+ */
23
+ payload?: Payload;
24
+ }
25
+
26
+ /**
27
+ * The most basic HTTP request.
28
+ */
29
+ export interface IHttpRequest extends IBaseHttpRequest {
30
+ kind?: string;
31
+ }
32
+
33
+ /**
34
+ * The base model of an HTTP request.
35
+ *
36
+ * **Note about the payload.**
37
+ *
38
+ * The payload is **always** stored in the request object in its serialized form.
39
+ * Use the `readPayload()` to read the correct data type and the `writePayload()` to
40
+ * safely store the payload.
41
+ */
42
+ export class HttpRequest extends SerializablePayload {
43
+ kind = Kind;
44
+ /**
45
+ * The request URL
46
+ */
47
+ url = '';
48
+ /**
49
+ * HTTP method name.
50
+ * Defaults to "GET".
51
+ */
52
+ method = 'GET';
53
+ /**
54
+ * HTTP headers string
55
+ */
56
+ headers?: string;
57
+
58
+ static fromBaseValues(values: IBaseHttpRequest): HttpRequest {
59
+ return new HttpRequest({
60
+ ...values,
61
+ kind: Kind,
62
+ });
63
+ }
64
+
65
+ /**
66
+ * @param input The request definition used to restore the state.
67
+ */
68
+ constructor(input?: string | IHttpRequest) {
69
+ super();
70
+ let init: IHttpRequest;
71
+ if (typeof input === 'string') {
72
+ init = JSON.parse(input);
73
+ } else if (typeof input === 'object') {
74
+ init = input;
75
+ } else {
76
+ init = {
77
+ kind: Kind,
78
+ url: '',
79
+ method: 'GET',
80
+ };
81
+ }
82
+ this.new(init);
83
+ }
84
+
85
+ /**
86
+ * Creates a new request clearing anything that is so far defined.
87
+ *
88
+ * Note, this throws an error when the object is not an ARC request.
89
+ */
90
+ new(init: IHttpRequest): void {
91
+ const { url, method='GET', headers, payload, kind = Kind } = init;
92
+ this.kind = kind;
93
+ this.url = url;
94
+ this.method = method;
95
+ this.headers = headers;
96
+ this.payload = payload;
97
+ }
98
+
99
+ /**
100
+ * Checks whether the input is a definition of an HTTP request.
101
+ */
102
+ static isHttpRequest(input: unknown): boolean {
103
+ const typed = input as IHttpRequest;
104
+ if (!input || typed.kind !== Kind) {
105
+ return false;
106
+ }
107
+ return true;
108
+ }
109
+
110
+ toJSON(): IHttpRequest {
111
+ const result: IHttpRequest = {
112
+ kind: this.kind,
113
+ url: this.url,
114
+ method: this.method,
115
+ };
116
+ if (this.headers) {
117
+ result.headers = this.headers;
118
+ }
119
+ if (this.payload) {
120
+ result.payload = this.payload;
121
+ }
122
+ return result;
123
+ }
124
+ }
@@ -0,0 +1,143 @@
1
+ import { SerializablePayload } from './SerializablePayload.js';
2
+ import { Payload, PayloadSerializer } from '../lib/transformers/PayloadSerializer.js';
3
+ import { HTTPResponse as LegacyHttpResponse } from './legacy/request/ArcResponse.js';
4
+ import { Normalizer } from './legacy/Normalizer.js';
5
+
6
+ export const Kind = 'ARC#HttpResponse';
7
+
8
+ export interface IHttpResponse {
9
+ kind?: string;
10
+ /**
11
+ * The response status code
12
+ */
13
+ status: number;
14
+ /**
15
+ * The reason part of the status message
16
+ */
17
+ statusText?: string;
18
+ /**
19
+ * The response headers
20
+ */
21
+ headers?: string;
22
+ /**
23
+ * The response message
24
+ */
25
+ payload?: Payload;
26
+ }
27
+
28
+ export class HttpResponse extends SerializablePayload {
29
+ kind = Kind;
30
+ /**
31
+ * The response status code
32
+ */
33
+ status = 0;
34
+ /**
35
+ * The reason part of the status message
36
+ */
37
+ statusText?: string;
38
+ /**
39
+ * The response headers
40
+ */
41
+ headers?: string;
42
+
43
+ static fromValues(status: number, statusText?: string, headers?: string): HttpResponse {
44
+ return new HttpResponse({
45
+ kind: Kind,
46
+ status,
47
+ statusText,
48
+ headers,
49
+ });
50
+ }
51
+
52
+ static async fromLegacy(response: LegacyHttpResponse): Promise<HttpResponse> {
53
+ const init: IHttpResponse = {
54
+ kind: Kind,
55
+ status: response.status || 0,
56
+ };
57
+ if (response.statusText) {
58
+ init.statusText = response.statusText;
59
+ }
60
+ if (response.headers) {
61
+ init.headers = response.headers;
62
+ }
63
+ if (response.payload) {
64
+ const orig = Normalizer.restoreTransformedPayload(response.payload);
65
+ if (orig) {
66
+ init.payload = await PayloadSerializer.serialize(orig);
67
+ }
68
+ }
69
+ return new HttpResponse(init);
70
+ }
71
+
72
+ /**
73
+ * @param input The response definition used to restore the state.
74
+ */
75
+ constructor(input?: string|IHttpResponse) {
76
+ super();
77
+ let init: IHttpResponse;
78
+ if (typeof input === 'string') {
79
+ init = JSON.parse(input);
80
+ } else if (typeof input === 'object') {
81
+ init = input;
82
+ } else {
83
+ init = {
84
+ kind: Kind,
85
+ status: 0,
86
+ };
87
+ }
88
+ this.new(init);
89
+ }
90
+
91
+ /**
92
+ * Creates a new response clearing anything that is so far defined.
93
+ *
94
+ * Note, this throws an error when the object is not an ARC response.
95
+ */
96
+ new(init: IHttpResponse): void {
97
+ if (!HttpResponse.isHttpResponse(init)) {
98
+ throw new Error(`Not an ARC response.`);
99
+ }
100
+ const { status, statusText, headers, payload, kind=Kind } = init;
101
+ this.kind = kind;
102
+ this.status = status;
103
+ this.statusText = statusText;
104
+ this.headers = headers;
105
+ this.payload = payload;
106
+ }
107
+
108
+ /**
109
+ * Checks whether the input is a definition of an HTTP response.
110
+ */
111
+ static isHttpResponse(input: unknown): boolean {
112
+ const typed = input as IHttpResponse;
113
+ if (!input || typeof typed.status !== 'number') {
114
+ return false;
115
+ }
116
+ return true;
117
+ }
118
+
119
+ toJSON(): IHttpResponse {
120
+ const result: IHttpResponse = {
121
+ kind: this.kind,
122
+ status: this.status,
123
+ };
124
+ if (this.statusText) {
125
+ result.statusText = this.statusText;
126
+ }
127
+ if (this.headers) {
128
+ result.headers = this.headers;
129
+ }
130
+ if (this.payload) {
131
+ result.payload = this.payload;
132
+ }
133
+ return result;
134
+ }
135
+
136
+ /**
137
+ * A shortcut function to create an instance from a response object and to read the payload of it as string.
138
+ */
139
+ static readPayloadAsString(info: IHttpResponse): Promise<string | undefined> {
140
+ const request = new HttpResponse(info);
141
+ return request.readPayloadAsString();
142
+ }
143
+ }
@@ -0,0 +1,113 @@
1
+ export const Kind = 'ARC#License';
2
+
3
+ export interface ILicense {
4
+ kind: 'ARC#License'
5
+ /**
6
+ * The URL to the license text.
7
+ * Only `url` or `content` can be used at a time.
8
+ */
9
+ url?: string;
10
+ /**
11
+ * The name of the license.
12
+ */
13
+ name?: string;
14
+ /**
15
+ * The content of the license.
16
+ * Only `url` or `content` can be used at a time.
17
+ */
18
+ content?: string;
19
+ }
20
+
21
+ export class License {
22
+ kind = Kind;
23
+ /**
24
+ * The URL to the license text.
25
+ * Only `url` or `content` can be used at a time.
26
+ */
27
+ url?: string;
28
+ /**
29
+ * The name of the license.
30
+ */
31
+ name?: string;
32
+ /**
33
+ * The content of the license.
34
+ * Only `url` or `content` can be used at a time.
35
+ */
36
+ content?: string;
37
+
38
+ static fromUrl(url: string, name?: string): License {
39
+ return new License({
40
+ kind: Kind,
41
+ url,
42
+ name,
43
+ });
44
+ }
45
+
46
+ static fromContent(content: string, name?: string): License {
47
+ return new License({
48
+ kind: Kind,
49
+ content,
50
+ name,
51
+ });
52
+ }
53
+
54
+ /**
55
+ * @param input The license definition used to restore the state.
56
+ */
57
+ constructor(input?: string|ILicense) {
58
+ let init: ILicense;
59
+ if (typeof input === 'string') {
60
+ init = JSON.parse(input);
61
+ } else if (typeof input === 'object') {
62
+ init = input;
63
+ } else {
64
+ init = {
65
+ kind: Kind,
66
+ };
67
+ }
68
+ this.new(init);
69
+ }
70
+
71
+ /**
72
+ * Creates a new license clearing anything that is so far defined.
73
+ *
74
+ * Note, this throws an error when the license is not an ARC license object.
75
+ */
76
+ new(init: ILicense): void {
77
+ if (!License.isLicense(init)) {
78
+ throw new Error(`Not an ARC license.`);
79
+ }
80
+ const { url, content, name } = init;
81
+ this.kind = Kind;
82
+ this.name = name;
83
+ this.content = content;
84
+ this.url = url;
85
+ }
86
+
87
+ /**
88
+ * Checks whether the input is a definition of a license.
89
+ */
90
+ static isLicense(input: unknown): boolean {
91
+ const typed = input as ILicense;
92
+ if (typed && typed.kind === Kind) {
93
+ return true;
94
+ }
95
+ return false;
96
+ }
97
+
98
+ toJSON(): ILicense {
99
+ const result: ILicense = {
100
+ kind: Kind,
101
+ };
102
+ if (this.name) {
103
+ result.name = this.name;
104
+ }
105
+ if (this.url) {
106
+ result.url = this.url;
107
+ }
108
+ if (this.content) {
109
+ result.content = this.content;
110
+ }
111
+ return result;
112
+ }
113
+ }
@@ -0,0 +1,40 @@
1
+ import { HttpProject } from './HttpProject.js';
2
+ import { ProjectFolder } from './ProjectFolder.js';
3
+
4
+ export interface IProjectDefinitionProperty {
5
+ kind: unknown;
6
+ key: string;
7
+ }
8
+
9
+ export interface ProjectDefinitionProperty {
10
+ kind: unknown;
11
+ key: string;
12
+
13
+ /**
14
+ * A reference to the top level project object. Not set in the `HttpProject`. Otherwise it is always set.
15
+ */
16
+ project?: HttpProject;
17
+
18
+ /**
19
+ * The callback called when the object is attached to a parent.
20
+ * This is called when the object is created and inserted to a project or a folder
21
+ * and when the object is moved between folders.
22
+ */
23
+ attachedCallback(): void;
24
+
25
+ /**
26
+ * The callback called when the object is detached from its parent.
27
+ * This callback is called when the item is deleted from a folder or a project,
28
+ * or when the item is about to be moved to another folder.
29
+ */
30
+ detachedCallback(): void;
31
+
32
+ /**
33
+ * @returns The instance of the HttpProject or a ProjectFolder that is a closes parent of this instance.
34
+ */
35
+ getParent(): ProjectFolder|HttpProject|undefined;
36
+ /**
37
+ * @returns A reference to the parent folder or the top-level HTTP project.
38
+ */
39
+ getProject(): HttpProject;
40
+ }