{"version":3,"sources":["jsdelivr-header.js","/npm/graphql-model@0.0.9/lib/index.js"],"names":[],"mappings":"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","file":"/npm/graphql-model@0.0.9/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/graphql-model@0.0.9/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Model = exports.clear = exports.get = exports.create = exports.config = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = require('./util');\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SIGNATURE = {};\n\nvar getCleanObject = function getCleanObject() {\n  return Object.create(null);\n};\n\nvar createSetter = function createSetter(key) {\n  return function set(value) {\n    this._data[key] = value;\n    delete this[key];\n  };\n};\n\nvar models = getCleanObject();\nvar globalDefaultRead = true;\nvar globalDefaultReadFail = null;\nvar globalDefaultCache = true;\n\nvar getModel = function getModel(model) {\n  return typeof model === 'string' ? models[model] : model;\n};\n\nvar createChildModel = function createChildModel(parent, Class, data) {\n  return new Class(data, parent._context, parent, parent._root);\n};\n\nvar createModelMapFn = function createModelMapFn(Class) {\n  return function (data) {\n    return data && createChildModel(this, Class, data);\n  };\n};\n\nvar createSimpleGetter = function createSimpleGetter(key) {\n  return function () {\n    return this._data[key];\n  };\n};\n\nvar wrapGetterWithModel = function wrapGetterWithModel(key, getter, _ref) {\n  var type = _ref.type;\n  var list = _ref.list;\n\n  if (!type) {\n    return getter;\n  }\n\n  var _mapFn = void 0;\n  if (typeof type === 'string') {\n    _mapFn = function mapFn(data) {\n      if (!models[type]) {\n        throw new Error('Unknown field model. model=\\'' + type + '\\'');\n      }\n      _mapFn = createModelMapFn(models[type]);\n      return _mapFn.call(this, data);\n    };\n  } else {\n    _mapFn = createModelMapFn(type);\n  }\n\n  if (list) {\n    // List type field.\n    return function get() {\n      var val = getter.call(this);\n      return val && val.map(_mapFn, this);\n    };\n  }\n\n  // Non-list type field.\n  return function get() {\n    return _mapFn.call(this, getter.call(this));\n  };\n};\n\nvar wrapGetterWithAccess = function wrapGetterWithAccess(key, getter, _ref2) {\n  var read = _ref2.read;\n  var readFail = _ref2.readFail;\n\n  if (read === true) {\n    return getter;\n  }\n\n  if (!read) {\n    if (typeof readFail === 'function') {\n      return function get() {\n        return readFail(this, key);\n      };\n    }\n    return function get() {\n      return readFail;\n    };\n  }\n\n  if (typeof readFail === 'function') {\n    return function get() {\n      if (read(this, key)) {\n        return getter.call(this);\n      }\n      return readFail(this, key);\n    };\n  }\n\n  return function get() {\n    if (read(this, key)) {\n      return getter.call(this);\n    }\n    return readFail;\n  };\n};\n\nvar wrapGetterWithCache = function wrapGetterWithCache(key, getter, _ref3) {\n  var _ref3$cache = _ref3.cache;\n  var cache = _ref3$cache === undefined ? globalDefaultCache : _ref3$cache;\n\n  if (!cache) {\n    return getter;\n  }\n\n  return function get() {\n    var value = getter.call(this);\n    this[key] = value;\n    (0, _util.setProperty)(this, key, value);\n    return value;\n  };\n};\n\nvar createGetter = function createGetter(prototype, key, rule) {\n  var getter = void 0;\n  getter = createSimpleGetter(key);\n  getter = wrapGetterWithModel(key, getter, rule);\n  getter = wrapGetterWithAccess(key, getter, rule);\n  getter = wrapGetterWithCache(key, getter, rule);\n  return getter;\n};\n\n// exports\n\nvar config = exports.config = function config(defaults) {\n  if ('read' in defaults) globalDefaultRead = defaults.read;\n  if ('readFail' in defaults) globalDefaultReadFail = defaults.readFail;\n  if ('cache' in defaults) globalDefaultCache = Boolean(defaults.cache);\n};\n\nvar create = exports.create = function create() {\n  var _ref4 = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n  var name = _ref4.name;\n  var _ref4$base = _ref4.base;\n  var base = _ref4$base === undefined ? Model : _ref4$base;\n  var _ref4$props = _ref4.props;\n  var props = _ref4$props === undefined ? getCleanObject() : _ref4$props;\n  var _ref4$rules = _ref4.rules;\n  var rules = _ref4$rules === undefined ? getCleanObject() : _ref4$rules;\n  var _ref4$interfaces = _ref4.interfaces;\n  var interfaces = _ref4$interfaces === undefined ? [] : _ref4$interfaces;\n\n  var NewModel = function (_base) {\n    _inherits(NewModel, _base);\n\n    function NewModel() {\n      _classCallCheck(this, NewModel);\n\n      return _possibleConstructorReturn(this, Object.getPrototypeOf(NewModel).apply(this, arguments));\n    }\n\n    return NewModel;\n  }(base);\n\n  // name\n  if (models[name]) {\n    throw new Error('\\'' + name + '\\' model already exists!');\n  }\n  models[name] = NewModel;\n  (0, _util.defineClassName)(NewModel, name);\n\n  // signature\n  (0, _util.defineStatic)(NewModel, '$signature', SIGNATURE);\n\n  // props\n\n  var Props = function Props(model) {\n    _classCallCheck(this, Props);\n\n    this.$model = model;\n  };\n\n  (0, _util.defineStatic)(NewModel, '$Props', Props);\n\n  (0, _util.forEach)(props, function (fn, key) {\n    return (0, _util.defineLazyProperty)(Props.prototype, key, function () {\n      return fn.call(this, this.$model);\n    });\n  });\n\n  (0, _util.defineLazyProperty)(NewModel.prototype, '$props', function () {\n    return new Props(this);\n  });\n\n  // interfaces\n  (0, _util.defineStatic)(NewModel, '$interfaces', interfaces);\n\n  if (base !== Model) {\n    (0, _util.inheritClass)(NewModel, base);\n    if (base.$Props) (0, _util.inheritClass)(Props, base.$Props);\n  }\n\n  interfaces.forEach(function (from) {\n    (0, _util.inheritClass)(NewModel, from);\n    if (from.$Props) (0, _util.inheritClass)(Props, from.$Props);\n  });\n\n  // rules\n  var _rules$$default = rules.$default;\n  _rules$$default = _rules$$default === undefined ? {} : _rules$$default;\n  var _rules$$default$read = _rules$$default.read;\n  var defaultRead = _rules$$default$read === undefined ? globalDefaultRead : _rules$$default$read;\n  var _rules$$default$readF = _rules$$default.readFail;\n  var defaultReadFail = _rules$$default$readF === undefined ? globalDefaultReadFail : _rules$$default$readF;\n\n  var otherRules = _objectWithoutProperties(rules, ['$default']);\n\n  (0, _util.forEach)(otherRules, function (rule, key) {\n    if (rule === true) {\n      rule = {\n        read: true,\n        readFail: defaultReadFail\n      };\n    } else if (rule === false) {\n      rule = {\n        read: false,\n        readFail: defaultReadFail\n      };\n    } else if (typeof rule === 'function') {\n      rule = {\n        read: rule,\n        readFail: defaultReadFail\n      };\n    } else {\n      if (rule.read === undefined) rule.read = defaultRead;\n      if (rule.readFail === undefined) rule.readFail = defaultReadFail;\n    }\n\n    (0, _util.defineGetterSetter)(NewModel.prototype, key, createGetter(NewModel.prototype, key, rule), createSetter(key));\n  });\n\n  return NewModel;\n};\n\nvar get = exports.get = getModel;\n\nvar clear = exports.clear = function clear() {\n  models = getCleanObject();\n};\n\nvar Model = exports.Model = function () {\n  function Model(data, context, parent, root) {\n    _classCallCheck(this, Model);\n\n    this._data = data;\n    this._parent = parent || null;\n    this._root = root || this;\n    this._context = context;\n  }\n\n  _createClass(Model, [{\n    key: '$destroy',\n    value: function $destroy() {\n      delete this._data;\n      delete this._parent;\n      delete this._context;\n    }\n  }, {\n    key: '$get',\n    value: function $get(name) {\n      return this._data[name];\n    }\n  }, {\n    key: '$parentOfType',\n    value: function $parentOfType(type) {\n      var Model = getModel(type);\n      var p = this;\n      while (p = p._parent) {\n        if (p instanceof Model) {\n          return p;\n        }\n      }\n      return null;\n    }\n  }, {\n    key: '$createChild',\n    value: function $createChild(model, data) {\n      return createChildModel(this, getModel(model), data);\n    }\n  }, {\n    key: '$createChildren',\n    value: function $createChildren(model, list) {\n      var _this2 = this;\n\n      var Class = getModel(model);\n      return list && list.map(function (data) {\n        return createChildModel(_this2, Class, data);\n      });\n    }\n  }, {\n    key: '$implements',\n    value: function $implements(Type) {\n      return this.constructor.$interfaces.indexOf(Type) >= 0;\n    }\n  }, {\n    key: '$data',\n    get: function get() {\n      return this._data;\n    }\n  }, {\n    key: '$parent',\n    get: function get() {\n      return this._parent;\n    }\n  }, {\n    key: '$context',\n    get: function get() {\n      return this._context;\n    }\n  }, {\n    key: '$root',\n    get: function get() {\n      return this._root;\n    }\n  }]);\n\n  return Model;\n}();\n\nexports.default = {\n  config: config,\n  create: create,\n  get: get,\n  clear: clear,\n  Model: Model\n};"]}