Skip to content

Latest commit

 

History

History
474 lines (265 loc) · 11.5 KB

api.md

File metadata and controls

474 lines (265 loc) · 11.5 KB

Lump of clay-db

Functions

create() -> ClayLump

Create a lump instance. Just an alias of new ClayLump(config) Example:

async function tryClayLump () {
   let lump = clayLump({
     // Options here
   })
   const Product = lump.resource('Product')
   // ... //
 }
 tryClayLump()

isLump(instance) -> Boolean

Check if an instance is a lump

Param Type Description
instance * Instance to check

ClayLump Class

Local storage of Clay DB.

Extends:

  • PolicyMixed
  • DriverMixed
  • MergeMixed
  • ResourceMixed

new ClayLump(name, options)

Constructor of ClayLump class

Param Type Description
name string Lump name
options Object Optional settings
options.driver Driver Clay driver instance

lump.sync(lump) -> Promise

Two-way merge

Param Type Description
lump ClayLump Lump to sync

lump.assert()

Asset lump state and throw error if something is wrong

lump.dump(dirname, options) -> Promise

Dump database

Param Type Description
dirname string Directory name to dump
options Object Optional settings
options.force boolean Override if already exists

lump.restore(dirname, options) -> Promise

Restore database

Param Type Description
dirname string Directory name of the dump
options Object Optional settings
options.force boolean Override existing data

lump.close() -> Promise

Close database

lump.registerPolicies(policies)

Register policies

Param Type Description
policies Object Policies to register

lump.registerPolicy(name, policy)

Register a policy

Param Type Description
name string Resource name to apply policy
policy ClayPolicy Policies to register

lump.getPolicy(name) -> ClayPolicy

Get a policy

Param Type Description
name string Name of policy

lump.registerDriver(driver)

Register a driver

Param Type Description
driver Driver Driver to register

lump.merge(lump, options) -> Promise

Merge another lump

Param Type Description
lump ClayLump Lump to merge
options Object Optional settings

lump.mergeResource(resource) -> Promise

Merge a resource

Param Type Description
resource ClayResource Resource to merge

lump.resource(resourceName, options) -> ClayResource

Get a resource with name

Param Type Description
resourceName string,Object Name of resource
options Object Optional settings
options.renew boolean Use no cache

lump.setResource(resourceName, resource) -> ResourceMixed

Set resource with name

Param Type Description
resourceName string Name of resource
resource ClayResource Resource to set

lump.getResource(resourceName) -> ClayResource

Get resource by name

Param Type Description
resourceName string Name of resource

lump.resourceNames() -> Promise.<Array.<string>>

Get all resource names Return all resources

DriverMixed Class

new DriverMixed()

Constructor of DriverMixed class

mixed.registerDriver(driver)

Register a driver

Param Type Description
driver Driver Driver to register

MergeMixed Class

new MergeMixed()

Constructor of MergeMixed class

mixed.merge(lump, options) -> Promise

Merge another lump

Param Type Description
lump ClayLump Lump to merge
options Object Optional settings

mixed.mergeResource(resource) -> Promise

Merge a resource

Param Type Description
resource ClayResource Resource to merge

PolicyMixed Class

new PolicyMixed()

Constructor of PolicyMixed class

mixed.registerPolicies(policies)

Register policies

Param Type Description
policies Object Policies to register

mixed.registerPolicy(name, policy)

Register a policy

Param Type Description
name string Resource name to apply policy
policy ClayPolicy Policies to register

mixed.getPolicy(name) -> ClayPolicy

Get a policy

Param Type Description
name string Name of policy

RefMixed Class

new RefMixed()

Constructor of RefMixed class

mixed.resolveEntityRef(ref) -> Promise.<Entity>

Resolve ref string

Param Type Description
ref string Ref string (eg. "User#1")

ResourceMixed Class

new ResourceMixed()

Constructor of ResourceMixed class

mixed.resource(resourceName, options) -> ClayResource

Get a resource with name

Param Type Description
resourceName string,Object Name of resource
options Object Optional settings
options.renew boolean Use no cache

mixed.setResource(resourceName, resource) -> ResourceMixed

Set resource with name

Param Type Description
resourceName string Name of resource
resource ClayResource Resource to set

mixed.getResource(resourceName) -> ClayResource

Get resource by name

Param Type Description
resourceName string Name of resource

mixed.resourceNames() -> Promise.<Array.<string>>

Get all resource names Return all resources