symbol JavaScript id "target:org.quixos.execution.javascript@1"; import interface PresentationStates; import interface PresentationSubject; import interface PresentationStateValues; import interface PresentationState; import interface PresentationMount; import interface PresentationStateFactory; external atom PresentationMountRecord id "atom:org.quixos.presentation-mount"; package PresentationRuntime id "package:org.quixos.presentation-runtime" revision "package:org.quixos.presentation-runtime@1" { operation copyEmpty id "presentation-runtime:copy-empty" : optional> -> interface-ref mode call execution transaction targets [JavaScript,server] receiver any requires {creation presentationMount id "presentationMount" : PresentationMountRecord input unit;}; operation findEmpty id "presentation-runtime:find-empty" : string -> optional> mode call execution snapshot targets [JavaScript,server] receiver any requires {}; operation attachEmpty id "presentation-runtime:attach-empty" : interface-ref -> unit mode call execution transaction targets [JavaScript,server] receiver any requires {}; function createPresentationMount id "presentation-runtime:create" : unit -> interface-ref execution transaction targets [JavaScript,server] requires { creation presentationMount id "presentationMount" : PresentationMountRecord input unit; }; operation attach id "presentation-runtime:attach" : record {presentationMount:interface-ref;parent:optional>;} -> unit mode call execution transaction targets [JavaScript,server] receiver any requires { edge owner id "owner" : optional-one interface PresentationMount [resolve]; edge parent id "parent" : optional-one interface PresentationState [resolve,connect]; edge rootOf id "rootOf" : optional-one interface PresentationMount [connect]; interface metadata id "metadata" : PresentationState using [presentationMount.resolve] from input; interface presentationMount id "presentationMount" : PresentationMount using [root.resolve,attach.call] from input; }; operation claim id "presentation-runtime:claim" : interface-ref -> unit mode call execution transaction targets [JavaScript,server] receiver any requires { edge members id "members" : many-unique interface PresentationState keyed "string" [connect]; edge root id "root" : optional-one interface PresentationState [resolve]; interface metadata id "metadata" : PresentationState using [occurrence.get,presentationMount.resolve,parent.resolve] from input; }; operation create id "presentation-runtime:create-state" : record {presentationMount:interface-ref;occurrence:string;parent:optional>;} -> ref mode call execution transaction targets [JavaScript,server] receiver any requires { interface metadata id "state" : PresentationState using [occurrence.get,presentationMount.resolve,parent.resolve,source.resolve,attach.call] from input; interface factory id "factory" : PresentationStateFactory using [create.call]; }; operation ensure id "presentation-runtime:ensure-state" : record {presentationMount:interface-ref;occurrence:string;parent:optional>;} -> unit mode call execution transaction targets [JavaScript,server] receiver any requires { interface presentationMount id "presentationMount" : PresentationMount using [find.call] from input; interface metadata id "state" : PresentationState using [occurrence.get,presentationMount.resolve,parent.resolve,source.resolve,attach.call] from input; interface factory id "factory" : PresentationStateFactory using [create.call]; }; operation find id "presentation-runtime:find" : string -> optional> mode call execution snapshot targets [JavaScript,server] receiver any requires { edge members id "members" : many-unique interface PresentationState keyed "string" [resolve]; }; operation allocate id "presentation-runtime:allocate" : record {presentationMount:interface-ref;occurrence:string;parent:optional>;} -> interface-ref mode call execution transaction targets [JavaScript,server] receiver any requires {interface source id "source" : PresentationStates using [create.call];}; operation copy id "presentation-runtime:copy" : optional> -> interface-ref mode call execution transaction targets [JavaScript,server] receiver any requires { edge members id "members" : many-unique interface PresentationState keyed "string" [resolve]; edge root id "root" : optional-one interface PresentationState [resolve]; interface metadata id "metadata" : PresentationState using [parent.resolve,occurrence.get,presentationMount.resolve,allocate.call,copyValues.call] from input; creation presentationMount id "presentationMount" : PresentationMountRecord input unit; }; query RootInputs id "presentation:root-inputs" root PresentationMount document "queries/root.graphql" operation "PresentationRoot" {replica;max rows 5000;max result-bytes 8388608;} query RootView id "presentation:root-view" root PresentationMount document "queries/root.graphql" operation "PresentationRoot" {local from RootInputs;watch;max rows 5000;max result-bytes 8388608;} query SubjectInputs id "presentation:subject-inputs" root PresentationSubject document "queries/subject.graphql" operation "PresentationSubject" {replica;} query SubjectView id "presentation:subject-view" root PresentationSubject document "queries/subject.graphql" operation "PresentationSubject" {local from SubjectInputs;watch;} }