Class: Contents#

@jupyterlite/contents.Contents

A class to handle requests to /api/contents

Implements#

Constructors#

constructor#

new Contents(options)

Construct a new localForage-powered contents provider

Parameters#

Name

Type

options

IOptions

Defined in#

packages/contents/src/contents.ts:33

Properties#

_checkpoints#

Private _checkpoints: undefined | LocalForage

Defined in#

packages/contents/src/contents.ts:786

_counters#

Private _counters: undefined | LocalForage

Defined in#

packages/contents/src/contents.ts:785

_localforage#

Private _localforage: LocalForage

Defined in#

packages/contents/src/contents.ts:787

_ready#

Private _ready: PromiseDelegate<void>

Defined in#

packages/contents/src/contents.ts:783

_serverContents#

Private _serverContents: Map<string, Map<string, IModel>>

Defined in#

packages/contents/src/contents.ts:780

_storage#

Private _storage: undefined | LocalForage

Defined in#

packages/contents/src/contents.ts:784

_storageDrivers#

Private _storageDrivers: null | string[] = null

Defined in#

packages/contents/src/contents.ts:782

_storageName#

Private _storageName: string = DEFAULT_STORAGE_NAME

Defined in#

packages/contents/src/contents.ts:781

Accessors#

checkpoints#

Protected get checkpoints(): Promise<LocalForage>

A lazy reference to the underlying checkpoints.

Returns#

Promise<LocalForage>

Defined in#

packages/contents/src/contents.ts:81

counters#

Protected get counters(): Promise<LocalForage>

A lazy reference to the underlying counters.

Returns#

Promise<LocalForage>

Defined in#

packages/contents/src/contents.ts:74

defaultStorageOptions#

Protected get defaultStorageOptions(): LocalForageOptions

Get default options for localForage instances

Returns#

LocalForageOptions

Defined in#

packages/contents/src/contents.ts:88

ready#

get ready(): Promise<void>

A promise that resolves once all storage is fully initialized.

Returns#

Promise<void>

Implementation of#

IContents.ready

Defined in#

packages/contents/src/contents.ts:60

storage#

Protected get storage(): Promise<LocalForage>

A lazy reference to the underlying storage.

Returns#

Promise<LocalForage>

Defined in#

packages/contents/src/contents.ts:67

Methods#

_getFolder#

Private _getFolder(path): Promise<null | IModel>

retrieve the contents for this path from the union of local storage and api/contents/{path}/all.json.

Parameters#

Name

Type

Description

path

string

The contents path to retrieve

Returns#

Promise<null | IModel>

A promise which resolves with a Map of contents, keyed by local file name

Defined in#

packages/contents/src/contents.ts:606

_getServerContents#

Private _getServerContents(path, options?): Promise<null | IModel>

Attempt to recover the model from {:path}/__all__.json file, fall back to deriving the model (including content) off the file in /files/. Otherwise return null.

Parameters#

Name

Type

path

string

options?

IFetchOptions

Returns#

Promise<null | IModel>

Defined in#

packages/contents/src/contents.ts:646

_getServerDirectory#

Private _getServerDirectory(path): Promise<Map<string, IModel>>

retrieve the contents for this path from __index__.json in the appropriate folder.

Parameters#

Name

Type

path

string

Returns#

Promise<Map<string, IModel>>

A promise which resolves with a Map of contents, keyed by local file name

Defined in#

packages/contents/src/contents.ts:737

_handleChunk#

Private _handleChunk(newContent, originalContent, chunked?): string

Handle a chunk of a file. Decode and unescape a base64-encoded string.

Parameters#

Name

Type

newContent

string

originalContent

string

chunked?

boolean

Returns#

string

the decoded string, appended to the original content if chunked /

Defined in#

packages/contents/src/contents.ts:588

_incrementCounter#

Private _incrementCounter(type): Promise<number>

Increment the counter for a given file type. Used to avoid collisions when creating new untitled files.

Parameters#

Name

Type

Description

type

string

The file type to increment the counter for.

Returns#

Promise<number>

Defined in#

packages/contents/src/contents.ts:772

copy#

copy(path, toDir): Promise<IModel>

Copy a file into a given directory.

Parameters#

Name

Type

Description

path

string

The original file path.

toDir

string

The destination directory path.

Returns#

Promise<IModel>

A promise which resolves with the new contents model when the file is copied.

Notes#

The server will select the name of the copied file.

Implementation of#

IContents.copy

Defined in#

packages/contents/src/contents.ts:249

createCheckpoint#

createCheckpoint(path): Promise<ICheckpointModel>

Create a checkpoint for a file.

Parameters#

Name

Type

Description

path

string

The path of the file.

Returns#

Promise<ICheckpointModel>

A promise which resolves with the new checkpoint model when the checkpoint is created.

Implementation of#

IContents.createCheckpoint

Defined in#

packages/contents/src/contents.ts:508

createDefaultCheckpoints#

Protected createDefaultCheckpoints(): LocalForage

Create the default checkpoint storage.

Returns#

LocalForage

Defined in#

packages/contents/src/contents.ts:123

createDefaultCounters#

Protected createDefaultCounters(): LocalForage

Initialize the default storage for counting file suffixes.

Returns#

LocalForage

Defined in#

packages/contents/src/contents.ts:112

createDefaultStorage#

Protected createDefaultStorage(): LocalForage

Initialize the default storage for contents.

Returns#

LocalForage

Defined in#

packages/contents/src/contents.ts:101

delete#

delete(path): Promise<void>

Delete a file from browser storage.

Has no effect on server-backed files, which will re-appear with their original timestamp.

Parameters#

Name

Type

Description

path

string

The path to the file.

Returns#

Promise<void>

Implementation of#

IContents.delete

Defined in#

packages/contents/src/contents.ts:479

deleteCheckpoint#

deleteCheckpoint(path, checkpointID): Promise<void>

Delete a checkpoint for a file.

Parameters#

Name

Type

Description

path

string

The path of the file.

checkpointID

string

The id of the checkpoint to delete.

Returns#

Promise<void>

A promise which resolves when the checkpoint is deleted.

Implementation of#

IContents.deleteCheckpoint

Defined in#

packages/contents/src/contents.ts:572

forgetPath#

Protected forgetPath(path): Promise<void>

Remove the localForage and checkpoints for a path.

Parameters#

Name

Type

Description

path

string

The path to the file

Returns#

Promise<void>

Defined in#

packages/contents/src/contents.ts:493

get#

get(path, options?): Promise<null | IModel>

Get a file or directory.

Parameters#

Name

Type

path

string

options?

IFetchOptions

Returns#

Promise<null | IModel>

A promise which resolves with the file content.

Implementation of#

IContents.get

Defined in#

packages/contents/src/contents.ts:280

initStorage#

Protected initStorage(): Promise<void>

Initialize all storage instances

Returns#

Promise<void>

Defined in#

packages/contents/src/contents.ts:51

initialize#

initialize(): Promise<void>

Finish any initialization after server has started and all extensions are applied.

Returns#

Promise<void>

Defined in#

packages/contents/src/contents.ts:43

listCheckpoints#

listCheckpoints(path): Promise<ICheckpointModel[]>

List available checkpoints for a file.

Parameters#

Name

Type

Description

path

string

The path of the file.

Returns#

Promise<ICheckpointModel[]>

A promise which resolves with a list of checkpoint models for the file.

Implementation of#

IContents.listCheckpoints

Defined in#

packages/contents/src/contents.ts:536

newUntitled#

newUntitled(options?): Promise<null | IModel>

Create a new untitled file or directory in the specified directory path.

Parameters#

Name

Type

options?

ICreateOptions

Returns#

Promise<null | IModel>

A promise which resolves with the created file content when the file is created.

Implementation of#

IContents.newUntitled

Defined in#

packages/contents/src/contents.ts:138

normalizeCheckpoint#

Protected normalizeCheckpoint(model, id): ICheckpointModel

Parameters#

Name

Type

model

IModel

id

number

Returns#

ICheckpointModel

Defined in#

packages/contents/src/contents.ts:541

reduceBytesToString#

Protected reduceBytesToString(data, byte): string

A reducer for turning arbitrary binary into a string

Parameters#

Name

Type

data

string

byte

number

Returns#

string

Defined in#

packages/contents/src/contents.ts:725

rename#

rename(oldLocalPath, newLocalPath): Promise<IModel>

Rename a file or directory.

Parameters#

Name

Type

Description

oldLocalPath

string

The original file path.

newLocalPath

string

The new file path.

Returns#

Promise<IModel>

A promise which resolves with the new file content model when the file is renamed.

Implementation of#

IContents.rename

Defined in#

packages/contents/src/contents.ts:354

restoreCheckpoint#

restoreCheckpoint(path, checkpointID): Promise<void>

Restore a file to a known checkpoint state.

Parameters#

Name

Type

Description

path

string

The path of the file.

checkpointID

string

The id of the checkpoint to restore.

Returns#

Promise<void>

A promise which resolves when the checkpoint is restored.

Implementation of#

IContents.restoreCheckpoint

Defined in#

packages/contents/src/contents.ts:556

save#

save(path, options?): Promise<null | IModel>

Save a file.

Parameters#

Name

Type

Description

path

string

The desired file path.

options

Partial<IModel>

Optional overrides to the model.

Returns#

Promise<null | IModel>

A promise which resolves with the file content model when the file is saved.

Implementation of#

IContents.save

Defined in#

packages/contents/src/contents.ts:396