@pulumi/pulumi 3.65.1 → 3.66.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 (153) hide show
  1. package/automation/errors.js +9 -5
  2. package/automation/errors.js.map +1 -1
  3. package/automation/events.js.map +1 -1
  4. package/automation/localWorkspace.js +21 -5
  5. package/automation/localWorkspace.js.map +1 -1
  6. package/automation/remoteStack.js.map +1 -1
  7. package/automation/remoteWorkspace.js.map +1 -1
  8. package/automation/server.js +1 -1
  9. package/automation/server.js.map +1 -1
  10. package/automation/stack.js +14 -7
  11. package/automation/stack.js.map +1 -1
  12. package/cmd/dynamic-provider/index.js +1 -1
  13. package/cmd/dynamic-provider/index.js.map +1 -1
  14. package/cmd/run/index.js +5 -3
  15. package/cmd/run/index.js.map +1 -1
  16. package/cmd/run/run.js +3 -7
  17. package/cmd/run/run.js.map +1 -1
  18. package/cmd/run/tracing.js.map +1 -1
  19. package/cmd/run-policy-pack/index.js +1 -1
  20. package/cmd/run-policy-pack/index.js.map +1 -1
  21. package/cmd/run-policy-pack/run.js +3 -6
  22. package/cmd/run-policy-pack/run.js.map +1 -1
  23. package/config.js +2 -3
  24. package/config.js.map +1 -1
  25. package/dynamic/index.js +2 -2
  26. package/dynamic/index.js.map +1 -1
  27. package/iterable/index.js +4 -4
  28. package/iterable/index.js.map +1 -1
  29. package/log/index.js +1 -3
  30. package/log/index.js.map +1 -1
  31. package/output.d.ts +4 -4
  32. package/output.js +35 -29
  33. package/output.js.map +1 -1
  34. package/package.json +2 -1
  35. package/provider/internals.js.map +1 -1
  36. package/provider/server.js +7 -8
  37. package/provider/server.js.map +1 -1
  38. package/resource.js +8 -8
  39. package/resource.js.map +1 -1
  40. package/runtime/asyncIterableUtil.js +1 -1
  41. package/runtime/asyncIterableUtil.js.map +1 -1
  42. package/runtime/closure/codePaths.js +1 -2
  43. package/runtime/closure/codePaths.js.map +1 -1
  44. package/runtime/closure/createClosure.js +56 -38
  45. package/runtime/closure/createClosure.js.map +1 -1
  46. package/runtime/closure/package.js +8 -5
  47. package/runtime/closure/package.js.map +1 -1
  48. package/runtime/closure/parseFunction.js +33 -17
  49. package/runtime/closure/parseFunction.js.map +1 -1
  50. package/runtime/closure/rewriteSuper.js +3 -6
  51. package/runtime/closure/rewriteSuper.js.map +1 -1
  52. package/runtime/closure/serializeClosure.js +34 -26
  53. package/runtime/closure/serializeClosure.js.map +1 -1
  54. package/runtime/closure/utils.js +1 -2
  55. package/runtime/closure/utils.js.map +1 -1
  56. package/runtime/closure/v8.js +9 -10
  57. package/runtime/closure/v8.js.map +1 -1
  58. package/runtime/closure/v8Hooks.js +2 -2
  59. package/runtime/closure/v8Hooks.js.map +1 -1
  60. package/runtime/config.js.map +1 -1
  61. package/runtime/debuggable.js +10 -9
  62. package/runtime/debuggable.js.map +1 -1
  63. package/runtime/index.js.map +1 -1
  64. package/runtime/invoke.js +4 -9
  65. package/runtime/invoke.js.map +1 -1
  66. package/runtime/mocks.js.map +1 -1
  67. package/runtime/resource.js +17 -12
  68. package/runtime/resource.js.map +1 -1
  69. package/runtime/rpc.js +6 -6
  70. package/runtime/rpc.js.map +1 -1
  71. package/runtime/settings.js +1 -1
  72. package/runtime/settings.js.map +1 -1
  73. package/runtime/stack.js +3 -3
  74. package/runtime/stack.js.map +1 -1
  75. package/runtime/state.js +1 -3
  76. package/runtime/state.js.map +1 -1
  77. package/stackReference.js.map +1 -1
  78. package/tests/automation/localWorkspace.spec.js +63 -57
  79. package/tests/automation/localWorkspace.spec.js.map +1 -1
  80. package/tests/automation/remoteWorkspace.spec.js +9 -6
  81. package/tests/automation/remoteWorkspace.spec.js.map +1 -1
  82. package/tests/config.spec.js +76 -28
  83. package/tests/config.spec.js.map +1 -1
  84. package/tests/iterable.spec.js +2 -2
  85. package/tests/iterable.spec.js.map +1 -1
  86. package/tests/options.spec.js +9 -3
  87. package/tests/options.spec.js.map +1 -1
  88. package/tests/output.spec.js +61 -67
  89. package/tests/output.spec.js.map +1 -1
  90. package/tests/provider.spec.js +7 -1
  91. package/tests/provider.spec.js.map +1 -1
  92. package/tests/resource.spec.js.map +1 -1
  93. package/tests/runtime/asyncIterableUtil.spec.js.map +1 -1
  94. package/tests/runtime/closureLoader.spec.js +1 -1
  95. package/tests/runtime/closureLoader.spec.js.map +1 -1
  96. package/tests/runtime/deploymentOnlyModule/runtimeConfig.js.map +1 -1
  97. package/tests/runtime/langhost/cases/000.empty/index.js +0 -1
  98. package/tests/runtime/langhost/cases/001.one_resource/index.js +0 -1
  99. package/tests/runtime/langhost/cases/002.ten_resources/index.js +0 -1
  100. package/tests/runtime/langhost/cases/003.one_complex_resource/index.js +20 -20
  101. package/tests/runtime/langhost/cases/004.ten_complex_resources/index.js +5 -6
  102. package/tests/runtime/langhost/cases/004.ten_complex_resources/resource.js +11 -12
  103. package/tests/runtime/langhost/cases/005.resource_thens/index.js +12 -13
  104. package/tests/runtime/langhost/cases/006.asset/index.js +1 -2
  105. package/tests/runtime/langhost/cases/007.promises_io/index.js +2 -3
  106. package/tests/runtime/langhost/cases/008.ten_depends_on_resources/index.js +19 -11
  107. package/tests/runtime/langhost/cases/009.invoke/index.js +1 -1
  108. package/tests/runtime/langhost/cases/012.assets_archive/index.js +10 -8
  109. package/tests/runtime/langhost/cases/013.unhandled_promise_rejection/index.js +1 -1
  110. package/tests/runtime/langhost/cases/014.read_resource/index.js +7 -7
  111. package/tests/runtime/langhost/cases/015.runtime_sxs/index.js +35 -19
  112. package/tests/runtime/langhost/cases/017.parent_defaults/index.js +49 -41
  113. package/tests/runtime/langhost/cases/020.property_dependencies/index.js +27 -18
  114. package/tests/runtime/langhost/cases/021.parent_child_dependencies/index.js +3 -3
  115. package/tests/runtime/langhost/cases/022.parent_child_dependencies_2/index.js +3 -3
  116. package/tests/runtime/langhost/cases/023.parent_child_dependencies_3/index.js +6 -6
  117. package/tests/runtime/langhost/cases/024.parent_child_dependencies_4/index.js +8 -8
  118. package/tests/runtime/langhost/cases/025.parent_child_dependencies_5/index.js +9 -9
  119. package/tests/runtime/langhost/cases/026.parent_child_dependencies_6/index.js +11 -11
  120. package/tests/runtime/langhost/cases/027.parent_child_dependencies_7/index.js +14 -14
  121. package/tests/runtime/langhost/cases/028.parent_child_dependencies_8/index.js +10 -10
  122. package/tests/runtime/langhost/cases/029.parent_child_dependencies_9/index.js +8 -8
  123. package/tests/runtime/langhost/cases/030.import_resource/index.js +0 -1
  124. package/tests/runtime/langhost/cases/041.component_opt_single_provider/index.js +49 -41
  125. package/tests/runtime/langhost/cases/042.component_opt_providers_array/index.js +49 -41
  126. package/tests/runtime/langhost/cases/060.provider_invokes/index.js +4 -4
  127. package/tests/runtime/langhost/cases/061.provider_in_parent_invokes/index.js +8 -8
  128. package/tests/runtime/langhost/cases/063.providerref_in_parent_invokes/index.js +2 -2
  129. package/tests/runtime/langhost/cases/064.async_components/index.js +9 -9
  130. package/tests/runtime/langhost/cases/065.large_resource/index.js +2 -2
  131. package/tests/runtime/langhost/cases/067.native_es_module/index.js +0 -1
  132. package/tests/runtime/langhost/cases/068.remote_component_providers/index.js +6 -6
  133. package/tests/runtime/langhost/cases/069.ambiguous_entrypoints/index.js +0 -1
  134. package/tests/runtime/langhost/cases/070.unusual_alias_names/index.js +5 -6
  135. package/tests/runtime/langhost/cases/071.large_alias_counts/index.js +4 -5
  136. package/tests/runtime/langhost/cases/072.large_alias_lineage_chains/index.js +13 -14
  137. package/tests/runtime/langhost/cases/073.component_dependencies/index.js +10 -10
  138. package/tests/runtime/langhost/run.spec.js +140 -116
  139. package/tests/runtime/langhost/run.spec.js.map +1 -1
  140. package/tests/runtime/package.spec.js +23 -23
  141. package/tests/runtime/package.spec.js.map +1 -1
  142. package/tests/runtime/props.spec.js +53 -51
  143. package/tests/runtime/props.spec.js.map +1 -1
  144. package/tests/runtime/settings.spec.js.map +1 -1
  145. package/tests/runtime/tsClosureCases.js +3 -1
  146. package/tests/runtime/tsClosureCases.js.map +1 -1
  147. package/tests/stackReference.spec.js.map +1 -1
  148. package/tests/unwrap.spec.js +27 -7
  149. package/tests/unwrap.spec.js.map +1 -1
  150. package/tests/util.js.map +1 -1
  151. package/tests_with_mocks/mocks.spec.js +11 -11
  152. package/tests_with_mocks/mocks.spec.js.map +1 -1
  153. package/version.js +1 -1
@@ -41,7 +41,7 @@ function mustCompile() {
41
41
  type: "foo",
42
42
  properties: {
43
43
  whatever: 1,
44
- }
44
+ },
45
45
  });
46
46
  }
47
47
  // mockOutput returns a value that looks like an Output, but allows for greater control over its behavior. This can be
@@ -62,14 +62,14 @@ function mockOutput(isKnown, value) {
62
62
  }
63
63
  return callback(v);
64
64
  })));
65
- }
65
+ },
66
66
  };
67
67
  }
68
68
  describe("output", () => {
69
69
  it("propagates true isKnown bit from inner Output", () => __awaiter(void 0, void 0, void 0, function* () {
70
70
  runtime._setIsDryRun(true);
71
71
  const output1 = new output_1.Output(new Set(), Promise.resolve("outer"), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set()));
72
- const output2 = output1.apply(v => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set())));
72
+ const output2 = output1.apply((v) => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set())));
73
73
  const isKnown = yield output2.isKnown;
74
74
  assert.strictEqual(isKnown, true);
75
75
  const value = yield output2.promise();
@@ -78,7 +78,7 @@ describe("output", () => {
78
78
  it("propagates false isKnown bit from inner Output", () => __awaiter(void 0, void 0, void 0, function* () {
79
79
  runtime._setIsDryRun(true);
80
80
  const output1 = new output_1.Output(new Set(), Promise.resolve("outer"), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set()));
81
- const output2 = output1.apply(v => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.resolve(false), Promise.resolve(false), Promise.resolve(new Set())));
81
+ const output2 = output1.apply((v) => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.resolve(false), Promise.resolve(false), Promise.resolve(new Set())));
82
82
  const isKnown = yield output2.isKnown;
83
83
  assert.strictEqual(isKnown, false);
84
84
  const value = yield output2.promise();
@@ -87,24 +87,22 @@ describe("output", () => {
87
87
  it("can not await if isKnown is a rejected promise.", () => __awaiter(void 0, void 0, void 0, function* () {
88
88
  runtime._setIsDryRun(true);
89
89
  const output1 = new output_1.Output(new Set(), Promise.resolve("outer"), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set()));
90
- const output2 = output1.apply(v => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.reject(new Error("foo")), Promise.resolve(false), Promise.resolve(new Set())));
90
+ const output2 = output1.apply((v) => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.reject(new Error("foo")), Promise.resolve(false), Promise.resolve(new Set())));
91
91
  try {
92
92
  const isKnown = yield output2.isKnown;
93
93
  assert.fail("Should not reach here");
94
94
  }
95
- catch (err) {
96
- }
95
+ catch (err) { }
97
96
  try {
98
97
  const value = yield output2.promise();
99
98
  assert.fail("Should not reach here");
100
99
  }
101
- catch (err) {
102
- }
100
+ catch (err) { }
103
101
  }));
104
102
  it("propagates true isSecret bit from inner Output", () => __awaiter(void 0, void 0, void 0, function* () {
105
103
  runtime._setIsDryRun(true);
106
104
  const output1 = new output_1.Output(new Set(), Promise.resolve("outer"), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set()));
107
- const output2 = output1.apply(v => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.resolve(true), Promise.resolve(true), Promise.resolve(new Set())));
105
+ const output2 = output1.apply((v) => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.resolve(true), Promise.resolve(true), Promise.resolve(new Set())));
108
106
  const isSecret = yield output2.isSecret;
109
107
  assert.strictEqual(isSecret, true);
110
108
  const value = yield output2.promise();
@@ -113,7 +111,7 @@ describe("output", () => {
113
111
  it("retains true isSecret bit from outer Output", () => __awaiter(void 0, void 0, void 0, function* () {
114
112
  runtime._setIsDryRun(true);
115
113
  const output1 = new output_1.Output(new Set(), Promise.resolve("outer"), Promise.resolve(true), Promise.resolve(true), Promise.resolve(new Set()));
116
- const output2 = output1.apply(v => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set())));
114
+ const output2 = output1.apply((v) => new output_1.Output(new Set(), Promise.resolve("inner"), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set())));
117
115
  const isSecret = yield output2.isSecret;
118
116
  assert.strictEqual(isSecret, true);
119
117
  const value = yield output2.promise();
@@ -126,63 +124,63 @@ describe("output", () => {
126
124
  it("can run on known value during preview", () => __awaiter(void 0, void 0, void 0, function* () {
127
125
  runtime._setIsDryRun(true);
128
126
  const out = createOutput(0, true);
129
- const r = out.apply(v => v + 1);
127
+ const r = out.apply((v) => v + 1);
130
128
  assert.strictEqual(yield r.isKnown, true);
131
129
  assert.strictEqual(yield r.promise(), 1);
132
130
  }));
133
131
  it("can run on known awaitable value during preview", () => __awaiter(void 0, void 0, void 0, function* () {
134
132
  runtime._setIsDryRun(true);
135
133
  const out = createOutput(0, true);
136
- const r = out.apply(v => Promise.resolve("inner"));
134
+ const r = out.apply((v) => Promise.resolve("inner"));
137
135
  assert.strictEqual(yield r.isKnown, true);
138
136
  assert.strictEqual(yield r.promise(), "inner");
139
137
  }));
140
138
  it("can run on known known output value during preview", () => __awaiter(void 0, void 0, void 0, function* () {
141
139
  runtime._setIsDryRun(true);
142
140
  const out = createOutput(0, true);
143
- const r = out.apply(v => createOutput("inner", true));
141
+ const r = out.apply((v) => createOutput("inner", true));
144
142
  assert.strictEqual(yield r.isKnown, true);
145
143
  assert.strictEqual(yield r.promise(), "inner");
146
144
  }));
147
145
  it("can run on known unknown output value during preview", () => __awaiter(void 0, void 0, void 0, function* () {
148
146
  runtime._setIsDryRun(true);
149
147
  const out = createOutput(0, true);
150
- const r = out.apply(v => createOutput("inner", false));
148
+ const r = out.apply((v) => createOutput("inner", false));
151
149
  assert.strictEqual(yield r.isKnown, false);
152
150
  assert.strictEqual(yield r.promise(), "inner");
153
151
  }));
154
152
  it("produces unknown default on unknown during preview", () => __awaiter(void 0, void 0, void 0, function* () {
155
153
  runtime._setIsDryRun(true);
156
154
  const out = createOutput(0, false);
157
- const r = out.apply(v => v + 1);
155
+ const r = out.apply((v) => v + 1);
158
156
  assert.strictEqual(yield r.isKnown, false);
159
157
  assert.strictEqual(yield r.promise(), undefined);
160
158
  }));
161
159
  it("produces unknown default on unknown awaitable during preview", () => __awaiter(void 0, void 0, void 0, function* () {
162
160
  runtime._setIsDryRun(true);
163
161
  const out = createOutput(0, false);
164
- const r = out.apply(v => Promise.resolve("inner"));
162
+ const r = out.apply((v) => Promise.resolve("inner"));
165
163
  assert.strictEqual(yield r.isKnown, false);
166
164
  assert.strictEqual(yield r.promise(), undefined);
167
165
  }));
168
166
  it("produces unknown default on unknown known output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
169
167
  runtime._setIsDryRun(true);
170
168
  const out = createOutput(0, false);
171
- const r = out.apply(v => createOutput("inner", true));
169
+ const r = out.apply((v) => createOutput("inner", true));
172
170
  assert.strictEqual(yield r.isKnown, false);
173
171
  assert.strictEqual(yield r.promise(), undefined);
174
172
  }));
175
173
  it("produces unknown default on unknown unknown output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
176
174
  runtime._setIsDryRun(true);
177
175
  const out = createOutput(0, false);
178
- const r = out.apply(v => createOutput("inner", false));
176
+ const r = out.apply((v) => createOutput("inner", false));
179
177
  assert.strictEqual(yield r.isKnown, false);
180
178
  assert.strictEqual(yield r.promise(), undefined);
181
179
  }));
182
180
  it("preserves secret on known during preview", () => __awaiter(void 0, void 0, void 0, function* () {
183
181
  runtime._setIsDryRun(true);
184
182
  const out = createOutput(0, true, true);
185
- const r = out.apply(v => v + 1);
183
+ const r = out.apply((v) => v + 1);
186
184
  assert.strictEqual(yield r.isKnown, true);
187
185
  assert.strictEqual(yield r.isSecret, true);
188
186
  assert.strictEqual(yield r.promise(), 1);
@@ -190,7 +188,7 @@ describe("output", () => {
190
188
  it("preserves secret on known awaitable during preview", () => __awaiter(void 0, void 0, void 0, function* () {
191
189
  runtime._setIsDryRun(true);
192
190
  const out = createOutput(0, true, true);
193
- const r = out.apply(v => Promise.resolve("inner"));
191
+ const r = out.apply((v) => Promise.resolve("inner"));
194
192
  assert.strictEqual(yield r.isKnown, true);
195
193
  assert.strictEqual(yield r.isSecret, true);
196
194
  assert.strictEqual(yield r.promise(), "inner");
@@ -198,7 +196,7 @@ describe("output", () => {
198
196
  it("preserves secret on known known output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
199
197
  runtime._setIsDryRun(true);
200
198
  const out = createOutput(0, true, true);
201
- const r = out.apply(v => createOutput("inner", true));
199
+ const r = out.apply((v) => createOutput("inner", true));
202
200
  assert.strictEqual(yield r.isKnown, true);
203
201
  assert.strictEqual(yield r.isSecret, true);
204
202
  assert.strictEqual(yield r.promise(), "inner");
@@ -206,7 +204,7 @@ describe("output", () => {
206
204
  it("preserves secret on known unknown output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
207
205
  runtime._setIsDryRun(true);
208
206
  const out = createOutput(0, true, true);
209
- const r = out.apply(v => createOutput("inner", false));
207
+ const r = out.apply((v) => createOutput("inner", false));
210
208
  assert.strictEqual(yield r.isKnown, false);
211
209
  assert.strictEqual(yield r.isSecret, true);
212
210
  assert.strictEqual(yield r.promise(), "inner");
@@ -214,7 +212,7 @@ describe("output", () => {
214
212
  it("preserves secret on unknown during preview", () => __awaiter(void 0, void 0, void 0, function* () {
215
213
  runtime._setIsDryRun(true);
216
214
  const out = createOutput(0, false, true);
217
- const r = out.apply(v => v + 1);
215
+ const r = out.apply((v) => v + 1);
218
216
  assert.strictEqual(yield r.isKnown, false);
219
217
  assert.strictEqual(yield r.isSecret, true);
220
218
  assert.strictEqual(yield r.promise(), undefined);
@@ -222,7 +220,7 @@ describe("output", () => {
222
220
  it("preserves secret on unknown awaitable during preview", () => __awaiter(void 0, void 0, void 0, function* () {
223
221
  runtime._setIsDryRun(true);
224
222
  const out = createOutput(0, false, true);
225
- const r = out.apply(v => Promise.resolve("inner"));
223
+ const r = out.apply((v) => Promise.resolve("inner"));
226
224
  assert.strictEqual(yield r.isKnown, false);
227
225
  assert.strictEqual(yield r.isSecret, true);
228
226
  assert.strictEqual(yield r.promise(), undefined);
@@ -230,7 +228,7 @@ describe("output", () => {
230
228
  it("preserves secret on unknown known output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
231
229
  runtime._setIsDryRun(true);
232
230
  const out = createOutput(0, false, true);
233
- const r = out.apply(v => createOutput("inner", true));
231
+ const r = out.apply((v) => createOutput("inner", true));
234
232
  assert.strictEqual(yield r.isKnown, false);
235
233
  assert.strictEqual(yield r.isSecret, true);
236
234
  assert.strictEqual(yield r.promise(), undefined);
@@ -238,7 +236,7 @@ describe("output", () => {
238
236
  it("preserves secret on unknown unknown output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
239
237
  runtime._setIsDryRun(true);
240
238
  const out = createOutput(0, false, true);
241
- const r = out.apply(v => createOutput("inner", false));
239
+ const r = out.apply((v) => createOutput("inner", false));
242
240
  assert.strictEqual(yield r.isKnown, false);
243
241
  assert.strictEqual(yield r.isSecret, true);
244
242
  assert.strictEqual(yield r.promise(), undefined);
@@ -246,7 +244,7 @@ describe("output", () => {
246
244
  it("propagates secret on known known output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
247
245
  runtime._setIsDryRun(true);
248
246
  const out = createOutput(0, true);
249
- const r = out.apply(v => createOutput("inner", true, true));
247
+ const r = out.apply((v) => createOutput("inner", true, true));
250
248
  assert.strictEqual(yield r.isKnown, true);
251
249
  assert.strictEqual(yield r.isSecret, true);
252
250
  assert.strictEqual(yield r.promise(), "inner");
@@ -254,7 +252,7 @@ describe("output", () => {
254
252
  it("propagates secret on known unknown output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
255
253
  runtime._setIsDryRun(true);
256
254
  const out = createOutput(0, true);
257
- const r = out.apply(v => createOutput("inner", false, true));
255
+ const r = out.apply((v) => createOutput("inner", false, true));
258
256
  assert.strictEqual(yield r.isKnown, false);
259
257
  assert.strictEqual(yield r.isSecret, true);
260
258
  assert.strictEqual(yield r.promise(), "inner");
@@ -262,7 +260,7 @@ describe("output", () => {
262
260
  it("does not propagate secret on unknown known output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
263
261
  runtime._setIsDryRun(true);
264
262
  const out = createOutput(0, false);
265
- const r = out.apply(v => createOutput("inner", true, true));
263
+ const r = out.apply((v) => createOutput("inner", true, true));
266
264
  assert.strictEqual(yield r.isKnown, false);
267
265
  assert.strictEqual(yield r.isSecret, false);
268
266
  assert.strictEqual(yield r.promise(), undefined);
@@ -270,7 +268,7 @@ describe("output", () => {
270
268
  it("does not propagate secret on unknown unknown output during preview", () => __awaiter(void 0, void 0, void 0, function* () {
271
269
  runtime._setIsDryRun(true);
272
270
  const out = createOutput(0, false);
273
- const r = out.apply(v => createOutput("inner", false, true));
271
+ const r = out.apply((v) => createOutput("inner", false, true));
274
272
  assert.strictEqual(yield r.isKnown, false);
275
273
  assert.strictEqual(yield r.isSecret, false);
276
274
  assert.strictEqual(yield r.promise(), undefined);
@@ -278,63 +276,63 @@ describe("output", () => {
278
276
  it("can run on known value", () => __awaiter(void 0, void 0, void 0, function* () {
279
277
  runtime._setIsDryRun(false);
280
278
  const out = createOutput(0, true);
281
- const r = out.apply(v => v + 1);
279
+ const r = out.apply((v) => v + 1);
282
280
  assert.strictEqual(yield r.isKnown, true);
283
281
  assert.strictEqual(yield r.promise(), 1);
284
282
  }));
285
283
  it("can run on known awaitable value", () => __awaiter(void 0, void 0, void 0, function* () {
286
284
  runtime._setIsDryRun(false);
287
285
  const out = createOutput(0, true);
288
- const r = out.apply(v => Promise.resolve("inner"));
286
+ const r = out.apply((v) => Promise.resolve("inner"));
289
287
  assert.strictEqual(yield r.isKnown, true);
290
288
  assert.strictEqual(yield r.promise(), "inner");
291
289
  }));
292
290
  it("can run on known known output value", () => __awaiter(void 0, void 0, void 0, function* () {
293
291
  runtime._setIsDryRun(false);
294
292
  const out = createOutput(0, true);
295
- const r = out.apply(v => createOutput("inner", true));
293
+ const r = out.apply((v) => createOutput("inner", true));
296
294
  assert.strictEqual(yield r.isKnown, true);
297
295
  assert.strictEqual(yield r.promise(), "inner");
298
296
  }));
299
297
  it("can run on unknown known output value", () => __awaiter(void 0, void 0, void 0, function* () {
300
298
  runtime._setIsDryRun(false);
301
299
  const out = createOutput(0, true);
302
- const r = out.apply(v => createOutput("inner", false));
300
+ const r = out.apply((v) => createOutput("inner", false));
303
301
  assert.strictEqual(yield r.isKnown, false);
304
302
  assert.strictEqual(yield r.promise(), "inner");
305
303
  }));
306
304
  it("produces known on unknown", () => __awaiter(void 0, void 0, void 0, function* () {
307
305
  runtime._setIsDryRun(false);
308
306
  const out = createOutput(0, false);
309
- const r = out.apply(v => v + 1);
307
+ const r = out.apply((v) => v + 1);
310
308
  assert.strictEqual(yield r.isKnown, true);
311
309
  assert.strictEqual(yield r.promise(), 1);
312
310
  }));
313
311
  it("produces known on unknown awaitable", () => __awaiter(void 0, void 0, void 0, function* () {
314
312
  runtime._setIsDryRun(false);
315
313
  const out = createOutput(0, false);
316
- const r = out.apply(v => Promise.resolve("inner"));
314
+ const r = out.apply((v) => Promise.resolve("inner"));
317
315
  assert.strictEqual(yield r.isKnown, true);
318
316
  assert.strictEqual(yield r.promise(), "inner");
319
317
  }));
320
318
  it("produces known on unknown known output", () => __awaiter(void 0, void 0, void 0, function* () {
321
319
  runtime._setIsDryRun(false);
322
320
  const out = createOutput(0, false);
323
- const r = out.apply(v => createOutput("inner", true));
321
+ const r = out.apply((v) => createOutput("inner", true));
324
322
  assert.strictEqual(yield r.isKnown, true);
325
323
  assert.strictEqual(yield r.promise(), "inner");
326
324
  }));
327
325
  it("produces unknown on unknown unknown output", () => __awaiter(void 0, void 0, void 0, function* () {
328
326
  runtime._setIsDryRun(false);
329
327
  const out = createOutput(0, false);
330
- const r = out.apply(v => createOutput("inner", false));
328
+ const r = out.apply((v) => createOutput("inner", false));
331
329
  assert.strictEqual(yield r.isKnown, false);
332
330
  assert.strictEqual(yield r.promise(), "inner");
333
331
  }));
334
332
  it("preserves secret on known", () => __awaiter(void 0, void 0, void 0, function* () {
335
333
  runtime._setIsDryRun(false);
336
334
  const out = createOutput(0, true, true);
337
- const r = out.apply(v => v + 1);
335
+ const r = out.apply((v) => v + 1);
338
336
  assert.strictEqual(yield r.isKnown, true);
339
337
  assert.strictEqual(yield r.isSecret, true);
340
338
  assert.strictEqual(yield r.promise(), 1);
@@ -342,7 +340,7 @@ describe("output", () => {
342
340
  it("preserves secret on known awaitable", () => __awaiter(void 0, void 0, void 0, function* () {
343
341
  runtime._setIsDryRun(false);
344
342
  const out = createOutput(0, true, true);
345
- const r = out.apply(v => Promise.resolve("inner"));
343
+ const r = out.apply((v) => Promise.resolve("inner"));
346
344
  assert.strictEqual(yield r.isKnown, true);
347
345
  assert.strictEqual(yield r.isSecret, true);
348
346
  assert.strictEqual(yield r.promise(), "inner");
@@ -350,7 +348,7 @@ describe("output", () => {
350
348
  it("preserves secret on known known output", () => __awaiter(void 0, void 0, void 0, function* () {
351
349
  runtime._setIsDryRun(false);
352
350
  const out = createOutput(0, true, true);
353
- const r = out.apply(v => createOutput("inner", true));
351
+ const r = out.apply((v) => createOutput("inner", true));
354
352
  assert.strictEqual(yield r.isKnown, true);
355
353
  assert.strictEqual(yield r.isSecret, true);
356
354
  assert.strictEqual(yield r.promise(), "inner");
@@ -358,7 +356,7 @@ describe("output", () => {
358
356
  it("preserves secret on known known output", () => __awaiter(void 0, void 0, void 0, function* () {
359
357
  runtime._setIsDryRun(false);
360
358
  const out = createOutput(0, true, true);
361
- const r = out.apply(v => createOutput("inner", false));
359
+ const r = out.apply((v) => createOutput("inner", false));
362
360
  assert.strictEqual(yield r.isKnown, false);
363
361
  assert.strictEqual(yield r.isSecret, true);
364
362
  assert.strictEqual(yield r.promise(), "inner");
@@ -366,7 +364,7 @@ describe("output", () => {
366
364
  it("preserves secret on unknown", () => __awaiter(void 0, void 0, void 0, function* () {
367
365
  runtime._setIsDryRun(false);
368
366
  const out = createOutput(0, false, true);
369
- const r = out.apply(v => v + 1);
367
+ const r = out.apply((v) => v + 1);
370
368
  assert.strictEqual(yield r.isKnown, true);
371
369
  assert.strictEqual(yield r.isSecret, true);
372
370
  assert.strictEqual(yield r.promise(), 1);
@@ -374,7 +372,7 @@ describe("output", () => {
374
372
  it("preserves secret on unknown awaitable", () => __awaiter(void 0, void 0, void 0, function* () {
375
373
  runtime._setIsDryRun(false);
376
374
  const out = createOutput(0, false, true);
377
- const r = out.apply(v => Promise.resolve("inner"));
375
+ const r = out.apply((v) => Promise.resolve("inner"));
378
376
  assert.strictEqual(yield r.isKnown, true);
379
377
  assert.strictEqual(yield r.isSecret, true);
380
378
  assert.strictEqual(yield r.promise(), "inner");
@@ -382,7 +380,7 @@ describe("output", () => {
382
380
  it("preserves secret on unknown known output", () => __awaiter(void 0, void 0, void 0, function* () {
383
381
  runtime._setIsDryRun(false);
384
382
  const out = createOutput(0, false, true);
385
- const r = out.apply(v => createOutput("inner", true));
383
+ const r = out.apply((v) => createOutput("inner", true));
386
384
  assert.strictEqual(yield r.isKnown, true);
387
385
  assert.strictEqual(yield r.isSecret, true);
388
386
  assert.strictEqual(yield r.promise(), "inner");
@@ -390,7 +388,7 @@ describe("output", () => {
390
388
  it("preserves secret on unknown known output", () => __awaiter(void 0, void 0, void 0, function* () {
391
389
  runtime._setIsDryRun(false);
392
390
  const out = createOutput(0, false, true);
393
- const r = out.apply(v => createOutput("inner", false));
391
+ const r = out.apply((v) => createOutput("inner", false));
394
392
  assert.strictEqual(yield r.isKnown, false);
395
393
  assert.strictEqual(yield r.isSecret, true);
396
394
  assert.strictEqual(yield r.promise(), "inner");
@@ -398,7 +396,7 @@ describe("output", () => {
398
396
  it("propagates secret on known known output", () => __awaiter(void 0, void 0, void 0, function* () {
399
397
  runtime._setIsDryRun(false);
400
398
  const out = createOutput(0, true);
401
- const r = out.apply(v => createOutput("inner", true, true));
399
+ const r = out.apply((v) => createOutput("inner", true, true));
402
400
  assert.strictEqual(yield r.isKnown, true);
403
401
  assert.strictEqual(yield r.isSecret, true);
404
402
  assert.strictEqual(yield r.promise(), "inner");
@@ -406,7 +404,7 @@ describe("output", () => {
406
404
  it("propagates secret on known unknown output", () => __awaiter(void 0, void 0, void 0, function* () {
407
405
  runtime._setIsDryRun(false);
408
406
  const out = createOutput(0, true);
409
- const r = out.apply(v => createOutput("inner", false, true));
407
+ const r = out.apply((v) => createOutput("inner", false, true));
410
408
  assert.strictEqual(yield r.isKnown, false);
411
409
  assert.strictEqual(yield r.isSecret, true);
412
410
  assert.strictEqual(yield r.promise(), "inner");
@@ -414,7 +412,7 @@ describe("output", () => {
414
412
  it("propagates secret on unknown known output", () => __awaiter(void 0, void 0, void 0, function* () {
415
413
  runtime._setIsDryRun(false);
416
414
  const out = createOutput(0, false);
417
- const r = out.apply(v => createOutput("inner", true, true));
415
+ const r = out.apply((v) => createOutput("inner", true, true));
418
416
  assert.strictEqual(yield r.isKnown, true);
419
417
  assert.strictEqual(yield r.isSecret, true);
420
418
  assert.strictEqual(yield r.promise(), "inner");
@@ -422,7 +420,7 @@ describe("output", () => {
422
420
  it("propagates secret on unknown uknown output", () => __awaiter(void 0, void 0, void 0, function* () {
423
421
  runtime._setIsDryRun(false);
424
422
  const out = createOutput(0, false);
425
- const r = out.apply(v => createOutput("inner", false, true));
423
+ const r = out.apply((v) => createOutput("inner", false, true));
426
424
  assert.strictEqual(yield r.isKnown, false);
427
425
  assert.strictEqual(yield r.isSecret, true);
428
426
  assert.strictEqual(yield r.promise(), "inner");
@@ -432,11 +430,7 @@ describe("output", () => {
432
430
  function or(output1, output2) {
433
431
  const val1 = output1.promise();
434
432
  const val2 = output2.promise();
435
- return new output_1.Output(new Set([...output1.resources(), ...output2.resources()]), Promise.all([val1, val2])
436
- .then(([val1, val2]) => val1 || val2), Promise.all([val1, output1.isKnown, output2.isKnown])
437
- .then(([val1, isKnown1, isKnown2]) => val1 ? isKnown1 : isKnown2), Promise.all([val1, output1.isSecret, output2.isSecret])
438
- .then(([val1, isSecret1, isSecret2]) => val1 ? isSecret1 : isSecret2), Promise.all([output1.allResources(), output2.allResources()])
439
- .then(([r1, r2]) => new Set([...r1, ...r2])));
433
+ return new output_1.Output(new Set([...output1.resources(), ...output2.resources()]), Promise.all([val1, val2]).then(([val1, val2]) => val1 || val2), Promise.all([val1, output1.isKnown, output2.isKnown]).then(([val1, isKnown1, isKnown2]) => val1 ? isKnown1 : isKnown2), Promise.all([val1, output1.isSecret, output2.isSecret]).then(([val1, isSecret1, isSecret2]) => val1 ? isSecret1 : isSecret2), Promise.all([output1.allResources(), output2.allResources()]).then(([r1, r2]) => new Set([...r1, ...r2])));
440
434
  }
441
435
  it("choose between known and known output, non-secret", () => __awaiter(void 0, void 0, void 0, function* () {
442
436
  runtime._setIsDryRun(true);
@@ -562,7 +556,7 @@ describe("output", () => {
562
556
  runtime._setIsDryRun(true);
563
557
  const o1 = new output_1.Output(new Set(), Promise.resolve(output_1.unknown), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set()));
564
558
  const o2 = new output_1.Output(new Set(), Promise.resolve(["foo", output_1.unknown]), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set()));
565
- const o3 = new output_1.Output(new Set(), Promise.resolve({ "foo": "foo", unknown: output_1.unknown }), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set()));
559
+ const o3 = new output_1.Output(new Set(), Promise.resolve({ foo: "foo", unknown: output_1.unknown }), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set()));
566
560
  assert.strictEqual(yield o1.isKnown, false);
567
561
  assert.strictEqual(yield o2.isKnown, false);
568
562
  assert.strictEqual(yield o3.isKnown, false);
@@ -570,12 +564,12 @@ describe("output", () => {
570
564
  it("is unknown if the result after apply is unknown or contains unknowns", () => __awaiter(void 0, void 0, void 0, function* () {
571
565
  runtime._setIsDryRun(true);
572
566
  const o1 = new output_1.Output(new Set(), Promise.resolve("foo"), Promise.resolve(true), Promise.resolve(false), Promise.resolve(new Set()));
573
- const r1 = o1.apply(v => output_1.unknown);
574
- const r2 = o1.apply(v => [v, output_1.unknown]);
575
- const r3 = o1.apply(v => ({ v, unknown: output_1.unknown }));
576
- const r4 = o1.apply(v => output_1.unknown).apply((v) => v, true);
577
- const r5 = o1.apply(v => [v, output_1.unknown]).apply((v) => v, true);
578
- const r6 = o1.apply(v => ({ v, unknown: output_1.unknown })).apply((v) => v, true);
567
+ const r1 = o1.apply((v) => output_1.unknown);
568
+ const r2 = o1.apply((v) => [v, output_1.unknown]);
569
+ const r3 = o1.apply((v) => ({ v, unknown: output_1.unknown }));
570
+ const r4 = o1.apply((v) => output_1.unknown).apply((v) => v, true);
571
+ const r5 = o1.apply((v) => [v, output_1.unknown]).apply((v) => v, true);
572
+ const r6 = o1.apply((v) => ({ v, unknown: output_1.unknown })).apply((v) => v, true);
579
573
  assert.strictEqual(yield r1.isKnown, false);
580
574
  assert.strictEqual(yield r2.isKnown, false);
581
575
  assert.strictEqual(yield r3.isKnown, false);
@@ -654,7 +648,7 @@ describe("output", () => {
654
648
  it("nested unknowns", () => __awaiter(void 0, void 0, void 0, function* () {
655
649
  const x = output_1.output([
656
650
  new output_1.Output(new Set(), Promise.resolve(undefined), Promise.resolve(false), Promise.resolve(false), Promise.resolve(new Set())),
657
- output_1.output(1)
651
+ output_1.output(1),
658
652
  ]);
659
653
  const result = output_1.jsonStringify(x);
660
654
  assert.strictEqual(yield result.isKnown, false);
@@ -663,7 +657,7 @@ describe("output", () => {
663
657
  it("nested secret", () => __awaiter(void 0, void 0, void 0, function* () {
664
658
  const x = output_1.output([
665
659
  new output_1.Output(new Set(), Promise.resolve(0), Promise.resolve(true), Promise.resolve(true), Promise.resolve(new Set())),
666
- output_1.output(1)
660
+ output_1.output(1),
667
661
  ]);
668
662
  const result = output_1.jsonStringify(x);
669
663
  assert.strictEqual(yield result.promise(), "[0,1]");
@@ -683,7 +677,7 @@ describe("output", () => {
683
677
  const mockResources = [mockResource];
684
678
  const x = output_1.output([
685
679
  new output_1.Output(new Set(mockResources), Promise.resolve(0), Promise.resolve(true), Promise.resolve(true), Promise.resolve(new Set())),
686
- output_1.output(1)
680
+ output_1.output(1),
687
681
  ]);
688
682
  const result = output_1.jsonStringify(x);
689
683
  assert.strictEqual(yield result.promise(), "[0,1]");
@@ -713,7 +707,7 @@ describe("output", () => {
713
707
  }
714
708
  return value;
715
709
  };
716
- const x = output_1.output("{\"bob\": \"hello\"}");
710
+ const x = output_1.output('{"bob": "hello"}');
717
711
  const result = output_1.jsonParse(x, reviver);
718
712
  assert.deepStrictEqual(yield result.promise(), { bob: "goodbye" });
719
713
  assert.strictEqual(yield result.isKnown, true);