@surface/custom-element
Version:
Provides support of directives and data binding on custom elements.
33 lines (32 loc) • 1.08 kB
TypeScript
import type { IDisposable } from "@surface/core";
import type { DirectiveEntry } from "../../types/index.js";
import type Block from "../block";
import type Expression from "../types/expression.js";
import type Factory from "../types/fatctory";
import type ObservablePath from "../types/observable-path.js";
import type Pattern from "../types/pattern.js";
declare type Context = {
block: Block;
directives: Map<string, DirectiveEntry>;
factory: Factory;
host: Node;
key: Expression<string>;
observables: [key: ObservablePath[], value: ObservablePath[]];
parent: Node;
scope: object;
value: Pattern;
};
export default class InjectStatement implements IDisposable {
private readonly context;
private readonly cancellationTokenSource;
private readonly keySubscription;
private readonly metadata;
private readonly subscription;
private disposed;
private key;
constructor(context: Context);
private readonly task;
private disposeCurrentInjection;
dispose(): void;
}
export {};