2.2.0 • Published 6 years ago

tinbin v2.2.0

Weekly downloads
11
License
ISC
Repository
github
Last release
6 years ago

Very simple data bag.

You can put into and grab stuff from it. It's original use-case was to be a simple DI Container that can be used for run-time dynamic dependencies. It is a mutable container (and a thin wrapper around a simple object) so please use it with care.

Install

$ npm install tinbin

Usage

import Tinbin from 'tinbin'

const container = Tinbin({
  errorOnMissing: false,
})

container.put("foo", "bar")

container.get("foo") // bar
container.get("baz") // undefined
container.remove("foo")
container.get("foo") // undefined

API

Tinbin(options)

Returns a container instance.

options

Type: Object

errorOnMissing

Type: boolean Default: true

When true, will throw error on requesting a key with no value. Otherwise returns undefined.

onChange

Type: Function

Function to be invoked when data in container is changed (either put or remove is called). Function is called with two parameters - (key, value). If key was removed, value is undefined.

Instance API

container.get(key)

Returns the value for key. If key does not exist in container and it was made with ({errorOnMissing: true}) this function will throw an error. Otherwise it will return undefined.

key

Type: String

Key must be a string, as it needs to be valid key for object. In a future version container might move to using Map instead of object under the hood, which should allow for arbitrary keys.

container.put(key, value)

Store value under key. Successive get calls will see this value.

key

Type: String

value

Type: Any

container.remove(key)

Remove the key and value associated it with it from the container.

key

Type: String

2.2.0

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago