Skip to content

devtin/duck-storage-di

Repository files navigation

duck-storage-di

Version

loads duck-storage entities from a path to provide a pleasure-di container

Installation

$ npm i duck-storage-di --save
# or
$ yarn add duck-storage-di

Features

Loads entities from directory

const { CustomerRack } = container
const customerData = {
  firstName: 'Martin',
  lastName: 'Gonzalez',
  email: 'tin@devtin.io',
  phoneNumber: 3051234567
}
const customer = await CustomerRack.create(customerData)
t.like(customer, customerData)
t.truthy(customer._id)
t.truthy(customer._v)

Loads methods

const { CustomerRack } = container

const doc = await CustomerRack.create({
  firstName: 'Martin',
  lastName: 'Gonzalez',
  email: 'tin@devtin.io',
  phoneNumber: 3051234567
})

let eventReceived

CustomerRack.on('method', (payload) => {
  eventReceived = payload
})

const newDoc = await CustomerRack.apply({ id: doc._id, _v: doc._v, method: 'addLog', payload: 'message' })
t.truthy(newDoc)
t.truthy(newDoc.entryResult)
t.truthy(newDoc.eventsDispatched)
t.like(eventReceived, newDoc.eventsDispatched[0])


duckStorageDi(directory, [baseDir], [modelPath], [methodsPath], [suffix], [storageOptions]) ⇒ Object

Param Type Default
directory String
[baseDir] String process.cwd()
[modelPath] String model
[methodsPath] String methods
[suffix] String Rack
[storageOptions] Object

Returns: Object - container and storage


License

MIT

© 2020-present Martin Rafael Gonzalez tin@devtin.io

About

loads duck-storage entities from a path to provide a pleasure-di container

Resources

Stars

Watchers

Forks

Packages

No packages published