unlimited.pizza

=> ♊️ This page is better consumed via gemini

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 )