DefaultHandlerBuilder.prototype.arrayToDirectory(options: Readonly<ArrayToDirectoryHandlerOptions>): FluentHandler
Create a new storage handler for arrays of objects, writing them to a directory -- this handler writes array contents to directories in the file system, delegating to other handlers for the actual storage of the object's properties.
Directory value storage handlers only respond to canStoreValue
when the value is an array.
The intent is to write out a directory where the array contents are stored as directories, each representing an
object in the array. The name of each directory is taken from a property in the object. The keyProperty
parameter
determines which property is used.
If the array items are found not to be objects or not to contain the key property, the handler's storeValue
method will reject with a TypeError
.
Note: In the case of sparse arrays, only the items with values will be written out.
The handlers are evaluated in order when processing each property in the object to store. If a handler's
canStoreValue
method returns true
for a property, it will be used to store the value. If no handler can store
an object-valued property, the directory object storage handler will recursively store that value, too. Remaining
non-object values cause an error to be raised or are either ignored, depending on the value of the
ValueStorageHandlerOptions.strict
option.
options: Readonly<ArrayToDirectoryHandlerOptions>
The options and parameters to control the specifics of the handler.
An object implementing the FluentHandler
interface that stores arrays of objects as directories.