@api-client/core 0.3.3 → 0.3.6

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 (259) hide show
  1. package/build/browser.d.ts +3 -0
  2. package/build/browser.js +9 -0
  3. package/build/browser.js.map +1 -1
  4. package/build/index.d.ts +11 -2
  5. package/build/index.js +20 -2
  6. package/build/index.js.map +1 -1
  7. package/build/src/lib/fs/Fs.d.ts +52 -0
  8. package/build/src/lib/fs/Fs.js +245 -0
  9. package/build/src/lib/fs/Fs.js.map +1 -0
  10. package/build/src/lib/timers/Timers.d.ts +5 -0
  11. package/build/src/lib/timers/Timers.js +10 -0
  12. package/build/src/lib/timers/Timers.js.map +1 -0
  13. package/build/src/mocking/ProjectMock.d.ts +13 -0
  14. package/build/src/mocking/ProjectMock.js +16 -0
  15. package/build/src/mocking/ProjectMock.js.map +1 -0
  16. package/build/src/mocking/lib/Request.d.ts +32 -0
  17. package/build/src/mocking/lib/Request.js +63 -0
  18. package/build/src/mocking/lib/Request.js.map +1 -0
  19. package/build/src/mocking/lib/Response.d.ts +33 -0
  20. package/build/src/mocking/lib/Response.js +79 -0
  21. package/build/src/mocking/lib/Response.js.map +1 -0
  22. package/build/src/models/ErrorResponse.d.ts +5 -4
  23. package/build/src/models/ErrorResponse.js +18 -5
  24. package/build/src/models/ErrorResponse.js.map +1 -1
  25. package/build/src/models/SerializableError.d.ts +30 -0
  26. package/build/src/models/SerializableError.js +63 -0
  27. package/build/src/models/SerializableError.js.map +1 -0
  28. package/build/src/runtime/http-engine/ArcEngine.js +8 -4
  29. package/build/src/runtime/http-engine/ArcEngine.js.map +1 -1
  30. package/build/src/runtime/http-engine/HttpEngine.d.ts +3 -3
  31. package/build/src/runtime/http-engine/HttpEngine.js +3 -3
  32. package/build/src/runtime/http-engine/HttpEngine.js.map +1 -1
  33. package/build/src/runtime/http-engine/NodeEngine.js +9 -4
  34. package/build/src/runtime/http-engine/NodeEngine.js.map +1 -1
  35. package/build/src/runtime/http-engine/NodeEngineDirect.js +8 -2
  36. package/build/src/runtime/http-engine/NodeEngineDirect.js.map +1 -1
  37. package/build/src/runtime/node/BaseRunner.d.ts +21 -0
  38. package/build/src/runtime/node/BaseRunner.js +27 -0
  39. package/build/src/runtime/node/BaseRunner.js.map +1 -0
  40. package/build/src/runtime/node/ProjectParallelRunner.d.ts +81 -0
  41. package/build/src/runtime/node/ProjectParallelRunner.js +173 -0
  42. package/build/src/runtime/node/ProjectParallelRunner.js.map +1 -0
  43. package/build/src/runtime/node/ProjectRequestRunner.d.ts +125 -0
  44. package/build/src/runtime/node/ProjectRequestRunner.js +185 -0
  45. package/build/src/runtime/node/ProjectRequestRunner.js.map +1 -0
  46. package/build/src/runtime/node/ProjectRunner.d.ts +166 -64
  47. package/build/src/runtime/node/ProjectRunner.js +191 -139
  48. package/build/src/runtime/node/ProjectRunner.js.map +1 -1
  49. package/build/src/runtime/node/ProjectRunnerWorker.d.ts +1 -0
  50. package/build/src/runtime/node/ProjectRunnerWorker.js +58 -0
  51. package/build/src/runtime/node/ProjectRunnerWorker.js.map +1 -0
  52. package/build/src/runtime/node/ProjectSerialRunner.d.ts +11 -0
  53. package/build/src/runtime/node/ProjectSerialRunner.js +34 -0
  54. package/build/src/runtime/node/ProjectSerialRunner.js.map +1 -0
  55. package/build/src/runtime/reporters/ProjectRunCliReporter.d.ts +7 -0
  56. package/build/src/runtime/reporters/ProjectRunCliReporter.js +73 -0
  57. package/build/src/runtime/reporters/ProjectRunCliReporter.js.map +1 -0
  58. package/build/src/runtime/reporters/Reporter.d.ts +62 -0
  59. package/build/src/runtime/reporters/Reporter.js +98 -0
  60. package/build/src/runtime/reporters/Reporter.js.map +1 -0
  61. package/build/src/testing/TestCliHelper.d.ts +23 -0
  62. package/build/src/testing/TestCliHelper.js +71 -0
  63. package/build/src/testing/TestCliHelper.js.map +1 -0
  64. package/build/src/testing/getPort.d.ts +52 -0
  65. package/build/src/testing/getPort.js +169 -0
  66. package/build/src/testing/getPort.js.map +1 -0
  67. package/package.json +2 -1
  68. package/src/data/DataReader.ts +11 -0
  69. package/src/data/DataUtils.ts +108 -0
  70. package/src/data/JmesparthReader.ts +26 -0
  71. package/src/data/Json2Xml.ts +190 -0
  72. package/src/data/JsonReader.ts +41 -0
  73. package/src/data/PayloadPointer.ts +48 -0
  74. package/src/data/RequestDataExtractor.ts +133 -0
  75. package/src/data/UrlEncodedReader.ts +20 -0
  76. package/src/data/XmlReader.ts +103 -0
  77. package/src/events/BaseEvents.ts +259 -0
  78. package/src/events/CustomEvent.ts +27 -0
  79. package/src/events/EventTypes.ts +19 -0
  80. package/src/events/Events.ts +19 -0
  81. package/src/events/authorization/AuthorizationEventTypes.ts +22 -0
  82. package/src/events/authorization/AuthorizationEvents.ts +61 -0
  83. package/src/events/cookies/CookieEventTypes.ts +13 -0
  84. package/src/events/cookies/CookieEvents.ts +157 -0
  85. package/src/events/encryption/EncryptionEventTypes.ts +4 -0
  86. package/src/events/encryption/EncryptionEvents.ts +51 -0
  87. package/src/events/environment/EnvironmentEventTypes.ts +3 -0
  88. package/src/events/environment/EnvironmentEvents.ts +24 -0
  89. package/src/events/models/ClientCertificateEvents.ts +87 -0
  90. package/src/events/models/ModelEventTypes.ts +47 -0
  91. package/src/events/models/ModelEvents.ts +7 -0
  92. package/src/events/models/ProjectEvents.ts +331 -0
  93. package/src/events/process/ProcessEventTypes.ts +5 -0
  94. package/src/events/process/ProcessEvents.ts +76 -0
  95. package/src/events/readme.md +22 -0
  96. package/src/events/reporting/ReportingEventTypes.ts +3 -0
  97. package/src/events/reporting/ReportingEvents.ts +28 -0
  98. package/src/events/telemetry/TelemetryEventTypes.ts +10 -0
  99. package/src/events/telemetry/TelemetryEvents.ts +156 -0
  100. package/src/lib/cookies/Cookie.ts +312 -0
  101. package/src/lib/cookies/Cookies.ts +326 -0
  102. package/src/lib/cookies/Utils.ts +168 -0
  103. package/src/lib/fs/Fs.ts +258 -0
  104. package/src/lib/headers/Headers.ts +219 -0
  105. package/src/lib/logging/DefaultLogger.ts +19 -0
  106. package/src/lib/logging/DummyLogger.ts +21 -0
  107. package/src/lib/logging/Logger.ts +16 -0
  108. package/src/lib/timers/Timers.ts +9 -0
  109. package/src/lib/transformers/PayloadSerializer.ts +332 -0
  110. package/src/lib/transformers/Utils.ts +18 -0
  111. package/src/lib/uuid.ts +40 -0
  112. package/src/mocking/LegacyInterfaces.ts +52 -0
  113. package/src/mocking/LegacyMock.ts +37 -0
  114. package/src/mocking/ProjectMock.ts +20 -0
  115. package/src/mocking/legacy/Authorization.ts +39 -0
  116. package/src/mocking/legacy/Certificates.ts +145 -0
  117. package/src/mocking/legacy/Cookies.ts +51 -0
  118. package/src/mocking/legacy/HostRules.ts +43 -0
  119. package/src/mocking/legacy/Http.ts +236 -0
  120. package/src/mocking/legacy/HttpResponse.ts +106 -0
  121. package/src/mocking/legacy/RestApi.ts +68 -0
  122. package/src/mocking/legacy/Urls.ts +44 -0
  123. package/src/mocking/legacy/Variables.ts +53 -0
  124. package/src/mocking/lib/Request.ts +85 -0
  125. package/src/mocking/lib/Response.ts +101 -0
  126. package/src/models/ArcResponse.ts +166 -0
  127. package/src/models/Authorization.ts +481 -0
  128. package/src/models/AuthorizationData.ts +60 -0
  129. package/src/models/Backend.ts +107 -0
  130. package/src/models/ClientCertificate.ts +68 -0
  131. package/src/models/Environment.ts +279 -0
  132. package/src/models/ErrorResponse.ts +113 -0
  133. package/src/models/HistoryIndex.ts +76 -0
  134. package/src/models/HistoryRequest.ts +28 -0
  135. package/src/models/HostRule.ts +163 -0
  136. package/src/models/HttpCookie.ts +285 -0
  137. package/src/models/HttpProject.ts +1294 -0
  138. package/src/models/HttpProjectListItem.ts +23 -0
  139. package/src/models/HttpRequest.ts +124 -0
  140. package/src/models/HttpResponse.ts +143 -0
  141. package/src/models/License.ts +113 -0
  142. package/src/models/ProjectDefinitionProperty.ts +40 -0
  143. package/src/models/ProjectFolder.ts +439 -0
  144. package/src/models/ProjectItem.ts +135 -0
  145. package/src/models/ProjectParent.ts +113 -0
  146. package/src/models/ProjectRequest.ts +277 -0
  147. package/src/models/ProjectSchema.ts +202 -0
  148. package/src/models/Property.ts +423 -0
  149. package/src/models/Provider.ts +98 -0
  150. package/src/models/README.md +20 -0
  151. package/src/models/Request.ts +452 -0
  152. package/src/models/RequestActions.ts +163 -0
  153. package/src/models/RequestAuthorization.ts +115 -0
  154. package/src/models/RequestConfig.ts +317 -0
  155. package/src/models/RequestLog.ts +159 -0
  156. package/src/models/RequestTime.ts +108 -0
  157. package/src/models/RequestUiMeta.ts +258 -0
  158. package/src/models/RequestsSize.ts +65 -0
  159. package/src/models/ResponseAuthorization.ts +104 -0
  160. package/src/models/ResponseRedirect.ts +158 -0
  161. package/src/models/RevisionInfo.ts +37 -0
  162. package/src/models/SentRequest.ts +125 -0
  163. package/src/models/SerializableError.ts +80 -0
  164. package/src/models/SerializablePayload.ts +68 -0
  165. package/src/models/Server.ts +153 -0
  166. package/src/models/Thing.ts +110 -0
  167. package/src/models/Url.ts +90 -0
  168. package/src/models/User.ts +120 -0
  169. package/src/models/WebApi.ts +234 -0
  170. package/src/models/WebApiIndex.ts +122 -0
  171. package/src/models/Workspace.ts +182 -0
  172. package/src/models/actions/Action.ts +213 -0
  173. package/src/models/actions/ActionView.ts +40 -0
  174. package/src/models/actions/Condition.ts +207 -0
  175. package/src/models/actions/ConditionView.ts +42 -0
  176. package/src/models/actions/Enums.ts +29 -0
  177. package/src/models/actions/RunnableAction.ts +144 -0
  178. package/src/models/actions/runnable/DeleteCookieAction.ts +113 -0
  179. package/src/models/actions/runnable/Runnable.ts +9 -0
  180. package/src/models/actions/runnable/SetCookieAction.ts +216 -0
  181. package/src/models/actions/runnable/SetVariableAction.ts +81 -0
  182. package/src/models/legacy/DataExport.ts +172 -0
  183. package/src/models/legacy/Normalizer.ts +110 -0
  184. package/src/models/legacy/actions/Actions.ts +269 -0
  185. package/src/models/legacy/authorization/Authorization.ts +572 -0
  186. package/src/models/legacy/models/ApiTypes.ts +202 -0
  187. package/src/models/legacy/models/ArcLegacyProject.ts +39 -0
  188. package/src/models/legacy/models/AuthData.ts +17 -0
  189. package/src/models/legacy/models/ClientCertificate.ts +95 -0
  190. package/src/models/legacy/models/Cookies.ts +52 -0
  191. package/src/models/legacy/models/HostRule.ts +35 -0
  192. package/src/models/legacy/models/RestApi.ts +49 -0
  193. package/src/models/legacy/models/UrlHistory.ts +37 -0
  194. package/src/models/legacy/models/Variable.ts +43 -0
  195. package/src/models/legacy/models/base.d.ts +95 -0
  196. package/src/models/legacy/request/ArcRequest.ts +405 -0
  197. package/src/models/legacy/request/ArcResponse.ts +177 -0
  198. package/src/models/legacy/request/HistoryData.ts +47 -0
  199. package/src/models/legacy/request/Legacy.ts +45 -0
  200. package/src/models/legacy/request/RequestBody.ts +87 -0
  201. package/src/models/transformers/ArcDexieTransformer.ts +323 -0
  202. package/src/models/transformers/ArcLegacyNormalizer.ts +85 -0
  203. package/src/models/transformers/ArcLegacyTransformer.ts +200 -0
  204. package/src/models/transformers/ArcPouchTransformer.ts +184 -0
  205. package/src/models/transformers/BaseTransformer.ts +116 -0
  206. package/src/models/transformers/ImportUtils.ts +141 -0
  207. package/src/models/transformers/LegacyDataExportToApiProject.ts +76 -0
  208. package/src/models/transformers/LegacyExportProcessor.ts +252 -0
  209. package/src/models/transformers/PostmanBackupTransformer.ts +306 -0
  210. package/src/models/transformers/PostmanDataTransformer.ts +50 -0
  211. package/src/models/transformers/PostmanTransformer.ts +106 -0
  212. package/src/models/transformers/PostmanV21Transformer.ts +311 -0
  213. package/src/models/transformers/PostmanV2Transformer.ts +308 -0
  214. package/src/models/transformers/har.ts +865 -0
  215. package/src/runtime/actions/ActionRunner.ts +83 -0
  216. package/src/runtime/actions/ConditionRunner.ts +194 -0
  217. package/src/runtime/actions/RunnableCondition.ts +57 -0
  218. package/src/runtime/actions/runnable/ActionRunnable.ts +19 -0
  219. package/src/runtime/actions/runnable/DeleteCookieRunnable.ts +39 -0
  220. package/src/runtime/actions/runnable/SetCookieRunnable.ts +92 -0
  221. package/src/runtime/actions/runnable/SetVariableRunnable.ts +53 -0
  222. package/src/runtime/http-engine/ArcEngine.ts +1068 -0
  223. package/src/runtime/http-engine/FormData.ts +85 -0
  224. package/src/runtime/http-engine/HttpEngine.ts +874 -0
  225. package/src/runtime/http-engine/HttpErrorCodes.ts +270 -0
  226. package/src/runtime/http-engine/NodeEngine.ts +792 -0
  227. package/src/runtime/http-engine/NodeEngineDirect.ts +482 -0
  228. package/src/runtime/http-engine/PayloadSupport.ts +84 -0
  229. package/src/runtime/http-engine/RequestUtils.ts +164 -0
  230. package/src/runtime/http-engine/ntlm/Des.ts +345 -0
  231. package/src/runtime/http-engine/ntlm/MD4.ts +135 -0
  232. package/src/runtime/http-engine/ntlm/NtlmAuth.ts +186 -0
  233. package/src/runtime/http-engine/ntlm/NtlmMessage.ts +57 -0
  234. package/src/runtime/modules/BasicAuthCache.ts +133 -0
  235. package/src/runtime/modules/ExecutionResponse.ts +4 -0
  236. package/src/runtime/modules/ModulesRegistry.ts +136 -0
  237. package/src/runtime/modules/RequestAuthorization.ts +110 -0
  238. package/src/runtime/modules/RequestCookies.ts +145 -0
  239. package/src/runtime/node/BaseRunner.ts +29 -0
  240. package/src/runtime/node/ProjectParallelRunner.ts +234 -0
  241. package/src/runtime/node/ProjectRequestRunner.ts +281 -0
  242. package/src/runtime/node/ProjectRunner.ts +374 -0
  243. package/src/runtime/node/ProjectRunnerWorker.ts +62 -0
  244. package/src/runtime/node/ProjectSerialRunner.ts +36 -0
  245. package/src/runtime/node/RequestFactory.ts +422 -0
  246. package/src/runtime/node/VariablesStore.ts +25 -0
  247. package/src/runtime/reporters/ProjectRunCliReporter.ts +79 -0
  248. package/src/runtime/reporters/Reporter.ts +142 -0
  249. package/src/runtime/store/StoreSdk.ts +838 -0
  250. package/src/runtime/variables/Cache.ts +53 -0
  251. package/src/runtime/variables/EvalFunctions.ts +132 -0
  252. package/src/runtime/variables/ProjectVariables.ts +6 -0
  253. package/src/runtime/variables/VariablesProcessor.ts +543 -0
  254. package/src/runtime/variables/VariablesTokenizer.ts +55 -0
  255. package/src/testing/TestCliHelper.ts +76 -0
  256. package/src/testing/getPort.ts +212 -0
  257. package/build/src/runtime/http-engine/Errors.d.ts +0 -10
  258. package/build/src/runtime/http-engine/Errors.js +0 -14
  259. package/build/src/runtime/http-engine/Errors.js.map +0 -1
@@ -32,6 +32,7 @@ export { ResponseAuthorization, IResponseAuthorization, Kind as ResponseAuthoriz
32
32
  export { ResponseRedirect, IResponseRedirect, Kind as ResponseRedirectKind } from './src/models/ResponseRedirect.js';
33
33
  export { IRevisionInfo, Kind as RevisionInfoKind } from './src/models/RevisionInfo.js';
34
34
  export { ISentRequest, SentRequest, IBaseSentRequest } from './src/models/SentRequest.js';
35
+ export { SerializableError, ISerializedError } from './src/models/SerializableError.js';
35
36
  export { SerializablePayload } from './src/models/SerializablePayload.js';
36
37
  export { Server, IServer, Kind as ServerKind } from './src/models/Server.js';
37
38
  export { Thing, IThing, Kind as ThingKind } from './src/models/Thing.js';
@@ -56,6 +57,8 @@ export { JmesparthReader } from './src/data/JmesparthReader.js';
56
57
  export { XmlReader } from './src/data/XmlReader.js';
57
58
  export { UrlEncodedReader } from './src/data/UrlEncodedReader.js';
58
59
  export { RequestDataExtractor } from './src/data/RequestDataExtractor.js';
60
+ export { Reporter, IProjectExecutionLog, IProjectExecutionIteration } from './src/runtime/reporters/Reporter.js';
61
+ export * from './src/mocking/ProjectMock.js';
59
62
  export { Events } from './src/events/Events.js';
60
63
  export { EventTypes } from './src/events/EventTypes.js';
61
64
  export * from './src/events/BaseEvents.js';
package/build/browser.js CHANGED
@@ -33,6 +33,7 @@ export { ResponseAuthorization, Kind as ResponseAuthorizationKind } from './src/
33
33
  export { ResponseRedirect, Kind as ResponseRedirectKind } from './src/models/ResponseRedirect.js';
34
34
  export { Kind as RevisionInfoKind } from './src/models/RevisionInfo.js';
35
35
  export { SentRequest } from './src/models/SentRequest.js';
36
+ export { SerializableError } from './src/models/SerializableError.js';
36
37
  export { SerializablePayload } from './src/models/SerializablePayload.js';
37
38
  export { Server, Kind as ServerKind } from './src/models/Server.js';
38
39
  export { Thing, Kind as ThingKind } from './src/models/Thing.js';
@@ -67,6 +68,14 @@ export { XmlReader } from './src/data/XmlReader.js';
67
68
  export { UrlEncodedReader } from './src/data/UrlEncodedReader.js';
68
69
  export { RequestDataExtractor } from './src/data/RequestDataExtractor.js';
69
70
  //
71
+ // Execution reporters
72
+ //
73
+ export { Reporter } from './src/runtime/reporters/Reporter.js';
74
+ //
75
+ // Mocking
76
+ //
77
+ export * from './src/mocking/ProjectMock.js';
78
+ //
70
79
  // Events
71
80
  //
72
81
  export { Events } from './src/events/Events.js';
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../browser.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -32,6 +32,7 @@ export { ResponseAuthorization, IResponseAuthorization, Kind as ResponseAuthoriz
32
32
  export { ResponseRedirect, IResponseRedirect, Kind as ResponseRedirectKind } from './src/models/ResponseRedirect.js';
33
33
  export { IRevisionInfo, Kind as RevisionInfoKind } from './src/models/RevisionInfo.js';
34
34
  export { ISentRequest, SentRequest, IBaseSentRequest } from './src/models/SentRequest.js';
35
+ export { SerializableError, ISerializedError } from './src/models/SerializableError.js';
35
36
  export { SerializablePayload } from './src/models/SerializablePayload.js';
36
37
  export { Server, IServer, Kind as ServerKind } from './src/models/Server.js';
37
38
  export { Thing, IThing, Kind as ThingKind } from './src/models/Thing.js';
@@ -49,13 +50,18 @@ export { Cookie, CookieOptions } from './src/lib/cookies/Cookie.js';
49
50
  export { Cookies } from './src/lib/cookies/Cookies.js';
50
51
  export * as TransformerUtils from './src/lib/transformers/Utils.js';
51
52
  export { default as uuidV4 } from './src/lib/uuid.js';
53
+ export * as fs from './src/lib/fs/Fs.js';
52
54
  export { VariablesProcessor } from './src/runtime/variables/VariablesProcessor.js';
53
- export { ProjectRunner } from './src/runtime/node/ProjectRunner.js';
55
+ export { ProjectRequestRunner } from './src/runtime/node/ProjectRequestRunner.js';
54
56
  export { RequestFactory } from './src/runtime/node/RequestFactory.js';
55
57
  export { VariablesStore } from './src/runtime/node/VariablesStore.js';
58
+ export { ProjectSerialRunner } from './src/runtime/node/ProjectSerialRunner.js';
59
+ export { ProjectParallelRunner, IWorkerInfo } from './src/runtime/node/ProjectParallelRunner.js';
60
+ export { IProjectRunnerOptions, ProjectRunner } from './src/runtime/node/ProjectRunner.js';
61
+ export { Reporter, IProjectExecutionLog, IProjectExecutionIteration } from './src/runtime/reporters/Reporter.js';
62
+ export { ProjectRunCliReporter } from './src/runtime/reporters/ProjectRunCliReporter.js';
56
63
  export { HttpEngine, HttpEngineOptions, RequestStats, HeadersReceivedDetail, BeforeRedirectDetail, ResponseErrorInit, IRequestAuthState } from './src/runtime/http-engine/HttpEngine.js';
57
64
  export { ArcEngine, RequestState } from './src/runtime/http-engine/ArcEngine.js';
58
- export { NetError } from './src/runtime/http-engine/Errors.js';
59
65
  export { PayloadPointer } from './src/data/PayloadPointer.js';
60
66
  export { JsonReader } from './src/data/JsonReader.js';
61
67
  export { JmesparthReader } from './src/data/JmesparthReader.js';
@@ -63,6 +69,9 @@ export { XmlReader } from './src/data/XmlReader.js';
63
69
  export { UrlEncodedReader } from './src/data/UrlEncodedReader.js';
64
70
  export { RequestDataExtractor } from './src/data/RequestDataExtractor.js';
65
71
  export { StoreSdk, IStoreTokenInfo } from './src/runtime/store/StoreSdk.js';
72
+ export * from './src/testing/TestCliHelper.js';
73
+ export * from './src/testing/getPort.js';
74
+ export * from './src/mocking/ProjectMock.js';
66
75
  export { Events } from './src/events/Events.js';
67
76
  export { EventTypes } from './src/events/EventTypes.js';
68
77
  export { ProjectMoveEventDetail, ProjectCloneEventDetail, IFolderInitOptions, IRequestInitOptions, IEnvironmentInitOptions, } from './src/events/models/ProjectEvents.js';
package/build/index.js CHANGED
@@ -33,6 +33,7 @@ export { ResponseAuthorization, Kind as ResponseAuthorizationKind } from './src/
33
33
  export { ResponseRedirect, Kind as ResponseRedirectKind } from './src/models/ResponseRedirect.js';
34
34
  export { Kind as RevisionInfoKind } from './src/models/RevisionInfo.js';
35
35
  export { SentRequest } from './src/models/SentRequest.js';
36
+ export { SerializableError } from './src/models/SerializableError.js';
36
37
  export { SerializablePayload } from './src/models/SerializablePayload.js';
37
38
  export { Server, Kind as ServerKind } from './src/models/Server.js';
38
39
  export { Thing, Kind as ThingKind } from './src/models/Thing.js';
@@ -53,19 +54,27 @@ export { Cookie } from './src/lib/cookies/Cookie.js';
53
54
  export { Cookies } from './src/lib/cookies/Cookies.js';
54
55
  export * as TransformerUtils from './src/lib/transformers/Utils.js';
55
56
  export { default as uuidV4 } from './src/lib/uuid.js';
57
+ export * as fs from './src/lib/fs/Fs.js';
56
58
  //
57
59
  // Runtime
58
60
  //
59
61
  export { VariablesProcessor } from './src/runtime/variables/VariablesProcessor.js';
60
- export { ProjectRunner } from './src/runtime/node/ProjectRunner.js';
62
+ export { ProjectRequestRunner } from './src/runtime/node/ProjectRequestRunner.js';
61
63
  export { RequestFactory } from './src/runtime/node/RequestFactory.js';
62
64
  export { VariablesStore } from './src/runtime/node/VariablesStore.js';
65
+ export { ProjectSerialRunner } from './src/runtime/node/ProjectSerialRunner.js';
66
+ export { ProjectParallelRunner } from './src/runtime/node/ProjectParallelRunner.js';
67
+ export { ProjectRunner } from './src/runtime/node/ProjectRunner.js';
68
+ //
69
+ // Execution reporters
70
+ //
71
+ export { Reporter } from './src/runtime/reporters/Reporter.js';
72
+ export { ProjectRunCliReporter } from './src/runtime/reporters/ProjectRunCliReporter.js';
63
73
  //
64
74
  // HTTP engine
65
75
  //
66
76
  export { HttpEngine } from './src/runtime/http-engine/HttpEngine.js';
67
77
  export { ArcEngine, RequestState } from './src/runtime/http-engine/ArcEngine.js';
68
- export { NetError } from './src/runtime/http-engine/Errors.js';
69
78
  //
70
79
  // Data processing
71
80
  //
@@ -80,6 +89,15 @@ export { RequestDataExtractor } from './src/data/RequestDataExtractor.js';
80
89
  //
81
90
  export { StoreSdk } from './src/runtime/store/StoreSdk.js';
82
91
  //
92
+ // Testing
93
+ //
94
+ export * from './src/testing/TestCliHelper.js';
95
+ export * from './src/testing/getPort.js';
96
+ //
97
+ // Mocking
98
+ //
99
+ export * from './src/mocking/ProjectMock.js';
100
+ //
83
101
  // Events
84
102
  //
85
103
  export { Events } from './src/events/Events.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,EAAE;AACF,SAAS;AACT,EAAE;AACF,OAAO,EAAE,WAAW,EAAgB,IAAI,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAsB,MAAM,mCAAmC,CAAC;AAG1F,OAAO,EAAE,WAAW,EAAgB,IAAI,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EAAE,aAAa,EAAkB,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAiB,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,IAAI,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAa,QAAQ,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAe,UAAU,EAA0C,MAAM,4BAA4B,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAgB,IAAI,IAAI,eAAe,EAA2J,MAAM,6BAA6B,CAAC;AAC1P,OAAO,EAAwB,IAAI,IAAI,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC5G,OAAO,EAAgB,WAAW,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EAAE,YAAY,EAAiB,IAAI,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAE,OAAO,EAAY,IAAI,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAkB,aAAa,EAAE,IAAI,IAAI,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC5H,OAAO,EAAE,WAAW,EAAgB,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAmB,cAAc,EAAE,IAAI,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAkB,IAAI,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAa,IAAI,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAa,IAAI,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,OAAO,EAAY,IAAI,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAmB,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAyB,IAAI,IAAI,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrI,OAAO,EAAE,aAAa,EAAkB,IAAI,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,UAAU,EAAe,IAAI,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAiB,IAAI,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAE,WAAW,EAAgB,IAAI,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EAAE,aAAa,EAAkB,IAAI,IAAI,iBAAiB,EAAyG,MAAM,+BAA+B,CAAC;AAChN,OAAO,EAAE,qBAAqB,EAA0B,IAAI,IAAI,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACzI,OAAO,EAAE,gBAAgB,EAAqB,IAAI,IAAI,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACrH,OAAO,EAAiB,IAAI,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAgB,WAAW,EAAoB,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAoB,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAW,IAAI,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAU,IAAI,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,GAAG,EAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAA0J,IAAI,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChN,OAAO,EAAE,MAAM,EAA2B,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAoC,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAA8B,SAAS,EAAE,IAAI,IAAI,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEvH,EAAE;AACF,OAAO;AACP,EAAE;AACF,OAAO,EAAE,iBAAiB,EAA8D,MAAM,6CAA6C,CAAC;AAC5I,OAAO,EAAW,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAiB,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEzC,EAAE;AACF,UAAU;AACV,EAAE;AACF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAe,MAAM,6CAA6C,CAAC;AACjG,OAAO,EAAyB,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAE3F,GAAG;AACH,sBAAsB;AACtB,GAAG;AACH,OAAO,EAAE,QAAQ,EAAoD,MAAM,qCAAqC,CAAC;AACjH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAEzF,GAAG;AACH,cAAc;AACd,GAAG;AACH,OAAO,EAAE,UAAU,EAAsH,MAAM,yCAAyC,CAAC;AACzL,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEjF,GAAG;AACH,kBAAkB;AAClB,GAAG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,GAAG;AACH,aAAa;AACb,GAAG;AACH,OAAO,EAAE,QAAQ,EAAmB,MAAM,iCAAiC,CAAC;AAE5E,GAAG;AACH,UAAU;AACV,GAAG;AACH,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AAEzC,GAAG;AACH,UAAU;AACV,GAAG;AACH,cAAc,8BAA8B,CAAC;AAG7C,GAAG;AACH,SAAS;AACT,GAAG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAQxD,cAAc,4BAA4B,CAAC;AA2B3C,GAAG;AACH,kBAAkB;AAClB,GAAG;AACH,OAAO,EAAE,MAAM,EAAW,IAAI,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAc,IAAI,IAAI,aAAa,EAAe,MAAM,mCAAmC,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAmB,IAAI,IAAI,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACrH,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAa,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAuB,MAAM,qDAAqD,CAAC;AAC9G,OAAO,EAAoB,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAsB,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAE/E,GAAG;AACH,kBAAkB;AAClB,GAAG;AACH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAwF,MAAM,0CAA0C,CAAC;AACrL,OAAO,KAAK,oBAAoB,MAAO,yCAAyC,CAAC;AACjF,OAAO,KAAK,0BAA0B,MAAO,+CAA+C,CAAC;AAC7F,GAAG;AACH,0BAA0B;AAC1B,GAAG;AACH,OAAO,EAAE,4BAA4B,EAAE,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC"}
@@ -0,0 +1,52 @@
1
+ export interface JsonReadOptions {
2
+ /**
3
+ * Whether it should throw an error when a reading error occurs.
4
+ */
5
+ throws?: boolean;
6
+ }
7
+ /**
8
+ * Checks whether a file exists in the location.
9
+ */
10
+ export declare function pathExists(filePath: string): Promise<boolean>;
11
+ /**
12
+ * Tests a user's permissions for the file or directory specified by filePath.
13
+ * @param filePath The path to test
14
+ * @returns True when the path can be read by the current user.
15
+ */
16
+ export declare function canRead(filePath: string): Promise<boolean>;
17
+ /**
18
+ * Tests a user's permissions for the file or directory specified by filePath.
19
+ * @param filePath The path to test
20
+ * @returns True when the path can be written to by the current user.
21
+ */
22
+ export declare function canWrite(filePath: string): Promise<boolean>;
23
+ /**
24
+ * Reads the contents of a JSON file.
25
+ *
26
+ * @param filePath The path to the JSON file to read.
27
+ * @returns The contents of the file. When `throws` options is not set and error occurs then it returns an empty file.
28
+ */
29
+ export declare function readJson(filePath: string, opts?: JsonReadOptions): Promise<unknown>;
30
+ /**
31
+ * Writes the contents to the file.
32
+ *
33
+ * @param filePath The file to write to. It replaces the contents.
34
+ * @param contents The contents to write.
35
+ */
36
+ export declare function writeJson(filePath: string, contents: string | any): Promise<void>;
37
+ /**
38
+ * Ensures the directory exists.
39
+ */
40
+ export declare function ensureDir(dirPath: string): Promise<void>;
41
+ /**
42
+ * Removes contents of the directory, leaving the directory in the filesystem.
43
+ */
44
+ export declare function emptyDir(dirPath: string): Promise<void>;
45
+ /**
46
+ * Copies a file or a directory to the destination location.
47
+ * It creates the destination folder when missing.
48
+ *
49
+ * @param source The source file or folder.
50
+ * @param dest The destination file or folder.
51
+ */
52
+ export declare function copy(source: string, dest: string): Promise<void>;
@@ -0,0 +1,245 @@
1
+ import { writeFile, mkdir, rm, readdir, stat, access, readFile, copyFile as fsCopyFile } from 'fs/promises';
2
+ import { constants } from 'fs';
3
+ import { join, dirname } from 'path';
4
+ // function statPromise(filePath: string): Promise<fsSync.Stats> {
5
+ // return new Promise((resolve, reject) => {
6
+ // fsSync.stat(filePath, (err, stats) => {
7
+ // if (err) {
8
+ // reject(err);
9
+ // } else {
10
+ // resolve(stats);
11
+ // }
12
+ // });
13
+ // });
14
+ // }
15
+ /**
16
+ * Checks whether a file exists in the location.
17
+ */
18
+ export async function pathExists(filePath) {
19
+ // return new Promise((resolve) => {
20
+ // fsSync.stat(filePath, (err, stats) => {
21
+ // if (err) {
22
+ // resolve(false);
23
+ // } else {
24
+ // resolve(true);
25
+ // }
26
+ // });
27
+ // });
28
+ try {
29
+ await stat(filePath);
30
+ return true;
31
+ }
32
+ catch (e) {
33
+ return false;
34
+ }
35
+ }
36
+ /**
37
+ * Tests a user's permissions for the file or directory specified by filePath.
38
+ * @param filePath The path to test
39
+ * @returns True when the path can be read by the current user.
40
+ */
41
+ export async function canRead(filePath) {
42
+ const exists = await pathExists(filePath);
43
+ if (!exists) {
44
+ return false;
45
+ }
46
+ // return new Promise((resolve) => {
47
+ // fsSync.access(filePath, constants.R_OK, (err) => {
48
+ // if (err) {
49
+ // resolve(false);
50
+ // } else {
51
+ // resolve(true);
52
+ // }
53
+ // });
54
+ // });
55
+ try {
56
+ await access(filePath, constants.R_OK);
57
+ return true;
58
+ }
59
+ catch (e) {
60
+ return false;
61
+ }
62
+ }
63
+ /**
64
+ * Tests a user's permissions for the file or directory specified by filePath.
65
+ * @param filePath The path to test
66
+ * @returns True when the path can be written to by the current user.
67
+ */
68
+ export async function canWrite(filePath) {
69
+ const exists = await pathExists(filePath);
70
+ if (!exists) {
71
+ return false;
72
+ }
73
+ // return new Promise((resolve) => {
74
+ // fsSync.access(filePath, constants.W_OK, (err) => {
75
+ // if (err) {
76
+ // resolve(false);
77
+ // } else {
78
+ // resolve(true);
79
+ // }
80
+ // });
81
+ // });
82
+ try {
83
+ await access(filePath, constants.W_OK);
84
+ return true;
85
+ }
86
+ catch (e) {
87
+ return false;
88
+ }
89
+ }
90
+ /**
91
+ * Reads the contents of a JSON file.
92
+ *
93
+ * @param filePath The path to the JSON file to read.
94
+ * @returns The contents of the file. When `throws` options is not set and error occurs then it returns an empty file.
95
+ */
96
+ export async function readJson(filePath, opts = {}) {
97
+ const readable = await canRead(filePath);
98
+ if (!readable) {
99
+ if (opts.throws) {
100
+ throw new Error(`Unable to read file: ${filePath}. Access is denied.`);
101
+ }
102
+ return {};
103
+ }
104
+ // return new Promise((resolve, reject) => {
105
+ // fsSync.readFile(filePath, 'utf8', (err, contents) => {
106
+ // if (err) {
107
+ // reject(err);
108
+ // } else {
109
+ // let data = {};
110
+ // try {
111
+ // data = JSON.parse(contents);
112
+ // } catch (e) {
113
+ // if (opts.throws) {
114
+ // const err = new Error(`Invalid JSON contents for file: ${filePath}.`);
115
+ // reject(err);
116
+ // return;
117
+ // }
118
+ // }
119
+ // resolve(data);
120
+ // }
121
+ // });
122
+ // });
123
+ const contents = await readFile(filePath, 'utf8');
124
+ let data = {};
125
+ try {
126
+ data = JSON.parse(contents);
127
+ }
128
+ catch (e) {
129
+ if (opts.throws) {
130
+ throw new Error(`Invalid JSON contents for file: ${filePath}.`);
131
+ }
132
+ }
133
+ return data;
134
+ }
135
+ /**
136
+ * Writes the contents to the file.
137
+ *
138
+ * @param filePath The file to write to. It replaces the contents.
139
+ * @param contents The contents to write.
140
+ */
141
+ export async function writeJson(filePath, contents) {
142
+ const destParent = dirname(filePath);
143
+ await ensureDir(destParent);
144
+ const parentWritable = await canWrite(destParent);
145
+ if (!parentWritable) {
146
+ throw new Error(`Unable to write to location: ${parentWritable}. Access is denied.`);
147
+ }
148
+ const data = typeof contents === 'string' ? contents : JSON.stringify(contents);
149
+ await writeFile(filePath, data);
150
+ }
151
+ /**
152
+ * Ensures the directory exists.
153
+ */
154
+ export async function ensureDir(dirPath) {
155
+ const readable = await canRead(dirPath);
156
+ if (readable) {
157
+ return;
158
+ }
159
+ await mkdir(dirPath, { recursive: true });
160
+ }
161
+ /**
162
+ * Removes contents of the directory, leaving the directory in the filesystem.
163
+ */
164
+ export async function emptyDir(dirPath) {
165
+ const exists = await pathExists(dirPath);
166
+ if (!exists) {
167
+ return;
168
+ }
169
+ const writeable = await canWrite(dirPath);
170
+ if (!writeable) {
171
+ throw new Error(`Unable to clear directory: ${dirPath}. Access is denied.`);
172
+ }
173
+ const items = await readdir(dirPath, 'utf8');
174
+ for (const item of items) {
175
+ const file = join(dirPath, item);
176
+ await rm(file, { recursive: true });
177
+ }
178
+ }
179
+ /**
180
+ * Copies a file
181
+ */
182
+ async function copyFile(source, dest) {
183
+ const destParent = dirname(dest);
184
+ await ensureDir(destParent);
185
+ await fsCopyFile(source, dest);
186
+ }
187
+ // /**
188
+ // * Copies a file
189
+ // * @param {string} source
190
+ // * @param {string} dest
191
+ // * @returns {Promise<void>}
192
+ // */
193
+ // async function copyFile(source, dest) {
194
+ // const destParent = dirname(dest);
195
+ // await ensureDir(destParent);
196
+ // return new Promise((resolve, reject) => {
197
+ // fsSync.copyFile(source, dest, (err) => {
198
+ // if (err) {
199
+ // reject(err);
200
+ // } else {
201
+ // resolve();
202
+ // }
203
+ // });
204
+ // });
205
+ // }
206
+ /**
207
+ * Copies a directory and its contents.
208
+ */
209
+ async function copyDirectory(source, dest) {
210
+ await ensureDir(dest);
211
+ // const entries = fsSync.readdirSync(source, { withFileTypes: true, encoding: 'utf8' });
212
+ const entries = await readdir(source, { withFileTypes: true, encoding: 'utf8' });
213
+ for (const entry of entries) {
214
+ const srcFile = join(source, entry.name);
215
+ const destFile = join(dest, entry.name);
216
+ const srcStat = await stat(srcFile);
217
+ if (srcStat.isDirectory()) {
218
+ await copyDirectory(srcFile, destFile);
219
+ }
220
+ else {
221
+ await copyFile(srcFile, destFile);
222
+ }
223
+ }
224
+ }
225
+ /**
226
+ * Copies a file or a directory to the destination location.
227
+ * It creates the destination folder when missing.
228
+ *
229
+ * @param source The source file or folder.
230
+ * @param dest The destination file or folder.
231
+ */
232
+ export async function copy(source, dest) {
233
+ const existing = await pathExists(source);
234
+ if (!existing) {
235
+ throw new Error(`Specified path does not exist: ${source}`);
236
+ }
237
+ const srcStat = await stat(source);
238
+ if (srcStat.isDirectory()) {
239
+ await copyDirectory(source, dest);
240
+ }
241
+ else {
242
+ await copyFile(source, dest);
243
+ }
244
+ }
245
+ //# sourceMappingURL=Fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fs.js","sourceRoot":"","sources":["../../../../src/lib/fs/Fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AASrC,kEAAkE;AAClE,8CAA8C;AAC9C,8CAA8C;AAC9C,mBAAmB;AACnB,uBAAuB;AACvB,iBAAiB;AACjB,0BAA0B;AAC1B,UAAU;AACV,UAAU;AACV,QAAQ;AACR,IAAI;AAEJ;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,oCAAoC;IACpC,4CAA4C;IAC5C,iBAAiB;IACjB,wBAAwB;IACxB,eAAe;IACf,uBAAuB;IACvB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,IAAI;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAgB;IAC5C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,CAAC;KACd;IAED,oCAAoC;IACpC,uDAAuD;IACvD,iBAAiB;IACjB,wBAAwB;IACxB,eAAe;IACf,uBAAuB;IACvB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,IAAI;QACF,MAAM,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,CAAC;KACd;IACD,oCAAoC;IACpC,uDAAuD;IACvD,iBAAiB;IACjB,wBAAwB;IACxB,eAAe;IACf,uBAAuB;IACvB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,IAAI;QACF,MAAM,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,OAAsB,EAAE;IACvE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE;QACb,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,qBAAqB,CAAC,CAAC;SACxE;QACD,OAAO,EAAE,CAAC;KACX;IACD,4CAA4C;IAC5C,2DAA2D;IAC3D,iBAAiB;IACjB,qBAAqB;IACrB,eAAe;IACf,uBAAuB;IACvB,cAAc;IACd,uCAAuC;IACvC,sBAAsB;IACtB,6BAA6B;IAC7B,mFAAmF;IACnF,yBAAyB;IACzB,oBAAoB;IACpB,YAAY;IACZ,UAAU;IACV,uBAAuB;IACvB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC7B;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,GAAG,CAAC,CAAC;SACjE;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,QAAoB;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5B,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,cAAc,qBAAqB,CAAC,CAAC;KACtF;IACD,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChF,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC5C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO;KACR;IACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,qBAAqB,CAAC,CAAC;KAC7E;IACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACrC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,IAAY;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5B,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM;AACN,mBAAmB;AACnB,6BAA6B;AAC7B,2BAA2B;AAC3B,8BAA8B;AAC9B,MAAM;AACN,0CAA0C;AAC1C,sCAAsC;AACtC,iCAAiC;AACjC,8CAA8C;AAC9C,+CAA+C;AAC/C,mBAAmB;AACnB,uBAAuB;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,UAAU;AACV,UAAU;AACV,QAAQ;AACR,IAAI;AAEJ;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,IAAY;IACvD,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACtB,yFAAyF;IACzF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACjF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE;YACzB,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SACxC;aAAM;YACL,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SACnC;KACF;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAc,EAAE,IAAY;IACrD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;KAC7D;IACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE;QACzB,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACnC;SAAM;QACL,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAC9B;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Awaits the set number of milliseconds before resolving the promise.
3
+ * @param timeout The number of milliseconds to wait.
4
+ */
5
+ export declare function sleep(timeout?: number): Promise<void>;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Awaits the set number of milliseconds before resolving the promise.
3
+ * @param timeout The number of milliseconds to wait.
4
+ */
5
+ export function sleep(timeout = 0) {
6
+ return new Promise((resolve) => {
7
+ setTimeout(() => resolve(), timeout);
8
+ });
9
+ }
10
+ //# sourceMappingURL=Timers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timers.js","sourceRoot":"","sources":["../../../../src/lib/timers/Timers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,OAAO,GAAG,CAAC;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { DataMock, DataMockInit } from '@pawel-up/data-mock';
2
+ import { Request } from './lib/Request.js';
3
+ import { Response } from './lib/Response.js';
4
+ export { IRequestLogInit } from './lib/Request.js';
5
+ export { IArcResponseInit } from './lib/Response.js';
6
+ export declare class ProjectMock extends DataMock {
7
+ projectRequest: Request;
8
+ response: Response;
9
+ /**
10
+ * @param init The library init options.
11
+ */
12
+ constructor(init?: DataMockInit);
13
+ }
@@ -0,0 +1,16 @@
1
+ import { DataMock } from '@pawel-up/data-mock';
2
+ import { Request } from './lib/Request.js';
3
+ import { Response } from './lib/Response.js';
4
+ export class ProjectMock extends DataMock {
5
+ projectRequest;
6
+ response;
7
+ /**
8
+ * @param init The library init options.
9
+ */
10
+ constructor(init) {
11
+ super(init);
12
+ this.projectRequest = new Request(init);
13
+ this.response = new Response(init);
14
+ }
15
+ }
16
+ //# sourceMappingURL=ProjectMock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectMock.js","sourceRoot":"","sources":["../../../src/mocking/ProjectMock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,cAAc,CAAU;IACxB,QAAQ,CAAW;IAEnB;;OAEG;IACH,YAAY,IAAmB;QAC7B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import { Http, Types, Lorem, Time, DataMockInit, HttpRequestInit } from '@pawel-up/data-mock';
2
+ import { IHttpRequest } from '../../models/HttpRequest.js';
3
+ import { IRequest } from '../../models/Request.js';
4
+ import { ISentRequest } from '../../models/SentRequest.js';
5
+ import { IRequestLog } from '../../models/RequestLog.js';
6
+ import { IArcResponseInit, Response } from './Response.js';
7
+ export interface IRequestLogInit {
8
+ request?: HttpRequestInit;
9
+ response?: IArcResponseInit;
10
+ /**
11
+ * When set it ignores size information
12
+ */
13
+ noSize?: boolean;
14
+ /**
15
+ * Adds redirects to the request
16
+ */
17
+ redirects?: boolean;
18
+ noResponse?: boolean;
19
+ noRequest?: boolean;
20
+ }
21
+ export declare class Request {
22
+ types: Types;
23
+ lorem: Lorem;
24
+ time: Time;
25
+ http: Http;
26
+ response: Response;
27
+ constructor(init?: DataMockInit);
28
+ request(init?: HttpRequestInit): IRequest;
29
+ httpRequest(init?: HttpRequestInit): IHttpRequest;
30
+ sentRequest(init?: HttpRequestInit): ISentRequest;
31
+ log(init?: IRequestLogInit): IRequestLog;
32
+ }
@@ -0,0 +1,63 @@
1
+ import { Http, Types, Lorem, Time } from '@pawel-up/data-mock';
2
+ // import { randomValue } from '@pawel-up/data-mock/src/lib/Http.js';
3
+ import { Kind as HttpRequestKind } from '../../models/HttpRequest.js';
4
+ import { Kind as RequestKind } from '../../models/Request.js';
5
+ import { Response } from './Response.js';
6
+ export class Request {
7
+ types;
8
+ lorem;
9
+ time;
10
+ http;
11
+ response;
12
+ constructor(init = {}) {
13
+ this.types = new Types(init.seed);
14
+ this.lorem = new Lorem(init);
15
+ this.time = new Time(init);
16
+ this.http = new Http(init);
17
+ this.response = new Response(init);
18
+ }
19
+ request(init) {
20
+ return {
21
+ kind: RequestKind,
22
+ expects: this.httpRequest(init),
23
+ info: {
24
+ name: this.lorem.words(2),
25
+ description: this.lorem.paragraph(),
26
+ },
27
+ };
28
+ }
29
+ httpRequest(init) {
30
+ const request = this.http.request(init);
31
+ return {
32
+ kind: HttpRequestKind,
33
+ ...request,
34
+ };
35
+ }
36
+ sentRequest(init) {
37
+ const start = this.time.timestamp();
38
+ return {
39
+ startTime: start,
40
+ endTime: this.time.timestamp({ min: start + 1 }),
41
+ ...this.httpRequest(init),
42
+ };
43
+ }
44
+ log(init = {}) {
45
+ const result = {
46
+ kind: 'ARC#ResponseLog',
47
+ };
48
+ if (!init.noRequest) {
49
+ result.request = this.sentRequest(init.request);
50
+ }
51
+ if (!init.noResponse) {
52
+ result.response = this.response.arcResponse(init.response);
53
+ }
54
+ if (init.redirects) {
55
+ result.redirects = this.response.redirects();
56
+ }
57
+ if (!init.noSize) {
58
+ result.size = this.response.size();
59
+ }
60
+ return result;
61
+ }
62
+ }
63
+ //# sourceMappingURL=Request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../../src/mocking/lib/Request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAiC,MAAM,qBAAqB,CAAC;AAC9F,qEAAqE;AACrE,OAAO,EAAgB,IAAI,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAY,IAAI,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGxE,OAAO,EAAoB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAiB3D,MAAM,OAAO,OAAO;IAClB,KAAK,CAAQ;IACb,KAAK,CAAQ;IACb,IAAI,CAAO;IACX,IAAI,CAAO;IACX,QAAQ,CAAW;IAEnB,YAAY,OAAmB,EAAE;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,IAAsB;QAC5B,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;aACpC;SACF,CAAA;IACH,CAAC;IAED,WAAW,CAAC,IAAsB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,GAAG,OAAO;SACX,CAAA;IACH,CAAC;IAED,WAAW,CAAC,IAAsB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;YAChD,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAwB,EAAE;QAC5B,MAAM,MAAM,GAAgB;YAC1B,IAAI,EAAE,iBAAiB;SACxB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5D;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;SAC9C;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACpC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}