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
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.jpgts
// 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.jpgts
// 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