gagen 0.2.10 → 0.2.11
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/esm/artifact.d.ts +4 -2
- package/esm/artifact.d.ts.map +1 -1
- package/esm/artifact.js +18 -8
- package/esm/expression.d.ts +8 -0
- package/esm/expression.d.ts.map +1 -1
- package/esm/expression.js +14 -14
- package/package.json +1 -1
package/esm/artifact.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Step } from "./step.js";
|
|
2
2
|
export interface UploadConfig {
|
|
3
|
-
path
|
|
3
|
+
path?: string;
|
|
4
4
|
retentionDays?: number;
|
|
5
5
|
}
|
|
6
6
|
export interface DownloadConfig {
|
|
@@ -8,12 +8,14 @@ export interface DownloadConfig {
|
|
|
8
8
|
}
|
|
9
9
|
export interface ArtifactOptions {
|
|
10
10
|
version?: string;
|
|
11
|
+
path?: string;
|
|
12
|
+
retentionDays?: number;
|
|
11
13
|
}
|
|
12
14
|
export declare class Artifact {
|
|
13
15
|
#private;
|
|
14
16
|
readonly name: string;
|
|
15
17
|
constructor(name: string, options?: ArtifactOptions);
|
|
16
|
-
upload(config
|
|
18
|
+
upload(config?: UploadConfig): Step;
|
|
17
19
|
download(config?: DownloadConfig): Step;
|
|
18
20
|
}
|
|
19
21
|
export declare function defineArtifact(name: string, options?: ArtifactOptions): Artifact;
|
package/esm/artifact.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../src/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../src/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,QAAQ;;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAMV,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IAOnD,MAAM,CAAC,MAAM,GAAE,YAAiB,GAAG,IAAI;IAuBvC,QAAQ,CAAC,MAAM,GAAE,cAAmB,GAAG,IAAI;CAgB5C;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,CAEV"}
|
package/esm/artifact.js
CHANGED
|
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _Artifact_version, _Artifact_uploadStep;
|
|
12
|
+
var _Artifact_version, _Artifact_path, _Artifact_retentionDays, _Artifact_uploadStep;
|
|
13
13
|
import { Step } from "./step.js";
|
|
14
14
|
export class Artifact {
|
|
15
15
|
constructor(name, options) {
|
|
@@ -20,17 +20,26 @@ export class Artifact {
|
|
|
20
20
|
value: void 0
|
|
21
21
|
});
|
|
22
22
|
_Artifact_version.set(this, void 0);
|
|
23
|
+
_Artifact_path.set(this, void 0);
|
|
24
|
+
_Artifact_retentionDays.set(this, void 0);
|
|
23
25
|
_Artifact_uploadStep.set(this, void 0);
|
|
24
26
|
this.name = name;
|
|
25
27
|
__classPrivateFieldSet(this, _Artifact_version, options?.version ?? "v6", "f");
|
|
28
|
+
__classPrivateFieldSet(this, _Artifact_path, options?.path, "f");
|
|
29
|
+
__classPrivateFieldSet(this, _Artifact_retentionDays, options?.retentionDays, "f");
|
|
26
30
|
}
|
|
27
|
-
upload(config) {
|
|
31
|
+
upload(config = {}) {
|
|
32
|
+
const path = config.path ?? __classPrivateFieldGet(this, _Artifact_path, "f");
|
|
33
|
+
if (path == null) {
|
|
34
|
+
throw new Error(`Artifact "${this.name}": upload requires a path, either in ArtifactOptions or UploadConfig`);
|
|
35
|
+
}
|
|
28
36
|
const withObj = {
|
|
29
37
|
name: this.name,
|
|
30
|
-
path
|
|
38
|
+
path,
|
|
31
39
|
};
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
const retentionDays = config.retentionDays ?? __classPrivateFieldGet(this, _Artifact_retentionDays, "f");
|
|
41
|
+
if (retentionDays != null) {
|
|
42
|
+
withObj["retention-days"] = retentionDays;
|
|
34
43
|
}
|
|
35
44
|
const s = new Step({
|
|
36
45
|
uses: `actions/upload-artifact@${__classPrivateFieldGet(this, _Artifact_version, "f")}`,
|
|
@@ -43,8 +52,9 @@ export class Artifact {
|
|
|
43
52
|
const withObj = {
|
|
44
53
|
name: this.name,
|
|
45
54
|
};
|
|
46
|
-
|
|
47
|
-
|
|
55
|
+
const path = config.path ?? __classPrivateFieldGet(this, _Artifact_path, "f");
|
|
56
|
+
if (path != null) {
|
|
57
|
+
withObj.path = path;
|
|
48
58
|
}
|
|
49
59
|
return new Step({
|
|
50
60
|
uses: `actions/download-artifact@${__classPrivateFieldGet(this, _Artifact_version, "f")}`,
|
|
@@ -52,7 +62,7 @@ export class Artifact {
|
|
|
52
62
|
}, __classPrivateFieldGet(this, _Artifact_uploadStep, "f") ? [__classPrivateFieldGet(this, _Artifact_uploadStep, "f")] : []);
|
|
53
63
|
}
|
|
54
64
|
}
|
|
55
|
-
_Artifact_version = new WeakMap(), _Artifact_uploadStep = new WeakMap();
|
|
65
|
+
_Artifact_version = new WeakMap(), _Artifact_path = new WeakMap(), _Artifact_retentionDays = new WeakMap(), _Artifact_uploadStep = new WeakMap();
|
|
56
66
|
export function defineArtifact(name, options) {
|
|
57
67
|
return new Artifact(name, options);
|
|
58
68
|
}
|
package/esm/expression.d.ts
CHANGED
|
@@ -23,6 +23,11 @@ export declare class ExpressionValue {
|
|
|
23
23
|
/** wrap in `${{ }}` for use in YAML */
|
|
24
24
|
toString(): string;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* A boolean condition used in `if` fields. Supports fluent `.and()`, `.or()`,
|
|
28
|
+
* `.not()` composition. Tracks all ExpressionSources referenced so that
|
|
29
|
+
* dependencies can be inferred automatically.
|
|
30
|
+
*/
|
|
26
31
|
export declare abstract class Condition {
|
|
27
32
|
readonly sources: ReadonlySet<ExpressionSource>;
|
|
28
33
|
constructor(sources: ReadonlySet<ExpressionSource>);
|
|
@@ -49,6 +54,8 @@ export declare abstract class Condition {
|
|
|
49
54
|
flattenOr(): Condition[];
|
|
50
55
|
/** returns true if this condition always evaluates to true */
|
|
51
56
|
isAlwaysTrue(): boolean;
|
|
57
|
+
/** returns true if this condition always evaluates to false */
|
|
58
|
+
isAlwaysFalse(): boolean;
|
|
52
59
|
/** render without `${{ }}` wrapping */
|
|
53
60
|
abstract toExpression(): string;
|
|
54
61
|
/** render wrapped in `${{ }}` for YAML `if` fields */
|
|
@@ -72,6 +79,7 @@ export declare class RawCondition extends Condition {
|
|
|
72
79
|
#private;
|
|
73
80
|
constructor(expression: string, sources: ReadonlySet<ExpressionSource>);
|
|
74
81
|
isAlwaysTrue(): boolean;
|
|
82
|
+
isAlwaysFalse(): boolean;
|
|
75
83
|
not(): Condition;
|
|
76
84
|
toExpression(): string;
|
|
77
85
|
}
|
package/esm/expression.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../src/expression.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvD,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC;AAEvE;;;GAGG;AACH,qBAAa,eAAe;;IAE1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;gBAI5C,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;IAa3D,sDAAsD;IACtD,IAAI,UAAU,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAE9C;IAED,oDAAoD;IACpD,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;IASnD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;IAStD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAQrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAQtC,GAAG,IAAI,SAAS;IAIhB,uCAAuC;IACvC,QAAQ,IAAI,MAAM;CAGnB;
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../src/expression.ts"],"names":[],"mappings":"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"}
|
package/esm/expression.js
CHANGED
|
@@ -80,13 +80,6 @@ _ExpressionValue_expression = new WeakMap(), _ExpressionValue_allSources = new W
|
|
|
80
80
|
* `.not()` composition. Tracks all ExpressionSources referenced so that
|
|
81
81
|
* dependencies can be inferred automatically.
|
|
82
82
|
*/
|
|
83
|
-
// helpers for construction-time simplification
|
|
84
|
-
function isTrueCondition(c) {
|
|
85
|
-
return c instanceof RawCondition && c.toExpression() === "true";
|
|
86
|
-
}
|
|
87
|
-
function isFalseCondition(c) {
|
|
88
|
-
return c instanceof RawCondition && c.toExpression() === "false";
|
|
89
|
-
}
|
|
90
83
|
export class Condition {
|
|
91
84
|
constructor(sources) {
|
|
92
85
|
Object.defineProperty(this, "sources", {
|
|
@@ -101,11 +94,11 @@ export class Condition {
|
|
|
101
94
|
const right = typeof other === "boolean"
|
|
102
95
|
? new RawCondition(String(other), EMPTY_SOURCES)
|
|
103
96
|
: other;
|
|
104
|
-
if (
|
|
97
|
+
if (this.isAlwaysTrue())
|
|
105
98
|
return right;
|
|
106
|
-
if (
|
|
99
|
+
if (right.isAlwaysTrue())
|
|
107
100
|
return this;
|
|
108
|
-
if (
|
|
101
|
+
if (this.isAlwaysFalse() || right.isAlwaysFalse()) {
|
|
109
102
|
return new RawCondition("false", unionSources(this, right));
|
|
110
103
|
}
|
|
111
104
|
return new LogicalCondition("&&", this, right, unionSources(this, right));
|
|
@@ -114,11 +107,11 @@ export class Condition {
|
|
|
114
107
|
const right = typeof other === "boolean"
|
|
115
108
|
? new RawCondition(String(other), EMPTY_SOURCES)
|
|
116
109
|
: other;
|
|
117
|
-
if (
|
|
110
|
+
if (this.isAlwaysFalse())
|
|
118
111
|
return right;
|
|
119
|
-
if (
|
|
112
|
+
if (right.isAlwaysFalse())
|
|
120
113
|
return this;
|
|
121
|
-
if (
|
|
114
|
+
if (this.isAlwaysTrue() || right.isAlwaysTrue()) {
|
|
122
115
|
return new RawCondition("true", unionSources(this, right));
|
|
123
116
|
}
|
|
124
117
|
return new LogicalCondition("||", this, right, unionSources(this, right));
|
|
@@ -156,6 +149,10 @@ export class Condition {
|
|
|
156
149
|
isAlwaysTrue() {
|
|
157
150
|
return false;
|
|
158
151
|
}
|
|
152
|
+
/** returns true if this condition always evaluates to false */
|
|
153
|
+
isAlwaysFalse() {
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
159
156
|
/** render wrapped in `${{ }}` for YAML `if` fields */
|
|
160
157
|
toString() {
|
|
161
158
|
return `\${{ ${this.toExpression()} }}`;
|
|
@@ -280,6 +277,9 @@ export class RawCondition extends Condition {
|
|
|
280
277
|
isAlwaysTrue() {
|
|
281
278
|
return __classPrivateFieldGet(this, _RawCondition_expression, "f") === "true";
|
|
282
279
|
}
|
|
280
|
+
isAlwaysFalse() {
|
|
281
|
+
return __classPrivateFieldGet(this, _RawCondition_expression, "f") === "false";
|
|
282
|
+
}
|
|
283
283
|
not() {
|
|
284
284
|
if (__classPrivateFieldGet(this, _RawCondition_expression, "f") === "true") {
|
|
285
285
|
return new RawCondition("false", this.sources);
|
|
@@ -409,7 +409,7 @@ export function isAlwaysTrue(c) {
|
|
|
409
409
|
/** Checks if a condition-like value always evaluates to false. */
|
|
410
410
|
export function isAlwaysFalse(c) {
|
|
411
411
|
if (c instanceof Condition)
|
|
412
|
-
return
|
|
412
|
+
return c.isAlwaysFalse();
|
|
413
413
|
if (typeof c === "string")
|
|
414
414
|
return c === "false";
|
|
415
415
|
return false;
|