Skip to content

Minima.js API


Minima.js API / @minimajs/disk / plugins / partition

Function: partition()

ts
function partition(options): (disk) => void;

Partition plugin — automatically organizes files into subdirectories on write.

The path passed to put is preserved as the filename; a prefix is prepended. Files stored under the partitioned path must be accessed using the full path.

Parameters

options

PartitionOptions | PartitionGenerator

Returns

ts
(disk): void;

Parameters

disk

Disk

Returns

void

Examples

ts
// Date-based: uploads become 2024/01/15/avatar.jpg
const disk = createDisk({ driver }, partition({ by: 'date' }))
await disk.put('avatar.jpg', data) // stored at 2024/01/15/avatar.jpg
ts
// Hash-based: uploads become ab/cd/avatar.jpg (first 4 chars of sha256(path))
const disk = createDisk({ driver }, partition({ by: 'hash' }))
await disk.put('avatar.jpg', data) // stored at ab/cd/avatar.jpg
ts
// Custom generator — full control over the prefix
const disk = createDisk({ driver }, partition((path) => `custom/${path.split('.').pop()}`))
await disk.put('avatar.jpg', data) // stored at custom/jpg/avatar.jpg