UNPKG

redink

Version:
62 lines (49 loc) 5.06 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.redink = exports.isResourceArray = exports.isResource = exports.disconnect = exports.model = undefined; var _Redink = require('./Redink'); var _Redink2 = _interopRequireDefault(_Redink); var _Resource = require('./Resource'); var _Resource2 = _interopRequireDefault(_Resource); var _ResourceArray = require('./ResourceArray'); var _ResourceArray2 = _interopRequireDefault(_ResourceArray); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function singleton() { if (singleton.instance) { return { instance: function instance() { return singleton.instance; }, disconnect: function disconnect() { return singleton.instance.disconnect(); } }; } return { connect: function connect(options) { singleton.instance = new _Redink2.default(options); return singleton.instance.connect(); }, instance: function instance() { throw new Error('Tried invoking Redink\'s singleton instance without first starting it. This could be ' + 'because you tried importing `model` or `registerSchemas` from Redink without creating a ' + 'connection. Please try running redink().connect() before invoking any of Redink\'s ' + 'methods.'); } }; } var model = exports.model = function model() { var _singleton$instance; return (_singleton$instance = singleton().instance()).model.apply(_singleton$instance, arguments); }; var disconnect = exports.disconnect = function disconnect() { return singleton().instance().disconnect(); }; var isResource = exports.isResource = function isResource(resource) { return resource instanceof _Resource2.default; }; var isResourceArray = exports.isResourceArray = function isResourceArray(resourceArray) { return resourceArray instanceof _ResourceArray2.default; }; exports.redink = singleton; exports.default = singleton; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJzaW5nbGV0b24iLCJpbnN0YW5jZSIsImRpc2Nvbm5lY3QiLCJjb25uZWN0Iiwib3B0aW9ucyIsIkVycm9yIiwibW9kZWwiLCJpc1Jlc291cmNlIiwicmVzb3VyY2UiLCJpc1Jlc291cmNlQXJyYXkiLCJyZXNvdXJjZUFycmF5IiwicmVkaW5rIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxTQUFTQSxTQUFULEdBQXFCO0FBQ25CLE1BQUlBLFVBQVVDLFFBQWQsRUFBd0I7QUFDdEIsV0FBTztBQUNMQSxjQURLLHNCQUNNO0FBQ1QsZUFBT0QsVUFBVUMsUUFBakI7QUFDRCxPQUhJO0FBS0xDLGdCQUxLLHdCQUtRO0FBQ1gsZUFBT0YsVUFBVUMsUUFBVixDQUFtQkMsVUFBbkIsRUFBUDtBQUNEO0FBUEksS0FBUDtBQVNEOztBQUVELFNBQU87QUFDTEMsV0FESyxtQkFDR0MsT0FESCxFQUNZO0FBQ2ZKLGdCQUFVQyxRQUFWLEdBQXFCLHFCQUFXRyxPQUFYLENBQXJCO0FBQ0EsYUFBT0osVUFBVUMsUUFBVixDQUFtQkUsT0FBbkIsRUFBUDtBQUNELEtBSkk7QUFNTEYsWUFOSyxzQkFNTTtBQUNULFlBQU0sSUFBSUksS0FBSixDQUNKLDBGQUNBLDBGQURBLEdBRUEscUZBRkEsR0FHQSxVQUpJLENBQU47QUFNRDtBQWJJLEdBQVA7QUFlRDs7QUFFTSxJQUFNQyx3QkFBUSxTQUFSQSxLQUFRO0FBQUE7O0FBQUEsU0FBYSxtQ0FBWUwsUUFBWixJQUF1QkssS0FBdkIsc0NBQWI7QUFBQSxDQUFkO0FBQ0EsSUFBTUosa0NBQWEsU0FBYkEsVUFBYTtBQUFBLFNBQU1GLFlBQVlDLFFBQVosR0FBdUJDLFVBQXZCLEVBQU47QUFBQSxDQUFuQjtBQUNBLElBQU1LLGtDQUFhLFNBQWJBLFVBQWEsQ0FBQ0MsUUFBRDtBQUFBLFNBQWNBLHNDQUFkO0FBQUEsQ0FBbkI7QUFDQSxJQUFNQyw0Q0FBa0IsU0FBbEJBLGVBQWtCLENBQUNDLGFBQUQ7QUFBQSxTQUFtQkEsZ0RBQW5CO0FBQUEsQ0FBeEI7O1FBRWVDLE0sR0FBYlgsUztrQkFDTUEsUyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWRpbmsgZnJvbSAnLi9SZWRpbmsnO1xuaW1wb3J0IFJlc291cmNlIGZyb20gJy4vUmVzb3VyY2UnO1xuaW1wb3J0IFJlc291cmNlQXJyYXkgZnJvbSAnLi9SZXNvdXJjZUFycmF5JztcblxuZnVuY3Rpb24gc2luZ2xldG9uKCkge1xuICBpZiAoc2luZ2xldG9uLmluc3RhbmNlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluc3RhbmNlKCkge1xuICAgICAgICByZXR1cm4gc2luZ2xldG9uLmluc3RhbmNlO1xuICAgICAgfSxcblxuICAgICAgZGlzY29ubmVjdCgpIHtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5pbnN0YW5jZS5kaXNjb25uZWN0KCk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNvbm5lY3Qob3B0aW9ucykge1xuICAgICAgc2luZ2xldG9uLmluc3RhbmNlID0gbmV3IFJlZGluayhvcHRpb25zKTtcbiAgICAgIHJldHVybiBzaW5nbGV0b24uaW5zdGFuY2UuY29ubmVjdCgpO1xuICAgIH0sXG5cbiAgICBpbnN0YW5jZSgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RyaWVkIGludm9raW5nIFJlZGlua1xcJ3Mgc2luZ2xldG9uIGluc3RhbmNlIHdpdGhvdXQgZmlyc3Qgc3RhcnRpbmcgaXQuIFRoaXMgY291bGQgYmUgJyArXG4gICAgICAgICdiZWNhdXNlIHlvdSB0cmllZCBpbXBvcnRpbmcgYG1vZGVsYCBvciBgcmVnaXN0ZXJTY2hlbWFzYCBmcm9tIFJlZGluayB3aXRob3V0IGNyZWF0aW5nIGEgJyArXG4gICAgICAgICdjb25uZWN0aW9uLiBQbGVhc2UgdHJ5IHJ1bm5pbmcgcmVkaW5rKCkuY29ubmVjdCgpIGJlZm9yZSBpbnZva2luZyBhbnkgb2YgUmVkaW5rXFwncyAnICtcbiAgICAgICAgJ21ldGhvZHMuJ1xuICAgICAgKTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgbW9kZWwgPSAoLi4uYXJncykgPT4gc2luZ2xldG9uKCkuaW5zdGFuY2UoKS5tb2RlbCguLi5hcmdzKTtcbmV4cG9ydCBjb25zdCBkaXNjb25uZWN0ID0gKCkgPT4gc2luZ2xldG9uKCkuaW5zdGFuY2UoKS5kaXNjb25uZWN0KCk7XG5leHBvcnQgY29uc3QgaXNSZXNvdXJjZSA9IChyZXNvdXJjZSkgPT4gcmVzb3VyY2UgaW5zdGFuY2VvZiBSZXNvdXJjZTtcbmV4cG9ydCBjb25zdCBpc1Jlc291cmNlQXJyYXkgPSAocmVzb3VyY2VBcnJheSkgPT4gcmVzb3VyY2VBcnJheSBpbnN0YW5jZW9mIFJlc291cmNlQXJyYXk7XG5cbmV4cG9ydCB7IHNpbmdsZXRvbiBhcyByZWRpbmsgfTtcbmV4cG9ydCBkZWZhdWx0IHNpbmdsZXRvbjtcbiJdfQ==