aws-cdk 2.1002.0 → 2.1004.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 (135) hide show
  1. package/THIRD_PARTY_LICENSES +2 -9
  2. package/build-info.json +2 -2
  3. package/db.json.gz +0 -0
  4. package/lib/api/aws-auth/account-cache.js +3 -3
  5. package/lib/api/aws-auth/credential-plugins.js +4 -4
  6. package/lib/api/aws-auth/sdk-logger.d.ts +3 -3
  7. package/lib/api/aws-auth/sdk-logger.js +7 -12
  8. package/lib/api/aws-auth/sdk-provider.js +3 -3
  9. package/lib/api/aws-auth/sdk.js +3 -3
  10. package/lib/api/aws-auth/user-agent.js +3 -3
  11. package/lib/api/bootstrap/bootstrap-environment.d.ts +3 -3
  12. package/lib/api/bootstrap/bootstrap-environment.js +13 -14
  13. package/lib/api/bootstrap/bootstrap-template.yaml +14 -1
  14. package/lib/api/bootstrap/deploy-bootstrap.d.ts +4 -4
  15. package/lib/api/bootstrap/deploy-bootstrap.js +11 -11
  16. package/lib/api/cxapp/cloud-assembly.d.ts +1 -16
  17. package/lib/api/cxapp/cloud-assembly.js +3 -3
  18. package/lib/api/cxapp/exec.js +3 -3
  19. package/lib/api/deployments/asset-publishing.d.ts +5 -5
  20. package/lib/api/deployments/asset-publishing.js +7 -8
  21. package/lib/api/deployments/assets.d.ts +2 -2
  22. package/lib/api/deployments/assets.js +9 -9
  23. package/lib/api/deployments/checks.d.ts +2 -2
  24. package/lib/api/deployments/checks.js +4 -4
  25. package/lib/api/deployments/cloudformation.d.ts +7 -7
  26. package/lib/api/deployments/cloudformation.js +30 -31
  27. package/lib/api/deployments/deploy-stack.d.ts +3 -5
  28. package/lib/api/deployments/deploy-stack.js +55 -58
  29. package/lib/api/deployments/deployments.d.ts +9 -8
  30. package/lib/api/deployments/deployments.js +27 -31
  31. package/lib/api/deployments/hotswap-deployments.d.ts +2 -2
  32. package/lib/api/deployments/hotswap-deployments.js +14 -14
  33. package/lib/api/deployments/nested-stack-helpers.js +3 -3
  34. package/lib/api/environment/environment-access.d.ts +3 -4
  35. package/lib/api/environment/environment-access.js +7 -8
  36. package/lib/api/environment/environment-resources.d.ts +5 -5
  37. package/lib/api/environment/environment-resources.js +13 -13
  38. package/lib/api/garbage-collection/garbage-collector.d.ts +3 -4
  39. package/lib/api/garbage-collection/garbage-collector.js +37 -38
  40. package/lib/api/garbage-collection/progress-printer.d.ts +3 -4
  41. package/lib/api/garbage-collection/progress-printer.js +5 -6
  42. package/lib/api/garbage-collection/stack-refresh.d.ts +3 -3
  43. package/lib/api/garbage-collection/stack-refresh.js +7 -7
  44. package/lib/api/logs/find-cloudwatch-logs.d.ts +2 -2
  45. package/lib/api/logs/find-cloudwatch-logs.js +6 -6
  46. package/lib/api/logs/logs-monitor.d.ts +27 -4
  47. package/lib/api/logs/logs-monitor.js +53 -32
  48. package/lib/api/resource-import/importer.d.ts +3 -5
  49. package/lib/api/resource-import/importer.js +12 -13
  50. package/lib/api/resource-import/migrator.d.ts +3 -5
  51. package/lib/api/resource-import/migrator.js +8 -10
  52. package/lib/api/settings.js +2 -2
  53. package/lib/api/stack-events/stack-activity-monitor.d.ts +5 -63
  54. package/lib/api/stack-events/stack-activity-monitor.js +7 -8
  55. package/lib/api/stack-events/stack-event-poller.js +3 -3
  56. package/lib/api/stack-events/stack-progress-monitor.d.ts +1 -14
  57. package/lib/api/stack-events/stack-progress-monitor.js +4 -4
  58. package/lib/api/toolkit-info.d.ts +2 -2
  59. package/lib/api/toolkit-info.js +5 -5
  60. package/lib/api/util/placeholders.d.ts +1 -1
  61. package/lib/api/util/placeholders.js +1 -1
  62. package/lib/api/util/template-body-parameter.js +4 -5
  63. package/lib/api/work-graph/work-graph-builder.d.ts +3 -4
  64. package/lib/api/work-graph/work-graph-builder.js +10 -11
  65. package/lib/api/work-graph/work-graph.d.ts +3 -8
  66. package/lib/api/work-graph/work-graph.js +8 -9
  67. package/lib/cli/activity-printer/base.d.ts +3 -4
  68. package/lib/cli/activity-printer/base.js +6 -5
  69. package/lib/cli/activity-printer/current.js +1 -1
  70. package/lib/cli/activity-printer/history.d.ts +1 -1
  71. package/lib/cli/activity-printer/history.js +1 -1
  72. package/lib/cli/cdk-toolkit.d.ts +0 -6
  73. package/lib/cli/cdk-toolkit.js +30 -40
  74. package/lib/cli/cli.d.ts +0 -1
  75. package/lib/cli/cli.js +6 -8
  76. package/lib/cli/messages.d.ts +11 -9
  77. package/lib/cli/messages.js +7 -14
  78. package/lib/cli/root-dir.d.ts +10 -0
  79. package/lib/cli/root-dir.js +23 -0
  80. package/lib/cli/version.js +6 -5
  81. package/lib/commands/migrate.js +3 -3
  82. package/lib/context-providers/cc-api-provider.js +5 -5
  83. package/lib/context-providers/index.js +3 -3
  84. package/lib/index.js +6962 -6363
  85. package/lib/init-hooks.js +3 -3
  86. package/lib/init-templates/.init-version.json +1 -1
  87. package/lib/init.js +8 -9
  88. package/lib/legacy-exports-source.d.ts +2 -5
  89. package/lib/legacy-exports-source.js +7 -10
  90. package/lib/list-stacks.d.ts +1 -2
  91. package/lib/list-stacks.js +1 -2
  92. package/lib/logging.d.ts +3 -1
  93. package/lib/logging.js +2 -1
  94. package/lib/notices.js +6 -7
  95. package/lib/toolkit/cli-io-host.d.ts +37 -125
  96. package/lib/toolkit/cli-io-host.js +44 -74
  97. package/lib/util.d.ts +1 -0
  98. package/lib/util.js +18 -0
  99. package/package.json +8 -15
  100. package/lib/util/archive.d.ts +0 -1
  101. package/lib/util/archive.js +0 -86
  102. package/lib/util/arrays.d.ts +0 -14
  103. package/lib/util/arrays.js +0 -36
  104. package/lib/util/bool.d.ts +0 -7
  105. package/lib/util/bool.js +0 -13
  106. package/lib/util/bytes.d.ts +0 -8
  107. package/lib/util/bytes.js +0 -21
  108. package/lib/util/cloudformation.d.ts +0 -16
  109. package/lib/util/cloudformation.js +0 -36
  110. package/lib/util/content-hash.d.ts +0 -5
  111. package/lib/util/content-hash.js +0 -43
  112. package/lib/util/directories.d.ts +0 -23
  113. package/lib/util/directories.js +0 -58
  114. package/lib/util/format-error.d.ts +0 -9
  115. package/lib/util/format-error.js +0 -22
  116. package/lib/util/index.d.ts +0 -15
  117. package/lib/util/index.js +0 -32
  118. package/lib/util/json.d.ts +0 -48
  119. package/lib/util/json.js +0 -68
  120. package/lib/util/objects.d.ts +0 -52
  121. package/lib/util/objects.js +0 -183
  122. package/lib/util/parallel.d.ts +0 -6
  123. package/lib/util/parallel.js +0 -48
  124. package/lib/util/serialize.d.ts +0 -27
  125. package/lib/util/serialize.js +0 -86
  126. package/lib/util/string-manipulation.d.ts +0 -14
  127. package/lib/util/string-manipulation.js +0 -39
  128. package/lib/util/type-brands.d.ts +0 -39
  129. package/lib/util/type-brands.js +0 -38
  130. package/lib/util/types.d.ts +0 -27
  131. package/lib/util/types.js +0 -25
  132. package/lib/util/version-range.d.ts +0 -2
  133. package/lib/util/version-range.js +0 -36
  134. package/lib/util/yaml-cfn.d.ts +0 -15
  135. package/lib/util/yaml-cfn.js +0 -58
@@ -1,183 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyDefaults = applyDefaults;
4
- exports.isEmpty = isEmpty;
5
- exports.deepClone = deepClone;
6
- exports.mapObject = mapObject;
7
- exports.makeObject = makeObject;
8
- exports.deepGet = deepGet;
9
- exports.deepSet = deepSet;
10
- exports.deepMerge = deepMerge;
11
- exports.splitBySize = splitBySize;
12
- const types_1 = require("./types");
13
- const error_1 = require("../toolkit/error");
14
- /**
15
- * Return a new object by adding missing keys into another object
16
- */
17
- function applyDefaults(hash, defaults) {
18
- const result = {};
19
- Object.keys(hash).forEach(k => result[k] = hash[k]);
20
- Object.keys(defaults)
21
- .filter(k => !(k in result))
22
- .forEach(k => result[k] = defaults[k]);
23
- return result;
24
- }
25
- /**
26
- * Return whether the given parameter is an empty object or empty list.
27
- */
28
- function isEmpty(x) {
29
- if (x == null) {
30
- return false;
31
- }
32
- if ((0, types_1.isArray)(x)) {
33
- return x.length === 0;
34
- }
35
- return Object.keys(x).length === 0;
36
- }
37
- /**
38
- * Deep clone a tree of objects, lists or scalars
39
- *
40
- * Does not support cycles.
41
- */
42
- function deepClone(x) {
43
- if (typeof x === 'undefined') {
44
- return undefined;
45
- }
46
- if (x === null) {
47
- return null;
48
- }
49
- if ((0, types_1.isArray)(x)) {
50
- return x.map(deepClone);
51
- }
52
- if ((0, types_1.isObject)(x)) {
53
- return makeObject(mapObject(x, (k, v) => [k, deepClone(v)]));
54
- }
55
- return x;
56
- }
57
- /**
58
- * Map over an object, treating it as a dictionary
59
- */
60
- function mapObject(x, fn) {
61
- const ret = [];
62
- Object.keys(x).forEach(key => {
63
- ret.push(fn(key, x[key]));
64
- });
65
- return ret;
66
- }
67
- /**
68
- * Construct an object from a list of (k, v) pairs
69
- */
70
- function makeObject(pairs) {
71
- const ret = {};
72
- for (const pair of pairs) {
73
- ret[pair[0]] = pair[1];
74
- }
75
- return ret;
76
- }
77
- /**
78
- * Deep get a value from a tree of nested objects
79
- *
80
- * Returns undefined if any part of the path was unset or
81
- * not an object.
82
- */
83
- function deepGet(x, path) {
84
- path = path.slice();
85
- while (path.length > 0 && (0, types_1.isObject)(x)) {
86
- const key = path.shift();
87
- x = x[key];
88
- }
89
- return path.length === 0 ? x : undefined;
90
- }
91
- /**
92
- * Deep set a value in a tree of nested objects
93
- *
94
- * Throws an error if any part of the path is not an object.
95
- */
96
- function deepSet(x, path, value) {
97
- path = path.slice();
98
- if (path.length === 0) {
99
- throw new error_1.ToolkitError('Path may not be empty');
100
- }
101
- while (path.length > 1 && (0, types_1.isObject)(x)) {
102
- const key = path.shift();
103
- if (!(key in x)) {
104
- x[key] = {};
105
- }
106
- x = x[key];
107
- }
108
- if (!(0, types_1.isObject)(x)) {
109
- throw new error_1.ToolkitError(`Expected an object, got '${x}'`);
110
- }
111
- if (value !== undefined) {
112
- x[path[0]] = value;
113
- }
114
- else {
115
- delete x[path[0]];
116
- }
117
- }
118
- /**
119
- * Recursively merge objects together
120
- *
121
- * The leftmost object is mutated and returned. Arrays are not merged
122
- * but overwritten just like scalars.
123
- *
124
- * If an object is merged into a non-object, the non-object is lost.
125
- */
126
- function deepMerge(...objects) {
127
- function mergeOne(target, source) {
128
- for (const key of Object.keys(source)) {
129
- if (key === '__proto__' || key === 'constructor') {
130
- continue;
131
- }
132
- const value = source[key];
133
- if ((0, types_1.isObject)(value)) {
134
- if (!(0, types_1.isObject)(target[key])) {
135
- target[key] = {};
136
- } // Overwrite on purpose
137
- mergeOne(target[key], value);
138
- }
139
- else if (typeof value !== 'undefined') {
140
- target[key] = value;
141
- }
142
- }
143
- }
144
- const others = objects.filter(x => x != null);
145
- if (others.length === 0) {
146
- return {};
147
- }
148
- const into = others.splice(0, 1)[0];
149
- others.forEach(other => mergeOne(into, other));
150
- return into;
151
- }
152
- /**
153
- * Splits the given object into two, such that:
154
- *
155
- * 1. The size of the first object (after stringified in UTF-8) is less than or equal to the provided size limit.
156
- * 2. Merging the two objects results in the original one.
157
- */
158
- function splitBySize(data, maxSizeBytes) {
159
- if (maxSizeBytes < 2) {
160
- // It's impossible to fit anything in the first object
161
- return [undefined, data];
162
- }
163
- const entries = Object.entries(data);
164
- return recurse(0, 0);
165
- function recurse(index, runningTotalSize) {
166
- if (index >= entries.length) {
167
- // Everything fits in the first object
168
- return [data, undefined];
169
- }
170
- const size = runningTotalSize + entrySize(entries[index]);
171
- return (size > maxSizeBytes) ? cutAt(index) : recurse(index + 1, size);
172
- }
173
- function entrySize(entry) {
174
- return Buffer.byteLength(JSON.stringify(Object.fromEntries([entry])));
175
- }
176
- function cutAt(index) {
177
- return [
178
- Object.fromEntries(entries.slice(0, index)),
179
- Object.fromEntries(entries.slice(index)),
180
- ];
181
- }
182
- }
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm9iamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxzQ0FVQztBQUtELDBCQVFDO0FBT0QsOEJBY0M7QUFLRCw4QkFNQztBQUtELGdDQU1DO0FBUUQsMEJBUUM7QUFPRCwwQkF3QkM7QUFVRCw4QkE2QkM7QUFRRCxrQ0E0QkM7QUFsTUQsbUNBQWlEO0FBQ2pELDRDQUFnRDtBQUVoRDs7R0FFRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxJQUFTLEVBQUUsUUFBYTtJQUNwRCxNQUFNLE1BQU0sR0FBUSxFQUFHLENBQUM7SUFFeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEQsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQztTQUMzQixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFekMsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLENBQU07SUFDNUIsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDZCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLElBQUEsZUFBTyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFD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Q0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRCxPQUFPLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxTQUFTLFNBQVMsQ0FBQyxLQUF3QjtRQUN6QyxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELFNBQVMsS0FBSyxDQUFDLEtBQWE7UUFDMUIsT0FBTztZQUNMLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDM0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQXJyYXksIGlzT2JqZWN0LCBPYmogfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uL3Rvb2xraXQvZXJyb3InO1xuXG4vKipcbiAqIFJldHVybiBhIG5ldyBvYmplY3QgYnkgYWRkaW5nIG1pc3Npbmcga2V5cyBpbnRvIGFub3RoZXIgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseURlZmF1bHRzKGhhc2g6IGFueSwgZGVmYXVsdHM6IGFueSkge1xuICBjb25zdCByZXN1bHQ6IGFueSA9IHsgfTtcblxuICBPYmplY3Qua2V5cyhoYXNoKS5mb3JFYWNoKGsgPT4gcmVzdWx0W2tdID0gaGFzaFtrXSk7XG5cbiAgT2JqZWN0LmtleXMoZGVmYXVsdHMpXG4gICAgLmZpbHRlcihrID0+ICEoayBpbiByZXN1bHQpKVxuICAgIC5mb3JFYWNoKGsgPT4gcmVzdWx0W2tdID0gZGVmYXVsdHNba10pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogUmV0dXJuIHdoZXRoZXIgdGhlIGdpdmVuIHBhcmFtZXRlciBpcyBhbiBlbXB0eSBvYmplY3Qgb3IgZW1wdHkgbGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkoeDogYW55KSB7XG4gIGlmICh4ID09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKGlzQXJyYXkoeCkpIHtcbiAgICByZXR1cm4geC5sZW5ndGggPT09IDA7XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHgpLmxlbmd0aCA9PT0gMDtcbn1cblxuLyoqXG4gKiBEZWVwIGNsb25lIGEgdHJlZSBvZiBvYmplY3RzLCBsaXN0cyBvciBzY2FsYXJzXG4gKlxuICogRG9lcyBub3Qgc3VwcG9ydCBjeWNsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwQ2xvbmUoeDogYW55KTogYW55IHtcbiAgaWYgKHR5cGVvZiB4ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgaWYgKHggPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBpZiAoaXNBcnJheSh4KSkge1xuICAgIHJldHVybiB4Lm1hcChkZWVwQ2xvbmUpO1xuICB9XG4gIGlmIChpc09iamVjdCh4KSkge1xuICAgIHJldHVybiBtYWtlT2JqZWN0KG1hcE9iamVjdCh4LCAoaywgdikgPT4gW2ssIGRlZXBDbG9uZSh2KV0gYXMgW3N0cmluZywgYW55XSkpO1xuICB9XG4gIHJldHVybiB4O1xufVxuXG4vKipcbiAqIE1hcCBvdmVyIGFuIG9iamVjdCwgdHJlYXRpbmcgaXQgYXMgYSBkaWN0aW9uYXJ5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXBPYmplY3Q8VCwgVT4oeDogT2JqPFQ+LCBmbjogKGtleTogc3RyaW5nLCB2YWx1ZTogVCkgPT4gVSk6IFVbXSB7XG4gIGNvbnN0IHJldDogVVtdID0gW107XG4gIE9iamVjdC5rZXlzKHgpLmZvckVhY2goa2V5ID0+IHtcbiAgICByZXQucHVzaChmbihrZXksIHhba2V5XSkpO1xuICB9KTtcbiAgcmV0dXJuIHJldDtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgYW4gb2JqZWN0IGZyb20gYSBsaXN0IG9mIChrLCB2KSBwYWlyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZU9iamVjdDxUPihwYWlyczogQXJyYXk8W3N0cmluZywgVF0+KTogT2JqPFQ+IHtcbiAgY29uc3QgcmV0OiBPYmo8VD4gPSB7fTtcbiAgZm9yIChjb25zdCBwYWlyIG9mIHBhaXJzKSB7XG4gICAgcmV0W3BhaXJbMF1dID0gcGFpclsxXTtcbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG4vKipcbiAqIERlZXAgZ2V0IGEgdmFsdWUgZnJvbSBhIHRyZWUgb2YgbmVzdGVkIG9iamVjdHNcbiAqXG4gKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBhbnkgcGFydCBvZiB0aGUgcGF0aCB3YXMgdW5zZXQgb3JcbiAqIG5vdCBhbiBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwR2V0KHg6IGFueSwgcGF0aDogc3RyaW5nW10pOiBhbnkge1xuICBwYXRoID0gcGF0aC5zbGljZSgpO1xuXG4gIHdoaWxlIChwYXRoLmxlbmd0aCA+IDAgJiYgaXNPYmplY3QoeCkpIHtcbiAgICBjb25zdCBrZXkgPSBwYXRoLnNoaWZ0KCkhO1xuICAgIHggPSB4W2tleV07XG4gIH1cbiAgcmV0dXJuIHBhdGgubGVuZ3RoID09PSAwID8geCA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBEZWVwIHNldCBhIHZhbHVlIGluIGEgdHJlZSBvZiBuZXN0ZWQgb2JqZWN0c1xuICpcbiAqIFRocm93cyBhbiBlcnJvciBpZiBhbnkgcGFydCBvZiB0aGUgcGF0aCBpcyBub3QgYW4gb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVlcFNldCh4OiBhbnksIHBhdGg6IHN0cmluZ1tdLCB2YWx1ZTogYW55KSB7XG4gIHBhdGggPSBwYXRoLnNsaWNlKCk7XG5cbiAgaWYgKHBhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcignUGF0aCBtYXkgbm90IGJlIGVtcHR5Jyk7XG4gIH1cblxuICB3aGlsZSAocGF0aC5sZW5ndGggPiAxICYmIGlzT2JqZWN0KHgpKSB7XG4gICAgY29uc3Qga2V5ID0gcGF0aC5zaGlmdCgpITtcbiAgICBpZiAoIShrZXkgaW4geCkpIHtcbiAgICAgIHhba2V5XSA9IHt9O1xuICAgIH1cbiAgICB4ID0geFtrZXldO1xuICB9XG5cbiAgaWYgKCFpc09iamVjdCh4KSkge1xuICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoYEV4cGVjdGVkIGFuIG9iamVjdCwgZ290ICcke3h9J2ApO1xuICB9XG5cbiAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICB4W3BhdGhbMF1dID0gdmFsdWU7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIHhbcGF0aFswXV07XG4gIH1cbn1cblxuLyoqXG4gKiBSZWN1cnNpdmVseSBtZXJnZSBvYmplY3RzIHRvZ2V0aGVyXG4gKlxuICogVGhlIGxlZnRtb3N0IG9iamVjdCBpcyBtdXRhdGVkIGFuZCByZXR1cm5lZC4gQXJyYXlzIGFyZSBub3QgbWVyZ2VkXG4gKiBidXQgb3ZlcndyaXR0ZW4ganVzdCBsaWtlIHNjYWxhcnMuXG4gKlxuICogSWYgYW4gb2JqZWN0IGlzIG1lcmdlZCBpbnRvIGEgbm9uLW9iamVjdCwgdGhlIG5vbi1vYmplY3QgaXMgbG9zdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZXBNZXJnZSguLi5vYmplY3RzOiBBcnJheTxPYmo8YW55PiB8IHVuZGVmaW5lZD4pIHtcbiAgZnVuY3Rpb24gbWVyZ2VPbmUodGFyZ2V0OiBPYmo8YW55Piwgc291cmNlOiBPYmo8YW55Pikge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHNvdXJjZSkpIHtcbiAgICAgIGlmIChrZXkgPT09ICdfX3Byb3RvX18nIHx8IGtleSA9PT0gJ2NvbnN0cnVjdG9yJykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsdWUgPSBzb3VyY2Vba2V5XTtcblxuICAgICAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICBpZiAoIWlzT2JqZWN0KHRhcmdldFtrZXldKSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0ge307XG4gICAgICAgIH0gLy8gT3ZlcndyaXRlIG9uIHB1cnBvc2VcbiAgICAgICAgbWVyZ2VPbmUodGFyZ2V0W2tleV0sIHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0YXJnZXRba2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IG90aGVycyA9IG9iamVjdHMuZmlsdGVyKHggPT4geCAhPSBudWxsKSBhcyBBcnJheTxPYmo8YW55Pj47XG5cbiAgaWYgKG90aGVycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgY29uc3QgaW50byA9IG90aGVycy5zcGxpY2UoMCwgMSlbMF07XG5cbiAgb3RoZXJzLmZvckVhY2gob3RoZXIgPT4gbWVyZ2VPbmUoaW50bywgb3RoZXIpKTtcbiAgcmV0dXJuIGludG87XG59XG5cbi8qKlxuICogU3BsaXRzIHRoZSBnaXZlbiBvYmplY3QgaW50byB0d28sIHN1Y2ggdGhhdDpcbiAqXG4gKiAxLiBUaGUgc2l6ZSBvZiB0aGUgZmlyc3Qgb2JqZWN0IChhZnRlciBzdHJpbmdpZmllZCBpbiBVVEYtOCkgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBwcm92aWRlZCBzaXplIGxpbWl0LlxuICogMi4gTWVyZ2luZyB0aGUgdHdvIG9iamVjdHMgcmVzdWx0cyBpbiB0aGUgb3JpZ2luYWwgb25lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRCeVNpemUoZGF0YTogYW55LCBtYXhTaXplQnl0ZXM6IG51bWJlcik6IFthbnksIGFueV0ge1xuICBpZiAobWF4U2l6ZUJ5dGVzIDwgMikge1xuICAgIC8vIEl0J3MgaW1wb3NzaWJsZSB0byBmaXQgYW55dGhpbmcgaW4gdGhlIGZpcnN0IG9iamVjdFxuICAgIHJldHVybiBbdW5kZWZpbmVkLCBkYXRhXTtcbiAgfVxuICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoZGF0YSk7XG4gIHJldHVybiByZWN1cnNlKDAsIDApO1xuXG4gIGZ1bmN0aW9uIHJlY3Vyc2UoaW5kZXg6IG51bWJlciwgcnVubmluZ1RvdGFsU2l6ZTogbnVtYmVyKTogW2FueSwgYW55XSB7XG4gICAgaWYgKGluZGV4ID49IGVudHJpZXMubGVuZ3RoKSB7XG4gICAgICAvLyBFdmVyeXRoaW5nIGZpdHMgaW4gdGhlIGZpcnN0IG9iamVjdFxuICAgICAgcmV0dXJuIFtkYXRhLCB1bmRlZmluZWRdO1xuICAgIH1cblxuICAgIGNvbnN0IHNpemUgPSBydW5uaW5nVG90YWxTaXplICsgZW50cnlTaXplKGVudHJpZXNbaW5kZXhdKTtcbiAgICByZXR1cm4gKHNpemUgPiBtYXhTaXplQnl0ZXMpID8gY3V0QXQoaW5kZXgpIDogcmVjdXJzZShpbmRleCArIDEsIHNpemUpO1xuICB9XG5cbiAgZnVuY3Rpb24gZW50cnlTaXplKGVudHJ5OiBbc3RyaW5nLCB1bmtub3duXSkge1xuICAgIHJldHVybiBCdWZmZXIuYnl0ZUxlbmd0aChKU09OLnN0cmluZ2lmeShPYmplY3QuZnJvbUVudHJpZXMoW2VudHJ5XSkpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGN1dEF0KGluZGV4OiBudW1iZXIpOiBbYW55LCBhbnldIHtcbiAgICByZXR1cm4gW1xuICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKGVudHJpZXMuc2xpY2UoMCwgaW5kZXgpKSxcbiAgICAgIE9iamVjdC5mcm9tRW50cmllcyhlbnRyaWVzLnNsaWNlKGluZGV4KSksXG4gICAgXTtcbiAgfVxufVxuIl19
@@ -1,6 +0,0 @@
1
- /**
2
- * Run a number of promise generators with max parallelism
3
- *
4
- * Order is not maintained between the input and output.
5
- */
6
- export declare function parallelPromises<A>(n: number, promises: Array<() => Promise<A>>): Promise<Array<A>>;
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parallelPromises = parallelPromises;
4
- /**
5
- * Run a number of promise generators with max parallelism
6
- *
7
- * Order is not maintained between the input and output.
8
- */
9
- async function parallelPromises(n, promises) {
10
- const ret = new Array();
11
- let count = 0;
12
- let error;
13
- const queue = [...promises];
14
- return new Promise((ok, ko) => {
15
- tick();
16
- function tick() {
17
- if (count === 0 && error) {
18
- ko(error);
19
- return;
20
- }
21
- if (count === 0 && queue.length === 0) {
22
- ok(ret);
23
- return;
24
- }
25
- while (count < n && queue.length > 0 && !error) {
26
- const next = queue.shift();
27
- if (next !== undefined) {
28
- start(next);
29
- }
30
- }
31
- }
32
- function start(fn) {
33
- count += 1;
34
- fn()
35
- .then((result) => {
36
- ret.push(result);
37
- })
38
- .catch((e) => {
39
- error = e;
40
- })
41
- .finally(() => {
42
- count -= 1;
43
- tick();
44
- });
45
- }
46
- });
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwYXJhbGxlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLDRDQTBDQztBQS9DRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLGdCQUFnQixDQUFJLENBQVMsRUFBRSxRQUFpQztJQUNwRixNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBSyxDQUFDO0lBQzNCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLElBQUksS0FBd0IsQ0FBQztJQUM3QixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7SUFFNUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUM1QixJQUFJLEVBQUUsQ0FBQztRQUVQLFNBQVMsSUFBSTtZQUNYLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNWLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDUixPQUFPO1lBQ1QsQ0FBQztZQUVELE9BQU8sS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMvQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsU0FBUyxLQUFLLENBQUMsRUFBb0I7WUFDakMsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUNYLEVBQUUsRUFBRTtpQkFDRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDZixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ1osQ0FBQyxDQUFDO2lCQUNELE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDWCxJQUFJLEVBQUUsQ0FBQztZQUNULENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUnVuIGEgbnVtYmVyIG9mIHByb21pc2UgZ2VuZXJhdG9ycyB3aXRoIG1heCBwYXJhbGxlbGlzbVxuICpcbiAqIE9yZGVyIGlzIG5vdCBtYWludGFpbmVkIGJldHdlZW4gdGhlIGlucHV0IGFuZCBvdXRwdXQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwYXJhbGxlbFByb21pc2VzPEE+KG46IG51bWJlciwgcHJvbWlzZXM6IEFycmF5PCgpID0+IFByb21pc2U8QT4+KTogUHJvbWlzZTxBcnJheTxBPj4ge1xuICBjb25zdCByZXQgPSBuZXcgQXJyYXk8QT4oKTtcbiAgbGV0IGNvdW50ID0gMDtcbiAgbGV0IGVycm9yOiBFcnJvciB8IHVuZGVmaW5lZDtcbiAgY29uc3QgcXVldWUgPSBbLi4ucHJvbWlzZXNdO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgob2ssIGtvKSA9PiB7XG4gICAgdGljaygpO1xuXG4gICAgZnVuY3Rpb24gdGljaygpIHtcbiAgICAgIGlmIChjb3VudCA9PT0gMCAmJiBlcnJvcikge1xuICAgICAgICBrbyhlcnJvcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChjb3VudCA9PT0gMCAmJiBxdWV1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgb2socmV0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAoY291bnQgPCBuICYmIHF1ZXVlLmxlbmd0aCA+IDAgJiYgIWVycm9yKSB7XG4gICAgICAgIGNvbnN0IG5leHQgPSBxdWV1ZS5zaGlmdCgpO1xuICAgICAgICBpZiAobmV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc3RhcnQobmV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzdGFydChmbjogKCkgPT4gUHJvbWlzZTxBPikge1xuICAgICAgY291bnQgKz0gMTtcbiAgICAgIGZuKClcbiAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIHJldC5wdXNoKHJlc3VsdCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgIGVycm9yID0gZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIGNvdW50IC09IDE7XG4gICAgICAgICAgdGljaygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH0pO1xufVxuIl19
@@ -1,27 +0,0 @@
1
- /**
2
- * Stringify to YAML
3
- */
4
- export declare function toYAML(obj: any): string;
5
- /**
6
- * Parse either YAML or JSON
7
- */
8
- export declare function deserializeStructure(str: string): any;
9
- /**
10
- * Serialize to either YAML or JSON
11
- */
12
- export declare function serializeStructure(object: any, json: boolean): string;
13
- /**
14
- * Load a YAML or JSON file from disk
15
- */
16
- export declare function loadStructuredFile(fileName: string): Promise<any>;
17
- /**
18
- * Remove any template elements that we don't want to show users.
19
- */
20
- export declare function obscureTemplate(template?: any): any;
21
- /**
22
- * A JSON.stringify() replacer that converts Buffers into a string with information
23
- * Use this if you plan to print out JSON stringified objects that may contain a Buffer.
24
- * Without this, large buffers (think: Megabytes) will completely fill up the output
25
- * and even crash the system.
26
- */
27
- export declare function replacerBufferWithInfo(_key: any, value: any): any;
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toYAML = toYAML;
4
- exports.deserializeStructure = deserializeStructure;
5
- exports.serializeStructure = serializeStructure;
6
- exports.loadStructuredFile = loadStructuredFile;
7
- exports.obscureTemplate = obscureTemplate;
8
- exports.replacerBufferWithInfo = replacerBufferWithInfo;
9
- const fs = require("fs-extra");
10
- const bytes_1 = require("./bytes");
11
- const yaml_cfn = require("./yaml-cfn");
12
- /**
13
- * Stringify to YAML
14
- */
15
- function toYAML(obj) {
16
- return yaml_cfn.serialize(obj);
17
- }
18
- /**
19
- * Parse either YAML or JSON
20
- */
21
- function deserializeStructure(str) {
22
- return yaml_cfn.deserialize(str);
23
- }
24
- /**
25
- * Serialize to either YAML or JSON
26
- */
27
- function serializeStructure(object, json) {
28
- if (json) {
29
- return JSON.stringify(object, undefined, 2);
30
- }
31
- else {
32
- return toYAML(object);
33
- }
34
- }
35
- /**
36
- * Load a YAML or JSON file from disk
37
- */
38
- async function loadStructuredFile(fileName) {
39
- const contents = await fs.readFile(fileName, { encoding: 'utf-8' });
40
- return deserializeStructure(contents);
41
- }
42
- /**
43
- * Remove any template elements that we don't want to show users.
44
- */
45
- function obscureTemplate(template = {}) {
46
- if (template.Rules) {
47
- // see https://github.com/aws/aws-cdk/issues/17942
48
- if (template.Rules.CheckBootstrapVersion) {
49
- if (Object.keys(template.Rules).length > 1) {
50
- delete template.Rules.CheckBootstrapVersion;
51
- }
52
- else {
53
- delete template.Rules;
54
- }
55
- }
56
- }
57
- return template;
58
- }
59
- /**
60
- * Detects a buffer that has been converted to a JSON-like object
61
- * In Node, `Buffer`s have `toJSON()` method that converts the buffer
62
- * into a JS object that can be JSON stringified.
63
- * Unfortunately this conversion happens before the replacer is called,
64
- * so normal means of detecting a `Buffer` objet don't work anymore.
65
- * @see https://github.com/nodejs/node-v0.x-archive/issues/5110
66
- */
67
- function isJsonBuffer(value) {
68
- return typeof value === 'object'
69
- && 'type' in value
70
- && value.type === 'Buffer'
71
- && 'data' in value
72
- && Array.isArray(value.data);
73
- }
74
- /**
75
- * A JSON.stringify() replacer that converts Buffers into a string with information
76
- * Use this if you plan to print out JSON stringified objects that may contain a Buffer.
77
- * Without this, large buffers (think: Megabytes) will completely fill up the output
78
- * and even crash the system.
79
- */
80
- function replacerBufferWithInfo(_key, value) {
81
- if (isJsonBuffer(value)) {
82
- return `<Buffer: ${(0, bytes_1.formatBytes)(value.data.length)}>`;
83
- }
84
- return value;
85
- }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VyaWFsaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0Esd0JBRUM7QUFLRCxvREFFQztBQUtELGdEQU1DO0FBS0QsZ0RBR0M7QUFLRCwwQ0FhQztBQTJCRCx3REFLQztBQXJGRCwrQkFBK0I7QUFDL0IsbUNBQXNDO0FBQ3RDLHVDQUF1QztBQUV2Qzs7R0FFRztBQUNILFNBQWdCLE1BQU0sQ0FBQyxHQUFRO0lBQzdCLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxHQUFXO0lBQzlDLE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxNQUFXLEVBQUUsSUFBYTtJQUMzRCxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLFFBQWdCO0lBQ3ZELE1BQU0sUUFBUSxHQUFHLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNwRSxPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxXQUFnQixFQUFFO0lBQ2hELElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25CLGtEQUFrRDtRQUNsRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUN6QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO1lBQzlDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFTLFlBQVksQ0FBQyxLQUFVO0lBSTlCLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUTtXQUMzQixNQUFNLElBQUksS0FBSztXQUNmLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUTtXQUN2QixNQUFNLElBQUksS0FBSztXQUNmLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLHNCQUFzQixDQUFDLElBQVMsRUFBRSxLQUFVO0lBQzFELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxZQUFZLElBQUEsbUJBQVcsRUFBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDdkQsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7IGZvcm1hdEJ5dGVzIH0gZnJvbSAnLi9ieXRlcyc7XG5pbXBvcnQgKiBhcyB5YW1sX2NmbiBmcm9tICcuL3lhbWwtY2ZuJztcblxuLyoqXG4gKiBTdHJpbmdpZnkgdG8gWUFNTFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9ZQU1MKG9iajogYW55KTogc3RyaW5nIHtcbiAgcmV0dXJuIHlhbWxfY2ZuLnNlcmlhbGl6ZShvYmopO1xufVxuXG4vKipcbiAqIFBhcnNlIGVpdGhlciBZQU1MIG9yIEpTT05cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3RydWN0dXJlKHN0cjogc3RyaW5nKTogYW55IHtcbiAgcmV0dXJuIHlhbWxfY2ZuLmRlc2VyaWFsaXplKHN0cik7XG59XG5cbi8qKlxuICogU2VyaWFsaXplIHRvIGVpdGhlciBZQU1MIG9yIEpTT05cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVN0cnVjdHVyZShvYmplY3Q6IGFueSwganNvbjogYm9vbGVhbikge1xuICBpZiAoanNvbikge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmplY3QsIHVuZGVmaW5lZCwgMik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRvWUFNTChvYmplY3QpO1xuICB9XG59XG5cbi8qKlxuICogTG9hZCBhIFlBTUwgb3IgSlNPTiBmaWxlIGZyb20gZGlza1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFN0cnVjdHVyZWRGaWxlKGZpbGVOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgY29udGVudHMgPSBhd2FpdCBmcy5yZWFkRmlsZShmaWxlTmFtZSwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcbiAgcmV0dXJuIGRlc2VyaWFsaXplU3RydWN0dXJlKGNvbnRlbnRzKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYW55IHRlbXBsYXRlIGVsZW1lbnRzIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBzaG93IHVzZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb2JzY3VyZVRlbXBsYXRlKHRlbXBsYXRlOiBhbnkgPSB7fSkge1xuICBpZiAodGVtcGxhdGUuUnVsZXMpIHtcbiAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy8xNzk0MlxuICAgIGlmICh0ZW1wbGF0ZS5SdWxlcy5DaGVja0Jvb3RzdHJhcFZlcnNpb24pIHtcbiAgICAgIGlmIChPYmplY3Qua2V5cyh0ZW1wbGF0ZS5SdWxlcykubGVuZ3RoID4gMSkge1xuICAgICAgICBkZWxldGUgdGVtcGxhdGUuUnVsZXMuQ2hlY2tCb290c3RyYXBWZXJzaW9uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIHRlbXBsYXRlLlJ1bGVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0ZW1wbGF0ZTtcbn1cblxuLyoqXG4gKiBEZXRlY3RzIGEgYnVmZmVyIHRoYXQgaGFzIGJlZW4gY29udmVydGVkIHRvIGEgSlNPTi1saWtlIG9iamVjdFxuICogSW4gTm9kZSwgYEJ1ZmZlcmBzIGhhdmUgYHRvSlNPTigpYCBtZXRob2QgdGhhdCBjb252ZXJ0cyB0aGUgYnVmZmVyXG4gKiBpbnRvIGEgSlMgb2JqZWN0IHRoYXQgY2FuIGJlIEpTT04gc3RyaW5naWZpZWQuXG4gKiBVbmZvcnR1bmF0ZWx5IHRoaXMgY29udmVyc2lvbiBoYXBwZW5zIGJlZm9yZSB0aGUgcmVwbGFjZXIgaXMgY2FsbGVkLFxuICogc28gbm9ybWFsIG1lYW5zIG9mIGRldGVjdGluZyBhIGBCdWZmZXJgIG9iamV0IGRvbid0IHdvcmsgYW55bW9yZS5cbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlLXYwLngtYXJjaGl2ZS9pc3N1ZXMvNTExMFxuICovXG5mdW5jdGlvbiBpc0pzb25CdWZmZXIodmFsdWU6IGFueSk6IHZhbHVlIGlzIHtcbiAgdHlwZTogJ0J1ZmZlcic7XG4gIGRhdGE6IG51bWJlcltdO1xufSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG4gICAgJiYgJ3R5cGUnIGluIHZhbHVlXG4gICAgJiYgdmFsdWUudHlwZSA9PT0gJ0J1ZmZlcidcbiAgICAmJiAnZGF0YScgaW4gdmFsdWVcbiAgICAmJiBBcnJheS5pc0FycmF5KHZhbHVlLmRhdGEpO1xufVxuXG4vKipcbiAqIEEgSlNPTi5zdHJpbmdpZnkoKSByZXBsYWNlciB0aGF0IGNvbnZlcnRzIEJ1ZmZlcnMgaW50byBhIHN0cmluZyB3aXRoIGluZm9ybWF0aW9uXG4gKiBVc2UgdGhpcyBpZiB5b3UgcGxhbiB0byBwcmludCBvdXQgSlNPTiBzdHJpbmdpZmllZCBvYmplY3RzIHRoYXQgbWF5IGNvbnRhaW4gYSBCdWZmZXIuXG4gKiBXaXRob3V0IHRoaXMsIGxhcmdlIGJ1ZmZlcnMgKHRoaW5rOiBNZWdhYnl0ZXMpIHdpbGwgY29tcGxldGVseSBmaWxsIHVwIHRoZSBvdXRwdXRcbiAqIGFuZCBldmVuIGNyYXNoIHRoZSBzeXN0ZW0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlckJ1ZmZlcldpdGhJbmZvKF9rZXk6IGFueSwgdmFsdWU6IGFueSk6IGFueSB7XG4gIGlmIChpc0pzb25CdWZmZXIodmFsdWUpKSB7XG4gICAgcmV0dXJuIGA8QnVmZmVyOiAke2Zvcm1hdEJ5dGVzKHZhbHVlLmRhdGEubGVuZ3RoKX0+YDtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- /**
2
- * Pad 's' on the left with 'char' until it is n characters wide
3
- */
4
- export declare function padLeft(n: number, x: string, char?: string): string;
5
- /**
6
- * Pad 's' on the right with 'char' until it is n characters wide
7
- */
8
- export declare function padRight(n: number, x: string, char?: string): string;
9
- /**
10
- * Formats time in milliseconds (which we get from 'Date.getTime()')
11
- * to a human-readable time; returns time in seconds rounded to 2
12
- * decimal places.
13
- */
14
- export declare function formatTime(num: number): number;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.padLeft = padLeft;
4
- exports.padRight = padRight;
5
- exports.formatTime = formatTime;
6
- /**
7
- * Pad 's' on the left with 'char' until it is n characters wide
8
- */
9
- function padLeft(n, x, char = ' ') {
10
- return char.repeat(Math.max(0, n - x.length)) + x;
11
- }
12
- /**
13
- * Pad 's' on the right with 'char' until it is n characters wide
14
- */
15
- function padRight(n, x, char = ' ') {
16
- return x + char.repeat(Math.max(0, n - x.length));
17
- }
18
- /**
19
- * Formats time in milliseconds (which we get from 'Date.getTime()')
20
- * to a human-readable time; returns time in seconds rounded to 2
21
- * decimal places.
22
- */
23
- function formatTime(num) {
24
- return roundPercentage(millisecondsToSeconds(num));
25
- }
26
- /**
27
- * Rounds a decimal number to two decimal points.
28
- * The function is useful for fractions that need to be outputted as percentages.
29
- */
30
- function roundPercentage(num) {
31
- return Math.round(100 * num) / 100;
32
- }
33
- /**
34
- * Given a time in milliseconds, return an equivalent amount in seconds.
35
- */
36
- function millisecondsToSeconds(num) {
37
- return num / 1000;
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLW1hbmlwdWxhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0cmluZy1tYW5pcHVsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSwwQkFFQztBQUtELDRCQUVDO0FBT0QsZ0NBRUM7QUFyQkQ7O0dBRUc7QUFDSCxTQUFnQixPQUFPLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxPQUFlLEdBQUc7SUFDOUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsUUFBUSxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsT0FBZSxHQUFHO0lBQy9ELE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLEdBQVc7SUFDcEMsT0FBTyxlQUFlLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxlQUFlLENBQUMsR0FBVztJQUNsQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUNyQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLHFCQUFxQixDQUFDLEdBQVc7SUFDeEMsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFBhZCAncycgb24gdGhlIGxlZnQgd2l0aCAnY2hhcicgdW50aWwgaXQgaXMgbiBjaGFyYWN0ZXJzIHdpZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhZExlZnQobjogbnVtYmVyLCB4OiBzdHJpbmcsIGNoYXI6IHN0cmluZyA9ICcgJyk6IHN0cmluZyB7XG4gIHJldHVybiBjaGFyLnJlcGVhdChNYXRoLm1heCgwLCBuIC0geC5sZW5ndGgpKSArIHg7XG59XG5cbi8qKlxuICogUGFkICdzJyBvbiB0aGUgcmlnaHQgd2l0aCAnY2hhcicgdW50aWwgaXQgaXMgbiBjaGFyYWN0ZXJzIHdpZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhZFJpZ2h0KG46IG51bWJlciwgeDogc3RyaW5nLCBjaGFyOiBzdHJpbmcgPSAnICcpOiBzdHJpbmcge1xuICByZXR1cm4geCArIGNoYXIucmVwZWF0KE1hdGgubWF4KDAsIG4gLSB4Lmxlbmd0aCkpO1xufVxuXG4vKipcbiAqIEZvcm1hdHMgdGltZSBpbiBtaWxsaXNlY29uZHMgKHdoaWNoIHdlIGdldCBmcm9tICdEYXRlLmdldFRpbWUoKScpXG4gKiB0byBhIGh1bWFuLXJlYWRhYmxlIHRpbWU7IHJldHVybnMgdGltZSBpbiBzZWNvbmRzIHJvdW5kZWQgdG8gMlxuICogZGVjaW1hbCBwbGFjZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lKG51bTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHJvdW5kUGVyY2VudGFnZShtaWxsaXNlY29uZHNUb1NlY29uZHMobnVtKSk7XG59XG5cbi8qKlxuICogUm91bmRzIGEgZGVjaW1hbCBudW1iZXIgdG8gdHdvIGRlY2ltYWwgcG9pbnRzLlxuICogVGhlIGZ1bmN0aW9uIGlzIHVzZWZ1bCBmb3IgZnJhY3Rpb25zIHRoYXQgbmVlZCB0byBiZSBvdXRwdXR0ZWQgYXMgcGVyY2VudGFnZXMuXG4gKi9cbmZ1bmN0aW9uIHJvdW5kUGVyY2VudGFnZShudW06IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBNYXRoLnJvdW5kKDEwMCAqIG51bSkgLyAxMDA7XG59XG5cbi8qKlxuICogR2l2ZW4gYSB0aW1lIGluIG1pbGxpc2Vjb25kcywgcmV0dXJuIGFuIGVxdWl2YWxlbnQgYW1vdW50IGluIHNlY29uZHMuXG4gKi9cbmZ1bmN0aW9uIG1pbGxpc2Vjb25kc1RvU2Vjb25kcyhudW06IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBudW0gLyAxMDAwO1xufVxuIl19
@@ -1,39 +0,0 @@
1
- /**
2
- * Type branding
3
- *
4
- * This allows marking certain types as having gone through particular operations.
5
- *
6
- * Branded types can be used anywhere the base type is expected, but the base type
7
- * cannot be used where a branded type is expected; the values have to go through
8
- * a type assertion operation to confirm their brand.
9
- *
10
- * Usage:
11
- *
12
- * ```
13
- * type ValidatedString = Branded<string, 'PassedMyValidation'>;
14
- *
15
- * function validate(x: string): asserts x is ValidatedString {
16
- * // ... throw an error if not
17
- * }
18
- *
19
- * function isValid(x: string): x is ValidatedString {
20
- * // ... throw an error if not
21
- * }
22
- * ```
23
- */
24
- declare const __brand: unique symbol;
25
- export type Brand<B> = {
26
- [__brand]: B;
27
- };
28
- export type Branded<T, B> = T & Brand<B>;
29
- /**
30
- * Marks a value as being branded a certain way.
31
- *
32
- * You should in general avoid calling this, and use validation or
33
- * asserting functions instead. However, this can be useful to produce
34
- * values which are branded by construction (really just an elaborate
35
- * way to write 'as').
36
- */
37
- export declare function createBranded<A extends Branded<any, any>>(value: TypeUnderlyingBrand<A>): A;
38
- type TypeUnderlyingBrand<A> = A extends Branded<infer T, any> ? T : never;
39
- export {};
@@ -1,38 +0,0 @@
1
- "use strict";
2
- /**
3
- * Type branding
4
- *
5
- * This allows marking certain types as having gone through particular operations.
6
- *
7
- * Branded types can be used anywhere the base type is expected, but the base type
8
- * cannot be used where a branded type is expected; the values have to go through
9
- * a type assertion operation to confirm their brand.
10
- *
11
- * Usage:
12
- *
13
- * ```
14
- * type ValidatedString = Branded<string, 'PassedMyValidation'>;
15
- *
16
- * function validate(x: string): asserts x is ValidatedString {
17
- * // ... throw an error if not
18
- * }
19
- *
20
- * function isValid(x: string): x is ValidatedString {
21
- * // ... throw an error if not
22
- * }
23
- * ```
24
- */
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.createBranded = createBranded;
27
- /**
28
- * Marks a value as being branded a certain way.
29
- *
30
- * You should in general avoid calling this, and use validation or
31
- * asserting functions instead. However, this can be useful to produce
32
- * values which are branded by construction (really just an elaborate
33
- * way to write 'as').
34
- */
35
- function createBranded(value) {
36
- return value;
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1icmFuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlLWJyYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7O0FBaUJILHNDQUVDO0FBVkQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLGFBQWEsQ0FBOEIsS0FBNkI7SUFDdEYsT0FBTyxLQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHlwZSBicmFuZGluZ1xuICpcbiAqIFRoaXMgYWxsb3dzIG1hcmtpbmcgY2VydGFpbiB0eXBlcyBhcyBoYXZpbmcgZ29uZSB0aHJvdWdoIHBhcnRpY3VsYXIgb3BlcmF0aW9ucy5cbiAqXG4gKiBCcmFuZGVkIHR5cGVzIGNhbiBiZSB1c2VkIGFueXdoZXJlIHRoZSBiYXNlIHR5cGUgaXMgZXhwZWN0ZWQsIGJ1dCB0aGUgYmFzZSB0eXBlXG4gKiBjYW5ub3QgYmUgdXNlZCB3aGVyZSBhIGJyYW5kZWQgdHlwZSBpcyBleHBlY3RlZDsgdGhlIHZhbHVlcyBoYXZlIHRvIGdvIHRocm91Z2hcbiAqIGEgdHlwZSBhc3NlcnRpb24gb3BlcmF0aW9uIHRvIGNvbmZpcm0gdGhlaXIgYnJhbmQuXG4gKlxuICogVXNhZ2U6XG4gKlxuICogYGBgXG4gKiB0eXBlIFZhbGlkYXRlZFN0cmluZyA9IEJyYW5kZWQ8c3RyaW5nLCAnUGFzc2VkTXlWYWxpZGF0aW9uJz47XG4gKlxuICogZnVuY3Rpb24gdmFsaWRhdGUoeDogc3RyaW5nKTogYXNzZXJ0cyB4IGlzIFZhbGlkYXRlZFN0cmluZyB7XG4gKiAgIC8vIC4uLiB0aHJvdyBhbiBlcnJvciBpZiBub3RcbiAqIH1cbiAqXG4gKiBmdW5jdGlvbiBpc1ZhbGlkKHg6IHN0cmluZyk6IHggaXMgVmFsaWRhdGVkU3RyaW5nIHtcbiAqICAgLy8gLi4uIHRocm93IGFuIGVycm9yIGlmIG5vdFxuICogfVxuICogYGBgXG4gKi9cblxuLy8gVGhpcyBjb25zdHJ1Y3QgcHVyZWx5IGhhcHBlbnMgYXQgdHlwZSBjaGVja2luZyB0aW1lLiBUaGVyZSBpcyBubyBydW4tdGltZSBpbXBhY3QuXG4vLyBIZW5jZSwgd2UgbmV2ZXIgZXZlbiBoYXZlIHRvIGNvbnN0cnVjdCB2YWx1ZXMgb2YgdGhpcyB0eXBlLlxuZGVjbGFyZSBjb25zdCBfX2JyYW5kOiB1bmlxdWUgc3ltYm9sO1xuXG5leHBvcnQgdHlwZSBCcmFuZDxCPiA9IHsgW19fYnJhbmRdOiBCIH07XG5leHBvcnQgdHlwZSBCcmFuZGVkPFQsIEI+ID0gVCAmIEJyYW5kPEI+O1xuXG4vKipcbiAqIE1hcmtzIGEgdmFsdWUgYXMgYmVpbmcgYnJhbmRlZCBhIGNlcnRhaW4gd2F5LlxuICpcbiAqIFlvdSBzaG91bGQgaW4gZ2VuZXJhbCBhdm9pZCBjYWxsaW5nIHRoaXMsIGFuZCB1c2UgdmFsaWRhdGlvbiBvclxuICogYXNzZXJ0aW5nIGZ1bmN0aW9ucyBpbnN0ZWFkLiBIb3dldmVyLCB0aGlzIGNhbiBiZSB1c2VmdWwgdG8gcHJvZHVjZVxuICogdmFsdWVzIHdoaWNoIGFyZSBicmFuZGVkIGJ5IGNvbnN0cnVjdGlvbiAocmVhbGx5IGp1c3QgYW4gZWxhYm9yYXRlXG4gKiB3YXkgdG8gd3JpdGUgJ2FzJykuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCcmFuZGVkPEEgZXh0ZW5kcyBCcmFuZGVkPGFueSwgYW55Pj4odmFsdWU6IFR5cGVVbmRlcmx5aW5nQnJhbmQ8QT4pOiBBIHtcbiAgcmV0dXJuIHZhbHVlIGFzIEE7XG59XG5cbnR5cGUgVHlwZVVuZGVybHlpbmdCcmFuZDxBPiA9IEEgZXh0ZW5kcyBCcmFuZGVkPGluZmVyIFQsIGFueT4gPyBUIDogbmV2ZXI7XG4iXX0=
@@ -1,27 +0,0 @@
1
- /**
2
- * Type of a map mapping strings to some arbitrary type
3
- *
4
- * Name is not ideal, but:
5
- *
6
- * - Cannot call it Object, that already means something.
7
- * - Cannot call it Dict or Dictionary, since in other languages
8
- * those also allow specifying the key type.
9
- */
10
- export type Obj<T> = {
11
- [key: string]: T;
12
- };
13
- /**
14
- * Return whether the given value is an object
15
- *
16
- * Even though arrays technically are objects, we usually want to treat them differently,
17
- * so we return false in those cases.
18
- */
19
- export declare function isObject(x: any): x is Obj<any>;
20
- /**
21
- * Return whether the given value is an array
22
- */
23
- export declare const isArray: (arg: any) => arg is any[];
24
- /**
25
- * Return the value of the first argument if it's not undefined, otherwise the default
26
- */
27
- export declare function ifDefined<T>(x: T | undefined, def: T): T;
package/lib/util/types.js DELETED
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isArray = void 0;
4
- exports.isObject = isObject;
5
- exports.ifDefined = ifDefined;
6
- /**
7
- * Return whether the given value is an object
8
- *
9
- * Even though arrays technically are objects, we usually want to treat them differently,
10
- * so we return false in those cases.
11
- */
12
- function isObject(x) {
13
- return x !== null && typeof x === 'object' && !(0, exports.isArray)(x);
14
- }
15
- /**
16
- * Return whether the given value is an array
17
- */
18
- exports.isArray = Array.isArray;
19
- /**
20
- * Return the value of the first argument if it's not undefined, otherwise the default
21
- */
22
- function ifDefined(x, def) {
23
- return typeof x !== 'undefined' ? x : def;
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpQkEsNEJBRUM7QUFVRCw4QkFFQztBQXBCRDs7Ozs7R0FLRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxDQUFNO0lBQzdCLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFBLGVBQU8sRUFBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQ7O0dBRUc7QUFDVSxRQUFBLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBRXJDOztHQUVHO0FBQ0gsU0FBZ0IsU0FBUyxDQUFJLENBQWdCLEVBQUUsR0FBTTtJQUNuRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHlwZSBvZiBhIG1hcCBtYXBwaW5nIHN0cmluZ3MgdG8gc29tZSBhcmJpdHJhcnkgdHlwZVxuICpcbiAqIE5hbWUgaXMgbm90IGlkZWFsLCBidXQ6XG4gKlxuICogLSBDYW5ub3QgY2FsbCBpdCBPYmplY3QsIHRoYXQgYWxyZWFkeSBtZWFucyBzb21ldGhpbmcuXG4gKiAtIENhbm5vdCBjYWxsIGl0IERpY3Qgb3IgRGljdGlvbmFyeSwgc2luY2UgaW4gb3RoZXIgbGFuZ3VhZ2VzXG4gKiAgIHRob3NlIGFsc28gYWxsb3cgc3BlY2lmeWluZyB0aGUga2V5IHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIE9iajxUPiA9IHtba2V5OiBzdHJpbmddOiBUfTtcblxuLyoqXG4gKiBSZXR1cm4gd2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgaXMgYW4gb2JqZWN0XG4gKlxuICogRXZlbiB0aG91Z2ggYXJyYXlzIHRlY2huaWNhbGx5IGFyZSBvYmplY3RzLCB3ZSB1c3VhbGx5IHdhbnQgdG8gdHJlYXQgdGhlbSBkaWZmZXJlbnRseSxcbiAqIHNvIHdlIHJldHVybiBmYWxzZSBpbiB0aG9zZSBjYXNlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHg6IGFueSk6IHggaXMgT2JqPGFueT4ge1xuICByZXR1cm4geCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gJ29iamVjdCcgJiYgIWlzQXJyYXkoeCk7XG59XG5cbi8qKlxuICogUmV0dXJuIHdoZXRoZXIgdGhlIGdpdmVuIHZhbHVlIGlzIGFuIGFycmF5XG4gKi9cbmV4cG9ydCBjb25zdCBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBmaXJzdCBhcmd1bWVudCBpZiBpdCdzIG5vdCB1bmRlZmluZWQsIG90aGVyd2lzZSB0aGUgZGVmYXVsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaWZEZWZpbmVkPFQ+KHg6IFQgfCB1bmRlZmluZWQsIGRlZjogVCk6IFQge1xuICByZXR1cm4gdHlwZW9mIHggIT09ICd1bmRlZmluZWQnID8geCA6IGRlZjtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export type RangeType = 'bracket' | 'pep';
2
- export declare function rangeFromSemver(ver: string, targetType: RangeType): string;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rangeFromSemver = rangeFromSemver;
4
- const semver = require("semver");
5
- const error_1 = require("../toolkit/error");
6
- function rangeFromSemver(ver, targetType) {
7
- const re = ver.match(/^([^\d]*)([\d.]*)$/);
8
- if (!re || !semver.valid(re[2])) {
9
- throw new error_1.ToolkitError('not a semver or unsupported range syntax');
10
- }
11
- const prefixPart = re[1];
12
- const verPart = re[2];
13
- switch (targetType) {
14
- case 'bracket':
15
- switch (prefixPart) {
16
- case '':
17
- // if there's no prefix and the remaining is a valid semver, there's no range specified
18
- return ver;
19
- case '^':
20
- return `[${verPart},${semver.major(verPart) + 1}.0.0)`;
21
- default:
22
- throw new error_1.ToolkitError(`unsupported range syntax - ${prefixPart}`);
23
- }
24
- case 'pep':
25
- switch (prefixPart) {
26
- case '':
27
- // if there's no prefix and the remaining is a valid semver, there's no range specified
28
- return `==${ver}`;
29
- case '^':
30
- return `>=${verPart},<${semver.major(verPart) + 1}.0.0`;
31
- default:
32
- throw new error_1.ToolkitError(`unsupported range syntax - ${prefixPart}`);
33
- }
34
- }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZlcnNpb24tcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFPQSwwQ0E4QkM7QUFyQ0QsaUNBQWlDO0FBQ2pDLDRDQUFnRDtBQU1oRCxTQUFnQixlQUFlLENBQUMsR0FBVyxFQUFFLFVBQXFCO0lBQ2hFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUMzQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxvQkFBWSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEIsUUFBUSxVQUFVLEVBQUUsQ0FBQztRQUNuQixLQUFLLFNBQVM7WUFDWixRQUFRLFVBQVUsRUFBRSxDQUFDO2dCQUNuQixLQUFLLEVBQUU7b0JBQ0wsdUZBQXVGO29CQUN2RixPQUFPLEdBQUcsQ0FBQztnQkFDYixLQUFLLEdBQUc7b0JBQ04sT0FBTyxJQUFJLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFDLENBQUMsT0FBTyxDQUFDO2dCQUN2RDtvQkFDRSxNQUFNLElBQUksb0JBQVksQ0FBQyw4QkFBOEIsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsS0FBSyxLQUFLO1lBQ1IsUUFBUSxVQUFVLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxFQUFFO29CQUNMLHVGQUF1RjtvQkFDdkYsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixLQUFLLEdBQUc7b0JBQ04sT0FBTyxLQUFLLE9BQU8sS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFDLENBQUMsTUFBTSxDQUFDO2dCQUN4RDtvQkFDRSxNQUFNLElBQUksb0JBQVksQ0FBQyw4QkFBOEIsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUN2RSxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uL3Rvb2xraXQvZXJyb3InO1xuXG4vLyBicmFja2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vbWlkZGxld2FyZS8xMjEyL2NvcmUvTUFWRU4vbWF2ZW5fdmVyc2lvbi5odG0jTUFWRU40MDFcbi8vIHBlcCAtIGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTA0NDAvI3ZlcnNpb24tc3BlY2lmaWVyc1xuZXhwb3J0IHR5cGUgUmFuZ2VUeXBlID0gJ2JyYWNrZXQnIHwgJ3BlcCdcblxuZXhwb3J0IGZ1bmN0aW9uIHJhbmdlRnJvbVNlbXZlcih2ZXI6IHN0cmluZywgdGFyZ2V0VHlwZTogUmFuZ2VUeXBlKSB7XG4gIGNvbnN0IHJlID0gdmVyLm1hdGNoKC9eKFteXFxkXSopKFtcXGQuXSopJC8pO1xuICBpZiAoIXJlIHx8ICFzZW12ZXIudmFsaWQocmVbMl0pKSB7XG4gICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcignbm90IGEgc2VtdmVyIG9yIHVuc3VwcG9ydGVkIHJhbmdlIHN5bnRheCcpO1xuICB9XG4gIGNvbnN0IHByZWZpeFBhcnQgPSByZVsxXTtcbiAgY29uc3QgdmVyUGFydCA9IHJlWzJdO1xuXG4gIHN3aXRjaCAodGFyZ2V0VHlwZSkge1xuICAgIGNhc2UgJ2JyYWNrZXQnOlxuICAgICAgc3dpdGNoIChwcmVmaXhQYXJ0KSB7XG4gICAgICAgIGNhc2UgJyc6XG4gICAgICAgICAgLy8gaWYgdGhlcmUncyBubyBwcmVmaXggYW5kIHRoZSByZW1haW5pbmcgaXMgYSB2YWxpZCBzZW12ZXIsIHRoZXJlJ3Mgbm8gcmFuZ2Ugc3BlY2lmaWVkXG4gICAgICAgICAgcmV0dXJuIHZlcjtcbiAgICAgICAgY2FzZSAnXic6XG4gICAgICAgICAgcmV0dXJuIGBbJHt2ZXJQYXJ0fSwke3NlbXZlci5tYWpvcih2ZXJQYXJ0KSsxfS4wLjApYDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGB1bnN1cHBvcnRlZCByYW5nZSBzeW50YXggLSAke3ByZWZpeFBhcnR9YCk7XG4gICAgICB9XG4gICAgY2FzZSAncGVwJzpcbiAgICAgIHN3aXRjaCAocHJlZml4UGFydCkge1xuICAgICAgICBjYXNlICcnOlxuICAgICAgICAgIC8vIGlmIHRoZXJlJ3Mgbm8gcHJlZml4IGFuZCB0aGUgcmVtYWluaW5nIGlzIGEgdmFsaWQgc2VtdmVyLCB0aGVyZSdzIG5vIHJhbmdlIHNwZWNpZmllZFxuICAgICAgICAgIHJldHVybiBgPT0ke3Zlcn1gO1xuICAgICAgICBjYXNlICdeJzpcbiAgICAgICAgICByZXR1cm4gYD49JHt2ZXJQYXJ0fSw8JHtzZW12ZXIubWFqb3IodmVyUGFydCkrMX0uMC4wYDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGB1bnN1cHBvcnRlZCByYW5nZSBzeW50YXggLSAke3ByZWZpeFBhcnR9YCk7XG4gICAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,15 +0,0 @@
1
- /**
2
- * Serializes the given data structure into valid YAML.
3
- *
4
- * @param obj the data structure to serialize
5
- * @returns a string containing the YAML representation of {@param obj}
6
- */
7
- export declare function serialize(obj: any): string;
8
- /**
9
- * Deserialize the YAML into the appropriate data structure.
10
- *
11
- * @param str the string containing YAML
12
- * @returns the data structure the YAML represents
13
- * (most often in case of CloudFormation, an object)
14
- */
15
- export declare function deserialize(str: string): any;