From a0c4c906fb45dc37be38683f3caf13d310e8961d Mon Sep 17 00:00:00 2001 From: Determinant Date: Tue, 19 Feb 2019 17:28:31 -0500 Subject: more improvements --- dist/background.js | 2 +- dist/index.js | 2 +- dist/tab.js | 2 +- src/Analyze.tsx | 8 +++---- src/PatternTable.tsx | 63 +++++++++++++++++++++++++++++++++------------------- src/Settings.tsx | 21 ++++++++++-------- src/background.ts | 8 +++---- src/tab.tsx | 1 + 8 files changed, 64 insertions(+), 43 deletions(-) diff --git a/dist/background.js b/dist/background.js index c599655..7cc7a31 100644 --- a/dist/background.js +++ b/dist/background.js @@ -39,5 +39,5 @@ object-assign * @website https://github.com/jsstyles/css-vendor * @license MIT */ -t.prefix=a.default,t.supportedProperty=r.default,t.supportedValue=s.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!o)return e;if(null!=d[e])return d[e];(0,s.default)(e)in o.style?d[e]=e:r.default.js+(0,s.default)("-"+e)in o.style?d[e]=r.default.css+e:d[e]=!1;return d[e]};var a=i(n(41)),r=i(n(56)),s=i(n(356));function i(e){return e&&e.__esModule?e:{default:e}}var o=void 0,d={};if(a.default){o=document.createElement("p");var u=window.getComputedStyle(document.documentElement,"");for(var l in u)isNaN(l)||(d[u[l]]=u[l])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.replace(a,r)};var a=/[-\s]+(.)?/g;function r(e,t){return t?t.toUpperCase():""}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!o)return t;if("string"!=typeof t||!isNaN(parseInt(t,10)))return t;var n=e+t;if(null!=i[n])return i[n];try{o.style[e]=t}catch(e){return i[n]=!1,!1}""!==o.style[e]?i[n]=t:("-ms-flex"===(t=r.default.css+t)&&(t="-ms-flexbox"),o.style[e]=t,""!==o.style[e]&&(i[n]=t));i[n]||(i[n]=!1);return o.style[e]="",i[n]};var a=s(n(41)),r=s(n(56));function s(e){return e&&e.__esModule?e:{default:e}}var i={},o=void 0;a.default&&(o=document.createElement("p"))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){function e(e,t){return e.length-t.length}return{onProcessStyle:function(t,n){if("style"!==n.type)return t;var a={},r=Object.keys(t).sort(e);for(var s in r)a[r[s]]=t[r[s]];return a}}}},function(e,t,n){"use strict";var a=n(360),r=n(2);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.MuiThemeProviderOld=void 0;var s=r(n(5)),i=r(n(8)),o=r(n(13)),d=r(n(14)),u=r(n(15)),l=r(n(16)),_=r(n(17)),c=r(n(3)),m=r(n(1)),h=(r(n(9)),r(n(364))),f=n(10),y=a(n(57)),M=function(e){function t(e,n){var a;return(0,o.default)(this,t),(a=(0,u.default)(this,(0,l.default)(t).call(this))).broadcast=(0,h.default)(),a.outerTheme=y.default.initial(n),a.broadcast.setState(a.mergeOuterLocalTheme(e.theme)),a}return(0,_.default)(t,e),(0,d.default)(t,[{key:"getChildContext",value:function(){var e,t=this.props,n=t.disableStylesGeneration,a=t.sheetsCache,r=t.sheetsManager,s=this.context.muiThemeProviderOptions||{};return void 0!==n&&(s.disableStylesGeneration=n),void 0!==a&&(s.sheetsCache=a),void 0!==r&&(s.sheetsManager=r),e={},(0,i.default)(e,y.CHANNEL,this.broadcast),(0,i.default)(e,"muiThemeProviderOptions",s),e}},{key:"componentDidMount",value:function(){var e=this;this.unsubscribeId=y.default.subscribe(this.context,function(t){e.outerTheme=t,e.broadcast.setState(e.mergeOuterLocalTheme(e.props.theme))})}},{key:"componentDidUpdate",value:function(e){this.props.theme!==e.theme&&this.broadcast.setState(this.mergeOuterLocalTheme(this.props.theme))}},{key:"componentWillUnmount",value:function(){null!==this.unsubscribeId&&y.default.unsubscribe(this.context,this.unsubscribeId)}},{key:"mergeOuterLocalTheme",value:function(e){return"function"==typeof e?e(this.outerTheme):this.outerTheme?(0,s.default)({},this.outerTheme,e):e}},{key:"render",value:function(){return this.props.children}}]),t}(c.default.Component);t.MuiThemeProviderOld=M,M.childContextTypes=(0,s.default)({},y.default.contextTypes,{muiThemeProviderOptions:m.default.object}),M.contextTypes=(0,s.default)({},y.default.contextTypes,{muiThemeProviderOptions:m.default.object}),f.ponyfillGlobal.__MUI_STYLES__||(f.ponyfillGlobal.__MUI_STYLES__={}),f.ponyfillGlobal.__MUI_STYLES__.MuiThemeProvider||(f.ponyfillGlobal.__MUI_STYLES__.MuiThemeProvider=M);var p=f.ponyfillGlobal.__MUI_STYLES__.MuiThemeProvider;t.default=p},function(e,t){e.exports=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};a.get||a.set?Object.defineProperty(t,n,a):t[n]=e[n]}return t.default=e,t}},function(e,t){function n(t,a){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,a)}e.exports=n},function(e,t,n){"use strict";var a=n(363);function r(){}e.exports=function(){function e(e,t,n,r,s,i){if(i!==a){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";n.r(t),t.default=function(e){var t={},n=1,a=e;return{getState:function(){return a},setState:function(e){a=e;for(var n=Object.keys(t),r=0,s=n.length;r0&&r[r.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]this.options.maxCachedItems))if(a===r)this.getSlot(a)[e.id]=new y(e.start,e.end,e.id);else{this.getSlot(a)[e.id]=new y(e.start,this.slotEndDate(a),e.id),this.getSlot(r)[e.id]=new y(this.slotStartDate(r),e.end,e.id);for(var d=a+1;d=t.end||n[r].end<=t.start||a.push(new M(n[r].startt.end?t.end:n[r].end,r,this.eventMeta[r].summary));return a},e.prototype.getCachedEvents=function(e){for(var t=this.dateRangeToCacheKeys(e),n=t.start,a=t.end,r=this.getSlotEvents(n,e),s=n+1;sn&&r.push.apply(r,this.getSlotEvents(a,e)),r},e.prototype.sync=function(){return a(this,void 0,void 0,function(){var e,t,n,s=this;return r(this,function(o){switch(o.label){case 0:return o.trys.push([0,4,,5]),[4,this.token];case 1:return e=o.sent(),[4,f(this.calId,e,this.syncToken)];case 2:return t=o.sent(),[4,Promise.all(t.results.map(function(t){return t.start?Promise.resolve(t):function(e,t,n){return a(this,void 0,void 0,function(){return r(this,function(a){switch(a.label){case 0:return[4,fetch(d+"/calendars/"+e+"/events/"+t+"?"+l({access_token:n}),{method:"GET"})];case 1:return[2,a.sent().json()]}})})}(s.calId,t.id,e)}))];case 3:return o.sent().forEach(function(e){e.start=new Date(e.start.dateTime),e.end=new Date(e.end.dateTime),"confirmed"===e.status?s.addEvent(e):"cancelled"===e.status&&s.removeEvent(e)}),this.syncToken=t.nextSyncToken,[3,5];case 4:if((n=o.sent())!==i.invalidSyncToken)throw n;return this.syncToken="",this.sync(),[3,5];case 5:return[2]}})})},e.prototype.getEvents=function(e,t,n){return void 0===n&&(n=!1),a(this,void 0,void 0,function(){var a,s,i,o,d,u,l,_=this;return r(this,function(r){switch(r.label){case 0:for(a=this.dateRangeToCacheKeys({start:e,end:t}),s={start:null,end:null},i=a.start;i<=a.end;i++)this.cache.has(i)||(null===s.start&&(s.start=i),s.end=i);return null===s.start?[3,9]:(console.assert(s.start<=s.end),s.end-s.start+1>this.options.largeQuery?(console.log("encounter large query, use direct fetch"),[4,this.token]):[3,3]);case 1:return o=r.sent(),[4,f(this.calId,o,null,e.toISOString(),t.toISOString())];case 2:return d=r.sent(),[2,{events:d.results.map(function(e){return console.assert(e.start),e.start=new Date(e.start.dateTime),e.end=new Date(e.end.dateTime),e}).filter(function(n){return!(n.start>=t||n.end<=e)}).map(function(n){return new M(n.startt?t:n.end,n.id,n.summary)}),changed:!1}];case 3:return console.log("fetching short event list"),[4,this.token];case 4:return u=r.sent(),[4,f(this.calId,u,null,this.slotStartDate(s.start).toISOString(),this.slotEndDate(s.end).toISOString())];case 5:return(l=r.sent()).results.forEach(function(e){"confirmed"===e.status&&(console.assert(e.start),e.start=new Date(e.start.dateTime),e.end=new Date(e.end.dateTime),_.addEvent(e,!0))}),""===this.syncToken&&(this.syncToken=l.nextSyncToken),n?[4,this.sync()]:[3,7];case 6:r.sent(),r.label=7;case 7:return[4,this.getCachedEvents({start:e,end:t})];case 8:return[2,{events:r.sent(),changed:!0}];case 9:return console.log("cache hit"),n?[4,this.sync()]:[3,11];case 10:r.sent(),r.label=11;case 11:return[4,this.getCachedEvents({start:e,end:t})];case 12:return[2,{events:r.sent(),changed:!1}]}})})},e}();t.GCalendar=p},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";const a=n(641),r=Symbol("max"),s=Symbol("length"),i=Symbol("lengthCalculator"),o=Symbol("allowStale"),d=Symbol("maxAge"),u=Symbol("dispose"),l=Symbol("noDisposeOnSet"),_=Symbol("lruList"),c=Symbol("cache"),m=Symbol("updateAgeOnGet"),h=()=>1;const f=(e,t,n)=>{const a=e[c].get(t);if(a){const t=a.value;if(y(e,t)){if(p(e,a),!e[o])return}else n&&(e[m]&&(a.value.now=Date.now()),e[_].unshiftNode(a));return t.value}},y=(e,t)=>{if(!t||!t.maxAge&&!e[d])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[d]&&n>e[d]},M=e=>{if(e[s]>e[r])for(let t=e[_].tail;e[s]>e[r]&&null!==t;){const n=t.prev;p(e,t),t=n}},p=(e,t)=>{if(t){const n=t.value;e[u]&&e[u](n.key,n.value),e[s]-=n.length,e[c].delete(n.key),e[_].removeNode(t)}};class L{constructor(e,t,n,a,r){this.key=e,this.value=t,this.length=n,this.now=a,this.maxAge=r||0}}const Y=(e,t,n,a)=>{let r=n.value;y(e,r)&&(p(e,n),e[o]||(r=void 0)),r&&t.call(a,r.value,r.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[r]=e.max||1/0;const t=e.length||h;if(this[i]="function"!=typeof t?h:t,this[o]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[d]=e.maxAge||0,this[u]=e.dispose,this[l]=e.noDisposeOnSet||!1,this[m]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[r]=e||1/0,M(this)}get max(){return this[r]}set allowStale(e){this[o]=!!e}get allowStale(){return this[o]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[d]=e,M(this)}get maxAge(){return this[d]}set lengthCalculator(e){"function"!=typeof e&&(e=h),e!==this[i]&&(this[i]=e,this[s]=0,this[_].forEach(e=>{e.length=this[i](e.value,e.key),this[s]+=e.length})),M(this)}get lengthCalculator(){return this[i]}get length(){return this[s]}get itemCount(){return this[_].length}rforEach(e,t){t=t||this;for(let n=this[_].tail;null!==n;){const a=n.prev;Y(this,e,n,t),n=a}}forEach(e,t){t=t||this;for(let n=this[_].head;null!==n;){const a=n.next;Y(this,e,n,t),n=a}}keys(){return this[_].toArray().map(e=>e.key)}values(){return this[_].toArray().map(e=>e.value)}reset(){this[u]&&this[_]&&this[_].length&&this[_].forEach(e=>this[u](e.key,e.value)),this[c]=new Map,this[_]=new a,this[s]=0}dump(){return this[_].map(e=>!y(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[_]}set(e,t,n){if((n=n||this[d])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const a=n?Date.now():0,o=this[i](t,e);if(this[c].has(e)){if(o>this[r])return p(this,this[c].get(e)),!1;const i=this[c].get(e).value;return this[u]&&(this[l]||this[u](e,i.value)),i.now=a,i.maxAge=n,i.value=t,this[s]+=o-i.length,i.length=o,this.get(e),M(this),!0}const m=new L(e,t,o,a,n);return m.length>this[r]?(this[u]&&this[u](e,t),!1):(this[s]+=m.length,this[_].unshift(m),this[c].set(e,this[_].head),M(this),!0)}has(e){if(!this[c].has(e))return!1;const t=this[c].get(e).value;return!y(this,t)}get(e){return f(this,e,!0)}peek(e){return f(this,e,!1)}pop(){const e=this[_].tail;return e?(p(this,e),e.value):null}del(e){p(this,this[c].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const a=e[n],r=a.e||0;if(0===r)this.set(a.k,a.v);else{const e=r-t;e>0&&this.set(a.k,a.v,e)}}}prune(){this[c].forEach((e,t)=>f(this,t,!1))}}},function(e,t,n){"use strict";function a(e){var t=this;if(t instanceof a||(t=new a),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");a=this.head.next,n=this.head.value}for(var r=0;null!==a;r++)n=e(n,a.value,r),a=a.next;return n},a.prototype.reduceReverse=function(e,t){var n,a=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");a=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==a;r--)n=e(n,a.value,r),a=a.prev;return n},a.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},a.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},a.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new a;if(tthis.length&&(t=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(t=this.length);for(var r=this.length,s=this.tail;null!==s&&r>t;r--)s=s.prev;for(;null!==s&&r>e;r--,s=s.prev)n.push(s.value);return n},a.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;null!==n;n=n.prev){var a=n.prev;n.prev=n.next,n.next=a}return this.head=t,this.tail=e,this};try{n(642)(a)}catch(e){}},function(e,t,n){"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},function(e,t,n){"use strict";var a=this&&this.__awaiter||function(e,t,n,a){return new(n||(n=Promise))(function(r,s){function i(e){try{d(a.next(e))}catch(e){s(e)}}function o(e){try{d(a.throw(e))}catch(e){s(e)}}function d(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(i,o)}d((a=a.apply(e,t||[])).next())})},r=this&&this.__generator||function(e,t){var n,a,r,s,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(s){return function(o){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,a&&(r=2&s[0]?a.return:s[0]?a.throw||((r=a.return)&&r.call(a),0):a.next)&&!(r=r.call(a,s[1])).done)return r;switch(a=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,a=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(r=(r=i.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]=t)return[2,{patternGraphData:[],calendarGraphData:[]}];for(L in a=[],d=function(r){if(!i[r].enabled)return"continue";var s=n.filter(function(e){return e.cal.regex.test(i[r].name)});s.length>0&&a.push(o(r,e,t).then(function(e){return{id:r,events:e,filtered:s}}))},i)d(L);return[4,Promise.all(a)];case 1:for(u=r.sent(),l={},_={},c={},m={},u.forEach(function(e){l[e.id]=e.events,_[e.id]=e.filtered}),p=0;p0&&r[r.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0&&r[r.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]this.options.maxCachedItems))if(a===r)this.getSlot(a)[e.id]=new y(e.start,e.end,e.id);else{this.getSlot(a)[e.id]=new y(e.start,this.slotEndDate(a),e.id),this.getSlot(r)[e.id]=new y(this.slotStartDate(r),e.end,e.id);for(var d=a+1;d=t.end||n[r].end<=t.start||a.push(new M(n[r].startt.end?t.end:n[r].end,r,this.eventMeta[r].summary));return a},e.prototype.getCachedEvents=function(e){for(var t=this.dateRangeToCacheKeys(e),n=t.start,a=t.end,r=this.getSlotEvents(n,e),s=n+1;sn&&r.push.apply(r,this.getSlotEvents(a,e)),r},e.prototype.sync=function(){return a(this,void 0,void 0,function(){var e,t,n,s=this;return r(this,function(o){switch(o.label){case 0:return o.trys.push([0,4,,5]),[4,this