@start9labs/start-sdk 0.3.6-beta.2 → 0.3.6-beta.20

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 (246) hide show
  1. package/base/lib/Effects.d.ts +6 -8
  2. package/base/lib/actions/index.d.ts +4 -4
  3. package/base/lib/actions/index.js.map +1 -1
  4. package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
  5. package/base/lib/actions/input/builder/value.d.ts +3 -0
  6. package/base/lib/actions/input/builder/value.js +87 -111
  7. package/base/lib/actions/input/builder/value.js.map +1 -1
  8. package/base/lib/actions/input/builder/variants.js.map +1 -1
  9. package/base/lib/actions/input/index.js +17 -7
  10. package/base/lib/actions/input/index.js.map +1 -1
  11. package/base/lib/actions/input/inputSpecConstants.js +2 -2
  12. package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
  13. package/base/lib/actions/input/inputSpecTypes.js +1 -2
  14. package/base/lib/actions/input/inputSpecTypes.js.map +1 -1
  15. package/base/lib/actions/setupActions.d.ts +3 -3
  16. package/base/lib/actions/setupActions.js.map +1 -1
  17. package/base/lib/dependencies/dependencies.js +1 -2
  18. package/base/lib/dependencies/dependencies.js.map +1 -1
  19. package/base/lib/dependencies/setupDependencies.d.ts +1 -1
  20. package/base/lib/dependencies/setupDependencies.js +4 -3
  21. package/base/lib/dependencies/setupDependencies.js.map +1 -1
  22. package/base/lib/exver/exver.d.ts +31 -5
  23. package/base/lib/exver/exver.js +513 -113
  24. package/base/lib/exver/exver.js.map +1 -1
  25. package/base/lib/exver/index.d.ts +77 -3
  26. package/base/lib/exver/index.js +487 -16
  27. package/base/lib/exver/index.js.map +1 -1
  28. package/base/lib/index.js +17 -7
  29. package/base/lib/index.js.map +1 -1
  30. package/base/lib/interfaces/Host.d.ts +6 -31
  31. package/base/lib/interfaces/Host.js +3 -33
  32. package/base/lib/interfaces/Host.js.map +1 -1
  33. package/base/lib/interfaces/Origin.d.ts +4 -4
  34. package/base/lib/interfaces/Origin.js +1 -2
  35. package/base/lib/interfaces/Origin.js.map +1 -1
  36. package/base/lib/interfaces/ServiceInterfaceBuilder.d.ts +0 -2
  37. package/base/lib/interfaces/ServiceInterfaceBuilder.js.map +1 -1
  38. package/base/lib/osBindings/BindParams.d.ts +0 -2
  39. package/base/lib/osBindings/BindingSetPublicParams.d.ts +4 -0
  40. package/base/lib/osBindings/BindingSetPublicParams.js +4 -0
  41. package/base/lib/osBindings/BindingSetPublicParams.js.map +1 -0
  42. package/base/lib/osBindings/Celsius.d.ts +1 -0
  43. package/base/lib/osBindings/{HostKind.js → Celsius.js} +1 -1
  44. package/base/lib/osBindings/Celsius.js.map +1 -0
  45. package/base/lib/osBindings/ExportServiceInterfaceParams.d.ts +0 -1
  46. package/base/lib/osBindings/{GetPrimaryUrlParams.d.ts → GetContainerIpParams.d.ts} +1 -3
  47. package/base/lib/osBindings/GetContainerIpParams.js +3 -0
  48. package/base/lib/osBindings/GetContainerIpParams.js.map +1 -0
  49. package/base/lib/osBindings/GigaBytes.d.ts +1 -0
  50. package/base/lib/osBindings/{SetPublicParams.js → GigaBytes.js} +1 -1
  51. package/base/lib/osBindings/GigaBytes.js.map +1 -0
  52. package/base/lib/osBindings/Host.d.ts +0 -2
  53. package/base/lib/osBindings/HostAddress.d.ts +3 -0
  54. package/base/lib/osBindings/HostAddress.js +0 -1
  55. package/base/lib/osBindings/HostAddress.js.map +1 -1
  56. package/base/lib/osBindings/ImageMetadata.d.ts +2 -0
  57. package/base/lib/osBindings/IpHostname.d.ts +1 -0
  58. package/base/lib/osBindings/IpInfo.d.ts +2 -0
  59. package/base/lib/osBindings/IpInfo.js +0 -1
  60. package/base/lib/osBindings/IpInfo.js.map +1 -1
  61. package/base/lib/osBindings/Manifest.d.ts +0 -1
  62. package/base/lib/osBindings/MebiBytes.d.ts +1 -0
  63. package/base/lib/osBindings/MebiBytes.js +4 -0
  64. package/base/lib/osBindings/MebiBytes.js.map +1 -0
  65. package/base/lib/osBindings/Metrics.d.ts +10 -0
  66. package/base/lib/osBindings/{GetPrimaryUrlParams.js → Metrics.js} +1 -1
  67. package/base/lib/osBindings/Metrics.js.map +1 -0
  68. package/base/lib/osBindings/MetricsCpu.d.ts +8 -0
  69. package/base/lib/osBindings/MetricsCpu.js +3 -0
  70. package/base/lib/osBindings/MetricsCpu.js.map +1 -0
  71. package/base/lib/osBindings/MetricsDisk.d.ts +8 -0
  72. package/base/lib/osBindings/MetricsDisk.js +3 -0
  73. package/base/lib/osBindings/MetricsDisk.js.map +1 -0
  74. package/base/lib/osBindings/MetricsGeneral.d.ts +4 -0
  75. package/base/lib/osBindings/MetricsGeneral.js +3 -0
  76. package/base/lib/osBindings/MetricsGeneral.js.map +1 -0
  77. package/base/lib/osBindings/MetricsMemory.d.ts +11 -0
  78. package/base/lib/osBindings/MetricsMemory.js +3 -0
  79. package/base/lib/osBindings/MetricsMemory.js.map +1 -0
  80. package/base/lib/osBindings/NetworkInfo.d.ts +15 -0
  81. package/base/lib/osBindings/NetworkInfo.js +3 -0
  82. package/base/lib/osBindings/NetworkInfo.js.map +1 -0
  83. package/base/lib/osBindings/NetworkInterfaceSetInboundParams.d.ts +4 -0
  84. package/base/lib/osBindings/NetworkInterfaceSetInboundParams.js +4 -0
  85. package/base/lib/osBindings/NetworkInterfaceSetInboundParams.js.map +1 -0
  86. package/base/lib/osBindings/{SetPublicParams.d.ts → NetworkInterfaceSetPublicParams.d.ts} +1 -1
  87. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js +4 -0
  88. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js.map +1 -0
  89. package/base/lib/osBindings/NetworkInterfaceType.d.ts +1 -0
  90. package/base/lib/osBindings/NetworkInterfaceType.js +4 -0
  91. package/base/lib/osBindings/NetworkInterfaceType.js.map +1 -0
  92. package/base/lib/osBindings/Percentage.d.ts +1 -0
  93. package/base/lib/osBindings/Percentage.js +4 -0
  94. package/base/lib/osBindings/Percentage.js.map +1 -0
  95. package/base/lib/osBindings/ServerInfo.d.ts +2 -6
  96. package/base/lib/osBindings/ServiceInterface.d.ts +0 -1
  97. package/base/lib/osBindings/SetupResult.d.ts +1 -1
  98. package/base/lib/osBindings/TestSmtpParams.d.ts +8 -0
  99. package/base/lib/osBindings/TestSmtpParams.js +4 -0
  100. package/base/lib/osBindings/TestSmtpParams.js.map +1 -0
  101. package/base/lib/osBindings/UnsetInboundParams.d.ts +3 -0
  102. package/base/lib/osBindings/UnsetInboundParams.js +4 -0
  103. package/base/lib/osBindings/UnsetInboundParams.js.map +1 -0
  104. package/base/lib/osBindings/index.d.ts +6 -3
  105. package/base/lib/s9pk/index.js +7 -10
  106. package/base/lib/s9pk/index.js.map +1 -1
  107. package/base/lib/s9pk/merkleArchive/directoryContents.js +1 -1
  108. package/base/lib/s9pk/merkleArchive/directoryContents.js.map +1 -1
  109. package/base/lib/s9pk/merkleArchive/fileContents.js.map +1 -1
  110. package/base/lib/s9pk/merkleArchive/index.js +1 -1
  111. package/base/lib/s9pk/merkleArchive/index.js.map +1 -1
  112. package/base/lib/s9pk/merkleArchive/varint.js +2 -2
  113. package/base/lib/s9pk/merkleArchive/varint.js.map +1 -1
  114. package/base/lib/types/ManifestTypes.d.ts +5 -8
  115. package/base/lib/types.d.ts +5 -32
  116. package/base/lib/types.js +25 -9
  117. package/base/lib/types.js.map +1 -1
  118. package/base/lib/util/GetSystemSmtp.d.ts +9 -4
  119. package/base/lib/util/GetSystemSmtp.js +22 -3
  120. package/base/lib/util/GetSystemSmtp.js.map +1 -1
  121. package/base/lib/util/Hostname.js +1 -2
  122. package/base/lib/util/Hostname.js.map +1 -1
  123. package/base/lib/util/PathBuilder.d.ts +1 -1
  124. package/base/lib/util/PathBuilder.js.map +1 -1
  125. package/base/lib/util/asError.js.map +1 -1
  126. package/base/lib/util/deepEqual.js +1 -2
  127. package/base/lib/util/deepEqual.js.map +1 -1
  128. package/base/lib/util/deepMerge.js +3 -7
  129. package/base/lib/util/deepMerge.js.map +1 -1
  130. package/base/lib/util/getDefaultString.js +1 -2
  131. package/base/lib/util/getDefaultString.js.map +1 -1
  132. package/base/lib/util/getRandomCharInSet.js +1 -2
  133. package/base/lib/util/getRandomCharInSet.js.map +1 -1
  134. package/base/lib/util/getRandomString.js +1 -2
  135. package/base/lib/util/getRandomString.js.map +1 -1
  136. package/base/lib/util/getServiceInterface.d.ts +9 -9
  137. package/base/lib/util/getServiceInterface.js +35 -20
  138. package/base/lib/util/getServiceInterface.js.map +1 -1
  139. package/base/lib/util/getServiceInterfaces.d.ts +7 -3
  140. package/base/lib/util/getServiceInterfaces.js +25 -19
  141. package/base/lib/util/getServiceInterfaces.js.map +1 -1
  142. package/base/lib/util/graph.js.map +1 -1
  143. package/base/lib/util/index.js +17 -7
  144. package/base/lib/util/index.js.map +1 -1
  145. package/base/lib/util/nullIfEmpty.js +1 -2
  146. package/base/lib/util/nullIfEmpty.js.map +1 -1
  147. package/base/lib/util/once.js +1 -2
  148. package/base/lib/util/once.js.map +1 -1
  149. package/base/lib/util/patterns.d.ts +2 -0
  150. package/base/lib/util/patterns.js +37 -19
  151. package/base/lib/util/patterns.js.map +1 -1
  152. package/base/lib/util/regexes.d.ts +20 -11
  153. package/base/lib/util/regexes.js +35 -13
  154. package/base/lib/util/regexes.js.map +1 -1
  155. package/base/lib/util/stringFromStdErrOut.js +2 -3
  156. package/base/lib/util/stringFromStdErrOut.js.map +1 -1
  157. package/package/lib/StartSdk.d.ts +88 -299
  158. package/package/lib/StartSdk.js +122 -43
  159. package/package/lib/StartSdk.js.map +1 -1
  160. package/package/lib/backup/Backups.js +18 -9
  161. package/package/lib/backup/Backups.js.map +1 -1
  162. package/package/lib/backup/setupBackups.js +1 -2
  163. package/package/lib/backup/setupBackups.js.map +1 -1
  164. package/package/lib/health/HealthCheck.d.ts +17 -3
  165. package/package/lib/health/HealthCheck.js +98 -36
  166. package/package/lib/health/HealthCheck.js.map +1 -1
  167. package/package/lib/health/checkFns/checkPortListening.d.ts +1 -1
  168. package/package/lib/health/checkFns/checkPortListening.js +28 -19
  169. package/package/lib/health/checkFns/checkPortListening.js.map +1 -1
  170. package/package/lib/health/checkFns/index.js +2 -2
  171. package/package/lib/health/checkFns/index.js.map +1 -1
  172. package/package/lib/health/index.d.ts +1 -0
  173. package/package/lib/health/index.js +3 -0
  174. package/package/lib/health/index.js.map +1 -1
  175. package/package/lib/index.d.ts +3 -2
  176. package/package/lib/index.js +19 -9
  177. package/package/lib/index.js.map +1 -1
  178. package/package/lib/inits/setupInit.d.ts +1 -1
  179. package/package/lib/inits/setupInit.js +10 -3
  180. package/package/lib/inits/setupInit.js.map +1 -1
  181. package/package/lib/inits/setupInstall.d.ts +4 -2
  182. package/package/lib/inits/setupInstall.js +14 -7
  183. package/package/lib/inits/setupInstall.js.map +1 -1
  184. package/package/lib/inits/setupUninstall.js +2 -2
  185. package/package/lib/inits/setupUninstall.js.map +1 -1
  186. package/package/lib/mainFn/CommandController.d.ts +11 -11
  187. package/package/lib/mainFn/CommandController.js +113 -51
  188. package/package/lib/mainFn/CommandController.js.map +1 -1
  189. package/package/lib/mainFn/Daemon.d.ts +7 -9
  190. package/package/lib/mainFn/Daemon.js +6 -4
  191. package/package/lib/mainFn/Daemon.js.map +1 -1
  192. package/package/lib/mainFn/Daemons.d.ts +25 -25
  193. package/package/lib/mainFn/Daemons.js +43 -28
  194. package/package/lib/mainFn/Daemons.js.map +1 -1
  195. package/package/lib/mainFn/HealthDaemon.d.ts +5 -2
  196. package/package/lib/mainFn/HealthDaemon.js +20 -10
  197. package/package/lib/mainFn/HealthDaemon.js.map +1 -1
  198. package/package/lib/mainFn/Mounts.d.ts +1 -4
  199. package/package/lib/mainFn/Mounts.js +3 -7
  200. package/package/lib/mainFn/Mounts.js.map +1 -1
  201. package/package/lib/mainFn/index.js +1 -1
  202. package/package/lib/mainFn/index.js.map +1 -1
  203. package/package/lib/manifest/setupManifest.d.ts +2 -4
  204. package/package/lib/manifest/setupManifest.js +13 -15
  205. package/package/lib/manifest/setupManifest.js.map +1 -1
  206. package/package/lib/store/getStore.d.ts +6 -2
  207. package/package/lib/store/getStore.js +24 -5
  208. package/package/lib/store/getStore.js.map +1 -1
  209. package/package/lib/test/host.test.js +1 -2
  210. package/package/lib/test/host.test.js.map +1 -1
  211. package/package/lib/test/output.sdk.d.ts +273 -171
  212. package/package/lib/test/output.test.js +1 -2
  213. package/package/lib/test/output.test.js.map +1 -1
  214. package/package/lib/trigger/changeOnFirstSuccess.js +2 -3
  215. package/package/lib/trigger/changeOnFirstSuccess.js.map +1 -1
  216. package/package/lib/trigger/cooldownTrigger.js +1 -2
  217. package/package/lib/trigger/cooldownTrigger.js.map +1 -1
  218. package/package/lib/trigger/lastStatus.js +2 -4
  219. package/package/lib/trigger/lastStatus.js.map +1 -1
  220. package/package/lib/types.d.ts +2 -0
  221. package/package/lib/types.js +21 -0
  222. package/package/lib/types.js.map +1 -0
  223. package/package/lib/util/Drop.d.ts +11 -0
  224. package/package/lib/util/Drop.js +28 -0
  225. package/package/lib/util/Drop.js.map +1 -0
  226. package/package/lib/util/GetSslCertificate.d.ts +7 -3
  227. package/package/lib/util/GetSslCertificate.js +23 -4
  228. package/package/lib/util/GetSslCertificate.js.map +1 -1
  229. package/package/lib/util/SubContainer.d.ts +20 -7
  230. package/package/lib/util/SubContainer.js +93 -30
  231. package/package/lib/util/SubContainer.js.map +1 -1
  232. package/package/lib/util/fileHelper.d.ts +8 -3
  233. package/package/lib/util/fileHelper.js +103 -31
  234. package/package/lib/util/fileHelper.js.map +1 -1
  235. package/package/lib/util/index.d.ts +1 -0
  236. package/package/lib/util/index.js +3 -1
  237. package/package/lib/util/index.js.map +1 -1
  238. package/package/lib/version/VersionGraph.js +8 -4
  239. package/package/lib/version/VersionGraph.js.map +1 -1
  240. package/package/scripts/oldSpecToBuilder.js +49 -45
  241. package/package/scripts/oldSpecToBuilder.js.map +1 -1
  242. package/package.json +3 -2
  243. package/base/lib/osBindings/GetPrimaryUrlParams.js.map +0 -1
  244. package/base/lib/osBindings/HostKind.d.ts +0 -1
  245. package/base/lib/osBindings/HostKind.js.map +0 -1
  246. package/base/lib/osBindings/SetPublicParams.js.map +0 -1
@@ -15,30 +15,389 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.testTypeVersion = exports.testTypeExVer = exports.ExtendedVersion = exports.Version = exports.VersionRange = void 0;
37
+ const deep_equality_data_structures_1 = require("deep-equality-data-structures");
27
38
  const P = __importStar(require("./exver"));
39
+ function compareVersionRangePoints(a, b) {
40
+ let up = a.upstream.compareForSort(b.upstream);
41
+ if (up != 0) {
42
+ return up;
43
+ }
44
+ let down = a.upstream.compareForSort(b.upstream);
45
+ if (down != 0) {
46
+ return down;
47
+ }
48
+ if (a.side < b.side) {
49
+ return -1;
50
+ }
51
+ else if (a.side > b.side) {
52
+ return 1;
53
+ }
54
+ else {
55
+ return 0;
56
+ }
57
+ }
58
+ function adjacentVersionRangePoints(a, b) {
59
+ let up = a.upstream.compareForSort(b.upstream);
60
+ if (up != 0) {
61
+ return false;
62
+ }
63
+ let down = a.upstream.compareForSort(b.upstream);
64
+ if (down != 0) {
65
+ return false;
66
+ }
67
+ return a.side == -1 && b.side == 1;
68
+ }
69
+ function flavorAnd(a, b) {
70
+ if (a.type == "Flavor") {
71
+ if (b.type == "Flavor") {
72
+ if (a.flavor == b.flavor) {
73
+ return a;
74
+ }
75
+ else {
76
+ return null;
77
+ }
78
+ }
79
+ else {
80
+ if (b.flavors.has(a.flavor)) {
81
+ return null;
82
+ }
83
+ else {
84
+ return a;
85
+ }
86
+ }
87
+ }
88
+ else {
89
+ if (b.type == "Flavor") {
90
+ if (a.flavors.has(b.flavor)) {
91
+ return null;
92
+ }
93
+ else {
94
+ return b;
95
+ }
96
+ }
97
+ else {
98
+ // TODO: use Set.union if targeting esnext or later
99
+ return {
100
+ type: "FlavorNot",
101
+ flavors: new Set([...a.flavors, ...b.flavors]),
102
+ };
103
+ }
104
+ }
105
+ }
106
+ /**
107
+ * A truth table for version numbers. This is easiest to picture as a number line, cut up into
108
+ * ranges of versions between version points.
109
+ */
110
+ class VersionRangeTable {
111
+ constructor(points, values) {
112
+ this.points = points;
113
+ this.values = values;
114
+ }
115
+ static zip(a, b, func) {
116
+ let c = new VersionRangeTable([], []);
117
+ let i = 0;
118
+ let j = 0;
119
+ while (true) {
120
+ let next = func(a.values[i], b.values[j]);
121
+ if (c.values.length > 0 && c.values[c.values.length - 1] == next) {
122
+ // collapse automatically
123
+ c.points.pop();
124
+ }
125
+ else {
126
+ c.values.push(next);
127
+ }
128
+ // which point do we step over?
129
+ if (i == a.points.length) {
130
+ if (j == b.points.length) {
131
+ // just added the last segment, no point to jump over
132
+ return c;
133
+ }
134
+ else {
135
+ // i has reach the end, step over j
136
+ c.points.push(b.points[j]);
137
+ j += 1;
138
+ }
139
+ }
140
+ else {
141
+ if (j == b.points.length) {
142
+ // j has reached the end, step over i
143
+ c.points.push(a.points[i]);
144
+ i += 1;
145
+ }
146
+ else {
147
+ // depends on which of the next two points is lower
148
+ switch (compareVersionRangePoints(a.points[i], b.points[j])) {
149
+ case -1:
150
+ // i is the lower point
151
+ c.points.push(a.points[i]);
152
+ i += 1;
153
+ break;
154
+ case 1:
155
+ // j is the lower point
156
+ c.points.push(b.points[j]);
157
+ j += 1;
158
+ break;
159
+ default:
160
+ // step over both
161
+ c.points.push(a.points[i]);
162
+ i += 1;
163
+ j += 1;
164
+ break;
165
+ }
166
+ }
167
+ }
168
+ }
169
+ }
170
+ /**
171
+ * Creates a version table which is `true` for the given flavor, and `false` for any other flavor.
172
+ */
173
+ static eqFlavor(flavor) {
174
+ return new deep_equality_data_structures_1.DeepMap([
175
+ [
176
+ { type: "Flavor", flavor },
177
+ new VersionRangeTable([], [true]),
178
+ ],
179
+ // make sure the truth table is exhaustive, or `not` will not work properly.
180
+ [
181
+ { type: "FlavorNot", flavors: new Set([flavor]) },
182
+ new VersionRangeTable([], [false]),
183
+ ],
184
+ ]);
185
+ }
186
+ /**
187
+ * Creates a version table with exactly two ranges (to the left and right of the given point) and with `false` for any other flavor.
188
+ * This is easiest to understand by looking at `VersionRange.tables`.
189
+ */
190
+ static cmpPoint(flavor, point, left, right) {
191
+ return new deep_equality_data_structures_1.DeepMap([
192
+ [
193
+ { type: "Flavor", flavor },
194
+ new VersionRangeTable([point], [left, right]),
195
+ ],
196
+ // make sure the truth table is exhaustive, or `not` will not work properly.
197
+ [
198
+ { type: "FlavorNot", flavors: new Set([flavor]) },
199
+ new VersionRangeTable([], [false]),
200
+ ],
201
+ ]);
202
+ }
203
+ /**
204
+ * Helper for `cmpPoint`.
205
+ */
206
+ static cmp(version, side, left, right) {
207
+ return VersionRangeTable.cmpPoint(version.flavor, { upstream: version.upstream, downstream: version.downstream, side }, left, right);
208
+ }
209
+ static not(tables) {
210
+ if (tables === true || tables === false) {
211
+ return !tables;
212
+ }
213
+ // because tables are always exhaustive, we can simply invert each range
214
+ for (let [f, t] of tables) {
215
+ for (let i = 0; i < t.values.length; i++) {
216
+ t.values[i] = !t.values[i];
217
+ }
218
+ }
219
+ return tables;
220
+ }
221
+ static and(a_tables, b_tables) {
222
+ if (a_tables === true) {
223
+ return b_tables;
224
+ }
225
+ if (b_tables === true) {
226
+ return a_tables;
227
+ }
228
+ if (a_tables === false || b_tables == false) {
229
+ return false;
230
+ }
231
+ let c_tables = true;
232
+ for (let [f_a, a] of a_tables) {
233
+ for (let [f_b, b] of b_tables) {
234
+ let flavor = flavorAnd(f_a, f_b);
235
+ if (flavor == null) {
236
+ continue;
237
+ }
238
+ let c = VersionRangeTable.zip(a, b, (a, b) => a && b);
239
+ if (c_tables === true) {
240
+ c_tables = new deep_equality_data_structures_1.DeepMap();
241
+ }
242
+ let prev_c = c_tables.get(flavor);
243
+ if (prev_c == null) {
244
+ c_tables.set(flavor, c);
245
+ }
246
+ else {
247
+ c_tables.set(flavor, VersionRangeTable.zip(c, prev_c, (a, b) => a || b));
248
+ }
249
+ }
250
+ }
251
+ return c_tables;
252
+ }
253
+ static or(...in_tables) {
254
+ let out_tables = false;
255
+ for (let tables of in_tables) {
256
+ if (tables === false) {
257
+ continue;
258
+ }
259
+ if (tables === true) {
260
+ return true;
261
+ }
262
+ if (out_tables === false) {
263
+ out_tables = new deep_equality_data_structures_1.DeepMap();
264
+ }
265
+ for (let [flavor, table] of tables) {
266
+ let prev = out_tables.get(flavor);
267
+ if (prev == null) {
268
+ out_tables.set(flavor, table);
269
+ }
270
+ else {
271
+ out_tables.set(flavor, VersionRangeTable.zip(table, prev, (a, b) => a || b));
272
+ }
273
+ }
274
+ }
275
+ return out_tables;
276
+ }
277
+ /**
278
+ * If this is true for all versions or false for all versions, returen that value. Otherwise return null.
279
+ */
280
+ static collapse(tables) {
281
+ if (tables === true || tables === false) {
282
+ return tables;
283
+ }
284
+ else {
285
+ let found = null;
286
+ for (let table of tables.values()) {
287
+ for (let x of table.values) {
288
+ if (found == null) {
289
+ found = x;
290
+ }
291
+ else if (found != x) {
292
+ return null;
293
+ }
294
+ }
295
+ }
296
+ return found;
297
+ }
298
+ }
299
+ /**
300
+ * Expresses this truth table as a series of version range operators.
301
+ * https://en.wikipedia.org/wiki/Canonical_normal_form#Minterms
302
+ */
303
+ static minterms(tables) {
304
+ let collapse = VersionRangeTable.collapse(tables);
305
+ if (tables === true || collapse === true) {
306
+ return VersionRange.any();
307
+ }
308
+ if (tables == false || collapse === false) {
309
+ return VersionRange.none();
310
+ }
311
+ let sum_terms = [];
312
+ for (let [flavor, table] of tables) {
313
+ let cmp_flavor = null;
314
+ if (flavor.type == "Flavor") {
315
+ cmp_flavor = flavor.flavor;
316
+ }
317
+ for (let i = 0; i < table.values.length; i++) {
318
+ let term = [];
319
+ if (!table.values[i]) {
320
+ continue;
321
+ }
322
+ if (flavor.type == "FlavorNot") {
323
+ for (let not_flavor of flavor.flavors) {
324
+ term.push(VersionRange.flavor(not_flavor).not());
325
+ }
326
+ }
327
+ let p = null;
328
+ let q = null;
329
+ if (i > 0) {
330
+ p = table.points[i - 1];
331
+ }
332
+ if (i < table.points.length) {
333
+ q = table.points[i];
334
+ }
335
+ if (p != null && q != null && adjacentVersionRangePoints(p, q)) {
336
+ term.push(VersionRange.anchor("=", new ExtendedVersion(cmp_flavor, p.upstream, p.downstream)));
337
+ }
338
+ else {
339
+ if (p != null && p.side < 0) {
340
+ term.push(VersionRange.anchor(">=", new ExtendedVersion(cmp_flavor, p.upstream, p.downstream)));
341
+ }
342
+ if (p != null && p.side >= 0) {
343
+ term.push(VersionRange.anchor(">", new ExtendedVersion(cmp_flavor, p.upstream, p.downstream)));
344
+ }
345
+ if (q != null && q.side < 0) {
346
+ term.push(VersionRange.anchor("<", new ExtendedVersion(cmp_flavor, q.upstream, q.downstream)));
347
+ }
348
+ if (q != null && q.side >= 0) {
349
+ term.push(VersionRange.anchor("<=", new ExtendedVersion(cmp_flavor, q.upstream, q.downstream)));
350
+ }
351
+ }
352
+ if (term.length == 0) {
353
+ term.push(VersionRange.flavor(cmp_flavor));
354
+ }
355
+ sum_terms.push(VersionRange.and(...term));
356
+ }
357
+ }
358
+ return VersionRange.or(...sum_terms);
359
+ }
360
+ }
28
361
  class VersionRange {
29
362
  constructor(atom) {
30
363
  this.atom = atom;
31
364
  }
365
+ toStringParens(parent) {
366
+ let needs = true;
367
+ switch (this.atom.type) {
368
+ case "And":
369
+ case "Or":
370
+ needs = parent != this.atom.type;
371
+ break;
372
+ case "Anchor":
373
+ case "Any":
374
+ case "None":
375
+ needs = parent == "Not";
376
+ break;
377
+ case "Not":
378
+ case "Flavor":
379
+ needs = false;
380
+ break;
381
+ }
382
+ if (needs) {
383
+ return "(" + this.toString() + ")";
384
+ }
385
+ else {
386
+ return this.toString();
387
+ }
388
+ }
32
389
  toString() {
33
390
  switch (this.atom.type) {
34
391
  case "Anchor":
35
392
  return `${this.atom.operator}${this.atom.version}`;
36
393
  case "And":
37
- return `(${this.atom.left.toString()}) && (${this.atom.right.toString()})`;
394
+ return `${this.atom.left.toStringParens(this.atom.type)} && ${this.atom.right.toStringParens(this.atom.type)}`;
38
395
  case "Or":
39
- return `(${this.atom.left.toString()}) || (${this.atom.right.toString()})`;
396
+ return `${this.atom.left.toStringParens(this.atom.type)} || ${this.atom.right.toStringParens(this.atom.type)}`;
40
397
  case "Not":
41
- return `!(${this.atom.value.toString()})`;
398
+ return `!${this.atom.value.toStringParens(this.atom.type)}`;
399
+ case "Flavor":
400
+ return this.atom.flavor == null ? `#` : `#${this.atom.flavor}`;
42
401
  case "Any":
43
402
  return "*";
44
403
  case "None":
@@ -60,15 +419,16 @@ class VersionRange {
60
419
  operator: atom.operator || "^",
61
420
  version: new ExtendedVersion(atom.version.flavor, new Version(atom.version.upstream.number, atom.version.upstream.prerelease), new Version(atom.version.downstream.number, atom.version.downstream.prerelease)),
62
421
  });
422
+ case "Flavor":
423
+ return VersionRange.flavor(atom.flavor);
63
424
  default:
64
425
  return new VersionRange(atom);
65
426
  }
66
427
  }
67
428
  static parseRange(range) {
68
- var _a;
69
429
  let result = VersionRange.parseAtom(range[0]);
70
430
  for (const next of range[1]) {
71
- switch ((_a = next[1]) === null || _a === void 0 ? void 0 : _a[0]) {
431
+ switch (next[1]?.[0]) {
72
432
  case "||":
73
433
  result = new VersionRange({
74
434
  type: "Or",
@@ -91,6 +451,15 @@ class VersionRange {
91
451
  static parse(range) {
92
452
  return VersionRange.parseRange(P.parse(range, { startRule: "VersionRange" }));
93
453
  }
454
+ static anchor(operator, version) {
455
+ return new VersionRange({ type: "Anchor", operator, version });
456
+ }
457
+ static flavor(flavor) {
458
+ return new VersionRange({ type: "Flavor", flavor });
459
+ }
460
+ static parseEmver(range) {
461
+ return VersionRange.parseRange(P.parse(range, { startRule: "EmverVersionRange" }));
462
+ }
94
463
  and(right) {
95
464
  return new VersionRange({ type: "And", left: this, right });
96
465
  }
@@ -100,8 +469,41 @@ class VersionRange {
100
469
  not() {
101
470
  return new VersionRange({ type: "Not", value: this });
102
471
  }
103
- static anchor(operator, version) {
104
- return new VersionRange({ type: "Anchor", operator, version });
472
+ static and(...xs) {
473
+ let y = VersionRange.any();
474
+ for (let x of xs) {
475
+ if (x.atom.type == "Any") {
476
+ continue;
477
+ }
478
+ if (x.atom.type == "None") {
479
+ return x;
480
+ }
481
+ if (y.atom.type == "Any") {
482
+ y = x;
483
+ }
484
+ else {
485
+ y = new VersionRange({ type: "And", left: y, right: x });
486
+ }
487
+ }
488
+ return y;
489
+ }
490
+ static or(...xs) {
491
+ let y = VersionRange.none();
492
+ for (let x of xs) {
493
+ if (x.atom.type == "None") {
494
+ continue;
495
+ }
496
+ if (x.atom.type == "Any") {
497
+ return x;
498
+ }
499
+ if (y.atom.type == "None") {
500
+ y = x;
501
+ }
502
+ else {
503
+ y = new VersionRange({ type: "Or", left: y, right: x });
504
+ }
505
+ }
506
+ return y;
105
507
  }
106
508
  static any() {
107
509
  return new VersionRange({ type: "Any" });
@@ -112,6 +514,55 @@ class VersionRange {
112
514
  satisfiedBy(version) {
113
515
  return version.satisfies(this);
114
516
  }
517
+ tables() {
518
+ switch (this.atom.type) {
519
+ case "Anchor":
520
+ switch (this.atom.operator) {
521
+ case "=":
522
+ // `=1.2.3` is equivalent to `>=1.2.3 && <=1.2.4 && #flavor`
523
+ return VersionRangeTable.and(VersionRangeTable.cmp(this.atom.version, -1, false, true), VersionRangeTable.cmp(this.atom.version, 1, true, false));
524
+ case ">":
525
+ return VersionRangeTable.cmp(this.atom.version, 1, false, true);
526
+ case "<":
527
+ return VersionRangeTable.cmp(this.atom.version, -1, true, false);
528
+ case ">=":
529
+ return VersionRangeTable.cmp(this.atom.version, -1, false, true);
530
+ case "<=":
531
+ return VersionRangeTable.cmp(this.atom.version, 1, true, false);
532
+ case "!=":
533
+ // `!=1.2.3` is equivalent to `!(>=1.2.3 && <=1.2.3 && #flavor)`
534
+ // **not** equivalent to `(<1.2.3 || >1.2.3) && #flavor`
535
+ return VersionRangeTable.not(VersionRangeTable.and(VersionRangeTable.cmp(this.atom.version, -1, false, true), VersionRangeTable.cmp(this.atom.version, 1, true, false)));
536
+ case "^":
537
+ // `^1.2.3` is equivalent to `>=1.2.3 && <2.0.0 && #flavor`
538
+ return VersionRangeTable.and(VersionRangeTable.cmp(this.atom.version, -1, false, true), VersionRangeTable.cmp(this.atom.version.incrementMajor(), -1, true, false));
539
+ case "~":
540
+ // `~1.2.3` is equivalent to `>=1.2.3 && <1.3.0 && #flavor`
541
+ return VersionRangeTable.and(VersionRangeTable.cmp(this.atom.version, -1, false, true), VersionRangeTable.cmp(this.atom.version.incrementMinor(), -1, true, false));
542
+ }
543
+ case "Flavor":
544
+ return VersionRangeTable.eqFlavor(this.atom.flavor);
545
+ case "Not":
546
+ return VersionRangeTable.not(this.atom.value.tables());
547
+ case "And":
548
+ return VersionRangeTable.and(this.atom.left.tables(), this.atom.right.tables());
549
+ case "Or":
550
+ return VersionRangeTable.or(this.atom.left.tables(), this.atom.right.tables());
551
+ case "Any":
552
+ return true;
553
+ case "None":
554
+ return false;
555
+ }
556
+ }
557
+ satisfiable() {
558
+ return VersionRangeTable.collapse(this.tables()) !== false;
559
+ }
560
+ intersects(other) {
561
+ return VersionRange.and(this, other).satisfiable();
562
+ }
563
+ normalize() {
564
+ return VersionRangeTable.minterms(this.tables());
565
+ }
115
566
  }
116
567
  exports.VersionRange = VersionRange;
117
568
  class Version {
@@ -165,6 +616,16 @@ class Version {
165
616
  }
166
617
  return "equal";
167
618
  }
619
+ compareForSort(other) {
620
+ switch (this.compare(other)) {
621
+ case "greater":
622
+ return 1;
623
+ case "equal":
624
+ return 0;
625
+ case "less":
626
+ return -1;
627
+ }
628
+ }
168
629
  static parse(version) {
169
630
  const parsed = P.parse(version, { startRule: "Version" });
170
631
  return new Version(parsed.number, parsed.prerelease);
@@ -235,8 +696,16 @@ class ExtendedVersion {
235
696
  return new ExtendedVersion(parsed.flavor, new Version(parsed.upstream.number, parsed.upstream.prerelease), new Version(parsed.downstream.number, parsed.downstream.prerelease));
236
697
  }
237
698
  static parseEmver(extendedVersion) {
238
- const parsed = P.parse(extendedVersion, { startRule: "EmVer" });
239
- return new ExtendedVersion(parsed.flavor, new Version(parsed.upstream.number, parsed.upstream.prerelease), new Version(parsed.downstream.number, parsed.downstream.prerelease));
699
+ try {
700
+ const parsed = P.parse(extendedVersion, { startRule: "Emver" });
701
+ return new ExtendedVersion(parsed.flavor, new Version(parsed.upstream.number, parsed.upstream.prerelease), new Version(parsed.downstream.number, parsed.downstream.prerelease));
702
+ }
703
+ catch (e) {
704
+ if (e instanceof Error) {
705
+ e.message += ` (${extendedVersion})`;
706
+ }
707
+ throw e;
708
+ }
240
709
  }
241
710
  /**
242
711
  * Returns an ExtendedVersion with the Upstream major version version incremented by 1
@@ -319,6 +788,8 @@ class ExtendedVersion {
319
788
  return false;
320
789
  }
321
790
  }
791
+ case "Flavor":
792
+ return versionRange.atom.flavor == this.flavor;
322
793
  case "And":
323
794
  return (this.satisfies(versionRange.atom.left) &&
324
795
  this.satisfies(versionRange.atom.right));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../base/lib/exver/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../base/lib/exver/index.ts"],"names":[],"mappings":"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"}