1 line
34 KiB
Plaintext
1 line
34 KiB
Plaintext
{"version":3,"sources":["../yjs/node_modules/browser-pack/_prelude.js","src/IndexedDB.js","y-indexeddb.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","TypeError","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","_classCallCheck","instance","Constructor","extend","Y","Store","transaction","name","this","store","objectStore","_createClass","key","regeneratorRuntime","mark","find","id","wrap","_context","prev","next","get","abrupt","sent","stop","put","v","_context2","_delete","_context3","findWithLowerBound","start","_context4","openCursor","window","IDBKeyRange","lowerBound","findWithUpperBound","end","_context5","upperBound","findNext","_context6","delegateYield","t0","findPrev","_context7","iterate","gen","range","cursorResult","_context8","bound","result","Transaction","_Y$Transaction","_this","getPrototypeOf","db","ss","os","ds","OperationStore","_Y$AbstractDatabase","y","opts","_this2","namespace","idbVersion","requestTransaction","_callee","_context9","indexedDB","open","cleanStart","_callee2","_context10","clear","operationsToAdd","addEventListener","event","push","newValue","_callee3","add","op","_context11","keys","t1","done","JSON","parse","struct","getOperation","t2","operationAdded","noAdd","_context12","_get","localStorage","stringify","makeGen","handleTransactions","request","getNextRequest","IDBRequest","onsuccess","res","IDBCursorWithValue","onerror","err","IDBCursor","IDBOpenDBRequest","target","onupgradeneeded","createObjectStore","keyPath","console","log","destroy","_context13","close","deleteDatabase","AbstractDatabase","object","property","receiver","Function","desc","getOwnPropertyDescriptor","undefined","parent","getter","defineProperties","props","descriptor","defineProperty","protoProps","staticProps"],"mappings":"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","file":"y-indexeddb.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})","/* global Y */\r\n'use strict'\r\n\r\nfunction extend (Y) {\r\n class Store {\r\n constructor (transaction, name) {\r\n this.store = transaction.objectStore(name)\r\n }\r\n * find (id) {\r\n return yield this.store.get(id)\r\n }\r\n * put (v) {\r\n yield this.store.put(v)\r\n }\r\n * delete (id) {\r\n yield this.store.delete(id)\r\n }\r\n * findWithLowerBound (start) {\r\n return yield this.store.openCursor(window.IDBKeyRange.lowerBound(start))\r\n }\r\n * findWithUpperBound (end) {\r\n return yield this.store.openCursor(window.IDBKeyRange.upperBound(end), 'prev')\r\n }\r\n * findNext (id) {\r\n return yield* this.findWithLowerBound([id[0], id[1] + 1])\r\n }\r\n * findPrev (id) {\r\n return yield* this.findWithUpperBound([id[0], id[1] - 1])\r\n }\r\n * iterate (t, start, end, gen) {\r\n var range = null\r\n if (start != null && end != null) {\r\n range = window.IDBKeyRange.bound(start, end)\r\n } else if (start != null) {\r\n range = window.IDBKeyRange.lowerBound(start)\r\n } else if (end != null) {\r\n range = window.IDBKeyRange.upperBound(end)\r\n }\r\n var cursorResult = this.store.openCursor(range)\r\n while ((yield cursorResult) != null) {\r\n yield* gen.call(t, cursorResult.result.value)\r\n cursorResult.result.continue()\r\n }\r\n }\r\n\r\n }\r\n class Transaction extends Y.Transaction {\r\n constructor (store) {\r\n super(store)\r\n var transaction = store.db.transaction(['OperationStore', 'StateStore', 'DeleteStore'], 'readwrite')\r\n this.store = store\r\n this.ss = new Store(transaction, 'StateStore')\r\n this.os = new Store(transaction, 'OperationStore')\r\n this.ds = new Store(transaction, 'DeleteStore')\r\n }\r\n }\r\n class OperationStore extends Y.AbstractDatabase {\r\n constructor (y, opts) {\r\n super(y, opts)\r\n if (opts == null) {\r\n opts = {}\r\n }\r\n if (opts.namespace == null || typeof opts.namespace !== 'string') {\r\n throw new Error('IndexedDB: expect a string (opts.namespace)!')\r\n } else {\r\n this.namespace = opts.namespace\r\n }\r\n if (opts.idbVersion != null) {\r\n this.idbVersion = opts.idbVersion\r\n } else {\r\n this.idbVersion = 5\r\n }\r\n var store = this\r\n // initialize database!\r\n this.requestTransaction(function * () {\r\n store.db = yield window.indexedDB.open(opts.namespace, store.idbVersion)\r\n })\r\n if (opts.cleanStart) {\r\n this.requestTransaction(function * () {\r\n yield this.os.store.clear()\r\n yield this.ds.store.clear()\r\n yield this.ss.store.clear()\r\n })\r\n }\r\n var operationsToAdd = []\r\n window.addEventListener('storage', function (event) {\r\n if (event.key === '__YJS__' + store.namespace) {\r\n operationsToAdd.push(event.newValue)\r\n if (operationsToAdd.length === 1) {\r\n store.requestTransaction(function * () {\r\n var add = operationsToAdd\r\n operationsToAdd = []\r\n for (var i in add) {\r\n // don't call the localStorage event twice..\r\n var op = JSON.parse(add[i])\r\n if (op.struct !== 'Delete') {\r\n op = yield* this.getOperation(op.id)\r\n }\r\n yield* this.store.operationAdded(this, op, true)\r\n }\r\n })\r\n }\r\n }\r\n }, false)\r\n }\r\n * operationAdded (transaction, op, noAdd) {\r\n yield* super.operationAdded(transaction, op)\r\n if (!noAdd) {\r\n window.localStorage['__YJS__' + this.namespace] = JSON.stringify(op)\r\n }\r\n }\r\n transact (makeGen) {\r\n var transaction = this.db != null ? new Transaction(this) : null\r\n var store = this\r\n\r\n var gen = makeGen.call(transaction)\r\n handleTransactions(gen.next())\r\n\r\n function handleTransactions (result) {\r\n var request = result.value\r\n if (result.done) {\r\n makeGen = store.getNextRequest()\r\n if (makeGen != null) {\r\n if (transaction == null && store.db != null) {\r\n transaction = new Transaction(store)\r\n }\r\n gen = makeGen.call(transaction)\r\n handleTransactions(gen.next())\r\n } // else no transaction in progress!\r\n return\r\n }\r\n if (request.constructor === window.IDBRequest) {\r\n request.onsuccess = function () {\r\n var res = request.result\r\n if (res != null && res.constructor === window.IDBCursorWithValue) {\r\n res = res.value\r\n }\r\n handleTransactions(gen.next(res))\r\n }\r\n request.onerror = function (err) {\r\n gen.throw(err)\r\n }\r\n } else if (request.constructor === window.IDBCursor) {\r\n request.onsuccess = function () {\r\n handleTransactions(gen.next(request.result != null ? request.result.value : null))\r\n }\r\n request.onerror = function (err) {\r\n gen.throw(err)\r\n }\r\n } else if (request.constructor === window.IDBOpenDBRequest) {\r\n request.onsuccess = function (event) {\r\n var db = event.target.result\r\n handleTransactions(gen.next(db))\r\n }\r\n request.onerror = function () {\r\n gen.throw(\"Couldn't open IndexedDB database!\")\r\n }\r\n request.onupgradeneeded = function (event) {\r\n var db = event.target.result\r\n try {\r\n db.createObjectStore('OperationStore', {keyPath: 'id'})\r\n db.createObjectStore('DeleteStore', {keyPath: 'id'})\r\n db.createObjectStore('StateStore', {keyPath: 'id'})\r\n } catch (e) {\r\n console.log('Store already exists!')\r\n }\r\n }\r\n } else {\r\n gen.throw('You must not yield this type!')\r\n }\r\n }\r\n }\r\n // TODO: implement \"free\"..\r\n * destroy () {\r\n this.db.close()\r\n yield window.indexedDB.deleteDatabase(this.namespace)\r\n }\r\n }\r\n Y.extend('indexeddb', OperationStore)\r\n}\r\n\r\nmodule.exports = extend\r\nif (typeof Y !== 'undefined') {\r\n extend(Y)\r\n}\r\n","(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n/* global Y */\n'use strict';\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\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\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction extend(Y) {\n var Store = function () {\n function Store(transaction, name) {\n _classCallCheck(this, Store);\n\n this.store = transaction.objectStore(name);\n }\n\n _createClass(Store, [{\n key: 'find',\n value: regeneratorRuntime.mark(function find(id) {\n return regeneratorRuntime.wrap(function find$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this.store.get(id);\n\n case 2:\n return _context.abrupt('return', _context.sent);\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, find, this);\n })\n }, {\n key: 'put',\n value: regeneratorRuntime.mark(function put(v) {\n return regeneratorRuntime.wrap(function put$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this.store.put(v);\n\n case 2:\n case 'end':\n return _context2.stop();\n }\n }\n }, put, this);\n })\n }, {\n key: 'delete',\n value: regeneratorRuntime.mark(function _delete(id) {\n return regeneratorRuntime.wrap(function _delete$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this.store.delete(id);\n\n case 2:\n case 'end':\n return _context3.stop();\n }\n }\n }, _delete, this);\n })\n }, {\n key: 'findWithLowerBound',\n value: regeneratorRuntime.mark(function findWithLowerBound(start) {\n return regeneratorRuntime.wrap(function findWithLowerBound$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this.store.openCursor(window.IDBKeyRange.lowerBound(start));\n\n case 2:\n return _context4.abrupt('return', _context4.sent);\n\n case 3:\n case 'end':\n return _context4.stop();\n }\n }\n }, findWithLowerBound, this);\n })\n }, {\n key: 'findWithUpperBound',\n value: regeneratorRuntime.mark(function findWithUpperBound(end) {\n return regeneratorRuntime.wrap(function findWithUpperBound$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this.store.openCursor(window.IDBKeyRange.upperBound(end), 'prev');\n\n case 2:\n return _context5.abrupt('return', _context5.sent);\n\n case 3:\n case 'end':\n return _context5.stop();\n }\n }\n }, findWithUpperBound, this);\n })\n }, {\n key: 'findNext',\n value: regeneratorRuntime.mark(function findNext(id) {\n return regeneratorRuntime.wrap(function findNext$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n return _context6.delegateYield(this.findWithLowerBound([id[0], id[1] + 1]), 't0', 1);\n\n case 1:\n return _context6.abrupt('return', _context6.t0);\n\n case 2:\n case 'end':\n return _context6.stop();\n }\n }\n }, findNext, this);\n })\n }, {\n key: 'findPrev',\n value: regeneratorRuntime.mark(function findPrev(id) {\n return regeneratorRuntime.wrap(function findPrev$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n return _context7.delegateYield(this.findWithUpperBound([id[0], id[1] - 1]), 't0', 1);\n\n case 1:\n return _context7.abrupt('return', _context7.t0);\n\n case 2:\n case 'end':\n return _context7.stop();\n }\n }\n }, findPrev, this);\n })\n }, {\n key: 'iterate',\n value: regeneratorRuntime.mark(function iterate(t, start, end, gen) {\n var range, cursorResult;\n return regeneratorRuntime.wrap(function iterate$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n range = null;\n\n if (start != null && end != null) {\n range = window.IDBKeyRange.bound(start, end);\n } else if (start != null) {\n range = window.IDBKeyRange.lowerBound(start);\n } else if (end != null) {\n range = window.IDBKeyRange.upperBound(end);\n }\n cursorResult = this.store.openCursor(range);\n\n case 3:\n _context8.next = 5;\n return cursorResult;\n\n case 5:\n _context8.t0 = _context8.sent;\n\n if (!(_context8.t0 != null)) {\n _context8.next = 11;\n break;\n }\n\n return _context8.delegateYield(gen.call(t, cursorResult.result.value), 't1', 8);\n\n case 8:\n cursorResult.result.continue();\n _context8.next = 3;\n break;\n\n case 11:\n case 'end':\n return _context8.stop();\n }\n }\n }, iterate, this);\n })\n }]);\n\n return Store;\n }();\n\n var Transaction = function (_Y$Transaction) {\n _inherits(Transaction, _Y$Transaction);\n\n function Transaction(store) {\n _classCallCheck(this, Transaction);\n\n var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(Transaction).call(this, store));\n\n var transaction = store.db.transaction(['OperationStore', 'StateStore', 'DeleteStore'], 'readwrite');\n _this.store = store;\n _this.ss = new Store(transaction, 'StateStore');\n _this.os = new Store(transaction, 'OperationStore');\n _this.ds = new Store(transaction, 'DeleteStore');\n return _this;\n }\n\n return Transaction;\n }(Y.Transaction);\n\n var OperationStore = function (_Y$AbstractDatabase) {\n _inherits(OperationStore, _Y$AbstractDatabase);\n\n function OperationStore(y, opts) {\n _classCallCheck(this, OperationStore);\n\n var _this2 = _possibleConstructorReturn(this, Object.getPrototypeOf(OperationStore).call(this, y, opts));\n\n if (opts == null) {\n opts = {};\n }\n if (opts.namespace == null || typeof opts.namespace !== 'string') {\n throw new Error('IndexedDB: expect a string (opts.namespace)!');\n } else {\n _this2.namespace = opts.namespace;\n }\n if (opts.idbVersion != null) {\n _this2.idbVersion = opts.idbVersion;\n } else {\n _this2.idbVersion = 5;\n }\n var store = _this2;\n // initialize database!\n _this2.requestTransaction(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return window.indexedDB.open(opts.namespace, store.idbVersion);\n\n case 2:\n store.db = _context9.sent;\n\n case 3:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee, this);\n }));\n if (opts.cleanStart) {\n _this2.requestTransaction(regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return this.os.store.clear();\n\n case 2:\n _context10.next = 4;\n return this.ds.store.clear();\n\n case 4:\n _context10.next = 6;\n return this.ss.store.clear();\n\n case 6:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee2, this);\n }));\n }\n var operationsToAdd = [];\n window.addEventListener('storage', function (event) {\n if (event.key === '__YJS__' + store.namespace) {\n operationsToAdd.push(event.newValue);\n if (operationsToAdd.length === 1) {\n store.requestTransaction(regeneratorRuntime.mark(function _callee3() {\n var add, i, op;\n return regeneratorRuntime.wrap(function _callee3$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n add = operationsToAdd;\n\n operationsToAdd = [];\n _context11.t0 = regeneratorRuntime.keys(add);\n\n case 3:\n if ((_context11.t1 = _context11.t0()).done) {\n _context11.next = 12;\n break;\n }\n\n i = _context11.t1.value;\n\n // don't call the localStorage event twice..\n op = JSON.parse(add[i]);\n\n if (!(op.struct !== 'Delete')) {\n _context11.next = 9;\n break;\n }\n\n return _context11.delegateYield(this.getOperation(op.id), 't2', 8);\n\n case 8:\n op = _context11.t2;\n\n case 9:\n return _context11.delegateYield(this.store.operationAdded(this, op, true), 't3', 10);\n\n case 10:\n _context11.next = 3;\n break;\n\n case 12:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee3, this);\n }));\n }\n }\n }, false);\n return _this2;\n }\n\n _createClass(OperationStore, [{\n key: 'operationAdded',\n value: regeneratorRuntime.mark(function operationAdded(transaction, op, noAdd) {\n return regeneratorRuntime.wrap(function operationAdded$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n return _context12.delegateYield(_get(Object.getPrototypeOf(OperationStore.prototype), 'operationAdded', this).call(this, transaction, op), 't0', 1);\n\n case 1:\n if (!noAdd) {\n window.localStorage['__YJS__' + this.namespace] = JSON.stringify(op);\n }\n\n case 2:\n case 'end':\n return _context12.stop();\n }\n }\n }, operationAdded, this);\n })\n }, {\n key: 'transact',\n value: function transact(makeGen) {\n var transaction = this.db != null ? new Transaction(this) : null;\n var store = this;\n\n var gen = makeGen.call(transaction);\n handleTransactions(gen.next());\n\n function handleTransactions(result) {\n var request = result.value;\n if (result.done) {\n makeGen = store.getNextRequest();\n if (makeGen != null) {\n if (transaction == null && store.db != null) {\n transaction = new Transaction(store);\n }\n gen = makeGen.call(transaction);\n handleTransactions(gen.next());\n } // else no transaction in progress!\n return;\n }\n if (request.constructor === window.IDBRequest) {\n request.onsuccess = function () {\n var res = request.result;\n if (res != null && res.constructor === window.IDBCursorWithValue) {\n res = res.value;\n }\n handleTransactions(gen.next(res));\n };\n request.onerror = function (err) {\n gen.throw(err);\n };\n } else if (request.constructor === window.IDBCursor) {\n request.onsuccess = function () {\n handleTransactions(gen.next(request.result != null ? request.result.value : null));\n };\n request.onerror = function (err) {\n gen.throw(err);\n };\n } else if (request.constructor === window.IDBOpenDBRequest) {\n request.onsuccess = function (event) {\n var db = event.target.result;\n handleTransactions(gen.next(db));\n };\n request.onerror = function () {\n gen.throw(\"Couldn't open IndexedDB database!\");\n };\n request.onupgradeneeded = function (event) {\n var db = event.target.result;\n try {\n db.createObjectStore('OperationStore', { keyPath: 'id' });\n db.createObjectStore('DeleteStore', { keyPath: 'id' });\n db.createObjectStore('StateStore', { keyPath: 'id' });\n } catch (e) {\n console.log('Store already exists!');\n }\n };\n } else {\n gen.throw('You must not yield this type!');\n }\n }\n }\n // TODO: implement \"free\"..\n\n }, {\n key: 'destroy',\n value: regeneratorRuntime.mark(function destroy() {\n return regeneratorRuntime.wrap(function destroy$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n this.db.close();\n _context13.next = 3;\n return window.indexedDB.deleteDatabase(this.namespace);\n\n case 3:\n case 'end':\n return _context13.stop();\n }\n }\n }, destroy, this);\n })\n }]);\n\n return OperationStore;\n }(Y.AbstractDatabase);\n\n Y.extend('indexeddb', OperationStore);\n}\n\nmodule.exports = extend;\nif (typeof Y !== 'undefined') {\n extend(Y);\n}\n\n},{}]},{},[1])\n\n"],"sourceRoot":"/source/"} |