From 21184e8b7bfb1cf4492fa398eb777da17c9fbca9 Mon Sep 17 00:00:00 2001 From: Dick van den Brink Date: Wed, 2 Apr 2014 23:50:29 +0200 Subject: [PATCH] When the assignment fails, overwrite indexedDB with the Object.defineProperty method --- dist/IndexedDBShim.js | 5 +++++ dist/IndexedDBShim.min.js | 7 ++++--- dist/IndexedDBShim.min.map | 2 +- src/globalVars.js | 6 ++++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dist/IndexedDBShim.js b/dist/IndexedDBShim.js index e4dbdcdf..81e238b0 100755 --- a/dist/IndexedDBShim.js +++ b/dist/IndexedDBShim.js @@ -1648,6 +1648,11 @@ var idbModules = {}; window.IDBTransaction = idbModules.IDBTransaction; window.IDBCursor = idbModules.IDBCursor; window.IDBKeyRange = idbModules.IDBKeyRange; + if (window.indexedDB !== idbModules.shimIndexedDB && Object.defineProperty) { + Object.defineProperty(window, 'indexedDB', { + value: idbModules.shimIndexedDB + }); + } }; window.shimIndexedDB.__debug = function(val){ idbModules.DEBUG = val; diff --git a/dist/IndexedDBShim.min.js b/dist/IndexedDBShim.min.js index f3a92b6d..24e5c5a5 100755 --- a/dist/IndexedDBShim.min.js +++ b/dist/IndexedDBShim.min.js @@ -1,3 +1,4 @@ -/*! IndexedDBShim - v0.1.2 - 2014-01-30 */ -"use strict";var idbModules={};(function(e){function t(e,t,n,o){n.target=t,"function"==typeof t[e]&&t[e].apply(t,[n]),"function"==typeof o&&o()}function n(t,n,o){var i=new DOMException.constructor(0,n);throw i.name=t,i.message=n,e.DEBUG&&(console.log(t,n,o,i),console.trace&&console.trace()),i}var o=function(){this.length=0,this._items=[],Object.defineProperty&&Object.defineProperty(this,"_items",{enumerable:!1})};if(o.prototype={contains:function(e){return-1!==this._items.indexOf(e)},item:function(e){return this._items[e]},indexOf:function(e){return this._items.indexOf(e)},push:function(e){this._items.push(e),this.length+=1;for(var t=0;this._items.length>t;t++)this[t]=this._items[t]},splice:function(){this._items.splice.apply(this._items,arguments),this.length=this._items.length;for(var e in this)e===parseInt(e,10)+""&&delete this[e];for(e=0;this._items.length>e;e++)this[e]=this._items[e]}},Object.defineProperty)for(var i in{indexOf:!1,push:!1,splice:!1})Object.defineProperty(o.prototype,i,{enumerable:!1});e.util={throwDOMException:n,callback:t,quote:function(e){return"'"+e+"'"},StringList:o}})(idbModules),function(idbModules){var Sca=function(){return{decycle:function(object,callback){function checkForCompletion(){0===queuedObjects.length&&returnCallback(derezObj)}function readBlobAsDataURL(e,t){var n=new FileReader;n.onloadend=function(e){var n=e.target.result,o="blob";updateEncodedBlob(n,t,o)},n.readAsDataURL(e)}function updateEncodedBlob(dataURL,path,blobtype){var encoded=queuedObjects.indexOf(path);path=path.replace("$","derezObj"),eval(path+'.$enc="'+dataURL+'"'),eval(path+'.$type="'+blobtype+'"'),queuedObjects.splice(encoded,1),checkForCompletion()}function derez(e,t){var n,o,i;if(!("object"!=typeof e||null===e||e instanceof Boolean||e instanceof Date||e instanceof Number||e instanceof RegExp||e instanceof Blob||e instanceof String)){for(n=0;objects.length>n;n+=1)if(objects[n]===e)return{$ref:paths[n]};if(objects.push(e),paths.push(t),"[object Array]"===Object.prototype.toString.apply(e))for(i=[],n=0;e.length>n;n+=1)i[n]=derez(e[n],t+"["+n+"]");else{i={};for(o in e)Object.prototype.hasOwnProperty.call(e,o)&&(i[o]=derez(e[o],t+"["+JSON.stringify(o)+"]"))}return i}return e instanceof Blob?(queuedObjects.push(t),readBlobAsDataURL(e,t)):e instanceof Boolean?e={$type:"bool",$enc:""+e}:e instanceof Date?e={$type:"date",$enc:e.getTime()}:e instanceof Number?e={$type:"num",$enc:""+e}:e instanceof RegExp&&(e={$type:"regex",$enc:""+e}),e}var objects=[],paths=[],queuedObjects=[],returnCallback=callback,derezObj=derez(object,"$");checkForCompletion()},retrocycle:function retrocycle($){function dataURLToBlob(e){var t,n,o,i=";base64,";if(-1===e.indexOf(i))return n=e.split(","),t=n[0].split(":")[1],o=n[1],new Blob([o],{type:t});n=e.split(i),t=n[0].split(":")[1],o=window.atob(n[1]);for(var r=o.length,a=new Uint8Array(r),s=0;r>s;++s)a[s]=o.charCodeAt(s);return new Blob([a.buffer],{type:t})}function rez(value){var i,item,name,path;if(value&&"object"==typeof value)if("[object Array]"===Object.prototype.toString.apply(value))for(i=0;value.length>i;i+=1)item=value[i],item&&"object"==typeof item&&(path=item.$ref,value[i]="string"==typeof path&&px.test(path)?eval(path):rez(item));else if(void 0!==value.$type)switch(value.$type){case"blob":case"file":value=dataURLToBlob(value.$enc);break;case"bool":value=Boolean("true"===value.$enc);break;case"date":value=new Date(value.$enc);break;case"num":value=Number(value.$enc);break;case"regex":value=eval(value.$enc)}else for(name in value)"object"==typeof value[name]&&(item=value[name],item&&(path=item.$ref,value[name]="string"==typeof path&&px.test(path)?eval(path):rez(item)));return value}var px=/^\$(?:\[(?:\d+|\"(?:[^\\\"\u0000-\u001f]|\\([\\\"\/bfnrt]|u[0-9a-zA-Z]{4}))*\")\])*$/;return rez($),$},encode:function(e,t){function n(e){t(JSON.stringify(e))}this.decycle(e,n)},decode:function(e){return this.retrocycle(JSON.parse(e))}}}();idbModules.Sca=Sca}(idbModules),function(e){var t=["","number","string","boolean","object","undefined"],n=function(){return{encode:function(e){return t.indexOf(typeof e)+"-"+JSON.stringify(e)},decode:function(e){return e===void 0?void 0:JSON.parse(e.substring(2))}}},o={number:n("number"),"boolean":n(),object:n(),string:{encode:function(e){return t.indexOf("string")+"-"+e},decode:function(e){return""+e.substring(2)}},undefined:{encode:function(){return t.indexOf("undefined")+"-undefined"},decode:function(){return void 0}}},i=function(){return{encode:function(e){return o[typeof e].encode(e)},decode:function(e){return o[t[e.substring(0,1)]].decode(e)}}}();e.Key=i}(idbModules),function(e){var t=function(e,t){return{type:e,debug:t,bubbles:!1,cancelable:!1,eventPhase:0,timeStamp:new Date}};e.Event=t}(idbModules),function(e){var t=function(){this.onsuccess=this.onerror=this.result=this.error=this.source=this.transaction=null,this.readyState="pending"},n=function(){this.onblocked=this.onupgradeneeded=null};n.prototype=t,e.IDBRequest=t,e.IDBOpenRequest=n}(idbModules),function(e,t){var n=function(e,t,n,o){this.lower=e,this.upper=t,this.lowerOpen=n,this.upperOpen=o};n.only=function(e){return new n(e,e,!1,!1)},n.lowerBound=function(e,o){return new n(e,t,o,t)},n.upperBound=function(e){return new n(t,e,t,open)},n.bound=function(e,t,o,i){return new n(e,t,o,i)},e.IDBKeyRange=n}(idbModules),function(e,t){function n(n,o,i,r,a,s){this.__range=n,this.source=this.__idbObjectStore=i,this.__req=r,this.key=t,this.direction=o,this.__keyColumnName=a,this.__valueColumnName=s,this.source.transaction.__active||e.util.throwDOMException("TransactionInactiveError - The transaction this IDBObjectStore belongs to is not active."),this.__offset=-1,this.__lastKeyContinued=t,this["continue"]()}n.prototype.__find=function(n,o,i,r){var a=this,s=["SELECT * FROM ",e.util.quote(a.__idbObjectStore.name)],u=[];s.push("WHERE ",a.__keyColumnName," NOT NULL"),a.__range&&(a.__range.lower||a.__range.upper)&&(s.push("AND"),a.__range.lower&&(s.push(a.__keyColumnName+(a.__range.lowerOpen?" >":" >= ")+" ?"),u.push(e.Key.encode(a.__range.lower))),a.__range.lower&&a.__range.upper&&s.push("AND"),a.__range.upper&&(s.push(a.__keyColumnName+(a.__range.upperOpen?" < ":" <= ")+" ?"),u.push(e.Key.encode(a.__range.upper)))),n!==t&&(a.__lastKeyContinued=n,a.__offset=0),a.__lastKeyContinued!==t&&(s.push("AND "+a.__keyColumnName+" >= ?"),u.push(e.Key.encode(a.__lastKeyContinued))),s.push("ORDER BY ",a.__keyColumnName),s.push("LIMIT 1 OFFSET "+a.__offset),e.DEBUG&&console.log(s.join(" "),u),o.executeSql(s.join(" "),u,function(n,o){if(1===o.rows.length){var r=e.Key.decode(o.rows.item(0)[a.__keyColumnName]),s=e.Key.decode(o.rows.item(0).key),u="value"===a.__valueColumnName?e.Sca.decode(o.rows.item(0)[a.__valueColumnName]):e.Key.decode(o.rows.item(0)[a.__valueColumnName]);i(r,u,s)}else e.DEBUG&&console.log("Reached end of cursors"),i(t,t)},function(t,n){e.DEBUG&&console.log("Could not execute Cursor.continue"),r(n)})},n.prototype["continue"]=function(e){var n=this;this.__idbObjectStore.transaction.__addToTransactionQueue(function(o,i,r,a){n.__offset++,n.__find(e,o,function(e,o,i){n.key=e,n.value=o,n.primaryKey=i,r(n.key!==t?n:t,n.__req)},function(e){a(e)})})},n.prototype.advance=function(n){0>=n&&e.util.throwDOMException("Type Error - Count is invalid - 0 or negative",n);var o=this;this.__idbObjectStore.transaction.__addToTransactionQueue(function(e,i,r,a){o.__offset+=n,o.__find(t,e,function(e,n){o.key=e,o.value=n,r(o.key!==t?o:t,o.__req)},function(e){a(e)})})},n.prototype.update=function(n){var o=this,i=this.__idbObjectStore.transaction.__createRequest(function(){});return e.Sca.encode(n,function(n){o.__idbObjectStore.transaction.__pushToQueue(i,function(i,r,a,s){o.__find(t,i,function(t,r,u){var c="UPDATE "+e.util.quote(o.__idbObjectStore.name)+" SET value = ? WHERE key = ?";e.DEBUG&&console.log(c,n,t,u),i.executeSql(c,[n,e.Key.encode(u)],function(e,n){1===n.rowsAffected?a(t):s("No rows with key found"+t)},function(e,t){s(t)})},function(e){s(e)})})}),i},n.prototype["delete"]=function(){var n=this;return this.__idbObjectStore.transaction.__addToTransactionQueue(function(o,i,r,a){n.__find(t,o,function(i,s,u){var c="DELETE FROM "+e.util.quote(n.__idbObjectStore.name)+" WHERE key = ?";e.DEBUG&&console.log(c,i,u),o.executeSql(c,[e.Key.encode(u)],function(e,o){1===o.rowsAffected?(n.__offset--,r(t)):a("No rows with key found"+i)},function(e,t){a(t)})},function(e){a(e)})})},e.IDBCursor=n}(idbModules),function(idbModules,undefined){function IDBIndex(e,t){this.indexName=this.name=e,this.__idbObjectStore=this.objectStore=this.source=t;var n=t.__storeProps&&t.__storeProps.indexList;n&&(n=JSON.parse(n)),this.keyPath=n&&n[e]&&n[e].keyPath||e,["multiEntry","unique"].forEach(function(t){this[t]=!!(n&&n[e]&&n[e].optionalParams&&n[e].optionalParams[t])},this)}IDBIndex.prototype.__createIndex=function(indexName,keyPath,optionalParameters){var me=this,transaction=me.__idbObjectStore.transaction;transaction.__addToTransactionQueue(function(tx,args,success,failure){me.__idbObjectStore.__getStoreProps(tx,function(){function error(){idbModules.util.throwDOMException(0,"Could not create new index",arguments)}2!==transaction.mode&&idbModules.util.throwDOMException(0,"Invalid State error, not a version transaction",me.transaction);var idxList=JSON.parse(me.__idbObjectStore.__storeProps.indexList);idxList[indexName]!==undefined&&idbModules.util.throwDOMException(0,"Index already exists on store",idxList);var columnName=indexName;idxList[indexName]={columnName:columnName,keyPath:keyPath,optionalParams:optionalParameters},me.__idbObjectStore.__storeProps.indexList=JSON.stringify(idxList);var sql=["ALTER TABLE",idbModules.util.quote(me.__idbObjectStore.name),"ADD",columnName,"BLOB"].join(" ");idbModules.DEBUG&&console.log(sql),tx.executeSql(sql,[],function(tx,data){tx.executeSql("SELECT * FROM "+idbModules.util.quote(me.__idbObjectStore.name),[],function(tx,data){(function initIndexForRow(i){if(data.rows.length>i)try{var value=idbModules.Sca.decode(data.rows.item(i).value),indexKey=eval("value['"+keyPath+"']");tx.executeSql("UPDATE "+idbModules.util.quote(me.__idbObjectStore.name)+" set "+columnName+" = ? where key = ?",[idbModules.Key.encode(indexKey),data.rows.item(i).key],function(){initIndexForRow(i+1)},error)}catch(e){initIndexForRow(i+1)}else idbModules.DEBUG&&console.log("Updating the indexes in table",me.__idbObjectStore.__storeProps),tx.executeSql("UPDATE __sys__ set indexList = ? where name = ?",[me.__idbObjectStore.__storeProps.indexList,me.__idbObjectStore.name],function(){me.__idbObjectStore.__setReadyState("createIndex",!0),success(me)},error)})(0)},error)},error)},"createObjectStore")})},IDBIndex.prototype.openCursor=function(e,t){var n=new idbModules.IDBRequest;return new idbModules.IDBCursor(e,t,this.source,n,this.indexName,"value"),n},IDBIndex.prototype.openKeyCursor=function(e,t){var n=new idbModules.IDBRequest;return new idbModules.IDBCursor(e,t,this.source,n,this.indexName,"key"),n},IDBIndex.prototype.__fetchIndexData=function(e,t){var n=this;return n.__idbObjectStore.transaction.__addToTransactionQueue(function(o,i,r,a){var s=["SELECT * FROM ",idbModules.util.quote(n.__idbObjectStore.name)," WHERE",n.indexName,"NOT NULL"],u=[];e!==undefined&&(s.push("AND",n.indexName," = ?"),u.push(idbModules.Key.encode(e))),idbModules.DEBUG&&console.log("Trying to fetch data for Index",s.join(" "),u),o.executeSql(s.join(" "),u,function(e,n){var o;o="count"===t?n.rows.length:0===n.rows.length?undefined:"key"===t?idbModules.Key.decode(n.rows.item(0).key):idbModules.Sca.decode(n.rows.item(0).value),r(o)},a)})},IDBIndex.prototype.get=function(e){return this.__fetchIndexData(e,"value")},IDBIndex.prototype.getKey=function(e){return this.__fetchIndexData(e,"key")},IDBIndex.prototype.count=function(e){return this.__fetchIndexData(e,"count")},idbModules.IDBIndex=IDBIndex}(idbModules),function(idbModules){var IDBObjectStore=function(e,t,n){this.name=e,this.transaction=t,this.__ready={},this.__setReadyState("createObjectStore",n===void 0?!0:n),this.indexNames=new idbModules.util.StringList};IDBObjectStore.prototype.__setReadyState=function(e,t){this.__ready[e]=t},IDBObjectStore.prototype.__waitForReady=function(e,t){var n=!0;if(t!==void 0)n=this.__ready[t]===void 0?!0:this.__ready[t];else for(var o in this.__ready)this.__ready[o]||(n=!1);if(n)e();else{idbModules.DEBUG&&console.log("Waiting for to be ready",t);var i=this;window.setTimeout(function(){i.__waitForReady(e,t)},100)}},IDBObjectStore.prototype.__getStoreProps=function(e,t,n){var o=this;this.__waitForReady(function(){o.__storeProps?(idbModules.DEBUG&&console.log("Store properties - cached",o.__storeProps),t(o.__storeProps)):e.executeSql("SELECT * FROM __sys__ where name = ?",[o.name],function(e,n){1!==n.rows.length?t():(o.__storeProps={name:n.rows.item(0).name,indexList:n.rows.item(0).indexList,autoInc:n.rows.item(0).autoInc,keyPath:n.rows.item(0).keyPath},idbModules.DEBUG&&console.log("Store properties",o.__storeProps),t(o.__storeProps))},function(){t()})},n)},IDBObjectStore.prototype.__deriveKey=function(tx,value,key,callback){function getNextAutoIncKey(){tx.executeSql("SELECT * FROM sqlite_sequence where name like ?",[me.name],function(e,t){1!==t.rows.length?callback(0):callback(t.rows.item(0).seq)},function(e,t){idbModules.util.throwDOMException(0,"Data Error - Could not get the auto increment value for key",t)})}var me=this;me.__getStoreProps(tx,function(props){if(props||idbModules.util.throwDOMException(0,"Data Error - Could not locate defination for this table",props),props.keyPath)if(key!==void 0&&idbModules.util.throwDOMException(0,"Data Error - The object store uses in-line keys and the key parameter was provided",props),value)try{var primaryKey=eval("value['"+props.keyPath+"']");primaryKey?callback(primaryKey):"true"===props.autoInc?getNextAutoIncKey():idbModules.util.throwDOMException(0,"Data Error - Could not eval key from keyPath")}catch(e){idbModules.util.throwDOMException(0,"Data Error - Could not eval key from keyPath",e)}else idbModules.util.throwDOMException(0,"Data Error - KeyPath was specified, but value was not");else key!==void 0?callback(key):"false"===props.autoInc?idbModules.util.throwDOMException(0,"Data Error - The object store uses out-of-line keys and has no key generator and the key parameter was not provided. ",props):getNextAutoIncKey()})},IDBObjectStore.prototype.__insertData=function(tx,encoded,value,primaryKey,success,error){var paramMap={};primaryKey!==void 0&&(paramMap.key=idbModules.Key.encode(primaryKey));var indexes=JSON.parse(this.__storeProps.indexList);for(var key in indexes)try{paramMap[indexes[key].columnName]=idbModules.Key.encode(eval("value['"+indexes[key].keyPath+"']"))}catch(e){error(e)}var sqlStart=["INSERT INTO ",idbModules.util.quote(this.name),"("],sqlEnd=[" VALUES ("],sqlValues=[];for(key in paramMap)sqlStart.push(key+","),sqlEnd.push("?,"),sqlValues.push(paramMap[key]);sqlStart.push("value )"),sqlEnd.push("?)"),sqlValues.push(encoded);var sql=sqlStart.join(" ")+sqlEnd.join(" ");idbModules.DEBUG&&console.log("SQL for adding",sql,sqlValues),tx.executeSql(sql,sqlValues,function(){success(primaryKey)},function(e,t){error(t)})},IDBObjectStore.prototype.add=function(e,t){var n=this,o=n.transaction.__createRequest(function(){});return idbModules.Sca.encode(e,function(i){n.transaction.__pushToQueue(o,function(o,r,a,s){n.__deriveKey(o,e,t,function(t){n.__insertData(o,i,e,t,a,s)})})}),o},IDBObjectStore.prototype.put=function(e,t){var n=this,o=n.transaction.__createRequest(function(){});return idbModules.Sca.encode(e,function(i){n.transaction.__pushToQueue(o,function(o,r,a,s){n.__deriveKey(o,e,t,function(t){var r="DELETE FROM "+idbModules.util.quote(n.name)+" where key = ?";o.executeSql(r,[idbModules.Key.encode(t)],function(o,r){idbModules.DEBUG&&console.log("Did the row with the",t,"exist? ",r.rowsAffected),n.__insertData(o,i,e,t,a,s)},function(e,t){s(t)})})})}),o},IDBObjectStore.prototype.get=function(e){var t=this;return t.transaction.__addToTransactionQueue(function(n,o,i,r){t.__waitForReady(function(){var o=idbModules.Key.encode(e);idbModules.DEBUG&&console.log("Fetching",t.name,o),n.executeSql("SELECT * FROM "+idbModules.util.quote(t.name)+" where key = ?",[o],function(e,t){idbModules.DEBUG&&console.log("Fetched data",t);try{if(0===t.rows.length)return i();i(idbModules.Sca.decode(t.rows.item(0).value))}catch(n){idbModules.DEBUG&&console.log(n),i(void 0)}},function(e,t){r(t)})})})},IDBObjectStore.prototype["delete"]=function(e){var t=this;return t.transaction.__addToTransactionQueue(function(n,o,i,r){t.__waitForReady(function(){var o=idbModules.Key.encode(e);idbModules.DEBUG&&console.log("Fetching",t.name,o),n.executeSql("DELETE FROM "+idbModules.util.quote(t.name)+" where key = ?",[o],function(e,t){idbModules.DEBUG&&console.log("Deleted from database",t.rowsAffected),i()},function(e,t){r(t)})})})},IDBObjectStore.prototype.clear=function(){var e=this;return e.transaction.__addToTransactionQueue(function(t,n,o,i){e.__waitForReady(function(){t.executeSql("DELETE FROM "+idbModules.util.quote(e.name),[],function(e,t){idbModules.DEBUG&&console.log("Cleared all records from database",t.rowsAffected),o()},function(e,t){i(t)})})})},IDBObjectStore.prototype.count=function(e){var t=this;return t.transaction.__addToTransactionQueue(function(n,o,i,r){t.__waitForReady(function(){var o="SELECT * FROM "+idbModules.util.quote(t.name)+(e!==void 0?" WHERE key = ?":""),a=[];e!==void 0&&a.push(idbModules.Key.encode(e)),n.executeSql(o,a,function(e,t){i(t.rows.length)},function(e,t){r(t)})})})},IDBObjectStore.prototype.openCursor=function(e,t){var n=new idbModules.IDBRequest;return new idbModules.IDBCursor(e,t,this,n,"key","value"),n},IDBObjectStore.prototype.index=function(e){var t=new idbModules.IDBIndex(e,this);return t},IDBObjectStore.prototype.createIndex=function(e,t,n){var o=this;n=n||{},o.__setReadyState("createIndex",!1);var i=new idbModules.IDBIndex(e,o);return o.__waitForReady(function(){i.__createIndex(e,t,n)},"createObjectStore"),o.indexNames.push(e),i},IDBObjectStore.prototype.deleteIndex=function(e){var t=new idbModules.IDBIndex(e,this,!1);return t.__deleteIndex(e),t},idbModules.IDBObjectStore=IDBObjectStore}(idbModules),function(e){var t=0,n=1,o=2,i=function(o,i,r){if("number"==typeof i)this.mode=i,2!==i&&e.DEBUG&&console.log("Mode should be a string, but was specified as ",i);else if("string"==typeof i)switch(i){case"readwrite":this.mode=n;break;case"readonly":this.mode=t;break;default:this.mode=t}this.storeNames="string"==typeof o?[o]:o;for(var a=0;this.storeNames.length>a;a++)r.objectStoreNames.contains(this.storeNames[a])||e.util.throwDOMException(0,"The operation failed because the requested database object could not be found. For example, an object store did not exist but was being opened.",this.storeNames[a]);this.__active=!0,this.__running=!1,this.__requests=[],this.__aborted=!1,this.db=r,this.error=null,this.onabort=this.onerror=this.oncomplete=null};i.prototype.__executeRequests=function(){if(this.__running&&this.mode!==o)return e.DEBUG&&console.log("Looks like the request set is already running",this.mode),void 0;this.__running=!0;var t=this;window.setTimeout(function(){2===t.mode||t.__active||e.util.throwDOMException(0,"A request was placed against a transaction which is currently not active, or which is finished",t.__active),t.db.__db.transaction(function(n){function o(t,n){n&&(a.req=n),a.req.readyState="done",a.req.result=t,delete a.req.error;var o=e.Event("success");e.util.callback("onsuccess",a.req,o),s++,r()}function i(){a.req.readyState="done",a.req.error="DOMError";var t=e.Event("error",arguments);e.util.callback("onerror",a.req,t),s++,r()}function r(){return s>=t.__requests.length?(t.__active=!1,t.__requests=[],void 0):(a=t.__requests[s],a.op(n,a.args,o,i),void 0)}t.__tx=n;var a=null,s=0;try{r()}catch(u){e.DEBUG&&console.log("An exception occured in transaction",arguments),"function"==typeof t.onerror&&t.onerror()}},function(){e.DEBUG&&console.log("An error in transaction",arguments),"function"==typeof t.onerror&&t.onerror()},function(){e.DEBUG&&console.log("Transaction completed",arguments),"function"==typeof t.oncomplete&&t.oncomplete()})},1)},i.prototype.__addToTransactionQueue=function(t,n){this.__active||this.mode===o||e.util.throwDOMException(0,"A request was placed against a transaction which is currently not active, or which is finished.",this.__mode);var i=this.__createRequest();return this.__pushToQueue(i,t,n),i},i.prototype.__createRequest=function(){var t=new e.IDBRequest;return t.source=this.db,t.transaction=this,t},i.prototype.__pushToQueue=function(e,t,n){this.__requests.push({op:t,args:n,req:e}),this.__executeRequests()},i.prototype.objectStore=function(t){return new e.IDBObjectStore(t,this)},i.prototype.abort=function(){!this.__active&&e.util.throwDOMException(0,"A request was placed against a transaction which is currently not active, or which is finished",this.__active)},i.prototype.READ_ONLY=0,i.prototype.READ_WRITE=1,i.prototype.VERSION_CHANGE=2,e.IDBTransaction=i}(idbModules),function(e){var t=function(t,n,o,i){this.__db=t,this.version=o,this.__storeProperties=i,this.objectStoreNames=new e.util.StringList;for(var r=0;i.rows.length>r;r++)this.objectStoreNames.push(i.rows.item(r).name);this.name=n,this.onabort=this.onerror=this.onversionchange=null};t.prototype.createObjectStore=function(t,n){var o=this;n=n||{},n.keyPath=n.keyPath||null;var i=new e.IDBObjectStore(t,o.__versionTransaction,!1),r=o.__versionTransaction;return r.__addToTransactionQueue(function(r,a,s){function u(){e.util.throwDOMException(0,"Could not create new object store",arguments)}o.__versionTransaction||e.util.throwDOMException(0,"Invalid State error",o.transaction);var c=["CREATE TABLE",e.util.quote(t),"(key BLOB",n.autoIncrement?", inc INTEGER PRIMARY KEY AUTOINCREMENT":"PRIMARY KEY",", value BLOB)"].join(" ");e.DEBUG&&console.log(c),r.executeSql(c,[],function(e){e.executeSql("INSERT INTO __sys__ VALUES (?,?,?,?)",[t,n.keyPath,n.autoIncrement?!0:!1,"{}"],function(){i.__setReadyState("createObjectStore",!0),s(i)},u)},u)}),o.objectStoreNames.push(t),i},t.prototype.deleteObjectStore=function(t){var n=function(){e.util.throwDOMException(0,"Could not delete ObjectStore",arguments)},o=this;!o.objectStoreNames.contains(t)&&n("Object Store does not exist"),o.objectStoreNames.splice(o.objectStoreNames.indexOf(t),1);var i=o.__versionTransaction;i.__addToTransactionQueue(function(){o.__versionTransaction||e.util.throwDOMException(0,"Invalid State error",o.transaction),o.__db.transaction(function(o){o.executeSql("SELECT * FROM __sys__ where name = ?",[t],function(o,i){i.rows.length>0&&o.executeSql("DROP TABLE "+e.util.quote(t),[],function(){o.executeSql("DELETE FROM __sys__ WHERE name = ?",[t],function(){},n)},n)})})})},t.prototype.close=function(){},t.prototype.transaction=function(t,n){var o=new e.IDBTransaction(t,n||1,this);return o},e.IDBDatabase=t}(idbModules),function(e){var t=4194304;if(window.openDatabase){var n=window.openDatabase("__sysdb__",1,"System Database",t);n.transaction(function(t){t.executeSql("SELECT * FROM dbVersions",[],function(){},function(){n.transaction(function(t){t.executeSql("CREATE TABLE IF NOT EXISTS dbVersions (name VARCHAR(255), version INT);",[],function(){},function(){e.util.throwDOMException("Could not create table __sysdb__ to save DB versions")})})})},function(){e.DEBUG&&console.log("Error in sysdb transaction - when selecting from dbVersions",arguments)});var o={open:function(o,i){function r(){if(!u){var t=e.Event("error",arguments);s.readyState="done",s.error="DOMError",e.util.callback("onerror",s,t),u=!0}}function a(a){var u=window.openDatabase(o,1,o,t);s.readyState="done",i===void 0&&(i=a||1),(0>=i||a>i)&&e.util.throwDOMException(0,"An attempt was made to open a database using a lower version than the existing version.",i),u.transaction(function(t){t.executeSql("CREATE TABLE IF NOT EXISTS __sys__ (name VARCHAR(255), keyPath VARCHAR(255), autoInc BOOLEAN, indexList BLOB)",[],function(){t.executeSql("SELECT * FROM __sys__",[],function(t,c){var d=e.Event("success");s.source=s.result=new e.IDBDatabase(u,o,i,c),i>a?n.transaction(function(t){t.executeSql("UPDATE dbVersions set version = ? where name = ?",[i,o],function(){var t=e.Event("upgradeneeded");t.oldVersion=a,t.newVersion=i,s.transaction=s.result.__versionTransaction=new e.IDBTransaction([],2,s.source),e.util.callback("onupgradeneeded",s,t,function(){var t=e.Event("success");e.util.callback("onsuccess",s,t)})},r)},r):e.util.callback("onsuccess",s,d)},r)},r)},r)}var s=new e.IDBOpenRequest,u=!1;return n.transaction(function(e){e.executeSql("SELECT * FROM dbVersions where name = ?",[o],function(e,t){0===t.rows.length?e.executeSql("INSERT INTO dbVersions VALUES (?,?)",[o,i||1],function(){a(0)},r):a(t.rows.item(0).version)},r)},r),s},deleteDatabase:function(o){function i(t){if(!s){a.readyState="done",a.error="DOMError";var n=e.Event("error");n.message=t,n.debug=arguments,e.util.callback("onerror",a,n),s=!0}}function r(){n.transaction(function(t){t.executeSql("DELETE FROM dbVersions where name = ? ",[o],function(){a.result=void 0;var t=e.Event("success");t.newVersion=null,t.oldVersion=u,e.util.callback("onsuccess",a,t)},i)},i)}var a=new e.IDBOpenRequest,s=!1,u=null;return n.transaction(function(n){n.executeSql("SELECT * FROM dbVersions where name = ?",[o],function(n,s){if(0===s.rows.length){a.result=void 0;var c=e.Event("success");return c.newVersion=null,c.oldVersion=u,e.util.callback("onsuccess",a,c),void 0}u=s.rows.item(0).version;var d=window.openDatabase(o,1,o,t);d.transaction(function(t){t.executeSql("SELECT * FROM __sys__",[],function(t,n){var o=n.rows;(function a(n){n>=o.length?t.executeSql("DROP TABLE __sys__",[],function(){r()},i):t.executeSql("DROP TABLE "+e.util.quote(o.item(n).name),[],function(){a(n+1)},function(){a(n+1)})})(0)},function(){r()})},i)})},i),a},cmp:function(t,n){return e.Key.encode(t)>e.Key.encode(n)?1:t===n?0:-1}};e.shimIndexedDB=o}}(idbModules),function(e,t){e.openDatabase!==void 0&&(e.shimIndexedDB=t.shimIndexedDB,e.shimIndexedDB&&(e.shimIndexedDB.__useShim=function(){e.indexedDB=t.shimIndexedDB,e.IDBDatabase=t.IDBDatabase,e.IDBTransaction=t.IDBTransaction,e.IDBCursor=t.IDBCursor,e.IDBKeyRange=t.IDBKeyRange},e.shimIndexedDB.__debug=function(e){t.DEBUG=e})),"indexedDB"in e||(e.indexedDB=e.indexedDB||e.webkitIndexedDB||e.mozIndexedDB||e.oIndexedDB||e.msIndexedDB),e.indexedDB===void 0&&e.openDatabase!==void 0?e.shimIndexedDB.__useShim():(e.IDBDatabase=e.IDBDatabase||e.webkitIDBDatabase,e.IDBTransaction=e.IDBTransaction||e.webkitIDBTransaction,e.IDBCursor=e.IDBCursor||e.webkitIDBCursor,e.IDBKeyRange=e.IDBKeyRange||e.webkitIDBKeyRange,e.IDBTransaction||(e.IDBTransaction={}),e.IDBTransaction.READ_ONLY=e.IDBTransaction.READ_ONLY||"readonly",e.IDBTransaction.READ_WRITE=e.IDBTransaction.READ_WRITE||"readwrite")}(window,idbModules); -//@ sourceMappingURL=http://nparashuram.com/IndexedDBShim/dist/IndexedDBShim.min.map \ No newline at end of file +/*! IndexedDBShim - v0.1.2 - 2014-04-02 */ + +"use strict";var idbModules={};!function(a){function b(a,b,c,d){c.target=b,"function"==typeof b[a]&&b[a].apply(b,[c]),"function"==typeof d&&d()}function c(b,c,d){var e=new DOMException.constructor(0,c);throw e.name=b,e.message=c,a.DEBUG&&(console.log(b,c,d,e),console.trace&&console.trace()),e}var d=function(){this.length=0,this._items=[],Object.defineProperty&&Object.defineProperty(this,"_items",{enumerable:!1})};if(d.prototype={contains:function(a){return-1!==this._items.indexOf(a)},item:function(a){return this._items[a]},indexOf:function(a){return this._items.indexOf(a)},push:function(a){this._items.push(a),this.length+=1;for(var b=0;bh;++h)g[h]=d.charCodeAt(h);return new Blob([g.buffer],{type:b})}function rez(value){var i,item,name,path;if(value&&"object"==typeof value)if("[object Array]"===Object.prototype.toString.apply(value))for(i=0;i":" >= ")+" ?"),i.push(a.Key.encode(g.__range.lower))),g.__range.lower&&g.__range.upper&&h.push("AND"),g.__range.upper&&(h.push(g.__keyColumnName+(g.__range.upperOpen?" < ":" <= ")+" ?"),i.push(a.Key.encode(g.__range.upper)))),"undefined"!=typeof c&&(g.__lastKeyContinued=c,g.__offset=0),g.__lastKeyContinued!==b&&(h.push("AND "+g.__keyColumnName+" >= ?"),i.push(a.Key.encode(g.__lastKeyContinued))),h.push("ORDER BY ",g.__keyColumnName),h.push("LIMIT 1 OFFSET "+g.__offset),a.DEBUG&&console.log(h.join(" "),i),d.executeSql(h.join(" "),i,function(c,d){if(1===d.rows.length){var f=a.Key.decode(d.rows.item(0)[g.__keyColumnName]),h=a.Key.decode(d.rows.item(0).key),i="value"===g.__valueColumnName?a.Sca.decode(d.rows.item(0)[g.__valueColumnName]):a.Key.decode(d.rows.item(0)[g.__valueColumnName]);e(f,i,h)}else a.DEBUG&&console.log("Reached end of cursors"),e(b,b)},function(b,c){a.DEBUG&&console.log("Could not execute Cursor.continue"),f(c)})},c.prototype["continue"]=function(a){var c=this;this.__idbObjectStore.transaction.__addToTransactionQueue(function(d,e,f,g){c.__offset++,c.__find(a,d,function(a,d,e){c.key=a,c.value=d,c.primaryKey=e,f("undefined"!=typeof c.key?c:b,c.__req)},function(a){g(a)})})},c.prototype.advance=function(c){0>=c&&a.util.throwDOMException("Type Error - Count is invalid - 0 or negative",c);var d=this;this.__idbObjectStore.transaction.__addToTransactionQueue(function(a,e,f,g){d.__offset+=c,d.__find(b,a,function(a,c){d.key=a,d.value=c,f("undefined"!=typeof d.key?d:b,d.__req)},function(a){g(a)})})},c.prototype.update=function(c){var d=this,e=this.__idbObjectStore.transaction.__createRequest(function(){});return a.Sca.encode(c,function(c){d.__idbObjectStore.transaction.__pushToQueue(e,function(e,f,g,h){d.__find(b,e,function(b,f,i){var j="UPDATE "+a.util.quote(d.__idbObjectStore.name)+" SET value = ? WHERE key = ?";a.DEBUG&&console.log(j,c,b,i),e.executeSql(j,[c,a.Key.encode(i)],function(a,c){1===c.rowsAffected?g(b):h("No rows with key found"+b)},function(a,b){h(b)})},function(a){h(a)})})}),e},c.prototype["delete"]=function(){var c=this;return this.__idbObjectStore.transaction.__addToTransactionQueue(function(d,e,f,g){c.__find(b,d,function(e,h,i){var j="DELETE FROM "+a.util.quote(c.__idbObjectStore.name)+" WHERE key = ?";a.DEBUG&&console.log(j,e,i),d.executeSql(j,[a.Key.encode(i)],function(a,d){1===d.rowsAffected?(c.__offset--,f(b)):g("No rows with key found"+e)},function(a,b){g(b)})},function(a){g(a)})})},a.IDBCursor=c}(idbModules),function(idbModules,undefined){function IDBIndex(a,b){this.indexName=this.name=a,this.__idbObjectStore=this.objectStore=this.source=b;var c=b.__storeProps&&b.__storeProps.indexList;c&&(c=JSON.parse(c)),this.keyPath=c&&c[a]&&c[a].keyPath||a,["multiEntry","unique"].forEach(function(b){this[b]=!!(c&&c[a]&&c[a].optionalParams&&c[a].optionalParams[b])},this)}IDBIndex.prototype.__createIndex=function(indexName,keyPath,optionalParameters){var me=this,transaction=me.__idbObjectStore.transaction;transaction.__addToTransactionQueue(function(tx,args,success,failure){me.__idbObjectStore.__getStoreProps(tx,function(){function error(){idbModules.util.throwDOMException(0,"Could not create new index",arguments)}2!==transaction.mode&&idbModules.util.throwDOMException(0,"Invalid State error, not a version transaction",me.transaction);var idxList=JSON.parse(me.__idbObjectStore.__storeProps.indexList);"undefined"!=typeof idxList[indexName]&&idbModules.util.throwDOMException(0,"Index already exists on store",idxList);var columnName=indexName;idxList[indexName]={columnName:columnName,keyPath:keyPath,optionalParams:optionalParameters},me.__idbObjectStore.__storeProps.indexList=JSON.stringify(idxList);var sql=["ALTER TABLE",idbModules.util.quote(me.__idbObjectStore.name),"ADD",columnName,"BLOB"].join(" ");idbModules.DEBUG&&console.log(sql),tx.executeSql(sql,[],function(tx,data){tx.executeSql("SELECT * FROM "+idbModules.util.quote(me.__idbObjectStore.name),[],function(tx,data){!function initIndexForRow(i){if(i=b.__requests.length?(b.__active=!1,b.__requests=[],void 0):(g=b.__requests[h],g.op(c,g.args,d,e),void 0)}b.__tx=c;var g=null,h=0;try{f()}catch(i){a.DEBUG&&console.log("An exception occured in transaction",arguments),"function"==typeof b.onerror&&b.onerror()}},function(){a.DEBUG&&console.log("An error in transaction",arguments),"function"==typeof b.onerror&&b.onerror()},function(){a.DEBUG&&console.log("Transaction completed",arguments),"function"==typeof b.oncomplete&&b.oncomplete()})},1)},e.prototype.__addToTransactionQueue=function(b,c){this.__active||this.mode===d||a.util.throwDOMException(0,"A request was placed against a transaction which is currently not active, or which is finished.",this.__mode);var e=this.__createRequest();return this.__pushToQueue(e,b,c),e},e.prototype.__createRequest=function(){var b=new a.IDBRequest;return b.source=this.db,b.transaction=this,b},e.prototype.__pushToQueue=function(a,b,c){this.__requests.push({op:b,args:c,req:a}),this.__executeRequests()},e.prototype.objectStore=function(b){return new a.IDBObjectStore(b,this)},e.prototype.abort=function(){!this.__active&&a.util.throwDOMException(0,"A request was placed against a transaction which is currently not active, or which is finished",this.__active)},e.prototype.READ_ONLY=0,e.prototype.READ_WRITE=1,e.prototype.VERSION_CHANGE=2,a.IDBTransaction=e}(idbModules),function(a){var b=function(b,c,d,e){this.__db=b,this.version=d,this.__storeProperties=e,this.objectStoreNames=new a.util.StringList;for(var f=0;f0&&d.executeSql("DROP TABLE "+a.util.quote(b),[],function(){d.executeSql("DELETE FROM __sys__ WHERE name = ?",[b],function(){},c)},c)})})})},b.prototype.close=function(){},b.prototype.transaction=function(b,c){var d=new a.IDBTransaction(b,c||1,this);return d},a.IDBDatabase=b}(idbModules),function(a){var b=4194304;if(window.openDatabase){var c=window.openDatabase("__sysdb__",1,"System Database",b);c.transaction(function(b){b.executeSql("SELECT * FROM dbVersions",[],function(){},function(){c.transaction(function(b){b.executeSql("CREATE TABLE IF NOT EXISTS dbVersions (name VARCHAR(255), version INT);",[],function(){},function(){a.util.throwDOMException("Could not create table __sysdb__ to save DB versions")})})})},function(){a.DEBUG&&console.log("Error in sysdb transaction - when selecting from dbVersions",arguments)});var d={open:function(d,e){function f(){if(!i){var b=a.Event("error",arguments);h.readyState="done",h.error="DOMError",a.util.callback("onerror",h,b),i=!0}}function g(g){var i=window.openDatabase(d,1,d,b);h.readyState="done","undefined"==typeof e&&(e=g||1),(0>=e||g>e)&&a.util.throwDOMException(0,"An attempt was made to open a database using a lower version than the existing version.",e),i.transaction(function(b){b.executeSql("CREATE TABLE IF NOT EXISTS __sys__ (name VARCHAR(255), keyPath VARCHAR(255), autoInc BOOLEAN, indexList BLOB)",[],function(){b.executeSql("SELECT * FROM __sys__",[],function(b,j){var k=a.Event("success");h.source=h.result=new a.IDBDatabase(i,d,e,j),e>g?c.transaction(function(b){b.executeSql("UPDATE dbVersions set version = ? where name = ?",[e,d],function(){var b=a.Event("upgradeneeded");b.oldVersion=g,b.newVersion=e,h.transaction=h.result.__versionTransaction=new a.IDBTransaction([],2,h.source),a.util.callback("onupgradeneeded",h,b,function(){var b=a.Event("success");a.util.callback("onsuccess",h,b)})},f)},f):a.util.callback("onsuccess",h,k)},f)},f)},f)}var h=new a.IDBOpenRequest,i=!1;return c.transaction(function(a){a.executeSql("SELECT * FROM dbVersions where name = ?",[d],function(a,b){0===b.rows.length?a.executeSql("INSERT INTO dbVersions VALUES (?,?)",[d,e||1],function(){g(0)},f):g(b.rows.item(0).version)},f)},f),h},deleteDatabase:function(d){function e(b){if(!h){g.readyState="done",g.error="DOMError";var c=a.Event("error");c.message=b,c.debug=arguments,a.util.callback("onerror",g,c),h=!0}}function f(){c.transaction(function(b){b.executeSql("DELETE FROM dbVersions where name = ? ",[d],function(){g.result=void 0;var b=a.Event("success");b.newVersion=null,b.oldVersion=i,a.util.callback("onsuccess",g,b)},e)},e)}var g=new a.IDBOpenRequest,h=!1,i=null;return c.transaction(function(c){c.executeSql("SELECT * FROM dbVersions where name = ?",[d],function(c,h){if(0===h.rows.length){g.result=void 0;var j=a.Event("success");return j.newVersion=null,j.oldVersion=i,a.util.callback("onsuccess",g,j),void 0}i=h.rows.item(0).version;var k=window.openDatabase(d,1,d,b);k.transaction(function(b){b.executeSql("SELECT * FROM __sys__",[],function(b,c){var d=c.rows;!function g(c){c>=d.length?b.executeSql("DROP TABLE __sys__",[],function(){f()},e):b.executeSql("DROP TABLE "+a.util.quote(d.item(c).name),[],function(){g(c+1)},function(){g(c+1)})}(0)},function(){f()})},e)})},e),g},cmp:function(b,c){return a.Key.encode(b)>a.Key.encode(c)?1:b===c?0:-1}};a.shimIndexedDB=d}}(idbModules),function(a,b){"undefined"!=typeof a.openDatabase&&(a.shimIndexedDB=b.shimIndexedDB,a.shimIndexedDB&&(a.shimIndexedDB.__useShim=function(){a.indexedDB=b.shimIndexedDB,a.IDBDatabase=b.IDBDatabase,a.IDBTransaction=b.IDBTransaction,a.IDBCursor=b.IDBCursor,a.IDBKeyRange=b.IDBKeyRange,a.indexedDB!==b.shimIndexedDB&&Object.defineProperty&&Object.defineProperty(a,"indexedDB",{value:b.shimIndexedDB})},a.shimIndexedDB.__debug=function(a){b.DEBUG=a})),"indexedDB"in a||(a.indexedDB=a.indexedDB||a.webkitIndexedDB||a.mozIndexedDB||a.oIndexedDB||a.msIndexedDB),"undefined"==typeof a.indexedDB&&"undefined"!=typeof a.openDatabase?a.shimIndexedDB.__useShim():(a.IDBDatabase=a.IDBDatabase||a.webkitIDBDatabase,a.IDBTransaction=a.IDBTransaction||a.webkitIDBTransaction,a.IDBCursor=a.IDBCursor||a.webkitIDBCursor,a.IDBKeyRange=a.IDBKeyRange||a.webkitIDBKeyRange,a.IDBTransaction||(a.IDBTransaction={}),a.IDBTransaction.READ_ONLY=a.IDBTransaction.READ_ONLY||"readonly",a.IDBTransaction.READ_WRITE=a.IDBTransaction.READ_WRITE||"readwrite")}(window,idbModules); +//# sourceMappingURL=http://nparashuram.com/IndexedDBShim/dist/IndexedDBShim.min.map \ No newline at end of file diff --git a/dist/IndexedDBShim.min.map b/dist/IndexedDBShim.min.map index c53968d5..c4293d28 100755 --- a/dist/IndexedDBShim.min.map +++ b/dist/IndexedDBShim.min.map @@ -1 +1 @@ -{"version":3,"file":"dist/IndexedDBShim.min.js","sources":["src/Init.js","src/util.js","src/Sca.js","src/Key.js","src/Event.js","src/IDBRequest.js","src/IDBKeyRange.js","src/IDBCursor.js","src/IDBIndex.js","src/IDBObjectStore.js","src/IDBTransaction.js","src/IDBDatabase.js","src/shimIndexedDB.js","src/globalVars.js"],"names":["idbModules","callback","fn","context","event","func","target","apply","throwDOMException","name","message","error","e","DOMException","constructor","DEBUG","console","log","trace","StringList","this","length","_items","Object","defineProperty","enumerable","prototype","contains","str","indexOf","item","key","push","i","splice","arguments","parseInt","String","util","quote","arg","Sca","decycle","object","checkForCompletion","queuedObjects","returnCallback","derezObj","readBlobAsDataURL","blob","path","reader","FileReader","onloadend","loadedEvent","dataURL","result","blobtype","updateEncodedBlob","readAsDataURL","encoded","replace","eval","derez","value","nu","Boolean","Date","Number","RegExp","Blob","objects","$ref","paths","toString","hasOwnProperty","call","JSON","stringify","$type","$enc","getTime","retrocycle","$","dataURLToBlob","contentType","parts","raw","BASE64_MARKER","split","type","window","atob","rawLength","uInt8Array","Uint8Array","charCodeAt","buffer","rez","px","test","undefined","encode","val","finishEncode","decode","parse","collations","getGenericEncoder","substring","types","number","boolean","string","Key","Event","debug","bubbles","cancelable","eventPhase","timeStamp","IDBRequest","onsuccess","onerror","source","transaction","readyState","IDBOpenRequest","onblocked","onupgradeneeded","IDBKeyRange","lower","upper","lowerOpen","upperOpen","only","lowerBound","open","upperBound","bound","IDBCursor","range","direction","idbObjectStore","cursorRequest","keyColumnName","valueColumnName","__range","__idbObjectStore","__req","__keyColumnName","__valueColumnName","__active","__offset","__lastKeyContinued","__find","tx","success","me","sql","sqlValues","join","executeSql","data","rows","primaryKey","__addToTransactionQueue","args","advance","count","update","valueToUpdate","request","__createRequest","__pushToQueue","rowsAffected","IDBIndex","indexName","objectStore","indexList","__storeProps","keyPath","forEach","prop","optionalParams","__createIndex","optionalParameters","failure","__getStoreProps","mode","idxList","columnName","initIndexForRow","indexKey","__setReadyState","openCursor","openKeyCursor","__fetchIndexData","opType","d","get","getKey","IDBObjectStore","idbTransaction","ready","__ready","indexNames","__waitForReady","x","setTimeout","waitOnProperty","autoInc","__deriveKey","getNextAutoIncKey","seq","props","__insertData","paramMap","indexes","sqlStart","sqlEnd","err","add","put","clear","index","createIndex","deleteIndex","__deleteIndex","READ","READ_WRITE","VERSION_TRANSACTION","IDBTransaction","storeNames","db","objectStoreNames","__running","__requests","__aborted","onabort","oncomplete","__executeRequests","__db","req","q","executeRequest","op","__tx","__mode","objectStoreName","abort","READ_ONLY","VERSION_CHANGE","IDBDatabase","version","storeProperties","__storeProperties","onversionchange","createObjectStore","storeName","createOptions","__versionTransaction","autoIncrement","deleteObjectStore","close","DEFAULT_DB_SIZE","openDatabase","sysdb","shimIndexedDB","dbCreateError","calledDbCreateError","openDB","oldVersion","systx","newVersion","deleteDatabase","dbError","msg","calledDBError","deleteFromDbVersions","tables","deleteTables","cmp","key1","key2","__useShim","indexedDB","__debug","webkitIndexedDB","mozIndexedDB","oIndexedDB","msIndexedDB","webkitIDBDatabase","webkitIDBTransaction","webkitIDBCursor","webkitIDBKeyRange"],"mappings":"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","sourceRoot":"http://nparashuram.com/IndexedDBShim/"} \ No newline at end of file +{"version":3,"file":"dist/IndexedDBShim.min.js","sources":["src/Init.js","src/util.js","src/Sca.js","src/Key.js","src/Event.js","src/IDBRequest.js","src/IDBKeyRange.js","src/IDBCursor.js","src/IDBIndex.js","src/IDBObjectStore.js","src/IDBTransaction.js","src/IDBDatabase.js","src/shimIndexedDB.js","src/globalVars.js"],"names":["idbModules","callback","fn","context","event","func","target","apply","throwDOMException","name","message","error","e","DOMException","constructor","DEBUG","console","log","trace","StringList","this","length","_items","Object","defineProperty","enumerable","prototype","contains","str","indexOf","item","key","push","i","splice","arguments","String","parseInt","util","quote","arg","Sca","decycle","object","checkForCompletion","queuedObjects","returnCallback","derezObj","readBlobAsDataURL","blob","path","reader","FileReader","onloadend","loadedEvent","dataURL","result","blobtype","updateEncodedBlob","readAsDataURL","encoded","replace","eval","derez","value","nu","Boolean","Date","Number","RegExp","Blob","objects","$ref","paths","toString","hasOwnProperty","call","JSON","stringify","$type","$enc","getTime","retrocycle","$","dataURLToBlob","contentType","parts","raw","BASE64_MARKER","split","type","window","atob","rawLength","uInt8Array","Uint8Array","charCodeAt","buffer","rez","px","test","undefined","encode","val","finishEncode","decode","parse","collations","getGenericEncoder","substring","types","number","boolean","string","Key","Event","debug","bubbles","cancelable","eventPhase","timeStamp","IDBRequest","onsuccess","onerror","source","transaction","readyState","IDBOpenRequest","onblocked","onupgradeneeded","IDBKeyRange","lower","upper","lowerOpen","upperOpen","only","lowerBound","open","upperBound","bound","IDBCursor","range","direction","idbObjectStore","cursorRequest","keyColumnName","valueColumnName","__range","__idbObjectStore","__req","__keyColumnName","__valueColumnName","__active","__offset","__lastKeyContinued","__find","tx","success","me","sql","sqlValues","join","executeSql","data","rows","primaryKey","__addToTransactionQueue","args","advance","count","update","valueToUpdate","request","__createRequest","__pushToQueue","rowsAffected","IDBIndex","indexName","objectStore","indexList","__storeProps","keyPath","forEach","prop","optionalParams","__createIndex","optionalParameters","failure","__getStoreProps","mode","idxList","columnName","initIndexForRow","indexKey","__setReadyState","openCursor","openKeyCursor","__fetchIndexData","opType","d","get","getKey","IDBObjectStore","idbTransaction","ready","__ready","indexNames","__waitForReady","x","setTimeout","waitOnProperty","autoInc","__deriveKey","getNextAutoIncKey","seq","props","__insertData","paramMap","indexes","sqlStart","sqlEnd","err","add","put","clear","index","createIndex","deleteIndex","__deleteIndex","READ","READ_WRITE","VERSION_TRANSACTION","IDBTransaction","storeNames","db","objectStoreNames","__running","__requests","__aborted","onabort","oncomplete","__executeRequests","__db","req","q","executeRequest","op","__tx","__mode","objectStoreName","abort","READ_ONLY","VERSION_CHANGE","IDBDatabase","version","storeProperties","__storeProperties","onversionchange","createObjectStore","storeName","createOptions","__versionTransaction","autoIncrement","deleteObjectStore","close","DEFAULT_DB_SIZE","openDatabase","sysdb","shimIndexedDB","dbCreateError","calledDbCreateError","openDB","oldVersion","systx","newVersion","deleteDatabase","dbError","msg","calledDBError","deleteFromDbVersions","tables","deleteTables","cmp","key1","key2","__useShim","indexedDB","__debug","webkitIndexedDB","mozIndexedDB","oIndexedDB","msIndexedDB","webkitIDBDatabase","webkitIDBTransaction","webkitIDBCursor","webkitIDBKeyRange"],"mappings":"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","sourceRoot":"http://nparashuram.com/IndexedDBShim/"} \ No newline at end of file diff --git a/src/globalVars.js b/src/globalVars.js index 751239df..35d0c218 100644 --- a/src/globalVars.js +++ b/src/globalVars.js @@ -10,6 +10,12 @@ window.IDBTransaction = idbModules.IDBTransaction; window.IDBCursor = idbModules.IDBCursor; window.IDBKeyRange = idbModules.IDBKeyRange; + // On some browsers the assignment fails, overwrite with the defineProperty method + if (window.indexedDB !== idbModules.shimIndexedDB && Object.defineProperty) { + Object.defineProperty(window, 'indexedDB', { + value: idbModules.shimIndexedDB + }); + } }; window.shimIndexedDB.__debug = function(val){ idbModules.DEBUG = val;