UNPKG

@ablestack/rdo

Version:

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

26 lines (25 loc) 1.53 kB
import { RdoNWBase } from './rdo-nw-base'; import { IRdoInternalNodeWrapper, ISyncChildNode, NodeTypeInfo, ISourceNodeWrapper, INodeSyncOptions, IGlobalNodeOptions } from '../..'; import { EventEmitter } from '../../infrastructure/event-emitter'; import { NodeChange } from '../../types/event-types'; import { MutableNodeCache } from '../../infrastructure/mutable-node-cache'; export declare abstract class RdoInternalNWBase<S, D> extends RdoNWBase<S, D> implements IRdoInternalNodeWrapper<S, D> { private _syncChildNode; constructor({ typeInfo, key, mutableNodeCache, wrappedParentRdoNode, wrappedSourceNode, syncChildNode, matchingNodeOptions, globalNodeOptions, targetedOptionMatchersArray, eventEmitter, }: { typeInfo: NodeTypeInfo; key: string | number | undefined; mutableNodeCache: MutableNodeCache; wrappedParentRdoNode: IRdoInternalNodeWrapper<S, D> | undefined; wrappedSourceNode: ISourceNodeWrapper<S, D>; syncChildNode: ISyncChildNode; matchingNodeOptions: INodeSyncOptions<S, D> | undefined; globalNodeOptions: IGlobalNodeOptions | undefined; targetedOptionMatchersArray: Array<INodeSyncOptions<S, D>>; eventEmitter: EventEmitter<NodeChange>; }); protected get syncChildNode(): ISyncChildNode; makeRdoElement(sourceObject: any): any; abstract getRdoNodeItem(key: string | number): any; private autoInstantiateNodeAsMobxObservables; private autoInstantiateNodeAsPlainObjectLiterals; }