@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
61 lines • 2.15 kB
TypeScript
import { Tree as RadixTree } from '../radix';
export declare enum LockType {
LockTypeNone = 0,
LockTypeRead = 1,
LockTypeWrite = 2
}
export declare class Event<T> {
name: string;
path: string;
source: T;
private stopPropagationFlag;
constructor(name: string, path: string, source: T);
stopPropagation(): void;
get shouldStopPropagation(): boolean;
}
export interface SimpleTreeInterface<T> {
tree: RadixTree;
}
export declare class WalkContext<T> {
private dataInstance?;
private dataInitialized;
private eventHandlers?;
private events;
hooksPost: Array<() => Promise<void> | void>;
addEventListener(event: string, path: string, handler: (event: Event<T>) => void): void;
addPostHook(handler: () => Promise<void> | void): void;
data(): SimpleTreeInterface<any>;
sendEvent(event: Event<T>): void;
handleEvents(): Promise<void>;
handleEventsAndHooks(): Promise<void>;
}
export interface MutableTree {
delete(key: string): void;
deleteAll(key: string): void;
deletePrefix(prefix: string): Promise<number>;
deletePrefixAll(prefix: string): Promise<number>;
lock(writable: boolean): () => void;
canLock(): boolean;
}
export interface WalkableTree<T> {
walkPrefixRaw(prefix: string, walker: (key: string, value: T) => Promise<boolean>): void;
}
export declare class WalkableTrees<T> implements WalkableTree<T> {
private trees;
constructor(trees: WalkableTree<T>[]);
walkPrefixRaw(prefix: string, walker: (key: string, value: T) => Promise<boolean>): void;
}
export declare class MutableTrees implements MutableTree {
private trees;
constructor(trees: MutableTree[]);
delete(key: string): void;
deleteAll(key: string): void;
deletePrefix(prefix: string): Promise<number>;
deletePrefixAll(prefix: string): Promise<number>;
lock(writable: boolean): () => void;
canLock(): boolean;
}
export declare function validateKey(key: string): Error | null;
export declare function cleanKey(key: string): string;
export declare function mustValidateKey(key: string): string;
//# sourceMappingURL=support.d.ts.map