0.6.1 • Published 9 years ago
bijection v0.6.1
bijection
Map an input Object x
to an output Object y
via a bijective function f
, i.e. f: X -> Y
Install
$ npm install bijection --save
Usage
var Bijection = require('bijection');
var LegacyAccount = {
identity: 'crmacct',
attributes: {
crmacct_id: 'integer',
crmacct_name: 'string'
}
};
var Account = {
identity: 'Account',
attributes: {
id: 'integer',
sobriquet: 'string',
}
};
var AccountBijection = new Bijection({
domain: Account,
codomain: [ LegacyAccount ],
mapping: {
id: 'crmacct_id',
sobriquet: 'crmacct_name'
}
});
var tjwebbLegacyAccount = AccountBijection.map({ id: 1, sobriquet: 'tjwebb' });
/**
* tjwebbLegacyAccount = {
* crmacct_id: 1,
* crmacct_name: 'tjwebb'
* };
*/
API
new Bijection(f)
Create a new bijection between two domains
@param | description |
---|---|
f.domain | The input domain |
f.codomain | The output domain |
f.mapping | Declarative object that indicates the mapping from X -> Y |
.map(x)
Map an input Object x
to an output Object y
via a bijective function f
, i.e. f: X -> Y
@param | description |
---|---|
x | The input object to map onto codomain Y |
@return | description |
y | A particular image of codomain Y resulting from mapping an input x onto it |
License
MIT