Skip to main content

Class: ChunkSplitter

Defined in: core-sdk/src/chunk/splitter.ts:66

Splits arbitrary data into a tree of 4096-byte chunks (the inverse of ChunkJoiner), calling onBatch with each level's sealed chunks as they fill up - e.g. to upload them, or (via erasure-coding/batch.ts) to add Reed-Solomon parity chunks.

Constructors​

Constructor​

new ChunkSplitter(onBatch, maxShards?, encrypted?, onIntermediateChunk?): ChunkSplitter

Defined in: core-sdk/src/chunk/splitter.ts:90

Parameters​

onBatch​

(batch) => Promise<ChunkEntry[]>

Called with each level's sealed chunks as a batch fills up; return any parity entries to append as extra references (empty array for no redundancy).

maxShards?​

number

Max data-chunk references per intermediate node. Defaults to as many as fit in one 4096-byte node; pass a smaller value (e.g. via erasure-coding's getMaxShards) to leave room for parity refs.

encrypted?​

boolean

onIntermediateChunk?​

(chunk, hasParity) => void

Called with each intermediate chunk as it's sealed, so callers can tag it (e.g. encoding a redundancy level into its span).

Returns​

ChunkSplitter

Properties​

NOOP()​

readonly static NOOP: (_) => Promise<ChunkEntry[]>

Defined in: core-sdk/src/chunk/splitter.ts:67

Parameters​

_​

ChunkEntry[]

Returns​

Promise<ChunkEntry[]>

Methods​

append()​

append(data, level?, spanIncrement?): Promise<void>

Defined in: core-sdk/src/chunk/splitter.ts:132

Appends more data to the tree, sealing and elevating chunks as needed. level/spanIncrement are internal - callers building a tree from raw input data should always call this at the default level 0.

Parameters​

data​

Uint8Array

level?​

number

spanIncrement?​

bigint

Returns​

Promise<void>


finalize()​

finalize(level?): Promise<ChunkBuilder>

Defined in: core-sdk/src/chunk/splitter.ts:217

Seals every level and returns the tree's root chunk. level is internal - callers should always start at the default level 0.

Parameters​

level?​

number

Returns​

Promise<ChunkBuilder>


encryptedRoot()​

static encryptedRoot(data): Promise<{ address: Reference; key: Uint8Array; }>

Defined in: core-sdk/src/chunk/splitter.ts:119

Splits data into an encrypted chunk tree (no upload callback) and returns the root's encrypted address and key.

Parameters​

data​

Uint8Array

Returns​

Promise<{ address: Reference; key: Uint8Array; }>


root()​

static root(data): Promise<ChunkBuilder>

Defined in: core-sdk/src/chunk/splitter.ts:108

Splits data into a chunk tree (no redundancy, no encryption, no upload callback) and returns just its root chunk.

Parameters​

data​

Uint8Array

Returns​

Promise<ChunkBuilder>

💬 Get Help