@start9labs/start-sdk 0.3.6-alpha7 → 0.3.6-alpha8
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.
- package/cjs/lib/StartSdk.d.ts +2 -17
- package/cjs/lib/StartSdk.js +2 -8
- package/cjs/lib/StartSdk.js.map +1 -1
- package/cjs/lib/backup/Backups.js +2 -1
- package/cjs/lib/backup/Backups.js.map +1 -1
- package/cjs/lib/backup/setupBackups.d.ts +1 -1
- package/cjs/lib/backup/setupBackups.js +2 -1
- package/cjs/lib/backup/setupBackups.js.map +1 -1
- package/cjs/lib/config/setupConfig.js +2 -1
- package/cjs/lib/config/setupConfig.js.map +1 -1
- package/cjs/lib/exver/index.d.ts +2 -2
- package/cjs/lib/exver/index.js +1 -0
- package/cjs/lib/exver/index.js.map +1 -1
- package/cjs/lib/health/HealthCheck.js +2 -1
- package/cjs/lib/health/HealthCheck.js.map +1 -1
- package/cjs/lib/health/checkFns/checkWebUrl.js +2 -1
- package/cjs/lib/health/checkFns/checkWebUrl.js.map +1 -1
- package/cjs/lib/index.d.ts +1 -0
- package/cjs/lib/index.js +4 -0
- package/cjs/lib/index.js.map +1 -1
- package/cjs/lib/inits/migrations/Migration.d.ts +14 -27
- package/cjs/lib/inits/migrations/Migration.js +10 -3
- package/cjs/lib/inits/migrations/Migration.js.map +1 -1
- package/cjs/lib/inits/migrations/setupMigrations.d.ts +10 -5
- package/cjs/lib/inits/migrations/setupMigrations.js +90 -26
- package/cjs/lib/inits/migrations/setupMigrations.js.map +1 -1
- package/cjs/lib/inits/setupInit.d.ts +2 -2
- package/cjs/lib/inits/setupInit.js +29 -5
- package/cjs/lib/inits/setupInit.js.map +1 -1
- package/cjs/lib/inits/setupInstall.d.ts +1 -1
- package/cjs/lib/inits/setupInstall.js +4 -5
- package/cjs/lib/inits/setupInstall.js.map +1 -1
- package/cjs/lib/inits/setupUninstall.d.ts +1 -1
- package/cjs/lib/inits/setupUninstall.js +1 -1
- package/cjs/lib/inits/setupUninstall.js.map +1 -1
- package/cjs/lib/mainFn/CommandController.d.ts +7 -4
- package/cjs/lib/mainFn/CommandController.js +18 -8
- package/cjs/lib/mainFn/CommandController.js.map +1 -1
- package/cjs/lib/mainFn/Daemon.d.ts +4 -2
- package/cjs/lib/mainFn/Daemon.js +7 -2
- package/cjs/lib/mainFn/Daemon.js.map +1 -1
- package/cjs/lib/mainFn/Daemons.d.ts +2 -2
- package/cjs/lib/mainFn/HealthDaemon.d.ts +6 -3
- package/cjs/lib/mainFn/HealthDaemon.js +23 -35
- package/cjs/lib/mainFn/HealthDaemon.js.map +1 -1
- package/cjs/lib/manifest/ManifestTypes.d.ts +1 -10
- package/cjs/lib/manifest/setupManifest.d.ts +2 -2
- package/cjs/lib/manifest/setupManifest.js +6 -2
- package/cjs/lib/manifest/setupManifest.js.map +1 -1
- package/cjs/lib/osBindings/Manifest.d.ts +2 -0
- package/cjs/lib/osBindings/PackageDataEntry.d.ts +2 -0
- package/cjs/lib/osBindings/SetDataVersionParams.d.ts +3 -0
- package/cjs/lib/osBindings/SetDataVersionParams.js +4 -0
- package/cjs/lib/osBindings/SetDataVersionParams.js.map +1 -0
- package/cjs/lib/osBindings/index.d.ts +1 -3
- package/cjs/lib/s9pk/merkleArchive/varint.js +2 -1
- package/cjs/lib/s9pk/merkleArchive/varint.js.map +1 -1
- package/cjs/lib/test/configBuilder.test.js +7 -4
- package/cjs/lib/test/configBuilder.test.js.map +1 -1
- package/cjs/lib/test/graph.test.d.ts +1 -0
- package/cjs/lib/test/graph.test.js +78 -0
- package/cjs/lib/test/graph.test.js.map +1 -0
- package/cjs/lib/test/output.sdk.d.ts +2 -214
- package/cjs/lib/test/output.sdk.js +9 -3
- package/cjs/lib/test/output.sdk.js.map +1 -1
- package/cjs/lib/test/startosTypeValidation.test.js +2 -0
- package/cjs/lib/test/startosTypeValidation.test.js.map +1 -1
- package/cjs/lib/types.d.ts +18 -14
- package/cjs/lib/types.js.map +1 -1
- package/cjs/lib/util/Overlay.d.ts +39 -2
- package/cjs/lib/util/Overlay.js +38 -6
- package/cjs/lib/util/Overlay.js.map +1 -1
- package/cjs/lib/util/asError.d.ts +1 -0
- package/cjs/lib/util/asError.js +11 -0
- package/cjs/lib/util/asError.js.map +1 -0
- package/cjs/lib/util/graph.d.ts +19 -0
- package/cjs/lib/util/graph.js +206 -0
- package/cjs/lib/util/graph.js.map +1 -0
- package/cjs/lib/util/index.d.ts +1 -0
- package/cjs/lib/util/index.js +3 -1
- package/cjs/lib/util/index.js.map +1 -1
- package/cjs/lib/version/VersionGraph.d.ts +18 -0
- package/cjs/lib/version/VersionGraph.js +104 -0
- package/cjs/lib/version/VersionGraph.js.map +1 -0
- package/cjs/lib/version/VersionInfo.d.ts +44 -0
- package/cjs/lib/version/VersionInfo.js +48 -0
- package/cjs/lib/version/VersionInfo.js.map +1 -0
- package/cjs/lib/version/index.d.ts +2 -0
- package/cjs/lib/version/index.js +19 -0
- package/cjs/lib/version/index.js.map +1 -0
- package/cjs/lib/versionInfo/VersionInfo.d.ts +44 -0
- package/cjs/lib/versionInfo/VersionInfo.js +48 -0
- package/cjs/lib/versionInfo/VersionInfo.js.map +1 -0
- package/cjs/lib/versionInfo/setupVersionGraph.d.ts +19 -0
- package/cjs/lib/versionInfo/setupVersionGraph.js +108 -0
- package/cjs/lib/versionInfo/setupVersionGraph.js.map +1 -0
- package/mjs/lib/StartSdk.d.ts +2 -17
- package/mjs/lib/StartSdk.js +2 -8
- package/mjs/lib/StartSdk.js.map +1 -1
- package/mjs/lib/backup/Backups.js +2 -1
- package/mjs/lib/backup/Backups.js.map +1 -1
- package/mjs/lib/backup/setupBackups.d.ts +1 -1
- package/mjs/lib/backup/setupBackups.js +2 -1
- package/mjs/lib/backup/setupBackups.js.map +1 -1
- package/mjs/lib/config/setupConfig.js +1 -1
- package/mjs/lib/config/setupConfig.js.map +1 -1
- package/mjs/lib/exver/index.d.ts +2 -2
- package/mjs/lib/exver/index.js +1 -0
- package/mjs/lib/exver/index.js.map +1 -1
- package/mjs/lib/health/HealthCheck.js +2 -1
- package/mjs/lib/health/HealthCheck.js.map +1 -1
- package/mjs/lib/health/checkFns/checkWebUrl.js +2 -1
- package/mjs/lib/health/checkFns/checkWebUrl.js.map +1 -1
- package/mjs/lib/index.d.ts +1 -0
- package/mjs/lib/index.js +1 -0
- package/mjs/lib/index.js.map +1 -1
- package/mjs/lib/inits/migrations/Migration.d.ts +14 -27
- package/mjs/lib/inits/migrations/Migration.js +9 -2
- package/mjs/lib/inits/migrations/Migration.js.map +1 -1
- package/mjs/lib/inits/migrations/setupMigrations.d.ts +10 -5
- package/mjs/lib/inits/migrations/setupMigrations.js +92 -28
- package/mjs/lib/inits/migrations/setupMigrations.js.map +1 -1
- package/mjs/lib/inits/setupInit.d.ts +2 -2
- package/mjs/lib/inits/setupInit.js +29 -5
- package/mjs/lib/inits/setupInit.js.map +1 -1
- package/mjs/lib/inits/setupInstall.d.ts +1 -1
- package/mjs/lib/inits/setupInstall.js +4 -5
- package/mjs/lib/inits/setupInstall.js.map +1 -1
- package/mjs/lib/inits/setupUninstall.d.ts +1 -1
- package/mjs/lib/inits/setupUninstall.js +1 -1
- package/mjs/lib/inits/setupUninstall.js.map +1 -1
- package/mjs/lib/mainFn/CommandController.d.ts +7 -4
- package/mjs/lib/mainFn/CommandController.js +17 -9
- package/mjs/lib/mainFn/CommandController.js.map +1 -1
- package/mjs/lib/mainFn/Daemon.d.ts +4 -2
- package/mjs/lib/mainFn/Daemon.js +7 -3
- package/mjs/lib/mainFn/Daemon.js.map +1 -1
- package/mjs/lib/mainFn/Daemons.d.ts +2 -2
- package/mjs/lib/mainFn/HealthDaemon.d.ts +6 -3
- package/mjs/lib/mainFn/HealthDaemon.js +22 -21
- package/mjs/lib/mainFn/HealthDaemon.js.map +1 -1
- package/mjs/lib/manifest/ManifestTypes.d.ts +1 -10
- package/mjs/lib/manifest/setupManifest.d.ts +2 -2
- package/mjs/lib/manifest/setupManifest.js +6 -2
- package/mjs/lib/manifest/setupManifest.js.map +1 -1
- package/mjs/lib/osBindings/Manifest.d.ts +2 -0
- package/mjs/lib/osBindings/PackageDataEntry.d.ts +2 -0
- package/mjs/lib/osBindings/SetDataVersionParams.d.ts +3 -0
- package/mjs/lib/osBindings/SetDataVersionParams.js +3 -0
- package/mjs/lib/osBindings/SetDataVersionParams.js.map +1 -0
- package/mjs/lib/osBindings/index.d.ts +1 -3
- package/mjs/lib/s9pk/merkleArchive/varint.js +2 -1
- package/mjs/lib/s9pk/merkleArchive/varint.js.map +1 -1
- package/mjs/lib/test/configBuilder.test.js +7 -4
- package/mjs/lib/test/configBuilder.test.js.map +1 -1
- package/mjs/lib/test/graph.test.d.ts +1 -0
- package/mjs/lib/test/graph.test.js +76 -0
- package/mjs/lib/test/graph.test.js.map +1 -0
- package/mjs/lib/test/output.sdk.d.ts +2 -214
- package/mjs/lib/test/output.sdk.js +9 -3
- package/mjs/lib/test/output.sdk.js.map +1 -1
- package/mjs/lib/test/startosTypeValidation.test.js +2 -0
- package/mjs/lib/test/startosTypeValidation.test.js.map +1 -1
- package/mjs/lib/types.d.ts +18 -14
- package/mjs/lib/types.js.map +1 -1
- package/mjs/lib/util/Overlay.d.ts +39 -2
- package/mjs/lib/util/Overlay.js +37 -5
- package/mjs/lib/util/Overlay.js.map +1 -1
- package/mjs/lib/util/asError.d.ts +1 -0
- package/mjs/lib/util/asError.js +7 -0
- package/mjs/lib/util/asError.js.map +1 -0
- package/mjs/lib/util/graph.d.ts +19 -0
- package/mjs/lib/util/graph.js +201 -0
- package/mjs/lib/util/graph.js.map +1 -0
- package/mjs/lib/util/index.d.ts +1 -0
- package/mjs/lib/util/index.js +1 -0
- package/mjs/lib/util/index.js.map +1 -1
- package/mjs/lib/version/VersionGraph.d.ts +18 -0
- package/mjs/lib/version/VersionGraph.js +102 -0
- package/mjs/lib/version/VersionGraph.js.map +1 -0
- package/mjs/lib/version/VersionInfo.d.ts +44 -0
- package/mjs/lib/version/VersionInfo.js +45 -0
- package/mjs/lib/version/VersionInfo.js.map +1 -0
- package/mjs/lib/version/index.d.ts +2 -0
- package/mjs/lib/version/index.js +3 -0
- package/mjs/lib/version/index.js.map +1 -0
- package/mjs/lib/versionInfo/VersionInfo.d.ts +44 -0
- package/mjs/lib/versionInfo/VersionInfo.js +45 -0
- package/mjs/lib/versionInfo/VersionInfo.js.map +1 -0
- package/mjs/lib/versionInfo/setupVersionGraph.d.ts +19 -0
- package/mjs/lib/versionInfo/setupVersionGraph.js +105 -0
- package/mjs/lib/versionInfo/setupVersionGraph.js.map +1 -0
- package/mjs/lib/versionInfo/setupVersionInfo.d.ts +19 -0
- package/mjs/lib/versionInfo/setupVersionInfo.js +105 -0
- package/mjs/lib/versionInfo/setupVersionInfo.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.js","sourceRoot":"","sources":["../../../../lib/util/Overlay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiC;AAEjC,kDAAmC;AACnC,+BAAgC;AAChC,6CAAoC;AACvB,QAAA,QAAQ,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;AAC9C,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,yBAAyB,OAAO,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"Overlay.js","sourceRoot":"","sources":["../../../../lib/util/Overlay.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const asError: (e: unknown) => Error;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asError = void 0;
|
|
4
|
+
const asError = (e) => {
|
|
5
|
+
if (e instanceof Error) {
|
|
6
|
+
return new Error(e);
|
|
7
|
+
}
|
|
8
|
+
return new Error(`${e}`);
|
|
9
|
+
};
|
|
10
|
+
exports.asError = asError;
|
|
11
|
+
//# sourceMappingURL=asError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asError.js","sourceRoot":"","sources":["../../../../lib/util/asError.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,EAAE;IACpC,IAAI,CAAC,YAAY,KAAK,EAAE;QACtB,OAAO,IAAI,KAAK,CAAC,CAAQ,CAAC,CAAA;KAC3B;IACD,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AALY,QAAA,OAAO,WAKnB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type Vertex<VMetadata = void, EMetadata = void> = {
|
|
2
|
+
metadata: VMetadata;
|
|
3
|
+
edges: Array<Edge<EMetadata, VMetadata>>;
|
|
4
|
+
};
|
|
5
|
+
export type Edge<EMetadata = void, VMetadata = void> = {
|
|
6
|
+
metadata: EMetadata;
|
|
7
|
+
from: Vertex<VMetadata, EMetadata>;
|
|
8
|
+
to: Vertex<VMetadata, EMetadata>;
|
|
9
|
+
};
|
|
10
|
+
export declare class Graph<VMetadata = void, EMetadata = void> {
|
|
11
|
+
private readonly vertices;
|
|
12
|
+
constructor();
|
|
13
|
+
addVertex(metadata: VMetadata, fromEdges: Array<Omit<Edge<EMetadata, VMetadata>, "to">>, toEdges: Array<Omit<Edge<EMetadata, VMetadata>, "from">>): Vertex<VMetadata, EMetadata>;
|
|
14
|
+
findVertex(predicate: (vertex: Vertex<VMetadata, EMetadata>) => boolean): Generator<Vertex<VMetadata, EMetadata>, void>;
|
|
15
|
+
addEdge(metadata: EMetadata, from: Vertex<VMetadata, EMetadata>, to: Vertex<VMetadata, EMetadata>): Edge<EMetadata, VMetadata>;
|
|
16
|
+
breadthFirstSearch(from: Vertex<VMetadata, EMetadata> | ((vertex: Vertex<VMetadata, EMetadata>) => boolean)): Generator<Vertex<VMetadata, EMetadata>, void>;
|
|
17
|
+
reverseBreadthFirstSearch(to: Vertex<VMetadata, EMetadata> | ((vertex: Vertex<VMetadata, EMetadata>) => boolean)): Generator<Vertex<VMetadata, EMetadata>, void>;
|
|
18
|
+
shortestPath(from: Vertex<VMetadata, EMetadata> | ((vertex: Vertex<VMetadata, EMetadata>) => boolean), to: Vertex<VMetadata, EMetadata> | ((vertex: Vertex<VMetadata, EMetadata>) => boolean)): Array<Edge<EMetadata, VMetadata>> | void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Graph = void 0;
|
|
4
|
+
class Graph {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.vertices = [];
|
|
7
|
+
}
|
|
8
|
+
addVertex(metadata, fromEdges, toEdges) {
|
|
9
|
+
const vertex = {
|
|
10
|
+
metadata,
|
|
11
|
+
edges: [],
|
|
12
|
+
};
|
|
13
|
+
for (let edge of fromEdges) {
|
|
14
|
+
const vEdge = {
|
|
15
|
+
metadata: edge.metadata,
|
|
16
|
+
from: edge.from,
|
|
17
|
+
to: vertex,
|
|
18
|
+
};
|
|
19
|
+
edge.from.edges.push(vEdge);
|
|
20
|
+
vertex.edges.push(vEdge);
|
|
21
|
+
}
|
|
22
|
+
for (let edge of toEdges) {
|
|
23
|
+
const vEdge = {
|
|
24
|
+
metadata: edge.metadata,
|
|
25
|
+
from: vertex,
|
|
26
|
+
to: edge.to,
|
|
27
|
+
};
|
|
28
|
+
edge.to.edges.push(vEdge);
|
|
29
|
+
vertex.edges.push(vEdge);
|
|
30
|
+
}
|
|
31
|
+
this.vertices.push(vertex);
|
|
32
|
+
return vertex;
|
|
33
|
+
}
|
|
34
|
+
findVertex(predicate) {
|
|
35
|
+
const veritces = this.vertices;
|
|
36
|
+
function* gen() {
|
|
37
|
+
for (let vertex of veritces) {
|
|
38
|
+
if (predicate(vertex)) {
|
|
39
|
+
yield vertex;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return gen();
|
|
44
|
+
}
|
|
45
|
+
addEdge(metadata, from, to) {
|
|
46
|
+
const edge = {
|
|
47
|
+
metadata,
|
|
48
|
+
from,
|
|
49
|
+
to,
|
|
50
|
+
};
|
|
51
|
+
edge.from.edges.push(edge);
|
|
52
|
+
edge.to.edges.push(edge);
|
|
53
|
+
return edge;
|
|
54
|
+
}
|
|
55
|
+
breadthFirstSearch(from) {
|
|
56
|
+
const visited = [];
|
|
57
|
+
function* rec(vertex) {
|
|
58
|
+
if (visited.includes(vertex)) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
visited.push(vertex);
|
|
62
|
+
yield vertex;
|
|
63
|
+
let generators = vertex.edges
|
|
64
|
+
.filter((e) => e.from === vertex)
|
|
65
|
+
.map((e) => rec(e.to));
|
|
66
|
+
while (generators.length) {
|
|
67
|
+
let prev = generators;
|
|
68
|
+
generators = [];
|
|
69
|
+
for (let gen of prev) {
|
|
70
|
+
const next = gen.next();
|
|
71
|
+
if (!next.done) {
|
|
72
|
+
generators.push(gen);
|
|
73
|
+
yield next.value;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (from instanceof Function) {
|
|
79
|
+
let generators = this.vertices.filter(from).map(rec);
|
|
80
|
+
return (function* () {
|
|
81
|
+
while (generators.length) {
|
|
82
|
+
let prev = generators;
|
|
83
|
+
generators = [];
|
|
84
|
+
for (let gen of prev) {
|
|
85
|
+
const next = gen.next();
|
|
86
|
+
if (!next.done) {
|
|
87
|
+
generators.push(gen);
|
|
88
|
+
yield next.value;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
})();
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return rec(from);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
reverseBreadthFirstSearch(to) {
|
|
99
|
+
const visited = [];
|
|
100
|
+
function* rec(vertex) {
|
|
101
|
+
if (visited.includes(vertex)) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
visited.push(vertex);
|
|
105
|
+
yield vertex;
|
|
106
|
+
let generators = vertex.edges
|
|
107
|
+
.filter((e) => e.to === vertex)
|
|
108
|
+
.map((e) => rec(e.from));
|
|
109
|
+
while (generators.length) {
|
|
110
|
+
let prev = generators;
|
|
111
|
+
generators = [];
|
|
112
|
+
for (let gen of prev) {
|
|
113
|
+
const next = gen.next();
|
|
114
|
+
if (!next.done) {
|
|
115
|
+
generators.push(gen);
|
|
116
|
+
yield next.value;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (to instanceof Function) {
|
|
122
|
+
let generators = this.vertices.filter(to).map(rec);
|
|
123
|
+
return (function* () {
|
|
124
|
+
while (generators.length) {
|
|
125
|
+
let prev = generators;
|
|
126
|
+
generators = [];
|
|
127
|
+
for (let gen of prev) {
|
|
128
|
+
const next = gen.next();
|
|
129
|
+
if (!next.done) {
|
|
130
|
+
generators.push(gen);
|
|
131
|
+
yield next.value;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
})();
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return rec(to);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
shortestPath(from, to) {
|
|
142
|
+
const isDone = to instanceof Function
|
|
143
|
+
? to
|
|
144
|
+
: (v) => v === to;
|
|
145
|
+
const path = [];
|
|
146
|
+
const visited = [];
|
|
147
|
+
function* check(vertex, path) {
|
|
148
|
+
if (isDone(vertex)) {
|
|
149
|
+
return path;
|
|
150
|
+
}
|
|
151
|
+
if (visited.includes(vertex)) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
visited.push(vertex);
|
|
155
|
+
yield;
|
|
156
|
+
let generators = vertex.edges
|
|
157
|
+
.filter((e) => e.from === vertex)
|
|
158
|
+
.map((e) => check(e.to, [...path, e]));
|
|
159
|
+
while (generators.length) {
|
|
160
|
+
let prev = generators;
|
|
161
|
+
generators = [];
|
|
162
|
+
for (let gen of prev) {
|
|
163
|
+
const next = gen.next();
|
|
164
|
+
if (next.done === true) {
|
|
165
|
+
if (next.value) {
|
|
166
|
+
return next.value;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
generators.push(gen);
|
|
171
|
+
yield;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (from instanceof Function) {
|
|
177
|
+
let generators = this.vertices.filter(from).map((v) => check(v, []));
|
|
178
|
+
while (generators.length) {
|
|
179
|
+
let prev = generators;
|
|
180
|
+
generators = [];
|
|
181
|
+
for (let gen of prev) {
|
|
182
|
+
const next = gen.next();
|
|
183
|
+
if (next.done === true) {
|
|
184
|
+
if (next.value) {
|
|
185
|
+
return next.value;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
generators.push(gen);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
const gen = check(from, []);
|
|
196
|
+
while (true) {
|
|
197
|
+
const next = gen.next();
|
|
198
|
+
if (next.done) {
|
|
199
|
+
return next.value;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
exports.Graph = Graph;
|
|
206
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../lib/util/graph.ts"],"names":[],"mappings":"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"}
|
package/cjs/lib/util/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import "./deepMerge";
|
|
|
6
6
|
import "./Overlay";
|
|
7
7
|
import "./once";
|
|
8
8
|
export { GetServiceInterface, getServiceInterface } from "./getServiceInterface";
|
|
9
|
+
export { asError } from "./asError";
|
|
9
10
|
export { getServiceInterfaces } from "./getServiceInterfaces";
|
|
10
11
|
export { addressHostToUrl } from "./getServiceInterface";
|
|
11
12
|
export { hostnameInfoToAddress } from "./Hostname";
|
package/cjs/lib/util/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.inMs = exports.getDefaultString = exports.hostnameInfoToAddress = exports.addressHostToUrl = exports.getServiceInterfaces = exports.getServiceInterface = exports.GetServiceInterface = void 0;
|
|
17
|
+
exports.inMs = exports.getDefaultString = exports.hostnameInfoToAddress = exports.addressHostToUrl = exports.getServiceInterfaces = exports.asError = exports.getServiceInterface = exports.GetServiceInterface = void 0;
|
|
18
18
|
require("./nullIfEmpty");
|
|
19
19
|
require("./fileHelper");
|
|
20
20
|
require("../store/getStore");
|
|
@@ -25,6 +25,8 @@ require("./once");
|
|
|
25
25
|
var getServiceInterface_1 = require("./getServiceInterface");
|
|
26
26
|
Object.defineProperty(exports, "GetServiceInterface", { enumerable: true, get: function () { return getServiceInterface_1.GetServiceInterface; } });
|
|
27
27
|
Object.defineProperty(exports, "getServiceInterface", { enumerable: true, get: function () { return getServiceInterface_1.getServiceInterface; } });
|
|
28
|
+
var asError_1 = require("./asError");
|
|
29
|
+
Object.defineProperty(exports, "asError", { enumerable: true, get: function () { return asError_1.asError; } });
|
|
28
30
|
var getServiceInterfaces_1 = require("./getServiceInterfaces");
|
|
29
31
|
Object.defineProperty(exports, "getServiceInterfaces", { enumerable: true, get: function () { return getServiceInterfaces_1.getServiceInterfaces; } });
|
|
30
32
|
var getServiceInterface_2 = require("./getServiceInterface");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yBAAsB;AACtB,wBAAqB;AACrB,6BAA0B;AAC1B,uBAAoB;AACpB,uBAAoB;AACpB,qBAAkB;AAClB,kBAAe;AAEf,6DAAgF;AAAvE,0HAAA,mBAAmB,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AACjD,+DAA6D;AAApD,4HAAA,oBAAoB,OAAA;AAC7B,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,uCAAkD;AAAzC,iHAAA,qBAAqB,OAAA;AAC9B,gDAA6B;AAC7B,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yBAAsB;AACtB,wBAAqB;AACrB,6BAA0B;AAC1B,uBAAoB;AACpB,uBAAoB;AACpB,qBAAkB;AAClB,kBAAe;AAEf,6DAAgF;AAAvE,0HAAA,mBAAmB,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AACjD,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,+DAA6D;AAApD,4HAAA,oBAAoB,OAAA;AAC7B,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,uCAAkD;AAAzC,iHAAA,qBAAqB,OAAA;AAC9B,gDAA6B;AAC7B,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ExtendedVersion, VersionRange } from "../exver";
|
|
2
|
+
import * as T from "../types";
|
|
3
|
+
import { VersionInfo } from "./VersionInfo";
|
|
4
|
+
export declare class VersionGraph<CurrentVersion extends string> {
|
|
5
|
+
readonly current: VersionInfo<CurrentVersion>;
|
|
6
|
+
private readonly graph;
|
|
7
|
+
private constructor();
|
|
8
|
+
currentVersion: () => ExtendedVersion;
|
|
9
|
+
static of<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(currentVersion: VersionInfo<CurrentVersion>, ...other: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
|
|
10
|
+
migrate({ effects, from, to, }: {
|
|
11
|
+
effects: T.Effects;
|
|
12
|
+
from: ExtendedVersion;
|
|
13
|
+
to: ExtendedVersion;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
canMigrateFrom: () => VersionRange;
|
|
16
|
+
canMigrateTo: () => VersionRange;
|
|
17
|
+
}
|
|
18
|
+
export type EnsureUniqueId<A, B = A, OtherVersions = never> = B extends [] ? A : B extends [VersionInfo<infer Version>, ...infer Rest] ? (Version extends OtherVersions ? "One or more versions are not unique"[] : EnsureUniqueId<A, Rest, Version | OtherVersions>) : "There exists a migration that is not a Migration"[];
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersionGraph = void 0;
|
|
4
|
+
const exver_1 = require("../exver");
|
|
5
|
+
const graph_1 = require("../util/graph");
|
|
6
|
+
const once_1 = require("../util/once");
|
|
7
|
+
const VersionInfo_1 = require("./VersionInfo");
|
|
8
|
+
class VersionGraph {
|
|
9
|
+
constructor(current, versions) {
|
|
10
|
+
this.current = current;
|
|
11
|
+
this.currentVersion = (0, once_1.once)(() => exver_1.ExtendedVersion.parse(this.current.options.version));
|
|
12
|
+
this.canMigrateFrom = (0, once_1.once)(() => Array.from(this.graph().reverseBreadthFirstSearch((v) => (v.metadata instanceof exver_1.VersionRange &&
|
|
13
|
+
v.metadata.satisfiedBy(this.currentVersion())) ||
|
|
14
|
+
(v.metadata instanceof exver_1.ExtendedVersion &&
|
|
15
|
+
v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof exver_1.VersionRange
|
|
16
|
+
? x.metadata
|
|
17
|
+
: exver_1.VersionRange.anchor("=", x.metadata)), exver_1.VersionRange.none()));
|
|
18
|
+
this.canMigrateTo = (0, once_1.once)(() => Array.from(this.graph().breadthFirstSearch((v) => (v.metadata instanceof exver_1.VersionRange &&
|
|
19
|
+
v.metadata.satisfiedBy(this.currentVersion())) ||
|
|
20
|
+
(v.metadata instanceof exver_1.ExtendedVersion &&
|
|
21
|
+
v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof exver_1.VersionRange
|
|
22
|
+
? x.metadata
|
|
23
|
+
: exver_1.VersionRange.anchor("=", x.metadata)), exver_1.VersionRange.none()));
|
|
24
|
+
this.graph = (0, once_1.once)(() => {
|
|
25
|
+
const graph = new graph_1.Graph();
|
|
26
|
+
const flavorMap = {};
|
|
27
|
+
for (let version of [current, ...versions]) {
|
|
28
|
+
const v = exver_1.ExtendedVersion.parse(version.options.version);
|
|
29
|
+
const vertex = graph.addVertex(v, [], []);
|
|
30
|
+
const flavor = v.flavor || "";
|
|
31
|
+
if (!flavorMap[flavor]) {
|
|
32
|
+
flavorMap[flavor] = [];
|
|
33
|
+
}
|
|
34
|
+
flavorMap[flavor].push([v, version, vertex]);
|
|
35
|
+
}
|
|
36
|
+
for (let flavor in flavorMap) {
|
|
37
|
+
flavorMap[flavor].sort((a, b) => a[0].compareForSort(b[0]));
|
|
38
|
+
let prev = undefined;
|
|
39
|
+
for (let [v, version, vertex] of flavorMap[flavor]) {
|
|
40
|
+
if (version.options.migrations.up !== VersionInfo_1.IMPOSSIBLE) {
|
|
41
|
+
let range;
|
|
42
|
+
if (prev) {
|
|
43
|
+
graph.addEdge(version.options.migrations.up, prev[2], vertex);
|
|
44
|
+
range = exver_1.VersionRange.anchor(">=", prev[0]).and(exver_1.VersionRange.anchor("<", v));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
range = exver_1.VersionRange.anchor("<", v);
|
|
48
|
+
}
|
|
49
|
+
const vRange = graph.addVertex(range, [], []);
|
|
50
|
+
graph.addEdge(version.options.migrations.up, vRange, vertex);
|
|
51
|
+
}
|
|
52
|
+
if (version.options.migrations.down !== VersionInfo_1.IMPOSSIBLE) {
|
|
53
|
+
let range;
|
|
54
|
+
if (prev) {
|
|
55
|
+
graph.addEdge(version.options.migrations.down, vertex, prev[2]);
|
|
56
|
+
range = exver_1.VersionRange.anchor(">=", prev[0]).and(exver_1.VersionRange.anchor("<", v));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
range = exver_1.VersionRange.anchor("<", v);
|
|
60
|
+
}
|
|
61
|
+
const vRange = graph.addVertex(range, [], []);
|
|
62
|
+
graph.addEdge(version.options.migrations.down, vertex, vRange);
|
|
63
|
+
}
|
|
64
|
+
if (version.options.migrations.other) {
|
|
65
|
+
for (let rangeStr in version.options.migrations.other) {
|
|
66
|
+
const range = exver_1.VersionRange.parse(rangeStr);
|
|
67
|
+
const vRange = graph.addVertex(range, [], []);
|
|
68
|
+
graph.addEdge(version.options.migrations.other[rangeStr], vRange, vertex);
|
|
69
|
+
for (let matching of graph.findVertex((v) => v.metadata instanceof exver_1.ExtendedVersion &&
|
|
70
|
+
v.metadata.satisfies(range))) {
|
|
71
|
+
graph.addEdge(version.options.migrations.other[rangeStr], matching, vertex);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return graph;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
static of(currentVersion, ...other) {
|
|
81
|
+
return new VersionGraph(currentVersion, other);
|
|
82
|
+
}
|
|
83
|
+
async migrate({ effects, from, to, }) {
|
|
84
|
+
const graph = this.graph();
|
|
85
|
+
if (from && to) {
|
|
86
|
+
const path = graph.shortestPath((v) => (v.metadata instanceof exver_1.VersionRange &&
|
|
87
|
+
v.metadata.satisfiedBy(from)) ||
|
|
88
|
+
(v.metadata instanceof exver_1.ExtendedVersion && v.metadata.equals(from)), (v) => (v.metadata instanceof exver_1.VersionRange && v.metadata.satisfiedBy(to)) ||
|
|
89
|
+
(v.metadata instanceof exver_1.ExtendedVersion && v.metadata.equals(to)));
|
|
90
|
+
if (path) {
|
|
91
|
+
for (let edge of path) {
|
|
92
|
+
if (edge.metadata) {
|
|
93
|
+
await edge.metadata({ effects });
|
|
94
|
+
}
|
|
95
|
+
await effects.setDataVersion({ version: edge.to.metadata.toString() });
|
|
96
|
+
}
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
throw new Error();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.VersionGraph = VersionGraph;
|
|
104
|
+
//# sourceMappingURL=VersionGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionGraph.js","sourceRoot":"","sources":["../../../../lib/version/VersionGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ValidateExVer } from "../exver";
|
|
2
|
+
import * as T from "../types";
|
|
3
|
+
export declare const IMPOSSIBLE: unique symbol;
|
|
4
|
+
export type VersionOptions<Version extends string> = {
|
|
5
|
+
/** The version being described */
|
|
6
|
+
version: Version & ValidateExVer<Version>;
|
|
7
|
+
/** The release notes for this version */
|
|
8
|
+
releaseNotes: string;
|
|
9
|
+
/** Data migrations for this version */
|
|
10
|
+
migrations: {
|
|
11
|
+
/**
|
|
12
|
+
* A migration from the previous version
|
|
13
|
+
* Leave blank to indicate no migration is necessary
|
|
14
|
+
* Set to `IMPOSSIBLE` to indicate migrating from the previous version is not possible
|
|
15
|
+
*/
|
|
16
|
+
up?: ((opts: {
|
|
17
|
+
effects: T.Effects;
|
|
18
|
+
}) => Promise<void>) | typeof IMPOSSIBLE;
|
|
19
|
+
/**
|
|
20
|
+
* A migration to the previous version
|
|
21
|
+
* Leave blank to indicate no migration is necessary
|
|
22
|
+
* Set to `IMPOSSIBLE` to indicate downgrades are prohibited
|
|
23
|
+
*/
|
|
24
|
+
down?: ((opts: {
|
|
25
|
+
effects: T.Effects;
|
|
26
|
+
}) => Promise<void>) | typeof IMPOSSIBLE;
|
|
27
|
+
/**
|
|
28
|
+
* Additional migrations, such as fast-forward migrations, or migrations from other flavors
|
|
29
|
+
*/
|
|
30
|
+
other?: Record<string, (opts: {
|
|
31
|
+
effects: T.Effects;
|
|
32
|
+
}) => Promise<void>>;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export declare class VersionInfo<Version extends string> {
|
|
36
|
+
readonly options: VersionOptions<Version> & {
|
|
37
|
+
satisfies: string[];
|
|
38
|
+
};
|
|
39
|
+
private _version;
|
|
40
|
+
private constructor();
|
|
41
|
+
static of<Version extends string>(options: VersionOptions<Version>): VersionInfo<Version>;
|
|
42
|
+
/** Specify a version that this version is 100% backwards compatible to */
|
|
43
|
+
satisfies<V extends string>(version: V & ValidateExVer<V>): VersionInfo<Version>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersionInfo = exports.IMPOSSIBLE = void 0;
|
|
4
|
+
exports.IMPOSSIBLE = Symbol("IMPOSSIBLE");
|
|
5
|
+
class VersionInfo {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.options = options;
|
|
8
|
+
this._version = null;
|
|
9
|
+
}
|
|
10
|
+
static of(options) {
|
|
11
|
+
return new VersionInfo({ ...options, satisfies: [] });
|
|
12
|
+
}
|
|
13
|
+
/** Specify a version that this version is 100% backwards compatible to */
|
|
14
|
+
satisfies(version) {
|
|
15
|
+
return new VersionInfo({
|
|
16
|
+
...this.options,
|
|
17
|
+
satisfies: [...this.options.satisfies, version],
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.VersionInfo = VersionInfo;
|
|
22
|
+
function __type_tests() {
|
|
23
|
+
const version = VersionInfo.of({
|
|
24
|
+
version: "1.0.0:0",
|
|
25
|
+
releaseNotes: "",
|
|
26
|
+
migrations: {},
|
|
27
|
+
})
|
|
28
|
+
.satisfies("#other:1.0.0:0")
|
|
29
|
+
.satisfies("#other:2.0.0:0")
|
|
30
|
+
// @ts-expect-error
|
|
31
|
+
.satisfies("#other:2.f.0:0");
|
|
32
|
+
let a = version;
|
|
33
|
+
// @ts-expect-error
|
|
34
|
+
let b = version;
|
|
35
|
+
VersionInfo.of({
|
|
36
|
+
// @ts-expect-error
|
|
37
|
+
version: "test",
|
|
38
|
+
releaseNotes: "",
|
|
39
|
+
migrations: {},
|
|
40
|
+
});
|
|
41
|
+
VersionInfo.of({
|
|
42
|
+
// @ts-expect-error
|
|
43
|
+
version: "test",
|
|
44
|
+
releaseNotes: "",
|
|
45
|
+
migrations: {},
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=VersionInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../../../lib/version/VersionInfo.ts"],"names":[],"mappings":";;;AAGa,QAAA,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;AA4B9C,MAAa,WAAW;IAEtB,YACW,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QAF7D,aAAQ,GAAmB,IAAI,CAAA;IAGpC,CAAC;IACJ,MAAM,CAAC,EAAE,CAAyB,OAAgC;QAChE,OAAO,IAAI,WAAW,CAAU,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,0EAA0E;IAC1E,SAAS,CACP,OAA6B;QAE7B,OAAO,IAAI,WAAW,CAAC;YACrB,GAAG,IAAI,CAAC,OAAO;YACf,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SAChD,CAAC,CAAA;IACJ,CAAC;CACF;AAjBD,kCAiBC;AAED,SAAS,YAAY;IACnB,MAAM,OAAO,GAA2B,WAAW,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC;SACC,SAAS,CAAC,gBAAgB,CAAC;SAC3B,SAAS,CAAC,gBAAgB,CAAC;QAC5B,mBAAmB;SAClB,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAE9B,IAAI,CAAC,GAA2B,OAAO,CAAA;IACvC,mBAAmB;IACnB,IAAI,CAAC,GAA2B,OAAO,CAAA;IAEvC,WAAW,CAAC,EAAE,CAAC;QACb,mBAAmB;QACnB,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC,CAAA;IACF,WAAW,CAAC,EAAE,CAAC;QACb,mBAAmB;QACnB,OAAO,EAAE,MAAgB;QACzB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./VersionGraph"), exports);
|
|
18
|
+
__exportStar(require("./VersionInfo"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/version/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,gDAA6B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ValidateExVer } from "../exver";
|
|
2
|
+
import * as T from "../types";
|
|
3
|
+
export declare const IMPOSSIBLE: unique symbol;
|
|
4
|
+
export type VersionOptions<Version extends string> = {
|
|
5
|
+
/** The version being described */
|
|
6
|
+
version: Version & ValidateExVer<Version>;
|
|
7
|
+
/** The release notes for this version */
|
|
8
|
+
releaseNotes: string;
|
|
9
|
+
/** Data migrations for this version */
|
|
10
|
+
migrations: {
|
|
11
|
+
/**
|
|
12
|
+
* A migration from the previous version
|
|
13
|
+
* Leave blank to indicate no migration is necessary
|
|
14
|
+
* Set to `IMPOSSIBLE` to indicate migrating from the previous version is not possible
|
|
15
|
+
*/
|
|
16
|
+
up?: ((opts: {
|
|
17
|
+
effects: T.Effects;
|
|
18
|
+
}) => Promise<void>) | typeof IMPOSSIBLE;
|
|
19
|
+
/**
|
|
20
|
+
* A migration to the previous version
|
|
21
|
+
* Leave blank to indicate no migration is necessary
|
|
22
|
+
* Set to `IMPOSSIBLE` to indicate downgrades are prohibited
|
|
23
|
+
*/
|
|
24
|
+
down?: ((opts: {
|
|
25
|
+
effects: T.Effects;
|
|
26
|
+
}) => Promise<void>) | typeof IMPOSSIBLE;
|
|
27
|
+
/**
|
|
28
|
+
* Additional migrations, such as fast-forward migrations, or migrations from other flavors
|
|
29
|
+
*/
|
|
30
|
+
other?: Record<string, (opts: {
|
|
31
|
+
effects: T.Effects;
|
|
32
|
+
}) => Promise<void>>;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export declare class VersionInfo<Version extends string> {
|
|
36
|
+
readonly options: VersionOptions<Version> & {
|
|
37
|
+
satisfies: string[];
|
|
38
|
+
};
|
|
39
|
+
private _version;
|
|
40
|
+
private constructor();
|
|
41
|
+
static of<Version extends string>(options: VersionOptions<Version>): VersionInfo<Version>;
|
|
42
|
+
/** Specify a version that this version is 100% backwards compatible to */
|
|
43
|
+
satisfies<V extends string>(version: V & ValidateExVer<V>): VersionInfo<Version>;
|
|
44
|
+
}
|