Skip to content

Commit 2fe9516

Browse files
committed
refactor: Update the -stub parameter in wit module
1 parent fb2133c commit 2fe9516

2 files changed

Lines changed: 25 additions & 3 deletions

File tree

crates/utils/src/snapshots/obeli_sk_utils__wit__tests__wit_should_contain_extensions@test_programs_stub_activity.wasm_wit.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,8 +248,8 @@ package testing:stub-activity-obelisk-stub {
248248
interface activity {
249249
use obelisk:types/execution@2.0.0.{execution-id, stub-error};
250250

251-
foo-stub: func(execution-id: execution-id, return-value: string) -> result<_, stub-error>;
251+
foo-stub: func(execution-id: execution-id, execution-result: result<string>) -> result<_, stub-error>;
252252

253-
noret-stub: func(execution-id: execution-id) -> result<_, stub-error>;
253+
noret-stub: func(execution-id: execution-id, execution-result: result) -> result<_, stub-error>;
254254
}
255255
}

crates/utils/src/wit.rs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,29 @@ fn add_ext_exports(
380380
let mut params =
381381
vec![("execution-id".to_string(), Type::Id(type_id_execution_id))];
382382
if let Some(actual_return_type_id) = &original_fn.result {
383-
params.push(("return-value".to_string(), *actual_return_type_id));
383+
let type_id_result_orig_none = Type::Id(resolve.types.alloc(TypeDef {
384+
name: None,
385+
kind: TypeDefKind::Result(wit_parser::Result_ {
386+
ok: Some(*actual_return_type_id),
387+
err: None,
388+
}),
389+
owner: TypeOwner::None,
390+
docs: wit_parser::Docs::default(),
391+
stability: wit_parser::Stability::default(),
392+
}));
393+
params.push(("execution-result".to_string(), type_id_result_orig_none));
394+
} else {
395+
let type_id_result_none_none = Type::Id(resolve.types.alloc(TypeDef {
396+
name: None,
397+
kind: TypeDefKind::Result(wit_parser::Result_ {
398+
ok: None,
399+
err: None,
400+
}),
401+
owner: TypeOwner::None,
402+
docs: wit_parser::Docs::default(),
403+
stability: wit_parser::Stability::default(),
404+
}));
405+
params.push(("execution-result".to_string(), type_id_result_none_none));
384406
}
385407

386408
let fn_stub = Function {

0 commit comments

Comments
 (0)