UNPKG

@nodescript/core

Version:

Visual programming language for Browser and Node

69 lines (68 loc) 2.28 kB
import { PropEntrySpec, PropSpec } from '../types/model.js'; import { ModuleParamSpec } from '../types/module.js'; import { SchemaSpec } from '../types/schema.js'; import { NodeView } from './NodeView.js'; export type PropLine = { value: string; linkId?: string; linkKey?: string; expand: boolean; }; export declare abstract class PropLineView { readonly node: NodeView; readonly propKey: string; protected propLine: PropLine; private _paramSpec; constructor(node: NodeView, propKey: string, propLine: PropLine); toJSON(): PropLine; abstract getSchema(): SchemaSpec; abstract get lineUid(): string; get graph(): import("./GraphView.js").GraphView; get value(): string; get linkId(): string | undefined; get linkKey(): string | undefined; getParamSpec(): ModuleParamSpec; getStaticValue(): string; isUsingDefaultValue(): boolean; /** * Returns the node identified by its linkId. */ getLinkNode(): NodeView | null; isLinked(): boolean; canExpand(): boolean; isExpanded(): boolean; isDeferred(): boolean | undefined; } export declare class PropView extends PropLineView { protected propSpec: PropSpec; constructor(node: NodeView, propKey: string, propSpec: PropSpec); get lineUid(): string; getSchema(): SchemaSpec; getEntries(): PropEntryView[]; /** * Managed entries appear for each property defined in parent prop's schema. * * They are special in a couple ways: * * - users can't delete them or change their key * - the order of managed entries is predefined * - they have stable ids so that they are consistently persisted */ getManagedEntries(): PropEntryView[]; getCustomEntries(): PropEntryView[]; isSupportsEntries(): boolean; isUsesEntries(): boolean; hasEntries(): boolean; isAdvanced(): boolean; isListed(): boolean; } export declare class PropEntryView extends PropLineView { readonly parentProp: PropView; protected propEntrySpec: PropEntrySpec; constructor(parentProp: PropView, propEntrySpec: PropEntrySpec); get id(): string; get key(): string; get lineUid(): string; isManaged(): boolean | undefined; getSchema(): SchemaSpec; }