@compute.ts/core
Version:
Core package for libraries creation
34 lines (33 loc) • 1.12 kB
TypeScript
import { Observable } from 'rxjs';
export declare abstract class ComputeApiNode<RawType> {
protected children: ComputeApiNode<any>[];
protected evalFn?: (...args: any) => RawType;
private value?;
private valueChanges$;
private validityChanges$;
private _alias;
private _description;
private _error;
protected _currentValue: RawType | undefined;
private _isDirty;
private parents;
constructor(children?: ComputeApiNode<any>[], evalFn?: (...args: any) => RawType, value?: RawType);
private set isDirty(value);
private get isDirty();
private set currentValue(value);
private get evalFnName();
private get currentValue();
private get formatedMetadata();
private get formatedValue();
protected affect(value: RawType): void;
private buildFreeKey;
protected treeify(): {};
private addParents;
private propagateDirty;
eval(): RawType;
get valueChanges(): Observable<RawType>;
get validityChanges(): Observable<boolean>;
alias(alias: string): this;
describe(description: string): this;
toString(): string;
}