@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
72 lines • 2.32 kB
TypeScript
import { Fs, OverlayFsOptions, DirsMerger } from '../type';
import { OverlayFs } from '../entity/overlayfs';
/**
* OverlayFs factory interface
*/
export interface OverlayFsFactory {
create(fss: Fs[]): OverlayFs;
createWithOptions(options: OverlayFsOptions): OverlayFs;
createReadOnly(fss: Fs[]): OverlayFs;
createWritable(fss: Fs[]): OverlayFs;
createWithMerger(fss: Fs[], merger: DirsMerger): OverlayFs;
}
/**
* OverlayFs factory implementation
*/
export declare class Factory implements OverlayFsFactory {
/**
* Create overlay filesystem with default settings
*/
create(fss: Fs[]): OverlayFs;
/**
* Create overlay filesystem with custom options
*/
createWithOptions(options: OverlayFsOptions): OverlayFs;
/**
* Create read-only overlay filesystem
*/
createReadOnly(fss: Fs[]): OverlayFs;
/**
* Create writable overlay filesystem (first filesystem is writable)
*/
createWritable(fss: Fs[]): OverlayFs;
/**
* Create overlay filesystem with custom directory merger
*/
createWithMerger(fss: Fs[], merger: DirsMerger): OverlayFs;
}
/**
* Create new OverlayFs factory
*/
export declare function newOverlayFsFactory(): Factory;
/**
* Convenience function to create overlay filesystem
*/
export declare function createOverlayFileSystem(fss: Fs[], options?: {
firstWritable?: boolean;
dirsMerger?: DirsMerger;
}): OverlayFs;
/**
* Create read-only overlay filesystem (convenience function)
*/
export declare function createReadOnlyOverlayFs(fss: Fs[]): OverlayFs;
/**
* Create writable overlay filesystem (convenience function)
*/
export declare function createWritableOverlayFs(fss: Fs[], dirsMerger?: DirsMerger): OverlayFs;
/**
* Append filesystems to existing overlay (convenience function)
*/
export declare function appendToOverlayFs(overlayFs: OverlayFs, ...fss: Fs[]): OverlayFs;
/**
* Create overlay filesystem from array of filesystem pairs
*/
export declare function createOverlayFromPairs(pairs: Array<{
fs: Fs;
priority: number;
}>): OverlayFs;
/**
* Create multilayer overlay filesystem
*/
export declare function createMultilayerOverlayFs(readOnlyLayers: Fs[], writableLayer?: Fs, dirsMerger?: DirsMerger): OverlayFs;
//# sourceMappingURL=overlayfs-factory.d.ts.map