var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _CoreManager = _interopRequireDefault(require("./CoreManager")); var _ParseError = _interopRequireDefault(require("./ParseError")); var _ParseObject2 = _interopRequireDefault(require("./ParseObject")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); } var DEVICE_TYPES = { IOS: 'ios', MACOS: 'macos', TVOS: 'tvos', FCM: 'fcm', ANDROID: 'android', WEB: 'web' }; var ParseInstallation = function (_ParseObject) { function ParseInstallation(attributes) { var _this; (0, _classCallCheck2.default)(this, ParseInstallation); _this = _callSuper(this, ParseInstallation, ['_Installation']); if (attributes && typeof attributes === 'object') { if (!_this.set(attributes)) { throw new Error("Can't create an invalid Installation"); } } return _this; } (0, _inherits2.default)(ParseInstallation, _ParseObject); return (0, _createClass2.default)(ParseInstallation, [{ key: "appIdentifier", get: function () { return this.get('appIdentifier'); } }, { key: "appVersion", get: function () { return this.get('appVersion'); } }, { key: "appName", get: function () { return this.get('appName'); } }, { key: "badge", get: function () { return this.get('badge'); } }, { key: "channels", get: function () { return this.get('channels'); } }, { key: "deviceToken", get: function () { return this.get('deviceToken'); } }, { key: "deviceType", get: function () { return this.get('deviceType'); } }, { key: "GCMSenderId", get: function () { return this.get('GCMSenderId'); } }, { key: "installationId", get: function () { return this.get('installationId'); } }, { key: "localeIdentifier", get: function () { return this.get('localeIdentifier'); } }, { key: "parseVersion", get: function () { return this.get('parseVersion'); } }, { key: "pushType", get: function () { return this.get('pushType'); } }, { key: "timeZone", get: function () { return this.get('timeZone'); } }, { key: "fetch", value: function () { var _fetch = (0, _asyncToGenerator2.default)(function* () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } try { yield (0, _get2.default)((0, _getPrototypeOf2.default)(ParseInstallation.prototype), "fetch", this).apply(this, args); } catch (e) { if (e.code !== _ParseError.default.OBJECT_NOT_FOUND) { throw e; } delete this.id; this._getId(); this._markAllFieldsDirty(); yield (0, _get2.default)((0, _getPrototypeOf2.default)(ParseInstallation.prototype), "save", this).apply(this, args); } yield _CoreManager.default.getInstallationController().updateInstallationOnDisk(this); return this; }); function fetch() { return _fetch.apply(this, arguments); } return fetch; }() }, { key: "save", value: function () { var _save = (0, _asyncToGenerator2.default)(function* () { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } try { yield (0, _get2.default)((0, _getPrototypeOf2.default)(ParseInstallation.prototype), "save", this).apply(this, args); } catch (e) { if (e.code !== _ParseError.default.OBJECT_NOT_FOUND) { throw e; } delete this.id; this._getId(); this._markAllFieldsDirty(); yield (0, _get2.default)((0, _getPrototypeOf2.default)(ParseInstallation.prototype), "save", this).apply(this, args); } yield _CoreManager.default.getInstallationController().updateInstallationOnDisk(this); return this; }); function save() { return _save.apply(this, arguments); } return save; }() }, { key: "_markAllFieldsDirty", value: function () { for (var _ref of Object.entries(this.attributes)) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2); var key = _ref2[0]; var value = _ref2[1]; this.set(key, value); } } }], [{ key: "DEVICE_TYPES", get: function () { return DEVICE_TYPES; } }, { key: "currentInstallation", value: function () { return _CoreManager.default.getInstallationController().currentInstallation(); } }]); }(_ParseObject2.default); _ParseObject2.default.registerSubclass('_Installation', ParseInstallation); module.exports = ParseInstallation; var _default = exports.default = ParseInstallation;