💾 Archived View for gemini.unlimited.pizza › api.gmi captured on 2022-06-03 at 22:57:23. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
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 <xx> 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 <String> +anotherStaticProperty <Boolean> ::toggleAnotherStaticProperty() ::setStaticProperty(newValue <String>) -instanceProperty <Number> -anotherInstanceProperty <String> #instanceMethodSync([optionalParameter]<Boolean>) => resultOfCall <String> #instanceMethodAsync(someValue <Number>, [callback] <Function>) ->(error <String|null>, result <Number|null>)
Here's another example but with events.
EventHypotheticalClass +>AnotherClass<+staticEventToListen(eventData <PredefinedObject>) <+staticEventDispatched(someData <SomeData>) ~>listenedSocketEvent(eventData <SomeObject>) <~dispatchedSocketEvent(eventData <BlaBla>) ->AnotherClass<-instanceEventToListen(eventData <Object>) <-instanceEventDispatched(specificDataType <DefinedObject>)