ironwing
Version:
Ironwing is a lightweight front-end data library for model like data representations
48 lines (34 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _model = require('./model');
var _model2 = _interopRequireDefault(_model);
var _storage = require('./storage');
var _storage2 = _interopRequireDefault(_storage);
function IW(type, id) {
if (!IW.adapter) {
IW.useAdapter('JSON', [IW.base || '/']);
}
return new _model2['default'](type, id, null, IW.adapter);
}
/**
* Instantiate an adapter so ironwing will use it
* @param {String} adapterName The adapter's name (eg. JSON)
* @param {Array} args An array of arguments
*/
IW.useAdapter = function (adapterName, args) {
var adapter;
if (IW.adapters && IW.adapters.hasOwnProperty(adapterName)) {
adapter = IW.adapters[adapterName];
adapter.init.apply(adapter, args);
IW.adapter = adapter;
}
};
IW.create = function (type, attr) {
return _model2['default'].create(type, attr, IW.adapter);
};
IW.storage = _storage2['default'];
exports['default'] = IW;
module.exports = exports['default'];