UNPKG

ironwing

Version:

Ironwing is a lightweight front-end data library for model like data representations

48 lines (34 loc) 1.12 kB
'use strict'; 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'];