build-raptor 0.129.0 → 0.131.0

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 (216) hide show
  1. package/build-raptor.js +7259 -0
  2. package/index.d.ts +22 -0
  3. package/index.js +7231 -0
  4. package/package.json +13 -17
  5. package/dist/deps/brand/brand.d.ts +0 -5
  6. package/dist/deps/brand/brand.js +0 -3
  7. package/dist/deps/brand/index.d.ts +0 -1
  8. package/dist/deps/brand/index.js +0 -18
  9. package/dist/deps/build-failed-error/build-failed-error.d.ts +0 -14
  10. package/dist/deps/build-failed-error/build-failed-error.js +0 -13
  11. package/dist/deps/build-failed-error/index.d.ts +0 -1
  12. package/dist/deps/build-failed-error/index.js +0 -18
  13. package/dist/deps/build-raptor-api/build-raptor-api.d.ts +0 -351
  14. package/dist/deps/build-raptor-api/build-raptor-api.js +0 -132
  15. package/dist/deps/build-raptor-api/index.d.ts +0 -2
  16. package/dist/deps/build-raptor-api/index.js +0 -19
  17. package/dist/deps/build-raptor-api/step-by-step-processor.d.ts +0 -35
  18. package/dist/deps/build-raptor-api/step-by-step-processor.js +0 -3
  19. package/dist/deps/build-raptor-core/breakdown.d.ts +0 -18
  20. package/dist/deps/build-raptor-core/breakdown.js +0 -99
  21. package/dist/deps/build-raptor-core/build-raptor-config.d.ts +0 -18
  22. package/dist/deps/build-raptor-core/build-raptor-config.js +0 -21
  23. package/dist/deps/build-raptor-core/default-asset-publisher.d.ts +0 -10
  24. package/dist/deps/build-raptor-core/default-asset-publisher.js +0 -16
  25. package/dist/deps/build-raptor-core/engine-bootstrapper.d.ts +0 -50
  26. package/dist/deps/build-raptor-core/engine-bootstrapper.js +0 -200
  27. package/dist/deps/build-raptor-core/engine-event-scheme.d.ts +0 -20
  28. package/dist/deps/build-raptor-core/engine-event-scheme.js +0 -3
  29. package/dist/deps/build-raptor-core/engine.d.ts +0 -66
  30. package/dist/deps/build-raptor-core/engine.js +0 -285
  31. package/dist/deps/build-raptor-core/examplify-zod.d.ts +0 -93
  32. package/dist/deps/build-raptor-core/examplify-zod.js +0 -257
  33. package/dist/deps/build-raptor-core/execution-plan.d.ts +0 -20
  34. package/dist/deps/build-raptor-core/execution-plan.js +0 -66
  35. package/dist/deps/build-raptor-core/execution-record.d.ts +0 -17
  36. package/dist/deps/build-raptor-core/execution-record.js +0 -3
  37. package/dist/deps/build-raptor-core/execution-type.d.ts +0 -2
  38. package/dist/deps/build-raptor-core/execution-type.js +0 -3
  39. package/dist/deps/build-raptor-core/find-repo-dir.d.ts +0 -1
  40. package/dist/deps/build-raptor-core/find-repo-dir.js +0 -27
  41. package/dist/deps/build-raptor-core/fingerprint-ledger.d.ts +0 -33
  42. package/dist/deps/build-raptor-core/fingerprint-ledger.js +0 -164
  43. package/dist/deps/build-raptor-core/fingerprint.d.ts +0 -3
  44. package/dist/deps/build-raptor-core/fingerprint.js +0 -13
  45. package/dist/deps/build-raptor-core/fingerprinter.d.ts +0 -14
  46. package/dist/deps/build-raptor-core/fingerprinter.js +0 -121
  47. package/dist/deps/build-raptor-core/hasher.d.ts +0 -21
  48. package/dist/deps/build-raptor-core/hasher.js +0 -93
  49. package/dist/deps/build-raptor-core/index.d.ts +0 -9
  50. package/dist/deps/build-raptor-core/index.js +0 -26
  51. package/dist/deps/build-raptor-core/model.d.ts +0 -17
  52. package/dist/deps/build-raptor-core/model.js +0 -40
  53. package/dist/deps/build-raptor-core/nop-asset-publisher.d.ts +0 -6
  54. package/dist/deps/build-raptor-core/nop-asset-publisher.js +0 -12
  55. package/dist/deps/build-raptor-core/performance-report.d.ts +0 -5
  56. package/dist/deps/build-raptor-core/performance-report.js +0 -3
  57. package/dist/deps/build-raptor-core/phase.d.ts +0 -1
  58. package/dist/deps/build-raptor-core/phase.js +0 -3
  59. package/dist/deps/build-raptor-core/planner.d.ts +0 -12
  60. package/dist/deps/build-raptor-core/planner.js +0 -43
  61. package/dist/deps/build-raptor-core/purger.d.ts +0 -11
  62. package/dist/deps/build-raptor-core/purger.js +0 -65
  63. package/dist/deps/build-raptor-core/slot-index.d.ts +0 -6
  64. package/dist/deps/build-raptor-core/slot-index.js +0 -17
  65. package/dist/deps/build-raptor-core/step-by-step-transmitter.d.ts +0 -15
  66. package/dist/deps/build-raptor-core/step-by-step-transmitter.js +0 -94
  67. package/dist/deps/build-raptor-core/tar-stream.d.ts +0 -20
  68. package/dist/deps/build-raptor-core/tar-stream.js +0 -194
  69. package/dist/deps/build-raptor-core/task-executor.d.ts +0 -32
  70. package/dist/deps/build-raptor-core/task-executor.js +0 -321
  71. package/dist/deps/build-raptor-core/task-store-cli.d.ts +0 -1
  72. package/dist/deps/build-raptor-core/task-store-cli.js +0 -61
  73. package/dist/deps/build-raptor-core/task-store-event.d.ts +0 -17
  74. package/dist/deps/build-raptor-core/task-store-event.js +0 -3
  75. package/dist/deps/build-raptor-core/task-store.d.ts +0 -41
  76. package/dist/deps/build-raptor-core/task-store.js +0 -302
  77. package/dist/deps/build-raptor-core/task-summary.d.ts +0 -12
  78. package/dist/deps/build-raptor-core/task-summary.js +0 -3
  79. package/dist/deps/build-raptor-core/task-tracker.d.ts +0 -23
  80. package/dist/deps/build-raptor-core/task-tracker.js +0 -97
  81. package/dist/deps/build-raptor-core/task.d.ts +0 -30
  82. package/dist/deps/build-raptor-core/task.js +0 -90
  83. package/dist/deps/build-raptor-core/updatable-task-output-registry.d.ts +0 -13
  84. package/dist/deps/build-raptor-core/updatable-task-output-registry.js +0 -75
  85. package/dist/deps/build-raptor-core/validate-task-infos.d.ts +0 -3
  86. package/dist/deps/build-raptor-core/validate-task-infos.js +0 -53
  87. package/dist/deps/build-raptor-core-testkit/build-raptor-core-testkit.d.ts +0 -1
  88. package/dist/deps/build-raptor-core-testkit/build-raptor-core-testkit.js +0 -18
  89. package/dist/deps/build-raptor-core-testkit/driver.d.ts +0 -119
  90. package/dist/deps/build-raptor-core-testkit/driver.js +0 -305
  91. package/dist/deps/build-raptor-core-testkit/index.d.ts +0 -3
  92. package/dist/deps/build-raptor-core-testkit/index.js +0 -20
  93. package/dist/deps/build-raptor-core-testkit/repo-protocol-testkit.d.ts +0 -35
  94. package/dist/deps/build-raptor-core-testkit/repo-protocol-testkit.js +0 -226
  95. package/dist/deps/build-raptor-core-testkit/simple-node-repo-protocol.d.ts +0 -27
  96. package/dist/deps/build-raptor-core-testkit/simple-node-repo-protocol.js +0 -140
  97. package/dist/deps/build-raptor-jest-reporter/index.d.ts +0 -0
  98. package/dist/deps/build-raptor-jest-reporter/index.js +0 -33
  99. package/dist/deps/build-run-id/build-run-id.d.ts +0 -3
  100. package/dist/deps/build-run-id/build-run-id.js +0 -13
  101. package/dist/deps/build-run-id/index.d.ts +0 -1
  102. package/dist/deps/build-run-id/index.js +0 -18
  103. package/dist/deps/core-types/core-types.d.ts +0 -29
  104. package/dist/deps/core-types/core-types.js +0 -81
  105. package/dist/deps/core-types/index.d.ts +0 -1
  106. package/dist/deps/core-types/index.js +0 -18
  107. package/dist/deps/logger/index.d.ts +0 -1
  108. package/dist/deps/logger/index.js +0 -18
  109. package/dist/deps/logger/logger.d.ts +0 -26
  110. package/dist/deps/logger/logger.js +0 -152
  111. package/dist/deps/misc/arrays.d.ts +0 -7
  112. package/dist/deps/misc/arrays.js +0 -67
  113. package/dist/deps/misc/camelize-record.d.ts +0 -6
  114. package/dist/deps/misc/camelize-record.js +0 -16
  115. package/dist/deps/misc/clean-directory.d.ts +0 -4
  116. package/dist/deps/misc/clean-directory.js +0 -80
  117. package/dist/deps/misc/constructs.d.ts +0 -106
  118. package/dist/deps/misc/constructs.js +0 -131
  119. package/dist/deps/misc/directory-scanner.d.ts +0 -49
  120. package/dist/deps/misc/directory-scanner.js +0 -165
  121. package/dist/deps/misc/executor.d.ts +0 -39
  122. package/dist/deps/misc/executor.js +0 -59
  123. package/dist/deps/misc/file-system-storage-client.d.ts +0 -23
  124. package/dist/deps/misc/file-system-storage-client.js +0 -93
  125. package/dist/deps/misc/folderify.d.ts +0 -8
  126. package/dist/deps/misc/folderify.js +0 -86
  127. package/dist/deps/misc/graph.d.ts +0 -29
  128. package/dist/deps/misc/graph.js +0 -200
  129. package/dist/deps/misc/in-memory-storage-client.d.ts +0 -21
  130. package/dist/deps/misc/in-memory-storage-client.js +0 -75
  131. package/dist/deps/misc/index.d.ts +0 -20
  132. package/dist/deps/misc/index.js +0 -37
  133. package/dist/deps/misc/int.d.ts +0 -10
  134. package/dist/deps/misc/int.js +0 -29
  135. package/dist/deps/misc/internal/graph-executor.d.ts +0 -15
  136. package/dist/deps/misc/internal/graph-executor.js +0 -93
  137. package/dist/deps/misc/maps.d.ts +0 -29
  138. package/dist/deps/misc/maps.js +0 -47
  139. package/dist/deps/misc/misc.d.ts +0 -23
  140. package/dist/deps/misc/misc.js +0 -94
  141. package/dist/deps/misc/object-map.d.ts +0 -10
  142. package/dist/deps/misc/object-map.js +0 -26
  143. package/dist/deps/misc/promises.d.ts +0 -39
  144. package/dist/deps/misc/promises.js +0 -78
  145. package/dist/deps/misc/records.d.ts +0 -11
  146. package/dist/deps/misc/records.js +0 -40
  147. package/dist/deps/misc/slurp-dir.d.ts +0 -1
  148. package/dist/deps/misc/slurp-dir.js +0 -14
  149. package/dist/deps/misc/storage-client.d.ts +0 -12
  150. package/dist/deps/misc/storage-client.js +0 -3
  151. package/dist/deps/misc/stream-to-buffer.d.ts +0 -2
  152. package/dist/deps/misc/stream-to-buffer.js +0 -26
  153. package/dist/deps/misc/strings.d.ts +0 -12
  154. package/dist/deps/misc/strings.js +0 -68
  155. package/dist/deps/misc/typed-publisher.d.ts +0 -17
  156. package/dist/deps/misc/typed-publisher.js +0 -65
  157. package/dist/deps/repo-protocol/index.d.ts +0 -3
  158. package/dist/deps/repo-protocol/index.js +0 -20
  159. package/dist/deps/repo-protocol/repo-protocol.d.ts +0 -49
  160. package/dist/deps/repo-protocol/repo-protocol.js +0 -3
  161. package/dist/deps/repo-protocol/task-info.d.ts +0 -18
  162. package/dist/deps/repo-protocol/task-info.js +0 -3
  163. package/dist/deps/repo-protocol/test-run-summary.d.ts +0 -54
  164. package/dist/deps/repo-protocol/test-run-summary.js +0 -32
  165. package/dist/deps/repo-protocol-toolbox/generate-task-infos.d.ts +0 -5
  166. package/dist/deps/repo-protocol-toolbox/generate-task-infos.js +0 -26
  167. package/dist/deps/repo-protocol-toolbox/index.d.ts +0 -3
  168. package/dist/deps/repo-protocol-toolbox/index.js +0 -20
  169. package/dist/deps/repo-protocol-toolbox/repo-protocol-toolbox.d.ts +0 -10
  170. package/dist/deps/repo-protocol-toolbox/repo-protocol-toolbox.js +0 -90
  171. package/dist/deps/repo-protocol-toolbox/task-definition.d.ts +0 -14
  172. package/dist/deps/repo-protocol-toolbox/task-definition.js +0 -3
  173. package/dist/deps/reporter-output/index.d.ts +0 -1
  174. package/dist/deps/reporter-output/index.js +0 -18
  175. package/dist/deps/reporter-output/reporter-output.d.ts +0 -49
  176. package/dist/deps/reporter-output/reporter-output.js +0 -25
  177. package/dist/deps/s3-storage-client/creds.d.ts +0 -4
  178. package/dist/deps/s3-storage-client/creds.js +0 -3
  179. package/dist/deps/s3-storage-client/get-s3-storage-client-factory.d.ts +0 -3
  180. package/dist/deps/s3-storage-client/get-s3-storage-client-factory.js +0 -45
  181. package/dist/deps/s3-storage-client/index.d.ts +0 -2
  182. package/dist/deps/s3-storage-client/index.js +0 -19
  183. package/dist/deps/s3-storage-client/main.d.ts +0 -1
  184. package/dist/deps/s3-storage-client/main.js +0 -20
  185. package/dist/deps/s3-storage-client/s3-storage-client.d.ts +0 -25
  186. package/dist/deps/s3-storage-client/s3-storage-client.js +0 -134
  187. package/dist/deps/task-name/index.d.ts +0 -1
  188. package/dist/deps/task-name/index.js +0 -18
  189. package/dist/deps/task-name/task-name.d.ts +0 -17
  190. package/dist/deps/task-name/task-name.js +0 -44
  191. package/dist/deps/unit-metadata/index.d.ts +0 -1
  192. package/dist/deps/unit-metadata/index.js +0 -18
  193. package/dist/deps/unit-metadata/unit-metadata.d.ts +0 -14
  194. package/dist/deps/unit-metadata/unit-metadata.js +0 -32
  195. package/dist/deps/yarn-repo-protocol/build-task-record.d.ts +0 -61
  196. package/dist/deps/yarn-repo-protocol/build-task-record.js +0 -29
  197. package/dist/deps/yarn-repo-protocol/generate-test-run-summary.d.ts +0 -4
  198. package/dist/deps/yarn-repo-protocol/generate-test-run-summary.js +0 -26
  199. package/dist/deps/yarn-repo-protocol/index.d.ts +0 -2
  200. package/dist/deps/yarn-repo-protocol/index.js +0 -19
  201. package/dist/deps/yarn-repo-protocol/rerun-list.d.ts +0 -12
  202. package/dist/deps/yarn-repo-protocol/rerun-list.js +0 -6
  203. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol-config.d.ts +0 -24
  204. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol-config.js +0 -33
  205. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol.d.ts +0 -82
  206. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol.js +0 -1036
  207. package/dist/src/build-raptor-cli.d.ts +0 -60
  208. package/dist/src/build-raptor-cli.js +0 -514
  209. package/dist/src/index.d.ts +0 -1
  210. package/dist/src/index.js +0 -20
  211. package/dist/src/main.d.ts +0 -2
  212. package/dist/src/main.js +0 -23
  213. package/dist/src/register-asset-request.d.ts +0 -18
  214. package/dist/src/register-asset-request.js +0 -11
  215. package/dist/src/task-execution-visualizer.d.ts +0 -17
  216. package/dist/src/task-execution-visualizer.js +0 -116
@@ -1,200 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Graph = void 0;
7
- const p_queue_1 = __importDefault(require("p-queue"));
8
- const arrays_1 = require("./arrays");
9
- const constructs_1 = require("./constructs");
10
- const executor_1 = require("./executor");
11
- const graph_executor_1 = require("./internal/graph-executor");
12
- const maps_1 = require("./maps");
13
- const object_map_1 = require("./object-map");
14
- class Vertex {
15
- constructor(id, payload) {
16
- this.id = id;
17
- this.payload = payload;
18
- this.neighbors_ = [];
19
- this.backNeighbors_ = [];
20
- }
21
- addNeighbor(v) {
22
- this.neighbors_.push(v);
23
- }
24
- addBackNeighbor(v) {
25
- this.backNeighbors_.push(v);
26
- }
27
- remove(v) {
28
- const index = this.neighbors_.indexOf(v);
29
- if (index >= 0) {
30
- this.neighbors_.splice(index, 1);
31
- }
32
- const index2 = this.backNeighbors_.indexOf(v);
33
- if (index2 >= 0) {
34
- this.backNeighbors_.splice(index2, 1);
35
- }
36
- }
37
- get neighbors() {
38
- return (0, arrays_1.sortBy)(this.neighbors_, v => v.id);
39
- }
40
- get backNeighbors() {
41
- return (0, arrays_1.sortBy)(this.backNeighbors_, v => v.id);
42
- }
43
- }
44
- class Graph {
45
- constructor(vToId) {
46
- this.vToId = vToId;
47
- this.vertexMap = new object_map_1.ObjectMap(vToId);
48
- }
49
- // TODO(imaman): cover
50
- copy() {
51
- const ret = new Graph(this.vToId);
52
- const vs = (0, arrays_1.sortBy)(this.vertexMap.values(), v => v.id);
53
- for (const v of vs) {
54
- ret.vertex(v.payload);
55
- for (const u of v.neighbors) {
56
- ret.edge(v.payload, u.payload);
57
- }
58
- }
59
- return ret;
60
- }
61
- edge(from, to) {
62
- this.vertex(from);
63
- this.vertex(to);
64
- const f = this.toVertex(from);
65
- const t = this.toVertex(to);
66
- f.addNeighbor(t);
67
- t.addBackNeighbor(f);
68
- }
69
- toVertex(v) {
70
- return (0, maps_1.hardGet)(this.vertexMap, v);
71
- }
72
- vertex(v) {
73
- const existing = this.vertexMap.get(v);
74
- if (!existing) {
75
- const id = this.vToId(v);
76
- this.vertexMap.set(v, new Vertex(id, v));
77
- }
78
- }
79
- remove(v) {
80
- const existing = this.vertexMap.get(v);
81
- if (!existing) {
82
- throw new Error(`Cannot remove non-existing vertex: <${v}>`);
83
- }
84
- this.vertexMap.delete(v);
85
- for (const n of existing.backNeighbors) {
86
- n.remove(existing);
87
- }
88
- for (const n of existing.neighbors) {
89
- n.remove(existing);
90
- }
91
- }
92
- vertices() {
93
- return (0, arrays_1.sortBy)(this.vertexMap.values(), v => v.id).map(v => v.payload);
94
- }
95
- outDegree(v) {
96
- return this.neighborsOf(v).length;
97
- }
98
- neighborsOf(v) {
99
- return this.toVertex(v).neighbors.map(v => v.payload);
100
- }
101
- backNeighborsOf(v) {
102
- return this.toVertex(v).backNeighbors.map(v => v.payload);
103
- }
104
- roots() {
105
- return this.vertices().filter(v => this.toVertex(v).backNeighbors.length === 0);
106
- }
107
- traverseFrom(arg, options) {
108
- const direction = options?.direction ?? 'forward';
109
- const seen = new Set();
110
- const visited = [];
111
- const traverse = (v) => {
112
- if (seen.has(v.id)) {
113
- return;
114
- }
115
- seen.add(v.id);
116
- const ns = direction === 'forward'
117
- ? v.neighbors
118
- : direction === 'backwards'
119
- ? v.backNeighbors
120
- : (0, constructs_1.shouldNeverHappen)(direction);
121
- for (let i = ns.length - 1; i >= 0; --i) {
122
- traverse(ns[i]);
123
- }
124
- visited.push(v);
125
- };
126
- const arr = Array.isArray(arg) ? arg : [arg];
127
- const startingPoints = (0, arrays_1.sortBy)(arr.map(v => this.toVertex(v)), v => v.id);
128
- for (const at of startingPoints) {
129
- traverse(at);
130
- }
131
- return visited.map(v => v.payload);
132
- }
133
- toJSON() {
134
- const vs = (0, arrays_1.sortBy)(this.vertexMap.values(), v => v.id);
135
- const ret = {};
136
- for (const v of vs) {
137
- ret[v.id] = v.neighbors.map(n => n.id);
138
- }
139
- return ret;
140
- }
141
- toString() {
142
- const vs = (0, arrays_1.sortBy)(this.vertexMap.values(), v => v.id);
143
- if (vs.length === 0) {
144
- return '<EMPTY>';
145
- }
146
- return vs.map(v => `${v.id} -> ${v.neighbors.map(n => n.id).join(', ')}`.trim()).join('\n');
147
- }
148
- static fromJSON(json) {
149
- const ret = new Graph(x => x);
150
- for (const [v, neighbors] of Object.entries(json)) {
151
- ret.vertex(v);
152
- for (const n of neighbors) {
153
- ret.edge(v, n);
154
- }
155
- }
156
- return ret;
157
- }
158
- isCyclic() {
159
- const vs = this.vertices().map(v => this.toVertex(v));
160
- // TODO(imaman): use a proper impl. of LIFO (and also introduce a FIFO arrays.ts)
161
- const lifo = [];
162
- const map = new Map();
163
- for (const v of vs) {
164
- const deg = v.neighbors.length;
165
- map.set(v.id, deg);
166
- if (deg === 0) {
167
- lifo.push(v);
168
- }
169
- }
170
- const seen = new Set();
171
- while (true) {
172
- const v = lifo.pop();
173
- if (!v) {
174
- break;
175
- }
176
- if (seen.has(v.id)) {
177
- continue;
178
- }
179
- seen.add(v.id);
180
- for (const n of v.backNeighbors) {
181
- const deg = (0, maps_1.mapIncrement)(map, n.id, -1);
182
- if (deg === 0) {
183
- lifo.push(n);
184
- }
185
- }
186
- }
187
- return seen.size !== vs.length;
188
- }
189
- async execute(concurrency, workToDo, batchScheduler) {
190
- const queue = new p_queue_1.default({ concurrency });
191
- const executor = new executor_1.Executor(queue, workToDo);
192
- const ge = new graph_executor_1.GraphExecutor(this, executor, batchScheduler ?? (() => undefined));
193
- await ge.execute();
194
- }
195
- makeVertexMap() {
196
- return new object_map_1.ObjectMap(this.vToId);
197
- }
198
- }
199
- exports.Graph = Graph;
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsc0RBQTRCO0FBRTVCLHFDQUFpQztBQUNqQyw2Q0FBZ0Q7QUFDaEQseUNBQXFDO0FBQ3JDLDhEQUF5RDtBQUN6RCxpQ0FBOEM7QUFDOUMsNkNBQXdDO0FBTXhDLE1BQU0sTUFBTTtJQUdWLFlBQXFCLEVBQVUsRUFBVyxPQUFVO1FBQS9CLE9BQUUsR0FBRixFQUFFLENBQVE7UUFBVyxZQUFPLEdBQVAsT0FBTyxDQUFHO1FBRm5DLGVBQVUsR0FBZ0IsRUFBRSxDQUFBO1FBQzVCLG1CQUFjLEdBQWdCLEVBQUUsQ0FBQTtJQUNNLENBQUM7SUFFeEQsV0FBVyxDQUFDLENBQVk7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUFZO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBWTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4QyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNsQyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0MsSUFBSSxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lB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
@@ -1,21 +0,0 @@
1
- import { Int } from '.';
2
- import { Key, StorageClient } from './storage-client';
3
- export declare class InMemoryStorageClient implements StorageClient {
4
- private readonly sizeLimitInBytes;
5
- private byteCount_;
6
- constructor(sizeLimitInBytes?: Int);
7
- private readonly store;
8
- putObject(key: Key, content: string | Buffer): Promise<void>;
9
- private putObjectImpl;
10
- putContentAddressable(content: string | Buffer): Promise<string>;
11
- getContentAddressable(hash: string): Promise<Buffer>;
12
- get byteCount(): Int;
13
- getObject(key: Key): Promise<string>;
14
- getObject(key: Key, type: 'string'): Promise<string>;
15
- getObject(key: Key, type: 'buffer'): Promise<Buffer>;
16
- private getObjectImpl;
17
- objectExists(key: Key): Promise<boolean>;
18
- private keyToString;
19
- toJSON(): [Key, string][];
20
- load(u: unknown): void;
21
- }
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InMemoryStorageClient = void 0;
4
- const _1 = require(".");
5
- const constructs_1 = require("./constructs");
6
- const misc_1 = require("./misc");
7
- class InMemoryStorageClient {
8
- constructor(sizeLimitInBytes = (0, _1.Int)(-1)) {
9
- this.sizeLimitInBytes = sizeLimitInBytes;
10
- this.byteCount_ = (0, _1.Int)(0);
11
- this.store = new Map();
12
- }
13
- async putObject(key, content) {
14
- this.putObjectImpl(this.keyToString(key), content);
15
- }
16
- putObjectImpl(s, content) {
17
- const existing = Buffer.from(this.store.get(s) ?? '', 'base64');
18
- const bufferToStore = Buffer.from(content).toString('base64');
19
- const newCount = this.byteCount_ + bufferToStore.length - existing.length;
20
- if (this.sizeLimitInBytes >= 0 && newCount > this.sizeLimitInBytes) {
21
- throw new Error(`size limit (${this.sizeLimitInBytes} bytes) will be exceeded.`);
22
- }
23
- this.store.set(s, bufferToStore);
24
- this.byteCount_ = (0, _1.Int)(newCount);
25
- }
26
- async putContentAddressable(content) {
27
- const ret = (0, misc_1.computeHash)(content);
28
- const p = `cas/${ret}`;
29
- this.putObjectImpl(p, content);
30
- return ret;
31
- }
32
- async getContentAddressable(hash) {
33
- return await this.getObjectImpl(`cas/${hash}`);
34
- }
35
- get byteCount() {
36
- return this.byteCount_;
37
- }
38
- async getObject(key, type = 'string') {
39
- const buf = await this.getObjectImpl(this.keyToString(key));
40
- return type === 'string' ? buf.toString('utf-8') : type === 'buffer' ? buf : (0, constructs_1.shouldNeverHappen)(type);
41
- }
42
- async getObjectImpl(p) {
43
- const encoded = this.store.get(p);
44
- if (encoded === undefined) {
45
- throw new Error(`No object with key ${JSON.stringify(p)}`);
46
- }
47
- return Buffer.from(encoded, 'base64');
48
- }
49
- async objectExists(key) {
50
- return this.store.has(this.keyToString(key));
51
- }
52
- keyToString(key) {
53
- return `std/${(0, misc_1.computeObjectHash)({ key })}`;
54
- }
55
- toJSON() {
56
- return [...this.store];
57
- }
58
- load(u) {
59
- if (!Array.isArray(u)) {
60
- throw new Error(`not an array`);
61
- }
62
- u.forEach((at, i) => {
63
- if (!Array.isArray(at)) {
64
- throw new Error(`entry ${i} is not a pair (got: ${typeof at})`);
65
- }
66
- if (at.length !== 2) {
67
- throw new Error(`entry ${i} is not a pair (length: ${at.length})`);
68
- }
69
- const strings = at.map(x => typeof x === 'string' ? x : (0, constructs_1.failMe)(`expected a pair of strings but found a ${typeof x} at pair ${i}`));
70
- this.putObjectImpl(strings[0], Buffer.from(strings[1], 'base64'));
71
- });
72
- }
73
- }
74
- exports.InMemoryStorageClient = InMemoryStorageClient;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbWVtb3J5LXN0b3JhZ2UtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luLW1lbW9yeS1zdG9yYWdlLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3QkFBdUI7QUFDdkIsNkNBQXdEO0FBQ3hELGlDQUF1RDtBQUd2RCxNQUFhLHFCQUFxQjtJQUVoQyxZQUE2QixtQkFBd0IsSUFBQSxNQUFHLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFBL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFlO1FBRHBELGVBQVUsR0FBUSxJQUFBLE1BQUcsRUFBQyxDQUFDLENBQUMsQ0FBQTtRQUdmLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFBO0lBRmdCLENBQUM7SUFJaEUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFRLEVBQUUsT0FBd0I7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFTyxhQUFhLENBQUMsQ0FBUyxFQUFFLE9BQXdCO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRS9ELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRTdELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFBO1FBQ3pFLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDbkUsTUFBTSxJQUFJ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
@@ -1,20 +0,0 @@
1
- export * from './arrays';
2
- export * from './camelize-record';
3
- export * from './constructs';
4
- export * from './directory-scanner';
5
- export * from './executor';
6
- export * from './file-system-storage-client';
7
- export * from './folderify';
8
- export * from './graph';
9
- export * from './in-memory-storage-client';
10
- export * from './int';
11
- export * from './maps';
12
- export * from './misc';
13
- export * from './object-map';
14
- export * from './promises';
15
- export * from './records';
16
- export * from './slurp-dir';
17
- export * from './storage-client';
18
- export * from './stream-to-buffer';
19
- export * from './strings';
20
- export * from './typed-publisher';
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./arrays"), exports);
18
- __exportStar(require("./camelize-record"), exports);
19
- __exportStar(require("./constructs"), exports);
20
- __exportStar(require("./directory-scanner"), exports);
21
- __exportStar(require("./executor"), exports);
22
- __exportStar(require("./file-system-storage-client"), exports);
23
- __exportStar(require("./folderify"), exports);
24
- __exportStar(require("./graph"), exports);
25
- __exportStar(require("./in-memory-storage-client"), exports);
26
- __exportStar(require("./int"), exports);
27
- __exportStar(require("./maps"), exports);
28
- __exportStar(require("./misc"), exports);
29
- __exportStar(require("./object-map"), exports);
30
- __exportStar(require("./promises"), exports);
31
- __exportStar(require("./records"), exports);
32
- __exportStar(require("./slurp-dir"), exports);
33
- __exportStar(require("./storage-client"), exports);
34
- __exportStar(require("./stream-to-buffer"), exports);
35
- __exportStar(require("./strings"), exports);
36
- __exportStar(require("./typed-publisher"), exports);
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QjtBQUN4QixvREFBaUM7QUFDakMsK0NBQTRCO0FBQzVCLHNEQUFtQztBQUNuQyw2Q0FBMEI7QUFDMUIsK0RBQTRDO0FBQzVDLDhDQUEyQjtBQUMzQiwwQ0FBdUI7QUFDdkIsNkRBQTBDO0FBQzFDLHdDQUFxQjtBQUNyQix5Q0FBc0I7QUFDdEIseUNBQXNCO0FBQ3RCLCtDQUE0QjtBQUM1Qiw2Q0FBMEI7QUFDMUIsNENBQXlCO0FBQ3pCLDhDQUEyQjtBQUMzQixtREFBZ0M7QUFDaEMscURBQWtDO0FBQ2xDLDRDQUF5QjtBQUN6QixvREFBaUMifQ==
@@ -1,10 +0,0 @@
1
- import { Brand } from 'brand';
2
- export type Int = Brand<number, 'Int'>;
3
- declare class IntUtils {
4
- parse(s: string): Int;
5
- product(lhs: Int, rhs: number): Int;
6
- sum(lhs: Int, rhs: number): Int;
7
- }
8
- export declare function Int(): IntUtils;
9
- export declare function Int(value: number): Int;
10
- export {};
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Int = Int;
4
- class IntUtils {
5
- parse(s) {
6
- return intify(s);
7
- }
8
- product(lhs, rhs) {
9
- return intify(lhs * Int(rhs));
10
- }
11
- sum(lhs, rhs) {
12
- return intify(lhs + Int(rhs));
13
- }
14
- }
15
- function Int(value) {
16
- if (value === undefined) {
17
- return new IntUtils();
18
- }
19
- return intify(value);
20
- }
21
- function intify(input) {
22
- const ret = Number(input);
23
- if (Number.isInteger(ret)) {
24
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
25
- return ret;
26
- }
27
- throw new Error(`<${input}> is not an integer`);
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSxrQkFNQztBQXJCRCxNQUFNLFFBQVE7SUFDWixLQUFLLENBQUMsQ0FBUztRQUNiLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBUSxFQUFFLEdBQVc7UUFDM0IsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFDRCxHQUFHLENBQUMsR0FBUSxFQUFFLEdBQVc7UUFDdkIsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQy9CLENBQUM7Q0FDRjtBQUlELFNBQWdCLEdBQUcsQ0FBQyxLQUFjO0lBQ2hDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDdEIsQ0FBQztBQUVELFNBQVMsTUFBTSxDQUFDLEtBQXNCO0lBQ3BDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN6QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQix5RUFBeUU7UUFDekUsT0FBTyxHQUFVLENBQUE7SUFDbkIsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLENBQUE7QUFDakQsQ0FBQyJ9
@@ -1,15 +0,0 @@
1
- import { Executor } from '../executor';
2
- import { BatchScheduler, Graph } from '../graph';
3
- export declare class GraphExecutor<V> {
4
- private readonly graph;
5
- private readonly executor;
6
- private readonly batchScheduler;
7
- private readonly map;
8
- private numLeft;
9
- private started;
10
- constructor(graph: Graph<V>, executor: Executor<V>, batchScheduler: BatchScheduler<V>);
11
- private start;
12
- private scheduleBatch;
13
- private vertexExecuted;
14
- execute(): Promise<void>;
15
- }
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphExecutor = void 0;
4
- const maps_1 = require("../maps");
5
- class GraphExecutor {
6
- constructor(graph, executor, batchScheduler) {
7
- this.graph = graph;
8
- this.executor = executor;
9
- this.batchScheduler = batchScheduler;
10
- this.started = false;
11
- if (graph.isCyclic()) {
12
- throw new Error(`Cannot execute a cyclic graph`);
13
- }
14
- this.numLeft = graph.vertices().length;
15
- this.map = graph.makeVertexMap();
16
- }
17
- start() {
18
- if (this.started) {
19
- throw new Error(`A GraphExecutor object can only be started once`);
20
- }
21
- this.started = true;
22
- const initialBatch = [];
23
- for (const v of this.graph.vertices()) {
24
- const count = this.graph.neighborsOf(v).length;
25
- this.map.set(v, count);
26
- if (count === 0) {
27
- initialBatch.push(v);
28
- }
29
- }
30
- this.executor.subscribe(({ lastSettled }) => {
31
- if (this.map.has(lastSettled)) {
32
- this.vertexExecuted(lastSettled);
33
- }
34
- });
35
- this.scheduleBatch(initialBatch);
36
- }
37
- scheduleBatch(batch) {
38
- const subGraph = this.batchScheduler(batch);
39
- if (!subGraph) {
40
- for (const v of batch) {
41
- this.executor.schedule(v);
42
- }
43
- return;
44
- }
45
- if (subGraph.isCyclic()) {
46
- throw new Error(`batch scheduler returned a cyclic graph`);
47
- }
48
- const set = subGraph.makeVertexMap();
49
- for (const v of batch) {
50
- set.set(v, {});
51
- }
52
- const subVertices = subGraph.vertices();
53
- const outOfBatch = subVertices.filter(v => !set.has(v));
54
- if (outOfBatch.length > 0) {
55
- throw new Error(`batch scheduler returned out-of-batch vertices: ${outOfBatch.join(', ')}`);
56
- }
57
- if (subVertices.length !== batch.length) {
58
- throw new Error(`batch scheduler returned a bad grap: number of vertices is ${subVertices.length} (but it should be ${batch.length})`);
59
- }
60
- const subExecutor = new GraphExecutor(subGraph, this.executor, () => undefined);
61
- subExecutor.start();
62
- }
63
- vertexExecuted(v) {
64
- const nextBatch = [];
65
- for (const n of this.graph.backNeighborsOf(v)) {
66
- const count = (0, maps_1.mapIncrement)(this.map, n, -1);
67
- if (count === 0) {
68
- nextBatch.push(n);
69
- }
70
- }
71
- this.scheduleBatch(nextBatch);
72
- }
73
- async execute() {
74
- const ret = new Promise((resolve, reject) => {
75
- this.executor.subscribe(({ error }) => {
76
- --this.numLeft;
77
- if (this.numLeft > 0) {
78
- return;
79
- }
80
- if (error) {
81
- reject(error);
82
- }
83
- else {
84
- resolve();
85
- }
86
- });
87
- this.start();
88
- });
89
- return ret;
90
- }
91
- }
92
- exports.GraphExecutor = GraphExecutor;
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGgtZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZXJuYWwvZ3JhcGgtZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsa0NBQXNDO0FBRXRDLE1BQWEsYUFBYTtJQUt4QixZQUNtQixLQUFlLEVBQ2YsUUFBcUIsRUFDckIsY0FBaUM7UUFGakMsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNmLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBTDVDLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFPckIsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUE7UUFDbEQsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQTtRQUN0QyxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQVUsQ0FBQTtJQUMxQyxDQUFDO0lBRU8sS0FBSztRQUNYLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQTtRQUNwRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDbkIsTUFBTSxZQUFZLEdBQVEsRUFBRSxDQUFBO1FBRTVCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtZQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDdEIs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
@@ -1,29 +0,0 @@
1
- interface MapLike<K, V> {
2
- get(k: K): V | undefined;
3
- set(k: K, v: V): void;
4
- }
5
- /**
6
- * Returns a value from a map, or throws an error if not found.
7
- * @param map the map to fetch from
8
- * @param key a key to look up
9
- * @returns the value assoicated with `key` in `map`.
10
- */
11
- export declare function hardGet<K, V>(map: MapLike<K, V>, key: K): V;
12
- /**
13
- * Increment the value associated with `key` in `map` by `inc`.
14
- * @param map a map to increment one of its values
15
- * @param key the key to increment
16
- * @param inc the amount to increment by
17
- * @returns the incremented value
18
- */
19
- export declare function mapIncrement<K>(map: MapLike<K, number>, key: K, inc: number): number;
20
- /**
21
- * Returns the value with `key` in `map`. If not found, set it to the value returned by the given supplier function
22
- * and returns it.
23
- * @param map a map to get a value from
24
- * @param key the key to get
25
- * @param supplier a zero-arguments callback to provide a value if `key` is not found in `map`
26
- * @returns the value associated with `key` in `map`
27
- */
28
- export declare function assigningGet<K, V>(map: MapLike<K, V>, key: K, supplier: () => V): V;
29
- export {};
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hardGet = hardGet;
4
- exports.mapIncrement = mapIncrement;
5
- exports.assigningGet = assigningGet;
6
- /**
7
- * Returns a value from a map, or throws an error if not found.
8
- * @param map the map to fetch from
9
- * @param key a key to look up
10
- * @returns the value assoicated with `key` in `map`.
11
- */
12
- function hardGet(map, key) {
13
- const ret = map.get(key);
14
- if (ret === undefined) {
15
- throw new Error(`Could not find <${key}> in the given map`);
16
- }
17
- return ret;
18
- }
19
- /**
20
- * Increment the value associated with `key` in `map` by `inc`.
21
- * @param map a map to increment one of its values
22
- * @param key the key to increment
23
- * @param inc the amount to increment by
24
- * @returns the incremented value
25
- */
26
- function mapIncrement(map, key, inc) {
27
- const ret = assigningGet(map, key, () => 0) + inc;
28
- map.set(key, ret);
29
- return ret;
30
- }
31
- /**
32
- * Returns the value with `key` in `map`. If not found, set it to the value returned by the given supplier function
33
- * and returns it.
34
- * @param map a map to get a value from
35
- * @param key the key to get
36
- * @param supplier a zero-arguments callback to provide a value if `key` is not found in `map`
37
- * @returns the value associated with `key` in `map`
38
- */
39
- function assigningGet(map, key, supplier) {
40
- let v = map.get(key);
41
- if (v === undefined) {
42
- v = supplier();
43
- map.set(key, v);
44
- }
45
- return v;
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBV0EsMEJBTUM7QUFTRCxvQ0FJQztBQVVELG9DQU9DO0FBMUNEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFPLEdBQWtCLEVBQUUsR0FBTTtJQUN0RCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hCLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLEdBQUcsb0JBQW9CLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsWUFBWSxDQUFJLEdBQXVCLEVBQUUsR0FBTSxFQUFFLEdBQVc7SUFDMUUsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFBO0lBQ2pELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ2pCLE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixZQUFZLENBQU8sR0FBa0IsRUFBRSxHQUFNLEVBQUUsUUFBaUI7SUFDOUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwQixJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNwQixDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUE7UUFDZCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNqQixDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDIn0=
@@ -1,23 +0,0 @@
1
- export type Jsonable = string | number | boolean | null | readonly Jsonable[] | {
2
- readonly [key: string]: Jsonable;
3
- };
4
- export declare function computeObjectHash(input: Record<string, Jsonable>): string;
5
- /**
6
- *
7
- * @param input buffer or string to hash
8
- * @returns a hash, in "hex" encoding.
9
- */
10
- export declare function computeHash(input: Buffer | string, algo?: 'sha224' | 'sha256'): string;
11
- /**
12
- * Represents an event that should happen at some point in the future.
13
- */
14
- export declare class Timeout {
15
- private readonly promise;
16
- constructor(promise: Promise<void>);
17
- /**
18
- * Returns a promise that is resvoled when the timeout expires.
19
- */
20
- hasPassed(): Promise<void>;
21
- }
22
- export declare function aTimeoutOf(ms: number): Timeout;
23
- export declare function dumpFile(inputPath: string, output: NodeJS.WritableStream): Promise<void>;