123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import { MmlNode } from '../../core/MmlTree/MmlNode.js';
- import { FactoryNodeClass } from '../../core/Tree/Factory.js';
- import StackItemFactory from './StackItemFactory.js';
- export declare type EnvProp = string | number | boolean;
- export declare type EnvList = {
- [key: string]: EnvProp;
- };
- export declare type Prop = string | number | boolean | MmlNode | PropList;
- export declare type PropList = {
- [key: string]: Prop;
- };
- export declare type CheckType = [(MmlNode | StackItem)[], boolean];
- export interface NodeStack {
- First: MmlNode;
- Last: MmlNode;
- Pop(): MmlNode | void;
- Push(...nodes: MmlNode[]): void;
- Peek(n?: number): MmlNode[];
- Size(): number;
- Clear(): void;
- toMml(inferred?: boolean, forceRow?: boolean): MmlNode;
- }
- export declare abstract class MmlStack implements NodeStack {
- private _nodes;
- constructor(_nodes: MmlNode[]);
- protected get nodes(): MmlNode[];
- Push(...nodes: MmlNode[]): void;
- Pop(): MmlNode;
- get First(): MmlNode;
- set First(node: MmlNode);
- get Last(): MmlNode;
- set Last(node: MmlNode);
- Peek(n?: number): MmlNode[];
- Size(): number;
- Clear(): void;
- protected abstract get factory(): StackItemFactory;
- toMml(inferred?: boolean, forceRow?: boolean): MmlNode;
- create(kind: string, ...rest: any[]): MmlNode;
- }
- export interface StackItem extends NodeStack {
- kind: string;
- isClose: boolean;
- isOpen: boolean;
- isFinal: boolean;
- global: EnvList;
- env: EnvList;
- copyEnv: boolean;
- isKind(kind: string): boolean;
- getProperty(key: string): Prop;
- setProperty(key: string, value: Prop): StackItem;
- setProperties(def: PropList): StackItem;
- getName(): string;
- checkItem(item: StackItem): CheckType;
- }
- export interface StackItemClass extends FactoryNodeClass<StackItem> {
- }
- export declare abstract class BaseItem extends MmlStack implements StackItem {
- protected factory: StackItemFactory;
- protected static fail: CheckType;
- protected static success: CheckType;
- protected static errors: {
- [key: string]: string[];
- };
- global: EnvList;
- private _env;
- private _properties;
- constructor(factory: StackItemFactory, ...nodes: MmlNode[]);
- get kind(): string;
- get env(): EnvList;
- set env(value: EnvList);
- get copyEnv(): boolean;
- getProperty(key: string): Prop;
- setProperty(key: string, value: Prop): this;
- get isOpen(): boolean;
- get isClose(): boolean;
- get isFinal(): boolean;
- isKind(kind: string): boolean;
- checkItem(item: StackItem): CheckType;
- clearEnv(): void;
- setProperties(def: PropList): this;
- getName(): string;
- toString(): string;
- getErrors(kind: string): string[];
- }
|