@api-client/core 0.3.4 → 0.3.7

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 (109) hide show
  1. package/build/browser.d.ts +6 -0
  2. package/build/browser.js +15 -0
  3. package/build/browser.js.map +1 -1
  4. package/build/index.d.ts +14 -2
  5. package/build/index.js +26 -2
  6. package/build/index.js.map +1 -1
  7. package/build/src/lib/calculators/DataCalculator.d.ts +27 -0
  8. package/build/src/lib/calculators/DataCalculator.js +88 -0
  9. package/build/src/lib/calculators/DataCalculator.js.map +1 -0
  10. package/build/src/lib/fs/Fs.d.ts +52 -0
  11. package/build/src/lib/fs/Fs.js +245 -0
  12. package/build/src/lib/fs/Fs.js.map +1 -0
  13. package/build/src/lib/parsers/UrlEncoder.d.ts +51 -0
  14. package/build/src/lib/parsers/UrlEncoder.js +74 -0
  15. package/build/src/lib/parsers/UrlEncoder.js.map +1 -0
  16. package/build/src/lib/parsers/UrlParser.d.ts +104 -0
  17. package/build/src/lib/parsers/UrlParser.js +189 -0
  18. package/build/src/lib/parsers/UrlParser.js.map +1 -0
  19. package/build/src/lib/parsers/UrlValueParser.d.ts +92 -0
  20. package/build/src/lib/parsers/UrlValueParser.js +172 -0
  21. package/build/src/lib/parsers/UrlValueParser.js.map +1 -0
  22. package/build/src/lib/timers/Timers.d.ts +5 -0
  23. package/build/src/lib/timers/Timers.js +10 -0
  24. package/build/src/lib/timers/Timers.js.map +1 -0
  25. package/build/src/mocking/ProjectMock.d.ts +13 -0
  26. package/build/src/mocking/ProjectMock.js +16 -0
  27. package/build/src/mocking/ProjectMock.js.map +1 -0
  28. package/build/src/mocking/lib/Request.d.ts +32 -0
  29. package/build/src/mocking/lib/Request.js +63 -0
  30. package/build/src/mocking/lib/Request.js.map +1 -0
  31. package/build/src/mocking/lib/Response.d.ts +33 -0
  32. package/build/src/mocking/lib/Response.js +79 -0
  33. package/build/src/mocking/lib/Response.js.map +1 -0
  34. package/build/src/models/ErrorResponse.d.ts +5 -4
  35. package/build/src/models/ErrorResponse.js +18 -5
  36. package/build/src/models/ErrorResponse.js.map +1 -1
  37. package/build/src/models/SerializableError.d.ts +30 -0
  38. package/build/src/models/SerializableError.js +63 -0
  39. package/build/src/models/SerializableError.js.map +1 -0
  40. package/build/src/runtime/http-engine/ArcEngine.js +8 -4
  41. package/build/src/runtime/http-engine/ArcEngine.js.map +1 -1
  42. package/build/src/runtime/http-engine/HttpEngine.d.ts +3 -3
  43. package/build/src/runtime/http-engine/HttpEngine.js +3 -3
  44. package/build/src/runtime/http-engine/HttpEngine.js.map +1 -1
  45. package/build/src/runtime/http-engine/NodeEngine.js +9 -4
  46. package/build/src/runtime/http-engine/NodeEngine.js.map +1 -1
  47. package/build/src/runtime/http-engine/NodeEngineDirect.js +8 -2
  48. package/build/src/runtime/http-engine/NodeEngineDirect.js.map +1 -1
  49. package/build/src/runtime/node/BaseRunner.d.ts +21 -0
  50. package/build/src/runtime/node/BaseRunner.js +27 -0
  51. package/build/src/runtime/node/BaseRunner.js.map +1 -0
  52. package/build/src/runtime/node/ProjectParallelRunner.d.ts +81 -0
  53. package/build/src/runtime/node/ProjectParallelRunner.js +173 -0
  54. package/build/src/runtime/node/ProjectParallelRunner.js.map +1 -0
  55. package/build/src/runtime/node/ProjectRequestRunner.d.ts +125 -0
  56. package/build/src/runtime/node/ProjectRequestRunner.js +185 -0
  57. package/build/src/runtime/node/ProjectRequestRunner.js.map +1 -0
  58. package/build/src/runtime/node/ProjectRunner.d.ts +166 -64
  59. package/build/src/runtime/node/ProjectRunner.js +191 -139
  60. package/build/src/runtime/node/ProjectRunner.js.map +1 -1
  61. package/build/src/runtime/node/ProjectRunnerWorker.d.ts +1 -0
  62. package/build/src/runtime/node/ProjectRunnerWorker.js +58 -0
  63. package/build/src/runtime/node/ProjectRunnerWorker.js.map +1 -0
  64. package/build/src/runtime/node/ProjectSerialRunner.d.ts +11 -0
  65. package/build/src/runtime/node/ProjectSerialRunner.js +34 -0
  66. package/build/src/runtime/node/ProjectSerialRunner.js.map +1 -0
  67. package/build/src/runtime/reporters/ProjectRunCliReporter.d.ts +7 -0
  68. package/build/src/runtime/reporters/ProjectRunCliReporter.js +73 -0
  69. package/build/src/runtime/reporters/ProjectRunCliReporter.js.map +1 -0
  70. package/build/src/runtime/reporters/Reporter.d.ts +62 -0
  71. package/build/src/runtime/reporters/Reporter.js +98 -0
  72. package/build/src/runtime/reporters/Reporter.js.map +1 -0
  73. package/build/src/testing/TestCliHelper.d.ts +29 -0
  74. package/build/src/testing/TestCliHelper.js +80 -0
  75. package/build/src/testing/TestCliHelper.js.map +1 -0
  76. package/build/src/testing/getPort.d.ts +52 -0
  77. package/build/src/testing/getPort.js +169 -0
  78. package/build/src/testing/getPort.js.map +1 -0
  79. package/package.json +2 -1
  80. package/src/lib/calculators/DataCalculator.ts +91 -0
  81. package/src/lib/fs/Fs.ts +258 -0
  82. package/src/lib/parsers/UrlEncoder.ts +74 -0
  83. package/src/lib/parsers/UrlParser.ts +201 -0
  84. package/src/lib/parsers/UrlValueParser.ts +211 -0
  85. package/src/lib/timers/Timers.ts +9 -0
  86. package/src/mocking/LegacyInterfaces.ts +1 -1
  87. package/src/mocking/ProjectMock.ts +20 -0
  88. package/src/mocking/lib/Request.ts +85 -0
  89. package/src/mocking/lib/Response.ts +101 -0
  90. package/src/models/ErrorResponse.ts +20 -8
  91. package/src/models/SerializableError.ts +80 -0
  92. package/src/runtime/http-engine/ArcEngine.ts +8 -4
  93. package/src/runtime/http-engine/HttpEngine.ts +5 -5
  94. package/src/runtime/http-engine/NodeEngine.ts +10 -5
  95. package/src/runtime/http-engine/NodeEngineDirect.ts +9 -3
  96. package/src/runtime/node/BaseRunner.ts +29 -0
  97. package/src/runtime/node/ProjectParallelRunner.ts +234 -0
  98. package/src/runtime/node/ProjectRequestRunner.ts +281 -0
  99. package/src/runtime/node/ProjectRunner.ts +281 -182
  100. package/src/runtime/node/ProjectRunnerWorker.ts +62 -0
  101. package/src/runtime/node/ProjectSerialRunner.ts +36 -0
  102. package/src/runtime/reporters/ProjectRunCliReporter.ts +79 -0
  103. package/src/runtime/reporters/Reporter.ts +142 -0
  104. package/src/testing/TestCliHelper.ts +87 -0
  105. package/src/testing/getPort.ts +212 -0
  106. package/build/src/runtime/http-engine/Errors.d.ts +0 -10
  107. package/build/src/runtime/http-engine/Errors.js +0 -14
  108. package/build/src/runtime/http-engine/Errors.js.map +0 -1
  109. package/src/runtime/http-engine/Errors.ts +0 -13
@@ -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,6 +50,8 @@ 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 { UrlParser } from './src/lib/parsers/UrlParser.js';
54
+ export { UrlEncoder } from './src/lib/parsers/UrlEncoder.js';
52
55
  export { VariablesProcessor } from './src/runtime/variables/VariablesProcessor.js';
53
56
  export { PayloadPointer } from './src/data/PayloadPointer.js';
54
57
  export { JsonReader } from './src/data/JsonReader.js';
@@ -56,6 +59,9 @@ export { JmesparthReader } from './src/data/JmesparthReader.js';
56
59
  export { XmlReader } from './src/data/XmlReader.js';
57
60
  export { UrlEncodedReader } from './src/data/UrlEncodedReader.js';
58
61
  export { RequestDataExtractor } from './src/data/RequestDataExtractor.js';
62
+ export { Reporter, IProjectExecutionLog, IProjectExecutionIteration } from './src/runtime/reporters/Reporter.js';
63
+ export * from './src/mocking/ProjectMock.js';
64
+ export { DataCalculator } from './src/lib/calculators/DataCalculator.js';
59
65
  export { Events } from './src/events/Events.js';
60
66
  export { EventTypes } from './src/events/EventTypes.js';
61
67
  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';
@@ -53,6 +54,8 @@ 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 { UrlParser } from './src/lib/parsers/UrlParser.js';
58
+ export { UrlEncoder } from './src/lib/parsers/UrlEncoder.js';
56
59
  //
57
60
  // Runtime
58
61
  //
@@ -67,6 +70,18 @@ export { XmlReader } from './src/data/XmlReader.js';
67
70
  export { UrlEncodedReader } from './src/data/UrlEncodedReader.js';
68
71
  export { RequestDataExtractor } from './src/data/RequestDataExtractor.js';
69
72
  //
73
+ // Execution reporters
74
+ //
75
+ export { Reporter } from './src/runtime/reporters/Reporter.js';
76
+ //
77
+ // Mocking
78
+ //
79
+ export * from './src/mocking/ProjectMock.js';
80
+ //
81
+ // Calculators
82
+ //
83
+ export { DataCalculator } from './src/lib/calculators/DataCalculator.js';
84
+ //
70
85
  // Events
71
86
  //
72
87
  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,20 @@ 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';
54
+ export { UrlParser } from './src/lib/parsers/UrlParser.js';
55
+ export { UrlEncoder } from './src/lib/parsers/UrlEncoder.js';
52
56
  export { VariablesProcessor } from './src/runtime/variables/VariablesProcessor.js';
53
- export { ProjectRunner } from './src/runtime/node/ProjectRunner.js';
57
+ export { ProjectRequestRunner } from './src/runtime/node/ProjectRequestRunner.js';
54
58
  export { RequestFactory } from './src/runtime/node/RequestFactory.js';
55
59
  export { VariablesStore } from './src/runtime/node/VariablesStore.js';
60
+ export { ProjectSerialRunner } from './src/runtime/node/ProjectSerialRunner.js';
61
+ export { ProjectParallelRunner, IWorkerInfo } from './src/runtime/node/ProjectParallelRunner.js';
62
+ export { IProjectRunnerOptions, ProjectRunner } from './src/runtime/node/ProjectRunner.js';
63
+ export { Reporter, IProjectExecutionLog, IProjectExecutionIteration } from './src/runtime/reporters/Reporter.js';
64
+ export { ProjectRunCliReporter } from './src/runtime/reporters/ProjectRunCliReporter.js';
56
65
  export { HttpEngine, HttpEngineOptions, RequestStats, HeadersReceivedDetail, BeforeRedirectDetail, ResponseErrorInit, IRequestAuthState } from './src/runtime/http-engine/HttpEngine.js';
57
66
  export { ArcEngine, RequestState } from './src/runtime/http-engine/ArcEngine.js';
58
- export { NetError } from './src/runtime/http-engine/Errors.js';
59
67
  export { PayloadPointer } from './src/data/PayloadPointer.js';
60
68
  export { JsonReader } from './src/data/JsonReader.js';
61
69
  export { JmesparthReader } from './src/data/JmesparthReader.js';
@@ -63,6 +71,10 @@ export { XmlReader } from './src/data/XmlReader.js';
63
71
  export { UrlEncodedReader } from './src/data/UrlEncodedReader.js';
64
72
  export { RequestDataExtractor } from './src/data/RequestDataExtractor.js';
65
73
  export { StoreSdk, IStoreTokenInfo } from './src/runtime/store/StoreSdk.js';
74
+ export * from './src/testing/TestCliHelper.js';
75
+ export * from './src/testing/getPort.js';
76
+ export * from './src/mocking/ProjectMock.js';
77
+ export { DataCalculator } from './src/lib/calculators/DataCalculator.js';
66
78
  export { Events } from './src/events/Events.js';
67
79
  export { EventTypes } from './src/events/EventTypes.js';
68
80
  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,29 @@ 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';
58
+ export { UrlParser } from './src/lib/parsers/UrlParser.js';
59
+ export { UrlEncoder } from './src/lib/parsers/UrlEncoder.js';
56
60
  //
57
61
  // Runtime
58
62
  //
59
63
  export { VariablesProcessor } from './src/runtime/variables/VariablesProcessor.js';
60
- export { ProjectRunner } from './src/runtime/node/ProjectRunner.js';
64
+ export { ProjectRequestRunner } from './src/runtime/node/ProjectRequestRunner.js';
61
65
  export { RequestFactory } from './src/runtime/node/RequestFactory.js';
62
66
  export { VariablesStore } from './src/runtime/node/VariablesStore.js';
67
+ export { ProjectSerialRunner } from './src/runtime/node/ProjectSerialRunner.js';
68
+ export { ProjectParallelRunner } from './src/runtime/node/ProjectParallelRunner.js';
69
+ export { ProjectRunner } from './src/runtime/node/ProjectRunner.js';
70
+ //
71
+ // Execution reporters
72
+ //
73
+ export { Reporter } from './src/runtime/reporters/Reporter.js';
74
+ export { ProjectRunCliReporter } from './src/runtime/reporters/ProjectRunCliReporter.js';
63
75
  //
64
76
  // HTTP engine
65
77
  //
66
78
  export { HttpEngine } from './src/runtime/http-engine/HttpEngine.js';
67
79
  export { ArcEngine, RequestState } from './src/runtime/http-engine/ArcEngine.js';
68
- export { NetError } from './src/runtime/http-engine/Errors.js';
69
80
  //
70
81
  // Data processing
71
82
  //
@@ -80,6 +91,19 @@ export { RequestDataExtractor } from './src/data/RequestDataExtractor.js';
80
91
  //
81
92
  export { StoreSdk } from './src/runtime/store/StoreSdk.js';
82
93
  //
94
+ // Testing
95
+ //
96
+ export * from './src/testing/TestCliHelper.js';
97
+ export * from './src/testing/getPort.js';
98
+ //
99
+ // Mocking
100
+ //
101
+ export * from './src/mocking/ProjectMock.js';
102
+ //
103
+ // Calculators
104
+ //
105
+ export { DataCalculator } from './src/lib/calculators/DataCalculator.js';
106
+ //
83
107
  // Events
84
108
  //
85
109
  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":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Computations related to the data like size.
3
+ */
4
+ export declare class DataCalculator {
5
+ /**
6
+ * Computes size in the nearest units
7
+ */
8
+ static bytesToSize(bytes: number, decimals?: number): string;
9
+ /**
10
+ * Calculates size of the string
11
+ * @param str A string to compute size from.
12
+ * @returns The size of the string.
13
+ */
14
+ stringSize(str: string): number;
15
+ /**
16
+ * @param data The size of the form data
17
+ * @returns The size of the form data
18
+ */
19
+ formDataSize(data: FormData): Promise<number>;
20
+ /**
21
+ * Computes size of the payload.
22
+ *
23
+ * @param payload The payload to compute te size for
24
+ * @returns The size of the payload
25
+ */
26
+ payloadSize(payload: unknown): Promise<number>;
27
+ }
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Computations related to the data like size.
3
+ */
4
+ export class DataCalculator {
5
+ /**
6
+ * Computes size in the nearest units
7
+ */
8
+ static bytesToSize(bytes, decimals = 2) {
9
+ if (bytes === 0) {
10
+ return '0 Bytes';
11
+ }
12
+ const k = 1024;
13
+ const dm = decimals < 0 ? 0 : decimals;
14
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
15
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
16
+ const result = parseFloat((bytes / k ** i).toFixed(dm));
17
+ return `${result} ${sizes[i]}`;
18
+ }
19
+ /**
20
+ * Calculates size of the string
21
+ * @param str A string to compute size from.
22
+ * @returns The size of the string.
23
+ */
24
+ stringSize(str) {
25
+ if (!str || !str.length || typeof str !== 'string') {
26
+ return 0;
27
+ }
28
+ let s = str.length;
29
+ for (let i = str.length - 1; i >= 0; i--) {
30
+ const code = str.charCodeAt(i);
31
+ if (code > 0x7f && code <= 0x7ff) {
32
+ s++;
33
+ }
34
+ else if (code > 0x7ff && code <= 0xffff) {
35
+ /* istanbul ignore next */
36
+ s += 2;
37
+ }
38
+ /* istanbul ignore if */
39
+ if (code >= 0xDC00 && code <= 0xDFFF) {
40
+ i--; // trail surrogate
41
+ }
42
+ }
43
+ return s;
44
+ }
45
+ /**
46
+ * @param data The size of the form data
47
+ * @returns The size of the form data
48
+ */
49
+ async formDataSize(data) {
50
+ if (typeof Request === 'undefined') {
51
+ return 0;
52
+ }
53
+ const request = new Request('/', {
54
+ method: 'POST',
55
+ body: data,
56
+ });
57
+ if (!request.arrayBuffer) {
58
+ return 0;
59
+ }
60
+ const buffer = await request.arrayBuffer();
61
+ return buffer.byteLength;
62
+ }
63
+ /**
64
+ * Computes size of the payload.
65
+ *
66
+ * @param payload The payload to compute te size for
67
+ * @returns The size of the payload
68
+ */
69
+ async payloadSize(payload) {
70
+ if (!payload) {
71
+ return 0;
72
+ }
73
+ if (payload instanceof ArrayBuffer) {
74
+ return payload.byteLength;
75
+ }
76
+ if (typeof Buffer !== 'undefined' && payload instanceof Buffer) {
77
+ return payload.byteLength;
78
+ }
79
+ if (payload instanceof Blob) {
80
+ return payload.size;
81
+ }
82
+ if (payload instanceof FormData) {
83
+ return this.formDataSize(payload);
84
+ }
85
+ return this.stringSize(String(payload));
86
+ }
87
+ }
88
+ //# sourceMappingURL=DataCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCalculator.js","sourceRoot":"","sources":["../../../../src/lib/calculators/DataCalculator.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}