Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

@sms/objects-s3

Classes

S3Error

Defined in: packages/drivers/objects/s3/src/index.ts:38

Extends

  • Error

Constructors

Constructor
new S3Error(
   status, 
   body, 
   method, 
   key?
): S3Error;

Defined in: packages/drivers/objects/s3/src/index.ts:41

Parameters
ParameterType
statusnumber
bodystring
methodstring
key?string
Returns

S3Error

Overrides
Error.constructor

Properties

cause?
optional cause?: unknown;

Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts:26

Inherited from
Error.cause
code?
readonly optional code?: string;

Defined in: packages/drivers/objects/s3/src/index.ts:40

message
message: string;

Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1077

Inherited from
Error.message
name
name: string;

Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from
Error.name
stack?
optional stack?: string;

Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1078

Inherited from
Error.stack
status
readonly status: number;

Defined in: packages/drivers/objects/s3/src/index.ts:39

stackTraceLimit
static stackTraceLimit: number;

Defined in: node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/globals.d.ts:68

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from
Error.stackTraceLimit

Methods

captureStackTrace()
static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/globals.d.ts:52

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();
Parameters
ParameterType
targetObjectobject
constructorOpt?Function
Returns

void

Inherited from
Error.captureStackTrace
prepareStackTrace()
static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/globals.d.ts:56

Parameters
ParameterType
errError
stackTracesCallSite[]
Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from
Error.prepareStackTrace

Interfaces

S3Options

Defined in: packages/drivers/objects/s3/src/index.ts:23

Properties

accessKeyId
accessKeyId: string;

Defined in: packages/drivers/objects/s3/src/index.ts:25

bucket
bucket: string;

Defined in: packages/drivers/objects/s3/src/index.ts:24

endpoint?
optional endpoint?: string;

Defined in: packages/drivers/objects/s3/src/index.ts:31

Service URL without the bucket. Default AWS (https://s3.<region>.amazonaws.com).

fetch?
optional fetch?: {
  (input, init?): Promise<Response>;
  (input, init?): Promise<Response>;
};

Defined in: packages/drivers/objects/s3/src/index.ts:35

Injected for tests. Default global fetch.

Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
ParameterType
inputRequestInfo | URL
init?RequestInit
Returns

Promise<Response>

Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
ParameterType
inputstring | Request | URL
init?RequestInit
Returns

Promise<Response>

forcePathStyle?
optional forcePathStyle?: boolean;

Defined in: packages/drivers/objects/s3/src/index.ts:33

https://host/bucket/key instead of https://bucket.host/key. Needed for MinIO and local endpoints. Default: on when endpoint is set.

region?
optional region?: string;

Defined in: packages/drivers/objects/s3/src/index.ts:29

AWS region; auto for R2, anything (e.g. us-east-1) for MinIO. Default us-east-1.

secretAccessKey
secretAccessKey: string;

Defined in: packages/drivers/objects/s3/src/index.ts:26

sessionToken?
optional sessionToken?: string;

Defined in: packages/drivers/objects/s3/src/index.ts:27


SigV4Credentials

Defined in: packages/drivers/objects/s3/src/sigv4.ts:6

AWS Signature Version 4 for S3-style requests, over WebCrypto only (Node, Workers, browsers). Bodies are signed as UNSIGNED-PAYLOAD, which S3, MinIO and R2 all accept over HTTPS (and MinIO over plain HTTP).

Properties

accessKeyId
accessKeyId: string;

Defined in: packages/drivers/objects/s3/src/sigv4.ts:7

region
region: string;

Defined in: packages/drivers/objects/s3/src/sigv4.ts:10

secretAccessKey
secretAccessKey: string;

Defined in: packages/drivers/objects/s3/src/sigv4.ts:8

service?
optional service?: string;

Defined in: packages/drivers/objects/s3/src/sigv4.ts:11

sessionToken?
optional sessionToken?: string;

Defined in: packages/drivers/objects/s3/src/sigv4.ts:9

Functions

createS3ObjectStore()

function createS3ObjectStore(opts): ObjectStore;

Defined in: packages/drivers/objects/s3/src/index.ts:66

Parameters

ParameterType
optsS3Options

Returns

ObjectStore


signRequest()

function signRequest(creds, input): Promise<Record<string, string>>;

Defined in: packages/drivers/objects/s3/src/sigv4.ts:69

Returns the headers to send: the input’s plus host, x-amz-date, x-amz-content-sha256, authorization.

Parameters

ParameterType
credsSigV4Credentials
inputSignInput

Returns

Promise<Record<string, string>>