backbone.lovefield
Version:
lovefield backend for backbone
1 lines • 4.91 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("lodash"),require("backbone"),require("lovefield")):"function"==typeof define&&define.amd?define(["lodash","backbone","lovefield"],t):"object"==typeof exports?exports["Backbone.LoveField"]=t(require("lodash"),require("backbone"),require("lovefield")):e["Backbone.LoveField"]=t(e._,e.Backbone,e.lf)}(window,function(n,o,r){return c={},u.m=i=[function(e,t){e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLoveStore=t.getTableName=t.getLoveConnection=t.guid=void 0;var o=n(0),r=function(){return(0|65536*(1+Math.random())).toString(16).substring(1)};t.guid=function(){return""+r()+r()+"-"+r()+"-"+r()+"-"+r()+"-"+r()+r()+r()},t.getLoveConnection=function(e){return(0,o.result)(e,"loveConnection")||(0,o.result)(e.collection,"loveConnection")},t.getTableName=function(e){return(0,o.result)(e,"tableName")||(0,o.result)(e.collection,"tableName")},t.getLoveStore=function(e){return(0,o.result)(e,"loveStore")||(0,o.result)(e.collection,"loveStore")}},function(e,t){e.exports=o},function(e,t,n){e.exports=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoveStore=void 0;var o,r,u,i=n(2),c=(o=i)&&o.__esModule?o:{default:o},a=n(5),l=n(6),s=n(1);c.default.LoveStore=l.LoveStore,r=c.default.sync,u=function(e,t){t=(1<arguments.length&&void 0!==t?t:{}).ajaxSync,e=(0,s.getLoveStore)(e);return!t&&e?a.sync:r},c.default.sync=function(e,t,n){return u(t,n).apply(this,[e,t,n])},t.LoveStore=l.LoveStore},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sync=void 0;var a=n(0),l=n(1);t.sync=function(e,t,n){var o,r,u=2<arguments.length&&void 0!==n?n:{},i=(0,l.getLoveStore)(t),c=void 0;try{switch(e){case"read":r=(0,a.result)(t,"idAttribute"),c=(0,a.result)(t,r)?i.find(t,u):i.findAll(t,u);break;case"create":c=i.create(t,u);break;case"patch":case"update":c=i.update(t,u);break;case"delete":c=i.destroy(t,u)}}catch(e){o=22===e.code?"Private browsing is unsupported":e.message}return c?(c.done=c.then,c.fail=c.catch,u.success&&u.success.call(t,c,u)):(o=o||"Record Not Found",u.error&&u.error.call(t,o,u)),u.complete&&u.complete.call(t,c),c}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoveStore=void 0;var o=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e};function r(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}var u,i=n(2),c=n(0),a=n(7),l=(u=a)&&u.__esModule?u:{default:u},s=n(1);t.LoveStore=(o(f,[{key:"getTable",value:function(){return this.conn.getSchema().table(this.name)}},{key:"create",value:function(e){var t=this.getTable();return e.id||0===e.id||(e.id=(0,s.guid)(),e.set(e.idAttribute,e.id)),e=e.toJSON(),e=t.createRow(e),this.conn.insert().into(t).values([e]).exec()}},{key:"update",value:function(e){var t=this.getTable(),n=e.toJSON(),o=this.conn.update(t);return Object.keys(n).forEach(function(e){return o=o.set(t[e],n[e])}),(o=o.where(t.id.eq(n.id))).exec()}},{key:"find",value:function(t){var e=this.getTable(),n=(0,c.result)(t,"idAttribute"),n=(0,c.result)(t,n);return this.conn.select().from(e).where(e.id.eq(n)).exec().then(function(e){return t.set(e[0]),t})}},{key:"findAll",value:function(t,n){var o,r=this.getTable(),e=this.conn.select().from(r);return n.data&&(o=[],Object.keys(n.data).forEach(function(e){e=r[e].eq(n.data[e]);return o.push(e)}),e=1<o.length?e.where(l.default.op.and(o)):e.where(o[0])),e.exec().then(function(e){return t instanceof i.Collection?t.set(e):t.set(e[0])})}},{key:"destroy",value:function(e){var t=this.getTable();return this.conn.delete().from(t).where(t.id.eq(e.id)).exec()}}]),f);function f(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),this.conn=e,this.name=t}},function(e,t){e.exports=r}],u.c=c,u.d=function(e,t,n){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(t,e){if(1&e&&(t=u(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(u.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)u.d(n,o,function(e){return t[e]}.bind(null,o));return n},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="",u(u.s=3);function u(e){if(c[e])return c[e].exports;var t=c[e]={i:e,l:!1,exports:{}};return i[e].call(t.exports,t,t.exports,u),t.l=!0,t.exports}var i,c});