diff --git a/_includes/header.html b/_includes/header.html index af136cb..7da1a34 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -4,8 +4,8 @@

A simple (proof-of-concept) script loader that caches scripts with localStor

Version 0.5.0: basket.js (2.2 kB)   - basket.min.js* (1.4 kB gzipped)   - basket.full.min.js (4.7 kB gzipped)   + basket.min.js* (0.7 kB gzipped)   + basket.full.min.js (3.8 kB gzipped)   * = Use this version if you want to manually handle the rsvp.js dependency

If you're seeing this message, something has gone wrong. Please ensure you are testing this page using a HTTP server.

diff --git a/bower.json b/bower.json index b2ba9e2..0781789 100644 --- a/bower.json +++ b/bower.json @@ -1,9 +1,8 @@ { "name": "basket.js", - "version": "0.3.0", "main": "dist/basket.js", "dependencies": { - "rsvp": "~3.0.1" + "rsvp": "~3.0.8" }, "ignore": [ "_*", diff --git a/dist/basket.full.min.js b/dist/basket.full.min.js index b39eb2d..fba8476 100644 --- a/dist/basket.full.min.js +++ b/dist/basket.full.min.js @@ -1,11 +1,11 @@ /*! * basket.js -* v0.4.0 - 2014-01-07 +* v0.5.0 - 2014-07-09 * http://addyosmani.github.com/basket.js * (c) Addy Osmani; License * Created by: Addy Osmani, Sindre Sorhus, Andrée Hansson, Mat Scales * Contributors: Ironsjp, Mathias Bynens, Rick Waldron, Felipe Morais * Uses rsvp.js, https://github.com/tildeio/rsvp.js */ -!function(a){var b,c,d,e;!function(){var a={},f={};b=function(b,c,d){a[b]={deps:c,callback:d}},e=d=c=function(b){function d(a){if("."!==a.charAt(0))return a;for(var c=a.split("/"),d=b.split("/").slice(0,-1),e=0,f=c.length;f>e;e++){var g=c[e];if(".."===g)d.pop();else{if("."===g)continue;d.push(g)}}return d.join("/")}if(e._eak_seen=a,f[b])return f[b];if(f[b]={},!a[b])throw new Error("Could not find module "+b);for(var g,h=a[b],i=h.deps,j=h.callback,k=[],l=0,m=i.length;m>l;l++)"exports"===i[l]?k.push(g={}):k.push(c(d(i[l])));var n=j.apply(this,k);return f[b]=g||n}}(),b("rsvp/all",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.all(a,b)}}),b("rsvp/asap",["exports"],function(a){"use strict";function b(){return function(){process.nextTick(e)}}function c(){var a=0,b=new h(e),c=document.createTextNode("");return b.observe(c,{characterData:!0}),function(){c.data=a=++a%2}}function d(){return function(){setTimeout(e,1)}}function e(){for(var a=0;ac;c++)if(a[c]===b)return c;return-1},c=function(a){var b=a._promiseCallbacks;return b||(b=a._promiseCallbacks={}),b};a["default"]={mixin:function(a){return a.on=this.on,a.off=this.off,a.trigger=this.trigger,a._promiseCallbacks=void 0,a},on:function(a,d){var e,f=c(this);e=f[a],e||(e=f[a]=[]),-1===b(e,d)&&e.push(d)},off:function(a,d){var e,f,g=c(this);return d?(e=g[a],f=b(e,d),-1!==f&&e.splice(f,1),void 0):(g[a]=[],void 0)},trigger:function(a,b){var d,e,f=c(this);if(d=f[a])for(var g=0;gb;b++)a[b]&&e.push(d[b]);return e})})}var f=a["default"],g=b["default"],h=c.isFunction,i=c.isArray;d["default"]=e}),b("rsvp/hash",["./promise","./utils","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.isNonThenable,f=b.keysOf;c["default"]=function(a){return new d(function(b,c){function g(a){return function(c){k[a]=c,0===--m&&b(k)}}function h(a){m=0,c(a)}var i,j,k={},l=f(a),m=l.length;if(0===m)return b(k),void 0;for(var n=0;nd;d++)g.push(b(a[d]));return e(g,c)})}}),b("rsvp/node",["./promise","exports"],function(a,b){"use strict";function c(a,b){return function(c,d){c?b(c):arguments.length>2?a(e.call(arguments,1)):a(d)}}var d=a["default"],e=Array.prototype.slice;b["default"]=function(a,b){return function(){var f=e.call(arguments),g=this||b;return new d(function(b,e){d.all(f).then(function(d){try{d.push(c(b,e)),a.apply(g,d)}catch(f){e(f)}})})}}}),b("rsvp/promise",["./config","./events","./instrument","./utils","./promise/cast","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(a,b,c,d,e,f,g,h,i,j){"use strict";function k(){}function l(a,b){if(!z(a))throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");if(!(this instanceof l))throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._id=H++,this._label=b,this._subscribers=[],w.instrument&&x("created",this),k!==a&&m(a,this)}function m(a,b){function c(a){r(b,a)}function d(a){t(b,a)}try{a(c,d)}catch(e){d(e)}}function n(a,b,c,d){var e=a._subscribers,f=e.length;e[f]=b,e[f+K]=c,e[f+L]=d}function o(a,b){var c,d,e=a._subscribers,f=a._detail;w.instrument&&x(b===K?"fulfilled":"rejected",a);for(var g=0;g=0){var e,g=[];for(e in localStorage)0===e.indexOf(d)&&g.push(JSON.parse(localStorage[e]));return g.length?(g.sort(function(a,b){return a.stamp-b.stamp}),basket.remove(g[0].key),f(a,b)):void 0}return}},g=function(a){var b=new RSVP.Promise(function(b,c){var d=new XMLHttpRequest;d.open("GET",a),d.onreadystatechange=function(){4===d.readyState&&(200===d.status?b({content:d.responseText,type:d.getResponseHeader("content-type")}):c(new Error(d.statusText)))},d.send()});return b},h=function(a){return g(a.url).then(function(b){var c=i(a,b);return f(a.key,c),c})},i=function(a,b){var c=+new Date;return a.data=b.content,a.originalType=b.type,a.type=a.type||b.type,a.stamp=c,a.expire=c+60*(a.expire||e)*60*1e3,a},j=function(a,b){return!a||a.expire-+new Date<0||b.unique!==a.unique||basket.isValidItem&&!basket.isValidItem(a,b)},k=function(a){var b,c,d;if(a.url)return a.key=a.key||a.url,b=basket.get(a.key),a.execute=a.execute!==!1,d=j(b,a),a.live||d?(a.unique&&(a.url+=(a.url.indexOf("?")>0?"&":"?")+"basket-unique="+a.unique),c=h(a),a.live&&!d&&(c=c.then(function(a){return a},function(){return b}))):(b.type=a.type||b.originalType,c=new RSVP.Promise(function(a){a(b)})),c},l=function(a){var d=b.createElement("script");d.defer=!0,d.text=a.data,c.appendChild(d)},m={"default":l},n=function(a){return a.type&&m[a.type]?m[a.type](a):m["default"](a)},o=function(a){a.map(function(a){return a.execute&&n(a),a})},p=function(){var a,b,c=[];for(a=0,b=arguments.length;b>a;a++)c.push(k(arguments[a]));return RSVP.all(c)},q=function(){var a=p.apply(null,arguments),b=this.then(function(){return a}).then(o);return b.thenRequire=q,b};a.basket={require:function(){var a=p.apply(null,arguments).then(o);return a.thenRequire=q,a},remove:function(a){return localStorage.removeItem(d+a),this},get:function(a){var b=localStorage.getItem(d+a);try{return JSON.parse(b||"false")}catch(c){return!1}},clear:function(a){var b,c,e=+new Date;for(b in localStorage)c=b.split(d)[1],c&&(!a||this.get(c).expire<=e)&&this.remove(c);return this},isValidItem:null,timeout:5e3,addHandler:function(a,b){Array.isArray(a)||(a=[a]),a.forEach(function(a){m[a]=b})},removeHandler:function(a){basket.addHandler(a,void 0)}},basket.clear(!0)}(this,document); -//# sourceMappingURL=dist/basket.full.map \ No newline at end of file +!function(a){var b,c;!function(){var a={},d={};b=function(b,c,d){a[b]={deps:c,callback:d}},c=function(b){function e(a){if("."!==a.charAt(0))return a;for(var c=a.split("/"),d=b.split("/").slice(0,-1),e=0,f=c.length;f>e;e++){var g=c[e];if(".."===g)d.pop();else{if("."===g)continue;d.push(g)}}return d.join("/")}if(d[b])return d[b];if(d[b]={},!a[b])throw new Error("Could not find module "+b);for(var f,g=a[b],h=g.deps,i=g.callback,j=[],k=0,l=h.length;l>k;k++)j.push("exports"===h[k]?f={}:c(e(h[k])));var m=i.apply(this,j);return d[b]=f||m},c.entries=a}(),b("rsvp/-internal",["./utils","./instrument","./config","exports"],function(a,b,c,d){"use strict";function e(){}function f(a){try{return a.then}catch(b){return B.error=b,B}}function g(a,b,c,d){try{a.call(b,c,d)}catch(e){return e}}function h(a,b,c){x.async(function(a){var d=!1,e=g(c,b,function(c){d||(d=!0,b!==c?k(a,c):m(a,c))},function(b){d||(d=!0,n(a,b))},"Settle: "+(a._label||" unknown promise"));!d&&e&&(d=!0,n(a,e))},a)}function i(a,b){a._onerror=null,b._state===z?m(a,b._result):a._state===A?n(a,b._result):o(b,void 0,function(c){b!==c?k(a,c):m(a,c)},function(b){n(a,b)})}function j(a,b){if(b instanceof a.constructor)i(a,b);else{var c=f(b);c===B?n(a,B.error):void 0===c?m(a,b):v(c)?h(a,b,c):m(a,b)}}function k(a,b){a===b?m(a,b):u(b)?j(a,b):m(a,b)}function l(a){a._onerror&&a._onerror(a._result),p(a)}function m(a,b){a._state===y&&(a._result=b,a._state=z,0===a._subscribers.length?x.instrument&&w("fulfilled",a):x.async(p,a))}function n(a,b){a._state===y&&(a._state=A,a._result=b,x.async(l,a))}function o(a,b,c,d){var e=a._subscribers,f=e.length;a._onerror=null,e[f]=b,e[f+z]=c,e[f+A]=d,0===f&&a._state&&x.async(p,a)}function p(a){var b=a._subscribers,c=a._state;if(x.instrument&&w(c===z?"fulfilled":"rejected",a),0!==b.length){for(var d,e,f=a._result,g=0;ga;a+=2){var b=l[a],c=l[a+1];b(c),l[a]=void 0,l[a+1]=void 0}g=0}var g=0;a["default"]=function(a,b){l[g]=a,l[g+1]=b,g+=2,2===g&&h()};var h,i="undefined"!=typeof window?window:{},j=i.MutationObserver||i.WebKitMutationObserver,k="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,l=new Array(1e3);h="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?b():j?c():k?d():e()}),b("rsvp/config",["./events","exports"],function(a,b){"use strict";function c(a,b){return"onerror"===a?void e.on("error",b):2!==arguments.length?e[a]:void(e[a]=b)}var d=a["default"],e={instrument:!1};d.mixin(e),b.config=e,b.configure=c}),b("rsvp/defer",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a){var b={};return b.promise=new c(function(a,c){b.resolve=a,b.reject=c},a),b}}),b("rsvp/enumerator",["./utils","./-internal","exports"],function(a,b,c){"use strict";function d(a,b,c){return a===l?{state:"fulfilled",value:c}:{state:"rejected",reason:c}}function e(a,b,c,d){this._instanceConstructor=a,this.promise=new a(h,d),this._abortOnReject=c,this._validateInput(b)?(this._input=b,this.length=b.length,this._remaining=b.length,this._init(),0===this.length?j(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&j(this.promise,this._result))):i(this.promise,this._validationError())}var f=a.isArray,g=a.isMaybeThenable,h=b.noop,i=b.reject,j=b.fulfill,k=b.subscribe,l=b.FULFILLED,m=b.REJECTED,n=b.PENDING,o=!0;c.ABORT_ON_REJECTION=o,c.makeSettledResult=d,e.prototype._validateInput=function(a){return f(a)},e.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},e.prototype._init=function(){this._result=new Array(this.length)},c["default"]=e,e.prototype._enumerate=function(){for(var a=this.length,b=this.promise,c=this._input,d=0;b._state===n&&a>d;d++)this._eachEntry(c[d],d)},e.prototype._eachEntry=function(a,b){var c=this._instanceConstructor;g(a)?a.constructor===c&&a._state!==n?(a._onerror=null,this._settledAt(a._state,b,a._result)):this._willSettleAt(c.resolve(a),b):(this._remaining--,this._result[b]=this._makeResult(l,b,a))},e.prototype._settledAt=function(a,b,c){var d=this.promise;d._state===n&&(this._remaining--,this._abortOnReject&&a===m?i(d,c):this._result[b]=this._makeResult(a,b,c)),0===this._remaining&&j(d,this._result)},e.prototype._makeResult=function(a,b,c){return c},e.prototype._willSettleAt=function(a,b){var c=this;k(a,void 0,function(a){c._settledAt(l,b,a)},function(a){c._settledAt(m,b,a)})}}),b("rsvp/events",["exports"],function(a){"use strict";function b(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1}function c(a){var b=a._promiseCallbacks;return b||(b=a._promiseCallbacks={}),b}a["default"]={mixin:function(a){return a.on=this.on,a.off=this.off,a.trigger=this.trigger,a._promiseCallbacks=void 0,a},on:function(a,d){var e,f=c(this);e=f[a],e||(e=f[a]=[]),-1===b(e,d)&&e.push(d)},off:function(a,d){var e,f,g=c(this);return d?(e=g[a],f=b(e,d),-1!==f&&e.splice(f,1),void 0):void(g[a]=[])},trigger:function(a,b){var d,e,f=c(this);if(d=f[a])for(var g=0;gh;h++)g[h]=b(a[h]);return d.all(g,c).then(function(b){for(var c=new Array(f),d=0,e=0;f>e;e++)b[e]&&(c[d]=a[e],d++);return c.length=d,c})})}}),b("rsvp/hash-settled",["./promise","./enumerator","./promise-hash","./utils","exports"],function(a,b,c,d,e){"use strict";function f(a,b,c){this._superConstructor(a,b,!1,c)}var g=a["default"],h=b.makeSettledResult,i=c["default"],j=b["default"],k=d.o_create;f.prototype=k(i.prototype),f.prototype._superConstructor=j,f.prototype._makeResult=h,f.prototype._validationError=function(){return new Error("hashSettled must be called with an object")},e["default"]=function(a,b){return new f(g,a,b).promise}}),b("rsvp/hash",["./promise","./promise-hash","./enumerator","exports"],function(a,b,c,d){"use strict";{var e=a["default"],f=b["default"];c.ABORT_ON_REJECTION}d["default"]=function(a,b){return new f(e,a,b).promise}}),b("rsvp/instrument",["./config","./utils","exports"],function(a,b,c){"use strict";var d=a.config,e=b.now,f=[];c["default"]=function(a,b,c){1===f.push({name:a,payload:{guid:b._guidKey+b._id,eventName:a,detail:b._result,childGuid:c&&b._guidKey+c._id,label:b._label,timeStamp:e(),stack:new Error(b._label).stack}})&&setTimeout(function(){for(var a,b=0;bh;h++)g[h]=b(a[h]);return d.all(g,c)})}}),b("rsvp/node",["./promise","./utils","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.isArray;c["default"]=function(a,b){function c(){for(var c=arguments.length,e=new Array(c),h=0;c>h;h++)e[h]=arguments[h];var i;return f||g||!b?i=this:("object"==typeof console&&console.warn('Deprecation: RSVP.denodeify() doesn\'t allow setting the "this" binding anymore. Use yourFunction.bind(yourThis) instead.'),i=b),d.all(e).then(function(c){function e(d,e){function h(){for(var a=arguments.length,c=new Array(a),h=0;a>h;h++)c[h]=arguments[h];var i=c[0],j=c[1];if(i)e(i);else if(f)d(c.slice(1));else if(g){var k,l,m={},n=c.slice(1);for(l=0;lh;h++)f=c[h],this._eachEntry(f.entry,f.position)}}),b("rsvp/promise",["./config","./events","./instrument","./utils","./-internal","./promise/cast","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";function l(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function m(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function n(a,b){this._id=D++,this._label=b,this._subscribers=[],o.instrument&&p("created",this),s!==a&&(q(a)||l(),this instanceof n||m(),u(this,a))}var o=a.config,p=(b["default"],c["default"]),q=(d.objectOrFunction,d.isFunction),r=d.now,s=e.noop,t=(e.resolve,e.reject,e.fulfill,e.subscribe),u=e.initializePromise,v=e.invokeCallback,w=e.FULFILLED,x=f["default"],y=g["default"],z=h["default"],A=i["default"],B=j["default"],C="rsvp_"+r()+"-",D=0;k["default"]=n,n.cast=x,n.all=y,n.race=z,n.resolve=A,n.reject=B,n.prototype={constructor:n,_id:void 0,_guidKey:C,_label:void 0,_state:void 0,_result:void 0,_subscribers:void 0,_onerror:function(a){o.trigger("error",a)},then:function(a,b,c){var d=this;d._onerror=null;var e=new this.constructor(s,c),f=d._state,g=d._result;return o.instrument&&p("chained",d,e),f===w&&a?o.async(function(){v(f,e,a,g)}):t(d,e,a,b),e},"catch":function(a,b){return this.then(null,a,b)},"finally":function(a,b){var c=this.constructor;return this.then(function(b){return c.resolve(a()).then(function(){return b})},function(b){return c.resolve(a()).then(function(){throw b})},b)}}}),b("rsvp/promise/all",["../enumerator","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return new c(this,a,!0,b).promise}}),b("rsvp/promise/cast",["./resolve","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c}),b("rsvp/promise/race",["../utils","../-internal","exports"],function(a,b,c){"use strict";var d=a.isArray,e=(a.isFunction,a.isMaybeThenable,b.noop),f=b.resolve,g=b.reject,h=b.subscribe,i=b.PENDING;c["default"]=function(a,b){function c(a){f(l,a)}function j(a){g(l,a)}var k=this,l=new k(e,b);if(!d(a))return g(l,new TypeError("You must pass an array to race.")),l;for(var m=a.length,n=0;l._state===i&&m>n;n++)h(k.resolve(a[n]),void 0,c,j);return l}}),b("rsvp/promise/reject",["../-internal","exports"],function(a,b){"use strict";var c=a.noop,d=a.reject;b["default"]=function(a,b){var e=this,f=new e(c,b);return d(f,a),f}}),b("rsvp/promise/resolve",["../-internal","exports"],function(a,b){"use strict";var c=a.noop,d=a.resolve;b["default"]=function(a,b){var e=this;if(a&&"object"==typeof a&&a.constructor===e)return a;var f=new e(c,b);return d(f,a),f}}),b("rsvp/race",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.race(a,b)}}),b("rsvp/reject",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.reject(a,b)}}),b("rsvp/resolve",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.resolve(a,b)}}),b("rsvp/rethrow",["exports"],function(a){"use strict";a["default"]=function(a){throw setTimeout(function(){throw a}),a}}),b("rsvp/utils",["exports"],function(a){"use strict";function b(a){return"function"==typeof a||"object"==typeof a&&null!==a}function c(a){return"function"==typeof a}function d(a){return"object"==typeof a&&null!==a}a.objectOrFunction=b,a.isFunction=c,a.isMaybeThenable=d;var e;e=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var f=e;a.isArray=f;var g=Date.now||function(){return(new Date).getTime()};a.now=g;var h=Object.create||function(a){var b=function(){};return b.prototype=a,b};a.o_create=h}),b("rsvp",["./rsvp/promise","./rsvp/events","./rsvp/node","./rsvp/all","./rsvp/all-settled","./rsvp/race","./rsvp/hash","./rsvp/hash-settled","./rsvp/rethrow","./rsvp/defer","./rsvp/config","./rsvp/map","./rsvp/resolve","./rsvp/reject","./rsvp/filter","./rsvp/asap","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){"use strict";function r(a,b){E.async(a,b)}function s(){E.on.apply(E,arguments)}function t(){E.off.apply(E,arguments)}var u=a["default"],v=b["default"],w=c["default"],x=d["default"],y=e["default"],z=f["default"],A=g["default"],B=h["default"],C=i["default"],D=j["default"],E=k.config,F=k.configure,G=l["default"],H=m["default"],I=n["default"],J=o["default"],K=p["default"];if(E.async=K,"undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){var L=window.__PROMISE_INSTRUMENTATION__;F("instrument",!0);for(var M in L)L.hasOwnProperty(M)&&s(M,L[M])}q.Promise=u,q.EventTarget=v,q.all=x,q.allSettled=y,q.race=z,q.hash=A,q.hashSettled=B,q.rethrow=C,q.defer=D,q.denodeify=w,q.configure=F,q.on=s,q.off=t,q.resolve=H,q.reject=I,q.async=r,q.map=G,q.filter=J}),a.RSVP=c("rsvp")}(self),function(a,b){"use strict";var c=b.head||b.getElementsByTagName("head")[0],d="basket-",e=5e3,f=function(a,b){try{return localStorage.setItem(d+a,JSON.stringify(b)),!0}catch(c){if(c.name.toUpperCase().indexOf("QUOTA")>=0){var e,g=[];for(e in localStorage)0===e.indexOf(d)&&g.push(JSON.parse(localStorage[e]));return g.length?(g.sort(function(a,b){return a.stamp-b.stamp}),basket.remove(g[0].key),f(a,b)):void 0}return}},g=function(a){var b=new RSVP.Promise(function(b,c){var d=new XMLHttpRequest;d.open("GET",a),d.onreadystatechange=function(){4===d.readyState&&(200===d.status?b({content:d.responseText,type:d.getResponseHeader("content-type")}):c(new Error(d.statusText)))},setTimeout(function(){d.readyState<4&&d.abort()},basket.timeout),d.send()});return b},h=function(a){return g(a.url).then(function(b){var c=i(a,b);return a.skipCache||f(a.key,c),c})},i=function(a,b){var c=+new Date;return a.data=b.content,a.originalType=b.type,a.type=a.type||b.type,a.skipCache=a.skipCache||!1,a.stamp=c,a.expire=c+60*(a.expire||e)*60*1e3,a},j=function(a,b){return!a||a.expire-+new Date<0||b.unique!==a.unique||basket.isValidItem&&!basket.isValidItem(a,b)},k=function(a){var b,c,d;if(a.url)return a.key=a.key||a.url,b=basket.get(a.key),a.execute=a.execute!==!1,d=j(b,a),a.live||d?(a.unique&&(a.url+=(a.url.indexOf("?")>0?"&":"?")+"basket-unique="+a.unique),c=h(a),a.live&&!d&&(c=c.then(function(a){return a},function(){return b}))):(b.type=a.type||b.originalType,c=new RSVP.Promise(function(a){a(b)})),c},l=function(a){var d=b.createElement("script");d.defer=!0,d.text=a.data,c.appendChild(d)},m={"default":l},n=function(a){return a.type&&m[a.type]?m[a.type](a):m["default"](a)},o=function(a){a.map(function(a){return a.execute&&n(a),a})},p=function(){var a,b,c=[];for(a=0,b=arguments.length;b>a;a++)c.push(k(arguments[a]));return RSVP.all(c)},q=function(){var a=p.apply(null,arguments),b=this.then(function(){return a}).then(o);return b.thenRequire=q,b};a.basket={require:function(){var a=p.apply(null,arguments).then(o);return a.thenRequire=q,a},remove:function(a){return localStorage.removeItem(d+a),this},get:function(a){var b=localStorage.getItem(d+a);try{return JSON.parse(b||"false")}catch(c){return!1}},clear:function(a){var b,c,e=+new Date;for(b in localStorage)c=b.split(d)[1],c&&(!a||this.get(c).expire<=e)&&this.remove(c);return this},isValidItem:null,timeout:5e3,addHandler:function(a,b){Array.isArray(a)||(a=[a]),a.forEach(function(a){m[a]=b})},removeHandler:function(a){basket.addHandler(a,void 0)}},basket.clear(!0)}(this,document); +//# sourceMappingURL=basket.full.min.js.map \ No newline at end of file diff --git a/dist/basket.full.min.js.map b/dist/basket.full.min.js.map new file mode 100644 index 0000000..31185d1 --- /dev/null +++ b/dist/basket.full.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../bower_components/rsvp/rsvp.min.js","basket.js"],"names":["e","t","n","r","deps","callback","h","charAt","split","slice","i","s","length","o","pop","push","join","Error","a","u","f","l","c","apply","this","entries","d","then","p","error","v","call","m","async","b","E","S","_label","g","_onerror","_state","_result","x","undefined","y","constructor","w","T","_subscribers","instrument","L","N","k","C","TypeError","A","objectOrFunction","isFunction","now","config","noop","resolve","reject","fulfill","subscribe","publish","publishRejection","initializePromise","invokeCallback","FULFILLED","REJECTED","_superConstructor","makeSettledResult","o_create","prototype","_makeResult","_validationError","promise","all","process","nextTick","document","createTextNode","observe","characterData","data","MessageChannel","port1","onmessage","port2","postMessage","setTimeout","window","MutationObserver","WebKitMutationObserver","Uint8ClampedArray","importScripts","Array","toString","on","arguments","mixin","configure","state","value","reason","_instanceConstructor","_abortOnReject","_validateInput","_input","_remaining","_init","_enumerate","isArray","isMaybeThenable","PENDING","ABORT_ON_REJECTION","_eachEntry","_settledAt","_willSettleAt","_promiseCallbacks","off","trigger","splice","name","payload","guid","_guidKey","_id","eventName","detail","childGuid","label","timeStamp","stack","console","warn","__proto__","hasOwnProperty","position","entry","_","D","P","M","O","cast","race","catch","finally","Object","Date","getTime","create","H","B","__PROMISE_INSTRUMENTATION__","j","F","Promise","EventTarget","allSettled","hash","hashSettled","rethrow","defer","denodeify","map","filter","RSVP","self","head","getElementsByTagName","storagePrefix","defaultExpiration","addLocalStorage","key","storeObj","localStorage","setItem","JSON","stringify","toUpperCase","indexOf","item","tempScripts","parse","sort","stamp","basket","remove","getUrl","url","xhr","XMLHttpRequest","open","onreadystatechange","readyState","status","content","responseText","type","getResponseHeader","statusText","abort","timeout","send","saveUrl","obj","result","wrapStoreData","skipCache","originalType","expire","isCacheValid","source","unique","isValidItem","handleStackObject","shouldFetch","get","execute","live","injectScript","script","createElement","text","appendChild","handlers","default","performActions","resources","fetch","promises","thenRequire","require","removeItem","getItem","clear","expired","addHandler","types","handler","forEach","removeHandler"],"mappings":"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","file":"basket.full.min.js"} \ No newline at end of file diff --git a/dist/basket.js b/dist/basket.js index a5efcd4..0dd64a2 100644 --- a/dist/basket.js +++ b/dist/basket.js @@ -1,6 +1,6 @@ /*! * basket.js -* v0.4.0 - 2014-01-07 +* v0.5.0 - 2014-07-09 * http://addyosmani.github.com/basket.js * (c) Addy Osmani; License * Created by: Addy Osmani, Sindre Sorhus, Andrée Hansson, Mat Scales @@ -52,7 +52,7 @@ var getUrl = function( url ) { var promise = new RSVP.Promise( function( resolve, reject ){ - + var xhr = new XMLHttpRequest(); xhr.open( 'GET', url ); @@ -71,12 +71,11 @@ // By default XHRs never timeout, and even Chrome doesn't implement the // spec for xhr.timeout. So we do it ourselves. - /* setTimeout( function () { if( xhr.readyState < 4 ) { xhr.abort(); } - }, basket.timeout );*/ + }, basket.timeout ); xhr.send(); }); @@ -88,7 +87,9 @@ return getUrl( obj.url ).then( function( result ) { var storeObj = wrapStoreData( obj, result ); - addLocalStorage( obj.key , storeObj ); + if (!obj.skipCache) { + addLocalStorage( obj.key , storeObj ); + } return storeObj; }); @@ -99,6 +100,7 @@ obj.data = data.content; obj.originalType = data.type; obj.type = obj.type || data.type; + obj.skipCache = obj.skipCache || false; obj.stamp = now; obj.expire = now + ( ( obj.expire || defaultExpiration ) * 60 * 60 * 1000 ); diff --git a/dist/basket.min.js b/dist/basket.min.js index 75d4f68..e5cfc36 100644 --- a/dist/basket.min.js +++ b/dist/basket.min.js @@ -1,11 +1,11 @@ /*! * basket.js -* v0.4.0 - 2014-01-07 +* v0.5.0 - 2014-07-09 * http://addyosmani.github.com/basket.js * (c) Addy Osmani; License * Created by: Addy Osmani, Sindre Sorhus, Andrée Hansson, Mat Scales * Contributors: Ironsjp, Mathias Bynens, Rick Waldron, Felipe Morais * Uses rsvp.js, https://github.com/tildeio/rsvp.js */ -!function(a,b){"use strict";var c=b.head||b.getElementsByTagName("head")[0],d="basket-",e=5e3,f=function(a,b){try{return localStorage.setItem(d+a,JSON.stringify(b)),!0}catch(c){if(c.name.toUpperCase().indexOf("QUOTA")>=0){var e,g=[];for(e in localStorage)0===e.indexOf(d)&&g.push(JSON.parse(localStorage[e]));return g.length?(g.sort(function(a,b){return a.stamp-b.stamp}),basket.remove(g[0].key),f(a,b)):void 0}return}},g=function(a){var b=new RSVP.Promise(function(b,c){var d=new XMLHttpRequest;d.open("GET",a),d.onreadystatechange=function(){4===d.readyState&&(200===d.status?b({content:d.responseText,type:d.getResponseHeader("content-type")}):c(new Error(d.statusText)))},d.send()});return b},h=function(a){return g(a.url).then(function(b){var c=i(a,b);return f(a.key,c),c})},i=function(a,b){var c=+new Date;return a.data=b.content,a.originalType=b.type,a.type=a.type||b.type,a.stamp=c,a.expire=c+60*(a.expire||e)*60*1e3,a},j=function(a,b){return!a||a.expire-+new Date<0||b.unique!==a.unique||basket.isValidItem&&!basket.isValidItem(a,b)},k=function(a){var b,c,d;if(a.url)return a.key=a.key||a.url,b=basket.get(a.key),a.execute=a.execute!==!1,d=j(b,a),a.live||d?(a.unique&&(a.url+=(a.url.indexOf("?")>0?"&":"?")+"basket-unique="+a.unique),c=h(a),a.live&&!d&&(c=c.then(function(a){return a},function(){return b}))):(b.type=a.type||b.originalType,c=new RSVP.Promise(function(a){a(b)})),c},l=function(a){var d=b.createElement("script");d.defer=!0,d.text=a.data,c.appendChild(d)},m={"default":l},n=function(a){return a.type&&m[a.type]?m[a.type](a):m["default"](a)},o=function(a){a.map(function(a){return a.execute&&n(a),a})},p=function(){var a,b,c=[];for(a=0,b=arguments.length;b>a;a++)c.push(k(arguments[a]));return RSVP.all(c)},q=function(){var a=p.apply(null,arguments),b=this.then(function(){return a}).then(o);return b.thenRequire=q,b};a.basket={require:function(){var a=p.apply(null,arguments).then(o);return a.thenRequire=q,a},remove:function(a){return localStorage.removeItem(d+a),this},get:function(a){var b=localStorage.getItem(d+a);try{return JSON.parse(b||"false")}catch(c){return!1}},clear:function(a){var b,c,e=+new Date;for(b in localStorage)c=b.split(d)[1],c&&(!a||this.get(c).expire<=e)&&this.remove(c);return this},isValidItem:null,timeout:5e3,addHandler:function(a,b){Array.isArray(a)||(a=[a]),a.forEach(function(a){m[a]=b})},removeHandler:function(a){basket.addHandler(a,void 0)}},basket.clear(!0)}(this,document); -//# sourceMappingURL=dist/basket.min.map \ No newline at end of file +!function(a,b){"use strict";var c=b.head||b.getElementsByTagName("head")[0],d="basket-",e=5e3,f=function(a,b){try{return localStorage.setItem(d+a,JSON.stringify(b)),!0}catch(c){if(c.name.toUpperCase().indexOf("QUOTA")>=0){var e,g=[];for(e in localStorage)0===e.indexOf(d)&&g.push(JSON.parse(localStorage[e]));return g.length?(g.sort(function(a,b){return a.stamp-b.stamp}),basket.remove(g[0].key),f(a,b)):void 0}return}},g=function(a){var b=new RSVP.Promise(function(b,c){var d=new XMLHttpRequest;d.open("GET",a),d.onreadystatechange=function(){4===d.readyState&&(200===d.status?b({content:d.responseText,type:d.getResponseHeader("content-type")}):c(new Error(d.statusText)))},setTimeout(function(){d.readyState<4&&d.abort()},basket.timeout),d.send()});return b},h=function(a){return g(a.url).then(function(b){var c=i(a,b);return a.skipCache||f(a.key,c),c})},i=function(a,b){var c=+new Date;return a.data=b.content,a.originalType=b.type,a.type=a.type||b.type,a.skipCache=a.skipCache||!1,a.stamp=c,a.expire=c+60*(a.expire||e)*60*1e3,a},j=function(a,b){return!a||a.expire-+new Date<0||b.unique!==a.unique||basket.isValidItem&&!basket.isValidItem(a,b)},k=function(a){var b,c,d;if(a.url)return a.key=a.key||a.url,b=basket.get(a.key),a.execute=a.execute!==!1,d=j(b,a),a.live||d?(a.unique&&(a.url+=(a.url.indexOf("?")>0?"&":"?")+"basket-unique="+a.unique),c=h(a),a.live&&!d&&(c=c.then(function(a){return a},function(){return b}))):(b.type=a.type||b.originalType,c=new RSVP.Promise(function(a){a(b)})),c},l=function(a){var d=b.createElement("script");d.defer=!0,d.text=a.data,c.appendChild(d)},m={"default":l},n=function(a){return a.type&&m[a.type]?m[a.type](a):m["default"](a)},o=function(a){a.map(function(a){return a.execute&&n(a),a})},p=function(){var a,b,c=[];for(a=0,b=arguments.length;b>a;a++)c.push(k(arguments[a]));return RSVP.all(c)},q=function(){var a=p.apply(null,arguments),b=this.then(function(){return a}).then(o);return b.thenRequire=q,b};a.basket={require:function(){var a=p.apply(null,arguments).then(o);return a.thenRequire=q,a},remove:function(a){return localStorage.removeItem(d+a),this},get:function(a){var b=localStorage.getItem(d+a);try{return JSON.parse(b||"false")}catch(c){return!1}},clear:function(a){var b,c,e=+new Date;for(b in localStorage)c=b.split(d)[1],c&&(!a||this.get(c).expire<=e)&&this.remove(c);return this},isValidItem:null,timeout:5e3,addHandler:function(a,b){Array.isArray(a)||(a=[a]),a.forEach(function(a){m[a]=b})},removeHandler:function(a){basket.addHandler(a,void 0)}},basket.clear(!0)}(this,document); +//# sourceMappingURL=basket.min.js.map \ No newline at end of file diff --git a/dist/basket.min.js.map b/dist/basket.min.js.map new file mode 100644 index 0000000..7387fa4 --- /dev/null +++ b/dist/basket.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["basket.js"],"names":["window","document","head","getElementsByTagName","storagePrefix","defaultExpiration","addLocalStorage","key","storeObj","localStorage","setItem","JSON","stringify","e","name","toUpperCase","indexOf","item","tempScripts","push","parse","length","sort","a","b","stamp","basket","remove","getUrl","url","promise","RSVP","Promise","resolve","reject","xhr","XMLHttpRequest","open","onreadystatechange","readyState","status","content","responseText","type","getResponseHeader","Error","statusText","setTimeout","abort","timeout","send","saveUrl","obj","then","result","wrapStoreData","skipCache","data","now","Date","originalType","expire","isCacheValid","source","unique","isValidItem","handleStackObject","shouldFetch","get","execute","live","injectScript","script","createElement","defer","text","appendChild","handlers","default","performActions","resources","map","fetch","i","l","promises","arguments","all","thenRequire","apply","this","require","removeItem","getItem","clear","expired","split","addHandler","types","handler","Array","isArray","forEach","removeHandler","undefined"],"mappings":"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","file":"basket.min.js"} \ No newline at end of file