API reference
All exports come from @atom-forge/laminar.
Types
Layer<OuterArgs, SelfT, FactoryArgs>
A tuple [define, create].
| Element |
Signature |
define |
<T>(factory: (...args: FactoryArgs) => T) => (...args: FactoryArgs) => T |
create |
(defs, options?) => (...outerArgs: OuterArgs) => SelfT |
defs is an object with one factory per key of SelfT. options.assemble has the form (self: SelfT, ...factoryArgs) => void.
FromLayer<T>
Extracts [OuterArgs, SelfT, FactoryArgs] from a Layer<…> type. Used as makeLayer<FromLayer<MyLayer>>(…).
Unit<T>
ReturnType<T> for a factory function.
PublicLayer<T>
Recursively removes properties marked with internal(...). Functions are kept as they are.
Functions
makeLayer<L>(resolver)
makeLayer<FromLayer<MyLayer>>((outerArgs, self) => factoryArgs)
Returns [define, create]. Also overloaded with three separate type parameters <OuterArgs, SelfT, FactoryArgs>.
internal(value)
Returns value unchanged, typed so that PublicLayer omits it.
onInit(fn) / onDispose(fn)
fn: () => void | Promise<void>. Returns an object to spread into a factory result.
init(layer) / dispose(layer)
(layer: object) => Promise<void>. Walks branded components and awaits hooks sequentially.
|
init |
dispose |
| Order |
depth-first, parent first |
reverse of init |
| On error |
stops, no rollback |
stops, no rollback |
| Takes |
a single layer |
a single layer |
Summary
classDiagram
class makeLayer {
+resolver
+returns Layer
}
class Layer {
+define(factory)
+create(defs, options)
}
class Creator {
+call(outerArgs) SelfT
}
makeLayer --> Layer
Layer --> Creator : create
API reference
All exports come from
@atom-forge/laminar.Types
Layer<OuterArgs, SelfT, FactoryArgs>A tuple
[define, create].define<T>(factory: (...args: FactoryArgs) => T) => (...args: FactoryArgs) => Tcreate(defs, options?) => (...outerArgs: OuterArgs) => SelfTdefsis an object with one factory per key ofSelfT.options.assemblehas the form(self: SelfT, ...factoryArgs) => void.FromLayer<T>Extracts
[OuterArgs, SelfT, FactoryArgs]from aLayer<…>type. Used asmakeLayer<FromLayer<MyLayer>>(…).Unit<T>ReturnType<T>for a factory function.PublicLayer<T>Recursively removes properties marked with
internal(...). Functions are kept as they are.Functions
makeLayer<L>(resolver)makeLayer<FromLayer<MyLayer>>((outerArgs, self) => factoryArgs)Returns
[define, create]. Also overloaded with three separate type parameters<OuterArgs, SelfT, FactoryArgs>.internal(value)Returns
valueunchanged, typed so thatPublicLayeromits it.onInit(fn)/onDispose(fn)fn: () => void | Promise<void>. Returns an object to spread into a factory result.init(layer)/dispose(layer)(layer: object) => Promise<void>. Walks branded components and awaits hooks sequentially.initdisposeinitSummary
classDiagram class makeLayer { +resolver +returns Layer } class Layer { +define(factory) +create(defs, options) } class Creator { +call(outerArgs) SelfT } makeLayer --> Layer Layer --> Creator : create