@surface/custom-element
Version:
Provides support of directives and data binding on custom elements.
33 lines (32 loc) • 2.65 kB
TypeScript
import type { Delegate, IDisposable } from "@surface/core";
import type { IExpression, IPattern } from "@surface/expression";
import type { Subscription } from "@surface/observer";
import type IKeyValueObservable from "./interfaces/key-value-observable";
import type IKeyValueTraceable from "./interfaces/key-value-traceable";
import type IObservable from "./interfaces/observable";
import type ITraceable from "./interfaces/traceable";
import type { Observables, StackTrace } from "./types";
export declare function buildStackTrace(stackTrace: StackTrace): string;
export declare function classMap(classes: Record<string, boolean>): string;
export declare function disposeTree(node: Node & Partial<IDisposable>): void;
export declare function scapeBrackets(value: string): string;
export declare function stringToCSSStyleSheet(source: string): CSSStyleSheet;
export declare function styleMap(rules: Record<string, boolean>): string;
export declare function throwTemplateEvaluationError(message: string, stackTrace: StackTrace): never;
export declare function throwTemplateObservationError(message: string, stackTrace: StackTrace): never;
export declare function throwTemplateParseError(message: string, stackTrace: StackTrace): never;
export declare function tryEvaluateExpression(scope: object, expression: IExpression, rawExpression: string, stackTrace: StackTrace): unknown;
export declare function tryEvaluateExpressionByTraceable(scope: object, traceable: {
expression: IExpression;
} & ITraceable): unknown;
export declare function tryEvaluateKeyExpressionByTraceable(scope: object, traceable: {
keyExpression: IExpression;
} & IKeyValueTraceable): unknown;
export declare function tryEvaluatePattern(scope: object, pattern: IPattern, value: unknown, rawExpression: string, stackTrace: StackTrace): object;
export declare function tryEvaluatePatternByTraceable(scope: object, value: unknown, traceable: {
pattern: IPattern;
} & ITraceable): object;
export declare function tryObserve(scope: object, observables: Observables, listener: Delegate<[unknown]>, rawExpression: string, stackTrace: StackTrace, lazy?: boolean): Subscription;
export declare function tryObserveByObservable(scope: object, observable: IObservable & ITraceable, listener: Delegate<[unknown]>, lazy?: boolean): Subscription;
export declare function tryObserveKeyByObservable(scope: object, observable: IKeyValueObservable & IKeyValueTraceable, listener: Delegate<[unknown]>, lazy?: boolean): Subscription;
export declare function enumerateRange(start: ChildNode, end: ChildNode): Iterable<ChildNode & Partial<IDisposable>>;