IAtomConstructor interface
Home > facade > IAtomConstructor
IAtomConstructor interface
Конструктор атома
Signature:
export interface IAtomConstructor<D> extends IAtomCoreConstructor Remarks
Функция-константа, расширяет IAtomCoreConstructor
Example
import A from 'alak'const atom = A() // сокращённая запись A.proxy()
Methods
| Method | Description |
|---|---|
| from(atoms) | Создать атом из нескольких других атомов и стратегии вычисления. Смотрите описание стратегий: ComputeStrategy. |
| holistic() | Создать атом, с аргументами передающимися в функции-добытчики в полном числе. IAtom.stateless(). |
| id(id, startValue) | Создать атом c предустановленным идентификатором IAtom.setId(). |
| setGetter(getterFn) | Создать атом c функцией добытчика IAtom.setGetter(). |
| setOnceGet(getterFn) | Создать атом c функцией добытчика IAtom.setGetter(). |
| setWrapper(wrapperFun) | Создать атом c функцией обёртки IAtom.setWrapper(). |
| stateless() | Создать атом, с контейнерем не запоминающием значение. IAtom.stateless(). |
from() method
Создать атом из нескольких других атомов и стратегии вычисления. Смотрите описание стратегий: ComputeStrategy.
Signature:
from<IN extends IAtom<any>[]>(...atoms: IN): ComputeStrategicAtom<IN>;Parameters
| Parameter | Type | Description |
|---|---|---|
| atoms | IN | набор входных атомов для вычисления значения |
Returns:
ComputeStrategicAtom<IN>
Example
const a1 = A(1)const a2 = A(2)const computedAtom = A .from(a1, a2) .some((v1, v2) => v1 + v2)console.log(computedAtom()) //output:3
holistic() method
Создать атом, с аргументами передающимися в функции-добытчики в полном числе. IAtom.stateless().
Signature:
holistic(): IAtom<MaybeAny<D>>;Returns:
IAtom<MaybeAny<D>>
Remarks
Сокращённая запись A().holistic()
id() method
Создать атом c предустановленным идентификатором IAtom.setId().
Signature:
id<T>(id: string | number, startValue?: T): IAtom<MaybeAny<T>>;Parameters
| Parameter | Type | Description |
|---|---|---|
| id | string ا number | идентификатор |
| startValue | T | стартовое значение |
Returns:
IAtom<MaybeAny<T>>
Remarks
Сокращённая запись A().setId(id)
setGetter() method
Создать атом c функцией добытчика IAtom.setGetter().
Signature:
setGetter<T>(getterFn: () => T): IAtom<T>;Parameters
| Parameter | Type | Description |
|---|---|---|
| getterFn | () => T | функция-добытчик |
Returns:
IAtom<T>
Remarks
Сокращённая запись A().setGetter(fun)
setOnceGet() method
Создать атом c функцией добытчика IAtom.setGetter().
Signature:
setOnceGet<D>(getterFn: () => D): IAtom<D>;Parameters
| Parameter | Type | Description |
|---|---|---|
| getterFn | () => D | функция-добытчик |
Returns:
IAtom<D>
Remarks
Сокращённая запись A().setOnceGet(fun)
setWrapper() method
Создать атом c функцией обёртки IAtom.setWrapper().
Signature:
setWrapper<T>(wrapperFun: (v: D) => T): IAtom<MaybeAny<T>>;Parameters
| Parameter | Type | Description |
|---|---|---|
| wrapperFun | (v: D) => T | функция-обёртка |
Returns:
IAtom<MaybeAny<T>>
Remarks
Сокращённая запись A().setWrapper(wrapperFun)
stateless() method
Создать атом, с контейнерем не запоминающием значение. IAtom.stateless().
Signature:
stateless(): IAtom<MaybeAny<D>>;Returns:
IAtom<MaybeAny<D>>
Remarks
Сокращённая запись A().stateless()