Support checked keyed relationships across portable operations and queries
This commit is contained in:
+9
-2
@@ -10,6 +10,7 @@ workspace Example id "presentation-example" revision "presentation-example@1" co
|
||||
import package PresentationRuntime;
|
||||
atom PresentationMountRecord id "presentation-mount-record";
|
||||
atom Library id "library";
|
||||
atom OtherLibrary id "other-library";
|
||||
atom Document id "document";
|
||||
atom ReaderNavigationRecord id "reader-navigation-record";
|
||||
atom DocumentNavigationRecord id "document-navigation-record";
|
||||
@@ -34,8 +35,8 @@ workspace Example id "presentation-example" revision "presentation-example@1" co
|
||||
}
|
||||
conform<object Navigation implements PresentationState> Presentation<Navigation> as PresentationStates<Navigation> id "presentation:state-association" {
|
||||
private edge States id "presentation:states-edge" {
|
||||
atom Self projection states id "presentation:states-projection" many-unique;
|
||||
object Navigation projection subject id "presentation:subject-projection" exactly-one;
|
||||
atom Self projection states id "presentation:states-projection" many-unique keyed "string";
|
||||
object Navigation projection subject id "presentation:subject-projection" optional-one;
|
||||
}
|
||||
bind states.resolve to edge States.states.resolve;
|
||||
bind ensure.call to package PresentationRuntime.ensure<Navigation> with {
|
||||
@@ -78,4 +79,10 @@ workspace Example id "presentation-example" revision "presentation-example@1" co
|
||||
}
|
||||
conform Library as Presentation<atom ReaderNavigationRecord> id "library:presentation" {}
|
||||
conform Document as Presentation<atom DocumentNavigationRecord> id "document:presentation" {}
|
||||
conform OtherLibrary as StateFactory<atom ReaderNavigationRecord> id "other-reader:factory" {
|
||||
bind create.call to package PresentationRuntime.createState<atom ReaderNavigationRecord> with {
|
||||
navigation to creation ReaderNavigationRecord with {PresentationState from input;};
|
||||
};
|
||||
}
|
||||
conform OtherLibrary as Presentation<atom ReaderNavigationRecord> id "other-library:presentation" {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user