20 lines
1.3 KiB
Plaintext
20 lines
1.3 KiB
Plaintext
import interface Named;
|
|
import interface ProjectTasks;
|
|
external atom ProjectReactComponent id "atom:project-react-component";
|
|
external atom Project id "atom:project";
|
|
type ProjectProps = record {named: interface-ref<Named>; tasks: interface-ref<ProjectTasks>;};
|
|
|
|
package ProjectReactRuntime id "package:project-react-runtime" revision "package:project-react-runtime@1" {
|
|
constructor createComponent id "export:project-react-runtime:create-component" constructs ProjectReactComponent : atom-ref<Project>;
|
|
operation sourceGet id "export:project-react-runtime:source-get" : unit -> string mode call receiver atom ProjectReactComponent;
|
|
operation propsGet id "export:project-react-runtime:props-get" : unit -> ProjectProps mode call receiver atom ProjectReactComponent requires {
|
|
interface named id "port:project-react:named" : Named;
|
|
interface tasks id "port:project-react:tasks" : ProjectTasks;
|
|
};
|
|
operation propsWatch id "export:project-react-runtime:props-watch" : unit -> watch-handle mode watch-start emits ProjectProps receiver atom ProjectReactComponent requires {
|
|
interface named id "port:project-react:named" : Named;
|
|
interface tasks id "port:project-react:tasks" : ProjectTasks;
|
|
};
|
|
operation propsWatchStop id "export:project-react-runtime:props-watch-stop" : watch-handle -> unit mode watch-stop receiver atom ProjectReactComponent;
|
|
}
|