Make local graph execution optional across composed packages
This commit is contained in:
+4
-3
@@ -1,17 +1,18 @@
|
||||
symbol JavaScript id "target:org.quixos.execution.javascript@1";
|
||||
type Replacement = record { expected: list<string>; targets: list<atom-ref<Node>>; };
|
||||
type Seed = record { label: string; };
|
||||
external atom Node id "collection:node";
|
||||
package CollectionRuntime id "collection:runtime" revision "collection:runtime@1" {
|
||||
operation version id "collection:runtime:version" : unit -> list<string>
|
||||
mode call execution snapshot targets [browser, server] receiver atom Node requires {
|
||||
mode call execution snapshot targets [JavaScript, server] receiver atom Node requires {
|
||||
edge items id "collection:version:items" : many atom Node [resolve];
|
||||
};
|
||||
operation replace id "collection:runtime:replace" : Replacement -> unit
|
||||
mode call execution transaction targets [browser, server] receiver atom Node requires {
|
||||
mode call execution transaction targets [JavaScript, server] receiver atom Node requires {
|
||||
edge items id "collection:replace:items" : many atom Node [resolve, connect, disconnect];
|
||||
};
|
||||
operation ensure id "collection:runtime:ensure" : unit -> atom-ref<Node>
|
||||
mode call execution transaction targets [browser, server] receiver atom Node requires {
|
||||
mode call execution transaction targets [JavaScript, server] receiver atom Node requires {
|
||||
edge detail id "collection:ensure:detail" : optional-one atom Node [resolve, connect];
|
||||
creation node id "collection:ensure:node" : Node input Seed;
|
||||
};
|
||||
|
||||
+8
-8
@@ -2,25 +2,25 @@ type Replacement = record { expected: list<string>; targets: list<atom-ref<Node>
|
||||
external atom Node id "collection:node";
|
||||
interface NodeData id "collection:data" revision "collection:data@1" {
|
||||
queryable portable value version id "collection:version" : list<string> {
|
||||
get id "collection:version:get" execution snapshot targets [browser, server];
|
||||
get id "collection:version:get" execution snapshot;
|
||||
}
|
||||
operation replace id "collection:replace" : Replacement -> unit {
|
||||
call id "collection:replace:call" execution transaction targets [browser, server];
|
||||
call id "collection:replace:call" execution transaction;
|
||||
}
|
||||
operation ensure id "collection:ensure" : unit -> atom-ref<Node> {
|
||||
call id "collection:ensure:call" execution transaction targets [browser, server];
|
||||
call id "collection:ensure:call" execution transaction;
|
||||
}
|
||||
queryable value label id "collection:label" : string {
|
||||
get id "collection:label:get" execution snapshot targets [browser, server];
|
||||
set id "collection:label:set" execution transaction targets [browser, server];
|
||||
get id "collection:label:get" execution snapshot;
|
||||
set id "collection:label:set" execution transaction;
|
||||
}
|
||||
queryable relation items id "collection:items" : many atom Node {
|
||||
resolve id "collection:items:resolve" execution snapshot targets [browser, server];
|
||||
resolve id "collection:items:resolve" execution snapshot;
|
||||
}
|
||||
queryable relation containers id "collection:containers" : many atom Node {
|
||||
resolve id "collection:containers:resolve" execution snapshot targets [browser, server];
|
||||
resolve id "collection:containers:resolve" execution snapshot;
|
||||
}
|
||||
queryable relation detail id "collection:detail" : optional-one atom Node {
|
||||
resolve id "collection:detail:resolve" execution snapshot targets [browser, server];
|
||||
resolve id "collection:detail:resolve" execution snapshot;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user