Browse Source

Merge remote-tracking branch 'msdl/rewrite-core' into rewrite-core

Joeri Exelmans 2 years ago
parent
commit
4b850fa589
2 changed files with 22 additions and 22 deletions
  1. 8 8
      src/onion/delta.ts
  2. 14 14
      src/onion/graph_state.ts

+ 8 - 8
src/onion/delta.ts

@@ -61,7 +61,7 @@ export class NodeCreation extends PrimitiveDelta {
     this.id = id;
   }
 
-  getDependencies() {
+  getDependencies(): [Delta,string][] {
     return [];
   }
 
@@ -173,7 +173,7 @@ export abstract class Edge {
 
   // Iterate over all overwriters, from early to late, depth-first.
   // When in some branch the 'condition' is satisfied, the satisfying element is yielded, and the descendants ignored.
-  *iterOverwriters(filter: (EdgeUpdate) => boolean): Iterable<EdgeUpdate> {
+  *iterOverwriters(filter: (u: EdgeUpdate) => boolean): Iterable<EdgeUpdate> {
     for (const ovr of this.concurrentlyWrittenBy) {
       if (filter(ovr)) {
         yield ovr;
@@ -255,7 +255,7 @@ export class ExistingEdge extends Edge {
 // Target of an edge
 export interface Target {
   value: NodeCreation | PrimitiveValue;
-  registerDependency(u: EdgeUpdate);
+  registerDependency(u: EdgeUpdate): void;
   getDependencies(): [Delta, string][];
   serialize(): any;
 }
@@ -263,10 +263,10 @@ export interface Target {
 export class TargetNode implements Target {
   value: NodeCreation;
 
-  constructor(value) {
+  constructor(value: NodeCreation) {
     this.value = value;
   }
-  registerDependency(u: EdgeUpdate) {
+  registerDependency(u: EdgeUpdate): void {
     this.value.registerIncomingEdge(u);
   }
   getDependencies(): [Delta, string][] {
@@ -280,11 +280,11 @@ export class TargetNode implements Target {
 export class TargetValue implements Target {
   value: PrimitiveValue;
 
-  constructor(value) {
+  constructor(value: PrimitiveValue) {
     this.value = value;
   }
-  registerDependency() {}
-  getDependencies() {
+  registerDependency(): void {}
+  getDependencies(): [Delta, string][] {
     return [];
   }
   serialize() {

+ 14 - 14
src/onion/graph_state.ts

@@ -15,13 +15,13 @@ import {PrimitiveValue} from "./types";
 
 // This interface is used to de-couple the graph state (in our case, a data structure interpreted by the d3 library, and by the 'Graph' react component), from GraphState.
 export interface GraphStateListener {
-  createNode(ns: NodeState);
-  createValue(vs: ValueState);
-  deleteNode(id: PrimitiveValue);
-  deleteValue(value: PrimitiveValue);
-  createLinkToNode(sourceId: PrimitiveValue, label: string, targetId: PrimitiveValue);
-  createLinkToValue(sourceId: PrimitiveValue, label: string, targetValue: PrimitiveValue);
-  deleteLink(sourceId: PrimitiveValue, label: string);
+  createNode(ns: NodeState): void;
+  createValue(vs: ValueState): void;
+  deleteNode(id: PrimitiveValue): void;
+  deleteValue(value: PrimitiveValue): void;
+  createLinkToNode(sourceId: PrimitiveValue, label: string, targetId: PrimitiveValue): void;
+  createLinkToValue(sourceId: PrimitiveValue, label: string, targetValue: PrimitiveValue): void;
+  deleteLink(sourceId: PrimitiveValue, label: string): void;
 }
 
 // A 'proxy' GraphStateListener that multicasts graph state operations to a bunch of GraphStateListeners.
@@ -101,10 +101,10 @@ abstract class Common {
   abstract asTarget(): NodeCreation | PrimitiveValue;
 
   // will notify 'listener'
-  abstract createLinkTo(sourceId: PrimitiveValue, label: string, listener: GraphStateListener);
+  abstract createLinkTo(sourceId: PrimitiveValue, label: string, listener: GraphStateListener): void;
 
   // pure
-  abstract getDeltasForSetEdge(registry: DeltaRegistry, label: string, target: NodeCreation | PrimitiveValue): EdgeUpdate[];
+  abstract getDeltaForSetEdge(registry: DeltaRegistry, label: string, target: NodeCreation | PrimitiveValue): EdgeUpdate;
   abstract getDeltasForDelete(registry: DeltaRegistry): (EdgeUpdate|NodeDeletion)[];
 
   // idempotent - may create some new deltas but does not execute them
@@ -123,7 +123,7 @@ interface ICommon {
   // array of (label, NodeState) pairs
   getIncomingEdges(): [string, INodeState][];
 
-  getDeltasForSetEdge(registry: DeltaRegistry, label: string, target: NodeCreation | PrimitiveValue): EdgeUpdate[];
+  getDeltaForSetEdge(registry: DeltaRegistry, label: string, target: NodeCreation | PrimitiveValue): EdgeUpdate;
 
   getDeltasForDelete(registry: DeltaRegistry): (EdgeUpdate|NodeDeletion)[];
 
@@ -190,13 +190,13 @@ class NodeState extends Common implements INodeState {
   }
 
   // Has no side effects - instead returns the deltas that capture the creation or update of the given outgoing edge
-  getDeltasForSetEdge(registry: DeltaRegistry, label: string, target: NodeCreation | PrimitiveValue): EdgeUpdate[] {
+  getDeltaForSetEdge(registry: DeltaRegistry, label: string, target: NodeCreation | PrimitiveValue): EdgeUpdate {
     const previousEdgeUpdate = this.outgoing.get(label);
     if (previousEdgeUpdate === undefined) {
-      return [registry.newEdgeUpdate(this.creation.createOutgoingEdge(label), target)];
+      return registry.newEdgeUpdate(this.creation.createOutgoingEdge(label), target);
     }
     else {
-      return [registry.newEdgeUpdate(previousEdgeUpdate.overwrite(), target)];
+      return registry.newEdgeUpdate(previousEdgeUpdate.overwrite(), target);
     }
   }
 
@@ -271,7 +271,7 @@ class ValueState extends Common implements IValueState {
     this.shown = willShow;
   }
 
-  getDeltasForSetEdge(registry: DeltaRegistry, label: string, target: NodeCreation | PrimitiveValue): EdgeUpdate[] {
+  getDeltaForSetEdge(registry: DeltaRegistry, label: string, target: NodeCreation | PrimitiveValue): EdgeUpdate {
     // A value cannot be the source of an edge, so we return no deltas.
     throw new Error("Assertion failed: A value cannot be the source of an edge.")
   }