@rtorcato/cf-common
Interfaces
R2Store
Defined in: index.ts:13
A typed view over a single R2Bucket binding. Raw object methods pass
straight through; the *JSON helpers (de)serialize and set the content type.
Note: presigned URLs are intentionally not here — they require the S3-compatible API with account credentials and SigV4 signing, which is a separate concern.
Type Parameters
T
T
Methods
get()
get(
key):Promise<R2ObjectBody|null>
Defined in: index.ts:14
Parameters
key
string
Returns
Promise<R2ObjectBody | null>
getJSON()
getJSON(
key):Promise<T|null>
Defined in: index.ts:15
Parameters
key
string
Returns
Promise<T | null>
put()
put(
key,value,options?):Promise<R2Object|null>
Defined in: index.ts:16
Parameters
key
string
value
options?
R2PutOptions
Returns
Promise<R2Object | null>
putJSON()
putJSON(
key,value,options?):Promise<R2Object|null>
Defined in: index.ts:17
Parameters
key
string
value
T
options?
R2PutOptions
Returns
Promise<R2Object | null>
head()
head(
key):Promise<R2Object|null>
Defined in: index.ts:18
Parameters
key
string
Returns
Promise<R2Object | null>
delete()
delete(
keys):Promise<void>
Defined in: index.ts:19
Parameters
keys
string | string[]
Returns
Promise<void>
list()
list(
options?):Promise<R2Objects>
Defined in: index.ts:20
Parameters
options?
R2ListOptions
Returns
Promise<R2Objects>
Type Aliases
R2PutValue
R2PutValue =
ReadableStream|ArrayBuffer|ArrayBufferView|string|Blob|null
Defined in: index.ts:4
Value types accepted by the R2 binding's put/uploadPart.
Functions
createR2Store()
createR2Store<
T>(bucket):R2Store<T>
Defined in: index.ts:31
Wrap an R2Bucket binding as a typed store with JSON convenience helpers.
Type Parameters
T
T = unknown
Parameters
bucket
R2Bucket
Returns
R2Store<T>
Example
const docs = createR2Store<Doc>(env.DOCS)
await docs.putJSON('a.json', doc)
const doc = await docs.getJSON('a.json') // Doc | null
multipartUpload()
multipartUpload(
bucket,key,parts,options?):Promise<R2Object>
Defined in: index.ts:63
Drive a complete multipart upload: create → upload each part → complete, aborting the upload if any part fails. Parts must be pre-chunked by the caller (every part except the last must be ≥ 5 MiB, per R2's limits).
Parameters
bucket
R2Bucket
key
string
parts
(string | ReadableStream<any> | ArrayBuffer | ArrayBufferView | Blob)[]
options?
R2MultipartOptions
Returns
Promise<R2Object>