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:36

Properties#

_checkpoints#

Private _checkpoints: undefined | LocalForage

Defined in#

packages/contents/src/contents.ts:846

_counters#

Private _counters: undefined | LocalForage

Defined in#

packages/contents/src/contents.ts:845

_localforage#

Private _localforage: LocalForage

Defined in#

packages/contents/src/contents.ts:847

_ready#

Private _ready: PromiseDelegate<void>

Defined in#

packages/contents/src/contents.ts:843

_serverContents#

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

Defined in#

packages/contents/src/contents.ts:840

_storage#

Private _storage: undefined | LocalForage

Defined in#

packages/contents/src/contents.ts:844

_storageDrivers#

Private _storageDrivers: null | string[] = null

Defined in#

packages/contents/src/contents.ts:842

_storageName#

Private _storageName: string = DEFAULT_STORAGE_NAME

Defined in#

packages/contents/src/contents.ts:841

Accessors#

checkpoints#

Protected get checkpoints(): Promise<LocalForage>

A lazy reference to the underlying checkpoints.

Returns#

Promise<LocalForage>

Defined in#

packages/contents/src/contents.ts:84

counters#

Protected get counters(): Promise<LocalForage>

A lazy reference to the underlying counters.

Returns#

Promise<LocalForage>

Defined in#

packages/contents/src/contents.ts:77

defaultStorageOptions#

Protected get defaultStorageOptions(): LocalForageOptions

Get default options for localForage instances

Returns#

LocalForageOptions

Defined in#

packages/contents/src/contents.ts:91

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:63

storage#

Protected get storage(): Promise<LocalForage>

A lazy reference to the underlying storage.

Returns#

Promise<LocalForage>

Defined in#

packages/contents/src/contents.ts:70

Methods#

_binaryStringToBytes#

Private _binaryStringToBytes(binaryString): Uint8Array

Convert a binary string to an Uint8Array

Parameters#

Name

Type

Description

binaryString

string

the binary string

Returns#

Uint8Array

the bytes of the binary string

Defined in#

packages/contents/src/contents.ts:650

_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:666

_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:706

_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:797

_handleUploadChunk#

Private _handleUploadChunk(newContent, originalContent, appendChunk): string

Handle an upload chunk for a file. each chunk is base64 encoded, so we need to decode it and append it to the original content.

Parameters#

Name

Type

Description

newContent

string

the new content to process, base64 encoded

originalContent

any

the original content, must be null or a binary string if chunked is true

appendChunk

boolean

whether the chunk should be appended to the originalContent

Returns#

string

the decoded binary string, appended to the original content if requested /

Defined in#

packages/contents/src/contents.ts:633

_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:832

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:252

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:549

createDefaultCheckpoints#

Protected createDefaultCheckpoints(): LocalForage

Create the default checkpoint storage.

Returns#

LocalForage

Defined in#

packages/contents/src/contents.ts:126

createDefaultCounters#

Protected createDefaultCounters(): LocalForage

Initialize the default storage for counting file suffixes.

Returns#

LocalForage

Defined in#

packages/contents/src/contents.ts:115

createDefaultStorage#

Protected createDefaultStorage(): LocalForage

Initialize the default storage for contents.

Returns#

LocalForage

Defined in#

packages/contents/src/contents.ts:104

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:520

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:613

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:534

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:283

initStorage#

Protected initStorage(): Promise<void>

Initialize all storage instances

Returns#

Promise<void>

Defined in#

packages/contents/src/contents.ts:54

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:46

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:577

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:141

normalizeCheckpoint#

Protected normalizeCheckpoint(model, id): ICheckpointModel

Parameters#

Name

Type

model

IModel

id

number

Returns#

ICheckpointModel

Defined in#

packages/contents/src/contents.ts:582

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:785

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:357

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:597

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:399