UNPKG

@ablestack/rdo

Version:

A library to facilitate building and running graphs of Reactive Domain Objects - connecting JSON data sources to reactive client applications

56 lines (55 loc) 2.33 kB
/// <reference types="node" /> import { RdoInternalNWBase } from '..'; import { IEqualityComparer, IGlobalNodeOptions, ISourceNodeWrapper, ISyncChildNode, IWrapRdoNode, NodeTypeInfo } from '../..'; import { EventEmitter } from '../../infrastructure/event-emitter'; import { INodeSyncOptions, IRdoInternalNodeWrapper } from '../../types'; import { NodeChange } from '../../types/event-types'; import { MutableNodeCache } from '../../infrastructure/mutable-node-cache'; declare type MutableCachedNodeItemType<S> = { sourceData: S | null | undefined; }; export declare class RdoObjectNW<S, D extends Record<string, any>> extends RdoInternalNWBase<S, D> { private _value; private _equalityComparer; private _wrapRdoNode; constructor({ value, typeInfo, key, mutableNodeCache, wrappedParentRdoNode, wrappedSourceNode, defaultEqualityComparer, syncChildNode, wrapRdoNode, globalNodeOptions, matchingNodeOptions, targetedOptionMatchersArray, eventEmitter, }: { value: D; typeInfo: NodeTypeInfo; key: string | number | undefined; mutableNodeCache: MutableNodeCache; wrappedParentRdoNode: IRdoInternalNodeWrapper<S, D> | undefined; wrappedSourceNode: ISourceNodeWrapper<S, D>; defaultEqualityComparer: IEqualityComparer; syncChildNode: ISyncChildNode; wrapRdoNode: IWrapRdoNode; matchingNodeOptions: INodeSyncOptions<any, any> | undefined; globalNodeOptions: IGlobalNodeOptions | undefined; targetedOptionMatchersArray: Array<INodeSyncOptions<any, any>>; eventEmitter: EventEmitter<NodeChange>; }); /** */ getNodeInstanceCache(): MutableCachedNodeItemType<S>; get isLeafNode(): boolean; get value(): Record<string, any>; childElementCount(): number; smartSync(): boolean; getSourceNodeKeys(): Iterable<import("fs").OpenMode>; getSourceNodeItem(key: string): any; getRdoNodeItem(key: string): any; /** * */ private sync; /** * */ getFieldname({ sourceFieldname, sourceFieldVal }: { sourceFieldname: string; sourceFieldVal: any; }): string | undefined; /** */ private makeContinueSmartSyncFunction; /** */ private primitiveDirectSync; } export {};