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 |
---|---|
|
Defined in#
Properties#
_checkpoints
#
Private
_checkpoints
:undefined
|LocalForage
Defined in#
_counters
#
Private
_counters
:undefined
|LocalForage
Defined in#
_localforage
#
Private
_localforage
:LocalForage
Defined in#
_ready
#
Private
_ready
:PromiseDelegate
<void
>
Defined in#
_serverContents
#
Private
_serverContents
:Map
<string
,Map
<string
,IModel
>>
Defined in#
_storage
#
Private
_storage
:undefined
|LocalForage
Defined in#
_storageDrivers
#
Private
_storageDrivers
:null
|string
[] =null
Defined in#
_storageName
#
Private
_storageName
:string
=DEFAULT_STORAGE_NAME
Defined in#
Accessors#
checkpoints
#
Protected
get
checkpoints
():Promise
<LocalForage
>
A lazy reference to the underlying checkpoints.
Returns#
Promise
<LocalForage
>
Defined in#
counters
#
Protected
get
counters
():Promise
<LocalForage
>
A lazy reference to the underlying counters.
Returns#
Promise
<LocalForage
>
Defined in#
defaultStorageOptions
#
Protected
get
defaultStorageOptions
():LocalForageOptions
Get default options for localForage instances
Returns#
LocalForageOptions
Defined in#
ready
#
get
ready
():Promise
<void
>
A promise that resolves once all storage is fully initialized.
Returns#
Promise
<void
>
Implementation of#
IContents.ready
Defined in#
storage
#
Protected
get
storage
():Promise
<LocalForage
>
A lazy reference to the underlying storage.
Returns#
Promise
<LocalForage
>
Defined in#
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 |
---|---|---|
|
|
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#
_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 |
---|---|
|
|
|
|
Returns#
Promise
<null
| IModel
>
Defined in#
_getServerDirectory
#
Private
_getServerDirectory
(path
):Promise
<Map
<string
,IModel
>>
retrieve the contents for this path from __index__.json
in the appropriate
folder.
Parameters#
Name |
Type |
---|---|
|
|
Returns#
Promise
<Map
<string
, IModel
>>
A promise which resolves with a Map of contents, keyed by local file name
Defined in#
_handleBinaryChunk
#
Private
_handleBinaryChunk
(newContent
,originalContent
,chunked?
):string
Handle a chunk of a binary file. each chunk is base64 encoded, so we need to decode it and append it to the original content. if the chunk has padding, we need to remove it before appending.
Parameters#
Name |
Type |
---|---|
|
|
|
|
|
|
Returns#
string
the decoded string, appended to the original content if chunked /
Defined in#
_handleChunk
#
Private
_handleChunk
(newContent
,originalContent
,chunked?
):string
Handle a chunk of a file. Decode and unescape a base64-encoded string.
Parameters#
Name |
Type |
---|---|
|
|
|
|
|
|
Returns#
string
the decoded string, appended to the original content if chunked /
Defined in#
_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 |
---|---|---|
|
|
The file type to increment the counter for. |
Returns#
Promise
<number
>
Defined in#
copy
#
copy
(path
,toDir
):Promise
<IModel
>
Copy a file into a given directory.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The original file path. |
|
|
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#
createCheckpoint
#
createCheckpoint
(path
):Promise
<ICheckpointModel
>
Create a checkpoint for a file.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
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#
createDefaultCheckpoints
#
Protected
createDefaultCheckpoints
():LocalForage
Create the default checkpoint storage.
Returns#
LocalForage
Defined in#
createDefaultCounters
#
Protected
createDefaultCounters
():LocalForage
Initialize the default storage for counting file suffixes.
Returns#
LocalForage
Defined in#
createDefaultStorage
#
Protected
createDefaultStorage
():LocalForage
Initialize the default storage for contents.
Returns#
LocalForage
Defined in#
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 |
---|---|---|
|
|
The path to the file. |
Returns#
Promise
<void
>
Implementation of#
IContents.delete
Defined in#
deleteCheckpoint
#
deleteCheckpoint
(path
,checkpointID
):Promise
<void
>
Delete a checkpoint for a file.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The path of the file. |
|
|
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#
forgetPath
#
Protected
forgetPath
(path
):Promise
<void
>
Remove the localForage and checkpoints for a path.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The path to the file |
Returns#
Promise
<void
>
Defined in#
get
#
get
(path
,options?
):Promise
<null
|IModel
>
Get a file or directory.
Parameters#
Name |
Type |
---|---|
|
|
|
|
Returns#
Promise
<null
| IModel
>
A promise which resolves with the file content.
Implementation of#
IContents.get
Defined in#
initStorage
#
Protected
initStorage
():Promise
<void
>
Initialize all storage instances
Returns#
Promise
<void
>
Defined in#
initialize
#
initialize
():Promise
<void
>
Finish any initialization after server has started and all extensions are applied.
Returns#
Promise
<void
>
Defined in#
listCheckpoints
#
listCheckpoints
(path
):Promise
<ICheckpointModel
[]>
List available checkpoints for a file.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
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#
newUntitled
#
newUntitled
(options?
):Promise
<null
|IModel
>
Create a new untitled file or directory in the specified directory path.
Parameters#
Name |
Type |
---|---|
|
|
Returns#
Promise
<null
| IModel
>
A promise which resolves with the created file content when the file is created.
Implementation of#
IContents.newUntitled
Defined in#
normalizeCheckpoint
#
Protected
normalizeCheckpoint
(model
,id
):ICheckpointModel
Parameters#
Name |
Type |
---|---|
|
|
|
|
Returns#
ICheckpointModel
Defined in#
reduceBytesToString
#
Protected
reduceBytesToString
(data
,byte
):string
A reducer for turning arbitrary binary into a string
Parameters#
Name |
Type |
---|---|
|
|
|
|
Returns#
string
Defined in#
rename
#
rename
(oldLocalPath
,newLocalPath
):Promise
<IModel
>
Rename a file or directory.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The original file path. |
|
|
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#
restoreCheckpoint
#
restoreCheckpoint
(path
,checkpointID
):Promise
<void
>
Restore a file to a known checkpoint state.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The path of the file. |
|
|
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#
save
#
save
(path
,options?
):Promise
<null
|IModel
>
Save a file.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The desired file path. |
|
|
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