Class: InMemoryBlobAdapter
Defined in: adapters/in-memory/InMemoryBlobAdapter.ts:31
InMemoryBlobAdapter -- the blob adapter in a Map, for tests and the sandbox
About
Behaves like a bucket without one: copies in and out, keys with "/" as folders.
Implements IBlobAdapter so the FileStore runs with no infrastructure. signedUrl returns an in-memory:// URL
that nothing serves: a test asserts on it, a browser cannot open it.
Who needs it
The gateway tests (gatewayConfigBase), the dev sandbox and the cookbook's first run; a host app uses its own adapter.
Pitfalls
Production: nothing survives the process, nothing is shared between processes.
Implements
Constructors
Constructor
new InMemoryBlobAdapter():
InMemoryBlobAdapter
Returns
InMemoryBlobAdapter
Methods
get()
get(
__namedParameters):Promise<Uint8Array<ArrayBufferLike>>
Defined in: adapters/in-memory/InMemoryBlobAdapter.ts:80
get -- the bytes of a key
About
The whole blob, as stored.
Throws a 404 for a key that does not exist.
Who needs it
FileStore.getBytes.
Parameters
__namedParameters
key
string
Returns
Promise<Uint8Array<ArrayBufferLike>>
Implementation of
put()
put(
__namedParameters):Promise<void>
Defined in: adapters/in-memory/InMemoryBlobAdapter.ts:47
put -- stores the bytes under a key
About
Replace what was there; keep the media type with the bytes.
The mime is stored with the bytes so the signed URL can serve them with the right type.
Who needs it
FileStore.put.
Parameters
__namedParameters
bytes
Uint8Array
key
string
mime
string
Returns
Promise<void>
Implementation of
remove()
remove(
__namedParameters):Promise<void>
Defined in: adapters/in-memory/InMemoryBlobAdapter.ts:125
remove -- deletes one blob
About
Nothing when the key does not exist.
Removes the bytes and the media type stored under the key.
Who needs it
FileStore.remove.
Parameters
__namedParameters
key
string
Returns
Promise<void>
Implementation of
removeByPrefix()
removeByPrefix(
__namedParameters):Promise<number>
Defined in: adapters/in-memory/InMemoryBlobAdapter.ts:144
removeByPrefix -- deletes every blob under a prefix
About
A folder at a time: the prefix ends with "/".
Removes every blob whose key starts with the prefix and returns how many went.
Who needs it
FileStore.removeFilesByUser, for the user's folder (GDPR erasure).
Parameters
__namedParameters
prefix
string
Returns
Promise<number>
Implementation of
signedUrl()
signedUrl(
__namedParameters):Promise<string>
Defined in: adapters/in-memory/InMemoryBlobAdapter.ts:99
signedUrl -- a URL that serves the blob for a while
About
The storage serves the file, not the gateway.
A URL valid for ttlSec seconds. Throws a 404 for a key that does not exist.
Who needs it
FileStore.getSignedUrl.
Parameters
__namedParameters
key
string
ttlSec
number
Returns
Promise<string>