Package Exports
- minibase-better-define
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (minibase-better-define) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
minibase-better-define

Plugin for base and minibase that overrides the core
.define
method to be more better.
Install
Install with npm
$ npm i minibase-better-define --save
Usage
For more use-cases see the tests
const minibaseBetterDefine = require('minibase-better-define')
API
minibaseBetterDefine
Overrides core
.define
method of your application. Thatopts
option is optional and does nothing. It is just convention each plugin to export function that returns a plugin.
Params
opts
{Object}: optional, no options currentlyreturns
{Function}: plugin that can be pass to base/minibase's.use
method
Example
var betterDefine = require('minibase-better-define')
var MiniBase = require('minibase').MiniBase
var app = new MiniBase()
app.use(betterDefine())
// or as Base plugin
var Base = require('base')
var base = new Base()
base.use(betterDefine())
.define
Defines a non-enumerable property to application instance if first argument
key
is not an object, but string. Ifkey
is object, it works like define-property lib.
It also gives you few more things:
1) if value
is function it emits
key
event when that method is called and with arguments - that
function and passed arguments to that function.
2) adds that method's name to app.registered[pluginName]
where plugin name is the string passed to .isRegistered
method
if exists and is used.
Params
key
{String|Object}: name of the property; if object works as define-propertyvalue
{any}: any javascript value; if function it emits event withkey
nameprops
{Object}: works as third argument of define-propertyreturns
{Object}: instance of minibase for chaining, or base instance if used as Base plugin
Example
app.use(betterDefine())
app.define('foobar', function (a, b) {
return a + b
})
app.on('foobar', function listener (fn, arg1, arg2) {
console.log(fn) // => the `foobar` method function
console.log(arg1) // => 111
console.log(arg2) // => 222
})
console.log(app.foobar(111, 222)) // => 333
// or use it as normal `define-property`
var obj = {}
app.define(obj, 'foo', 123)
app.define(obj, 'qux', 'bar')
app.define(obj, 'aaa', function aaa () {})
console.log(obj.foo) // => 123
console.log(obj.qux) // => 'bar'
console.log(obj.aaa) // => Function: aaa
Related
- always-done: Handle completion and errors with elegance! Support for streams, callbacks, promises, child processes, async/await and sync functions. A drop-in replacement for async-done - pass 100… more | homepage
- minibase-assert: Plugin for minibase and base, that adds assertion methods - most of assert-kindof methods and built-ins assert module. | homepage
- minibase-is-registered: Plugin for minibase and base, that adds
isRegistered
method to your application to detect if plugin is already registered and returns true or false if… more | homepage - minibase-visit: Plugin for minibase and base, that adds
.visit
method to your application to visit a method over the items in an object, or map visit… more | homepage - minibase: MiniBase is minimalist approach to Base - @node-base, the awesome framework. Foundation for building complex APIs with small units called plugins. Works well with most… more | homepage
- mukla: Small, parallel and fast test framework with suppport for async/await, promises, callbacks, streams and observables. Targets and works at node.js v0.10 and above. | homepage
- try-catch-core: Low-level package to handle completion and errors of sync or asynchronous functions, using once and dezalgo libs. Useful for and used in higher-level libs such… more | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.