--- title: /api.html --- description: API Notation # API Notation The following document attempts to define a legend for easy specification of APIs for components. Any suggestions to improve are welcome. ``` NameOfClass.WithPossibleNamespace + class property - instance property ~> listened events (socket) +> listened events (class/module) -> listened events (instance) <~ dispatched events (socket) <+ dispatched events(class/module) <- dispatched events (instance) :: class method # instance method Other symbols => returns ->() callback return [xx] optional data type Recommended order: class first, then sockets, then instance. Internally: Properties, events, methods. // Anything after two forward slashes is a comment ``` Here's an example of usage ``` HypotheticalModule +staticProperty +anotherStaticProperty ::toggleAnotherStaticProperty() ::setStaticProperty(newValue ) -instanceProperty -anotherInstanceProperty #instanceMethodSync([optionalParameter]) => resultOfCall #instanceMethodAsync(someValue , [callback] ) ->(error , result ) ``` Here's another example but with events. ``` EventHypotheticalClass +>AnotherClass<+staticEventToListen(eventData ) <+staticEventDispatched(someData ) ~>listenedSocketEvent(eventData ) <~dispatchedSocketEvent(eventData ) ->AnotherClass<-instanceEventToListen(eventData ) <-instanceEventDispatched(specificDataType ) ```