Skip to content

@fkn/lib/fs

type AdoptSummary = object;
deleted: string[];
failed: object[];
error: string;
path: string;
kept: string[];
resolved: object[];
choice: "local" | "cloud" | "merged";
path: string;
unresolved: string[];
uploaded: string[];

type ConflictChoice =
| "local"
| "cloud"
| {
merged: WriteData;
}
| null;

type ConflictResolver = (conflict) =>
| Promise<ConflictChoice>
| ConflictChoice;

FileConflict

| Promise<ConflictChoice> | ConflictChoice


type ConflictSide = object;
size: number;
updatedAt: string | null;

type FileConflict = object;
cloud: ConflictSide;
local: ConflictSide;
path: string;
readCloud: () => Promise<Blob>;

Promise<Blob>

readLocal: () => Promise<Blob>;

Promise<Blob>


type Stats = object;
atimeMs: number;
ctimeMs: number;
isDirectory: () => boolean;

boolean

isFile: () => boolean;

boolean

isSymbolicLink: () => boolean;

boolean

mode: number;
mtime: Date;
mtimeMs: number;
size: number;
const adopt: () => Promise<AdoptSummary> = hybrid.adopt;

Promise<AdoptSummary>


const adoptable: () => Promise<{
bytes: number;
paths: string[];
}> = hybrid.adoptable;

Promise<{ bytes: number; paths: string[]; }>


appendFile: (path, data, a, b?) => void;

PathLike

WriteData

WriteOptions | Callback<void>

Callback<void>

void


appendFileSync: (path, data, options?) => void;

PathLike

WriteData

WriteOptions

void


available: () => Promise<boolean>;

Promise<boolean>


default: object;
adopt: () => Promise<AdoptSummary>;

Promise<AdoptSummary>

adoptable: () => Promise<{
bytes: number;
paths: string[];
}>;

Promise<{ bytes: number; paths: string[]; }>

appendFile: (path, data, a, b?) => void;

PathLike

WriteData

WriteOptions | Callback<void>

Callback<void>

void

appendFileSync: (path, data, options?) => void;

PathLike

WriteData

WriteOptions

void

available: () => Promise<boolean> = backing.available;

Promise<boolean>

exists: (path, callback) => void;

PathLike

(exists) => void

void

existsSync: (path) => boolean;

PathLike

boolean

flush: () => Promise<void> = store.flush;

Promise<void>

lstatSync: (path) => Stats = statSync;

PathLike

Stats

mkdir: (path, a, b?) => void;

PathLike

MakeOptions | Callback<void>

Callback<void>

void

mkdirSync: (path, options?) => void;

PathLike

MakeOptions

void

mount: () => Promise<void> = store.mount;

Promise<void>

onConflict: (next) => () => void;

ConflictResolver

() => void

pending: () => string[];

string[]

pendingDeletes: () => string[];

string[]

promises: object;
access: (path) => Promise<void>;

PathLike

Promise<void>

appendFile: (path, data, options?) => Promise<void>;

PathLike

WriteData

WriteOptions

Promise<void>

lstat: (path) => Promise<Stats>;

PathLike

Promise<Stats>

mkdir: (path, options?) => Promise<void>;

PathLike

MakeOptions

Promise<void>

readdir: (path) => Promise<string[]>;

PathLike

Promise<string[]>

readFile: (path, options?) => Promise<string | Buffer<ArrayBufferLike>>;

PathLike

ReadOptions

Promise<string | Buffer<ArrayBufferLike>>

rename: (from, to) => Promise<void>;

PathLike

PathLike

Promise<void>

rm: (path, options?) => Promise<void>;

PathLike

boolean

boolean

Promise<void>

rmdir: (path, options?) => Promise<void>;

PathLike

boolean

Promise<void>

stat: (path) => Promise<Stats>;

PathLike

Promise<Stats>

unlink: (path) => Promise<void>;

PathLike

Promise<void>

writeFile: (path, data, options?) => Promise<void>;

PathLike

WriteData

WriteOptions

Promise<void>

pull: (path) => Promise<Blob>;

string

Promise<Blob>

readdir: (path, a, b?) => void;

PathLike

unknown

Callback<string[]>

void

readdirSync: (path) => string[];

PathLike

string[]

readFile: (path, a, b?) => void;

PathLike

ReadOptions | Callback<string | Buffer<ArrayBufferLike>>

Callback<string | Buffer<ArrayBufferLike>>

void

readFileSync: (path, options?) => string | Buffer<ArrayBufferLike>;

PathLike

ReadOptions

string | Buffer<ArrayBufferLike>

remount: () => Promise<void> = store.remount;

Promise<void>

rename: (from, to, callback) => void;

PathLike

PathLike

Callback<void>

void

renameSync: (from, to) => void;

PathLike

PathLike

void

replicating: () => boolean;

boolean

rm: (path, a, b?) => void;

PathLike

| Callback<void> | { force?: boolean; recursive?: boolean; }

Callback<void>

void

rmdirSync: (path, options?) => void;

PathLike

boolean

void

rmSync: (path, options?) => void;

PathLike

boolean

boolean

void

stat: (path, callback) => void;

PathLike

Callback<Stats>

void

statSync: (path) => Stats;

PathLike

Stats

unlink: (path, callback) => void;

PathLike

Callback<void>

void

unlinkSync: (path) => void;

PathLike

void

writeFile: (path, data, a, b?) => void;

PathLike

WriteData

WriteOptions | Callback<void>

Callback<void>

void

writeFileSync: (path, data, options?) => void;

PathLike

WriteData

WriteOptions

void


exists: (path, callback) => void;

PathLike

(exists) => void

void


existsSync: (path) => boolean;

PathLike

boolean


flush: () => Promise<void>;

Promise<void>


lstatSync: (path) => Stats;

PathLike

Stats


mkdir: (path, a, b?) => void;

PathLike

MakeOptions | Callback<void>

Callback<void>

void


mkdirSync: (path, options?) => void;

PathLike

MakeOptions

void


mount: () => Promise<void>;

Promise<void>


const onConflict: (next) => () => void = hybrid.onConflict;

ConflictResolver

() => void


const pending: () => string[] = hybrid.pending;

string[]


const pendingDeletes: () => string[] = hybrid.pendingDeletes;

string[]


promises: object;
access: (path) => Promise<void>;

PathLike

Promise<void>

appendFile: (path, data, options?) => Promise<void>;

PathLike

WriteData

WriteOptions

Promise<void>

lstat: (path) => Promise<Stats>;

PathLike

Promise<Stats>

mkdir: (path, options?) => Promise<void>;

PathLike

MakeOptions

Promise<void>

readdir: (path) => Promise<string[]>;

PathLike

Promise<string[]>

readFile: (path, options?) => Promise<string | Buffer<ArrayBufferLike>>;

PathLike

ReadOptions

Promise<string | Buffer<ArrayBufferLike>>

rename: (from, to) => Promise<void>;

PathLike

PathLike

Promise<void>

rm: (path, options?) => Promise<void>;

PathLike

boolean

boolean

Promise<void>

rmdir: (path, options?) => Promise<void>;

PathLike

boolean

Promise<void>

stat: (path) => Promise<Stats>;

PathLike

Promise<Stats>

unlink: (path) => Promise<void>;

PathLike

Promise<void>

writeFile: (path, data, options?) => Promise<void>;

PathLike

WriteData

WriteOptions

Promise<void>


const pull: (path) => Promise<Blob> = hybrid.pull;

string

Promise<Blob>


readdir: (path, a, b?) => void;

PathLike

unknown

Callback<string[]>

void


readdirSync: (path) => string[];

PathLike

string[]


readFile: (path, a, b?) => void;

PathLike

ReadOptions | Callback<string | Buffer<ArrayBufferLike>>

Callback<string | Buffer<ArrayBufferLike>>

void


readFileSync: (path, options?) => string | Buffer<ArrayBufferLike>;

PathLike

ReadOptions

string | Buffer<ArrayBufferLike>


remount: () => Promise<void>;

Promise<void>


rename: (from, to, callback) => void;

PathLike

PathLike

Callback<void>

void


renameSync: (from, to) => void;

PathLike

PathLike

void


const replicating: () => boolean = hybrid.replicating;

boolean


rm: (path, a, b?) => void;

PathLike

| Callback<void> | { force?: boolean; recursive?: boolean; }

Callback<void>

void


rmdirSync: (path, options?) => void;

PathLike

boolean

void


rmSync: (path, options?) => void;

PathLike

boolean

boolean

void


stat: (path, callback) => void;

PathLike

Callback<Stats>

void


statSync: (path) => Stats;

PathLike

Stats


unlink: (path, callback) => void;

PathLike

Callback<void>

void


unlinkSync: (path) => void;

PathLike

void


writeFile: (path, data, a, b?) => void;

PathLike

WriteData

WriteOptions | Callback<void>

Callback<void>

void


writeFileSync: (path, data, options?) => void;

PathLike

WriteData

WriteOptions

void