Link Search Menu Expand Document

index overview

Added in v1.0.0


Table of contents


Constructors

dir

Signature

export declare const dir: (name: string) => Dir

Added in v1.0.0

dirData

Signature

export declare const dirData: (contents: DirContents) => DirData

Added in v1.0.0

file

Signature

export declare const file: (name: string, lines: string[]) => File

Added in v1.0.0

fileData

Signature

export declare const fileData: (lines: string[]) => FileData

Added in v1.0.0

Destructors

asDir

Signature

export declare const asDir: (fso: FsObj) => Option<Dir>

Added in v1.0.0

asFile

Signature

export declare const asFile: (fso: FsObj) => Option<File>

Added in v1.0.0

match

Signature

export declare const match: <Z>(
  onDir: (dir: Dir) => Z,
  onFile: (File: Tag<'File', Name & Pick<Tag<'FileData', { lines: string[] }>, 'lines'>>) => Z
) => (fso: FsObj) => Z

Added in v1.0.0

Model

Dir (type alias)

Signature

export type Dir = Tag<'Dir', Name & OmitTag<DirData>>

Added in v1.0.0

DirContents (type alias)

Signature

export type DirContents = Record<string, FsObjData>

Added in v1.0.0

DirData (type alias)

Signature

export type DirData = Tag<'DirData', { contents: ReadonlyRecord<string, FsObjData> }>

Added in v1.0.0

File (type alias)

Signature

export type File = Tag<'File', Name & OmitTag<FileData>>

Added in v1.0.0

FileData (type alias)

Signature

export type FileData = Tag<'FileData', { lines: string[] }>

Added in v1.0.0

FsObj (type alias)

Signature

export type FsObj = File | Dir

Added in v1.0.0

FsObjData (type alias)

Signature

export type FsObjData = FileData | DirData

Added in v1.0.0

Name (type alias)

Signature

export type Name = { name: string }

Added in v1.0.0

Utils

lookup

Signature

export declare const lookup: (name: string) => (dir: DirData) => Option<FsObjData>

Added in v1.0.0