diff --git a/dist/mono-context.d.ts b/dist/mono-context.d.ts index a972602..f726ad7 100644 --- a/dist/mono-context.d.ts +++ b/dist/mono-context.d.ts @@ -14,6 +14,7 @@ export default class MonoContext { private static _counts; private static _state; static version: string; + static default: typeof MonoContext; static _warningMessage: string; static count: (key: string) => number; static getCount: (key: string) => number; diff --git a/dist/mono-context.js b/dist/mono-context.js index 39bbaec..e0ae21a 100644 --- a/dist/mono-context.js +++ b/dist/mono-context.js @@ -45,7 +45,7 @@ var MonoContext = (() => { }); // package.json - var version = "1.1.1"; + var version = "1.1.2"; // src/index.ts var _MonoContext = class { @@ -74,6 +74,7 @@ var MonoContext = (() => { MonoContext._counts = {}; MonoContext._state = {}; MonoContext.version = version; + MonoContext.default = _MonoContext; MonoContext._warningMessage = 'WARNING: refusing to override "PROPERTY" property in MonoContext state'; MonoContext.count = (key) => { if (!_MonoContext._counts[key]) { diff --git a/dist/mono-context.js.map b/dist/mono-context.js.map index a6de0cf..084d9b4 100644 --- a/dist/mono-context.js.map +++ b/dist/mono-context.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../src/index.ts"], - "sourcesContent": ["// @ts-ignore\nimport { version } from '../package.json';\n\n// @ts-ignore\nexport { version } from '../package.json';\n\nexport interface MonoContextState {\n counts: {[k: string]: number},\n stateCreatedAt: Date,\n stateUpdatedAt: Date,\n [k: string]: any,\n}\n\nexport default class MonoContext {\n private static instance: MonoContext;\n\n private static _stateCreatedAt: Date = new Date();\n private static _stateUpdatedAt: Date = new Date();\n private static _counts: {[k: string]: number} = {};\n private static _state: {[k: string]: any} = {};\n\n static version = version;\n\n static _warningMessage = 'WARNING: refusing to override \"PROPERTY\" property in MonoContext state';\n\n static count = (key: string): number => {\n if (!MonoContext._counts[key]) {\n MonoContext._counts[key] = 0;\n }\n\n MonoContext._counts[key] += 1;\n\n return MonoContext._counts[key];\n };\n\n static getCount = (key: string): number => MonoContext._counts[key] || 0;\n\n static resetCount = (key: string) => {\n if (MonoContext._counts[key]) {\n MonoContext._counts[key] = 0;\n }\n }\n\n static resetAllCounts = () => {\n MonoContext._counts = {};\n }\n\n static setState = (newState: Partial) => {\n if (Object.keys(newState).includes('stateCreatedAt')) {\n console.log(MonoContext._warningMessage.replace('PROPERTY', 'stateCreatedAt'));\n }\n\n if (Object.keys(newState).includes('stateUpdatedAt')) {\n console.log(MonoContext._warningMessage.replace('PROPERTY', 'stateUpdatedAt'));\n }\n\n if (Object.keys(newState).includes('counts')) {\n console.log(MonoContext._warningMessage.replace('PROPERTY', 'counts'));\n }\n\n const {\n counts,\n stateCreatedAt,\n stateUpdatedAt,\n ...safeNewState\n } = newState;\n\n if (Object.keys(safeNewState).length > 0) {\n MonoContext._state = {\n ...MonoContext._state,\n ...safeNewState,\n } as T;\n\n MonoContext._stateUpdatedAt = new Date();\n }\n\n return MonoContext.getState();\n };\n\n static getState = () => {\n return MonoContext._state = {\n ...MonoContext._state,\n counts: { ...MonoContext._counts },\n stateCreatedAt: MonoContext._stateCreatedAt,\n stateUpdatedAt: MonoContext._stateUpdatedAt,\n } as T;\n };\n\n static getStateValue = (key: string) => MonoContext._state[key];\n\n static resetState = () => {\n MonoContext._stateCreatedAt = new Date();\n MonoContext._stateUpdatedAt = new Date();\n MonoContext._state = {};\n }\n\n count = MonoContext.count;\n getCount = MonoContext.getCount;\n resetCount = MonoContext.resetCount;\n resetAllCounts = MonoContext.resetAllCounts;\n setState = MonoContext.setState;\n getState = MonoContext.getState;\n getStateValue = MonoContext.getStateValue;\n resetState = MonoContext.resetState;\n\n constructor(warningOff: boolean = false) {\n if (!warningOff) {\n console.log(\n 'WARNING: instantiating MonoContext is unnecessary, all methods are statically defined'\n );\n }\n\n if (!MonoContext.instance) {\n MonoContext.instance = this;\n return this;\n }\n\n return MonoContext.instance;\n }\n}\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;AAaA,2BAAiC;AAAA,IA4F/B,YAAY,aAAsB,OAAO;AATzC,mBAAQ,aAAY;AACpB,sBAAW,aAAY;AACvB,wBAAa,aAAY;AACzB,4BAAiB,aAAY;AAC7B,sBAAW,aAAY;AACvB,sBAAW,aAAY;AACvB,2BAAgB,aAAY;AAC5B,wBAAa,aAAY;AAGvB,UAAI,CAAC,YAAY;AACf,gBAAQ,IACN;AAAA;AAIJ,UAAI,CAAC,aAAY,UAAU;AACzB,qBAAY,WAAW;AACvB,eAAO;AAAA;AAGT,aAAO,aAAY;AAAA;AAAA;AAxGvB;AAGiB,EAHjB,YAGiB,kBAAwB,IAAI;AAC5B,EAJjB,YAIiB,kBAAwB,IAAI;AAC5B,EALjB,YAKiB,UAAiC;AACjC,EANjB,YAMiB,SAA6B;AAErC,EART,YAQS,UAAU;AAEV,EAVT,YAUS,kBAAkB;AAElB,EAZT,YAYS,QAAQ,CAAC,QAAwB;AACtC,QAAI,CAAC,aAAY,QAAQ,MAAM;AAC7B,mBAAY,QAAQ,OAAO;AAAA;AAG7B,iBAAY,QAAQ,QAAQ;AAE5B,WAAO,aAAY,QAAQ;AAAA;AAGtB,EAtBT,YAsBS,WAAW,CAAC,QAAwB,aAAY,QAAQ,QAAQ;AAEhE,EAxBT,YAwBS,aAAa,CAAC,QAAgB;AACnC,QAAI,aAAY,QAAQ,MAAM;AAC5B,mBAAY,QAAQ,OAAO;AAAA;AAAA;AAIxB,EA9BT,YA8BS,iBAAiB,MAAM;AAC5B,iBAAY,UAAU;AAAA;AAGjB,EAlCT,YAkCS,WAAW,CAA6B,aAAyB;AACtE,QAAI,OAAO,KAAK,UAAU,SAAS,mBAAmB;AACpD,cAAQ,IAAI,aAAY,gBAAgB,QAAQ,YAAY;AAAA;AAG9D,QAAI,OAAO,KAAK,UAAU,SAAS,mBAAmB;AACpD,cAAQ,IAAI,aAAY,gBAAgB,QAAQ,YAAY;AAAA;AAG9D,QAAI,OAAO,KAAK,UAAU,SAAS,WAAW;AAC5C,cAAQ,IAAI,aAAY,gBAAgB,QAAQ,YAAY;AAAA;AAG9D,UAKI,eAJF;AAAA;AAAA,MACA;AAAA,MACA;AAAA,QAEE,IADC,yBACD,IADC;AAAA,MAHH;AAAA,MACA;AAAA,MACA;AAAA;AAIF,QAAI,OAAO,KAAK,cAAc,SAAS,GAAG;AACxC,mBAAY,SAAS,kCAChB,aAAY,SACZ;AAGL,mBAAY,kBAAkB,IAAI;AAAA;AAGpC,WAAO,aAAY;AAAA;AAGd,EAlET,YAkES,WAAW,MAAkC;AAClD,WAAO,aAAY,SAAS,iCACvB,aAAY,SADW;AAAA,MAE1B,QAAQ,mBAAK,aAAY;AAAA,MACzB,gBAAgB,aAAY;AAAA,MAC5B,gBAAgB,aAAY;AAAA;AAAA;AAIzB,EA3ET,YA2ES,gBAAgB,CAAC,QAAgB,aAAY,OAAO;AAEpD,EA7ET,YA6ES,aAAa,MAAM;AACxB,iBAAY,kBAAkB,IAAI;AAClC,iBAAY,kBAAkB,IAAI;AAClC,iBAAY,SAAS;AAAA;", + "sourcesContent": ["// @ts-ignore\nimport { version } from '../package.json';\n\n// @ts-ignore\nexport { version } from '../package.json';\n\nexport interface MonoContextState {\n counts: {[k: string]: number},\n stateCreatedAt: Date,\n stateUpdatedAt: Date,\n [k: string]: any,\n}\n\nexport default class MonoContext {\n private static instance: MonoContext;\n\n private static _stateCreatedAt: Date = new Date();\n private static _stateUpdatedAt: Date = new Date();\n private static _counts: {[k: string]: number} = {};\n private static _state: {[k: string]: any} = {};\n\n static version = version;\n static default: typeof MonoContext = MonoContext;\n\n static _warningMessage = 'WARNING: refusing to override \"PROPERTY\" property in MonoContext state';\n\n static count = (key: string): number => {\n if (!MonoContext._counts[key]) {\n MonoContext._counts[key] = 0;\n }\n\n MonoContext._counts[key] += 1;\n\n return MonoContext._counts[key];\n };\n\n static getCount = (key: string): number => MonoContext._counts[key] || 0;\n\n static resetCount = (key: string) => {\n if (MonoContext._counts[key]) {\n MonoContext._counts[key] = 0;\n }\n }\n\n static resetAllCounts = () => {\n MonoContext._counts = {};\n }\n\n static setState = (newState: Partial) => {\n if (Object.keys(newState).includes('stateCreatedAt')) {\n console.log(MonoContext._warningMessage.replace('PROPERTY', 'stateCreatedAt'));\n }\n\n if (Object.keys(newState).includes('stateUpdatedAt')) {\n console.log(MonoContext._warningMessage.replace('PROPERTY', 'stateUpdatedAt'));\n }\n\n if (Object.keys(newState).includes('counts')) {\n console.log(MonoContext._warningMessage.replace('PROPERTY', 'counts'));\n }\n\n const {\n counts,\n stateCreatedAt,\n stateUpdatedAt,\n ...safeNewState\n } = newState;\n\n if (Object.keys(safeNewState).length > 0) {\n MonoContext._state = {\n ...MonoContext._state,\n ...safeNewState,\n } as T;\n\n MonoContext._stateUpdatedAt = new Date();\n }\n\n return MonoContext.getState();\n };\n\n static getState = () => {\n return MonoContext._state = {\n ...MonoContext._state,\n counts: { ...MonoContext._counts },\n stateCreatedAt: MonoContext._stateCreatedAt,\n stateUpdatedAt: MonoContext._stateUpdatedAt,\n } as T;\n };\n\n static getStateValue = (key: string) => MonoContext._state[key];\n\n static resetState = () => {\n MonoContext._stateCreatedAt = new Date();\n MonoContext._stateUpdatedAt = new Date();\n MonoContext._state = {};\n }\n\n count = MonoContext.count;\n getCount = MonoContext.getCount;\n resetCount = MonoContext.resetCount;\n resetAllCounts = MonoContext.resetAllCounts;\n setState = MonoContext.setState;\n getState = MonoContext.getState;\n getStateValue = MonoContext.getStateValue;\n resetState = MonoContext.resetState;\n\n constructor(warningOff: boolean = false) {\n if (!warningOff) {\n console.log(\n 'WARNING: instantiating MonoContext is unnecessary, all methods are statically defined'\n );\n }\n\n if (!MonoContext.instance) {\n MonoContext.instance = this;\n return this;\n }\n\n return MonoContext.instance;\n }\n}\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;AAaA,2BAAiC;AAAA,IA6F/B,YAAY,aAAsB,OAAO;AATzC,mBAAQ,aAAY;AACpB,sBAAW,aAAY;AACvB,wBAAa,aAAY;AACzB,4BAAiB,aAAY;AAC7B,sBAAW,aAAY;AACvB,sBAAW,aAAY;AACvB,2BAAgB,aAAY;AAC5B,wBAAa,aAAY;AAGvB,UAAI,CAAC,YAAY;AACf,gBAAQ,IACN;AAAA;AAIJ,UAAI,CAAC,aAAY,UAAU;AACzB,qBAAY,WAAW;AACvB,eAAO;AAAA;AAGT,aAAO,aAAY;AAAA;AAAA;AAzGvB;AAGiB,EAHjB,YAGiB,kBAAwB,IAAI;AAC5B,EAJjB,YAIiB,kBAAwB,IAAI;AAC5B,EALjB,YAKiB,UAAiC;AACjC,EANjB,YAMiB,SAA6B;AAErC,EART,YAQS,UAAU;AACV,EATT,YASS,UAA8B;AAE9B,EAXT,YAWS,kBAAkB;AAElB,EAbT,YAaS,QAAQ,CAAC,QAAwB;AACtC,QAAI,CAAC,aAAY,QAAQ,MAAM;AAC7B,mBAAY,QAAQ,OAAO;AAAA;AAG7B,iBAAY,QAAQ,QAAQ;AAE5B,WAAO,aAAY,QAAQ;AAAA;AAGtB,EAvBT,YAuBS,WAAW,CAAC,QAAwB,aAAY,QAAQ,QAAQ;AAEhE,EAzBT,YAyBS,aAAa,CAAC,QAAgB;AACnC,QAAI,aAAY,QAAQ,MAAM;AAC5B,mBAAY,QAAQ,OAAO;AAAA;AAAA;AAIxB,EA/BT,YA+BS,iBAAiB,MAAM;AAC5B,iBAAY,UAAU;AAAA;AAGjB,EAnCT,YAmCS,WAAW,CAA6B,aAAyB;AACtE,QAAI,OAAO,KAAK,UAAU,SAAS,mBAAmB;AACpD,cAAQ,IAAI,aAAY,gBAAgB,QAAQ,YAAY;AAAA;AAG9D,QAAI,OAAO,KAAK,UAAU,SAAS,mBAAmB;AACpD,cAAQ,IAAI,aAAY,gBAAgB,QAAQ,YAAY;AAAA;AAG9D,QAAI,OAAO,KAAK,UAAU,SAAS,WAAW;AAC5C,cAAQ,IAAI,aAAY,gBAAgB,QAAQ,YAAY;AAAA;AAG9D,UAKI,eAJF;AAAA;AAAA,MACA;AAAA,MACA;AAAA,QAEE,IADC,yBACD,IADC;AAAA,MAHH;AAAA,MACA;AAAA,MACA;AAAA;AAIF,QAAI,OAAO,KAAK,cAAc,SAAS,GAAG;AACxC,mBAAY,SAAS,kCAChB,aAAY,SACZ;AAGL,mBAAY,kBAAkB,IAAI;AAAA;AAGpC,WAAO,aAAY;AAAA;AAGd,EAnET,YAmES,WAAW,MAAkC;AAClD,WAAO,aAAY,SAAS,iCACvB,aAAY,SADW;AAAA,MAE1B,QAAQ,mBAAK,aAAY;AAAA,MACzB,gBAAgB,aAAY;AAAA,MAC5B,gBAAgB,aAAY;AAAA;AAAA;AAIzB,EA5ET,YA4ES,gBAAgB,CAAC,QAAgB,aAAY,OAAO;AAEpD,EA9ET,YA8ES,aAAa,MAAM;AACxB,iBAAY,kBAAkB,IAAI;AAClC,iBAAY,kBAAkB,IAAI;AAClC,iBAAY,SAAS;AAAA;", "names": [] } diff --git a/dist/mono-context.min.js b/dist/mono-context.min.js index 8b20b05..68f9ceb 100644 --- a/dist/mono-context.min.js +++ b/dist/mono-context.min.js @@ -1,2 +1,2 @@ -var MonoContext=(()=>{var l=Object.defineProperty,b=Object.defineProperties;var h=Object.getOwnPropertyDescriptors;var c=Object.getOwnPropertySymbols;var d=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable;var m=(s,t,a)=>t in s?l(s,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[t]=a,r=(s,t)=>{for(var a in t||(t={}))d.call(t,a)&&m(s,a,t[a]);if(c)for(var a of c(t))g.call(t,a)&&m(s,a,t[a]);return s},A=(s,t)=>b(s,h(t)),y=s=>l(s,"__esModule",{value:!0});var f=(s,t)=>{var a={};for(var i in s)d.call(s,i)&&t.indexOf(i)<0&&(a[i]=s[i]);if(s!=null&&c)for(var i of c(s))t.indexOf(i)<0&&g.call(s,i)&&(a[i]=s[i]);return a};var j=(s,t)=>{y(s);for(var a in t)l(s,a,{get:t[a],enumerable:!0})};var v={};j(v,{default:()=>n,version:()=>o});var o="1.1.1";var e=class{constructor(t=!1){this.count=e.count;this.getCount=e.getCount;this.resetCount=e.resetCount;this.resetAllCounts=e.resetAllCounts;this.setState=e.setState;this.getState=e.getState;this.getStateValue=e.getStateValue;this.resetState=e.resetState;return t||console.log("WARNING: instantiating MonoContext is unnecessary, all methods are statically defined"),e.instance?e.instance:(e.instance=this,this)}},n=e;n._stateCreatedAt=new Date,n._stateUpdatedAt=new Date,n._counts={},n._state={},n.version=o,n._warningMessage='WARNING: refusing to override "PROPERTY" property in MonoContext state',n.count=t=>(e._counts[t]||(e._counts[t]=0),e._counts[t]+=1,e._counts[t]),n.getCount=t=>e._counts[t]||0,n.resetCount=t=>{e._counts[t]&&(e._counts[t]=0)},n.resetAllCounts=()=>{e._counts={}},n.setState=t=>{Object.keys(t).includes("stateCreatedAt")&&console.log(e._warningMessage.replace("PROPERTY","stateCreatedAt")),Object.keys(t).includes("stateUpdatedAt")&&console.log(e._warningMessage.replace("PROPERTY","stateUpdatedAt")),Object.keys(t).includes("counts")&&console.log(e._warningMessage.replace("PROPERTY","counts"));let p=t,{counts:a,stateCreatedAt:i,stateUpdatedAt:k}=p,u=f(p,["counts","stateCreatedAt","stateUpdatedAt"]);return Object.keys(u).length>0&&(e._state=r(r({},e._state),u),e._stateUpdatedAt=new Date),e.getState()},n.getState=()=>e._state=A(r({},e._state),{counts:r({},e._counts),stateCreatedAt:e._stateCreatedAt,stateUpdatedAt:e._stateUpdatedAt}),n.getStateValue=t=>e._state[t],n.resetState=()=>{e._stateCreatedAt=new Date,e._stateUpdatedAt=new Date,e._state={}};return v;})(); +var MonoContext=(()=>{var l=Object.defineProperty,b=Object.defineProperties;var h=Object.getOwnPropertyDescriptors;var c=Object.getOwnPropertySymbols;var d=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable;var m=(s,e,a)=>e in s?l(s,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[e]=a,r=(s,e)=>{for(var a in e||(e={}))d.call(e,a)&&m(s,a,e[a]);if(c)for(var a of c(e))g.call(e,a)&&m(s,a,e[a]);return s},f=(s,e)=>b(s,h(e)),y=s=>l(s,"__esModule",{value:!0});var A=(s,e)=>{var a={};for(var i in s)d.call(s,i)&&e.indexOf(i)<0&&(a[i]=s[i]);if(s!=null&&c)for(var i of c(s))e.indexOf(i)<0&&g.call(s,i)&&(a[i]=s[i]);return a};var j=(s,e)=>{y(s);for(var a in e)l(s,a,{get:e[a],enumerable:!0})};var v={};j(v,{default:()=>n,version:()=>o});var o="1.1.2";var t=class{constructor(e=!1){this.count=t.count;this.getCount=t.getCount;this.resetCount=t.resetCount;this.resetAllCounts=t.resetAllCounts;this.setState=t.setState;this.getState=t.getState;this.getStateValue=t.getStateValue;this.resetState=t.resetState;return e||console.log("WARNING: instantiating MonoContext is unnecessary, all methods are statically defined"),t.instance?t.instance:(t.instance=this,this)}},n=t;n._stateCreatedAt=new Date,n._stateUpdatedAt=new Date,n._counts={},n._state={},n.version=o,n.default=t,n._warningMessage='WARNING: refusing to override "PROPERTY" property in MonoContext state',n.count=e=>(t._counts[e]||(t._counts[e]=0),t._counts[e]+=1,t._counts[e]),n.getCount=e=>t._counts[e]||0,n.resetCount=e=>{t._counts[e]&&(t._counts[e]=0)},n.resetAllCounts=()=>{t._counts={}},n.setState=e=>{Object.keys(e).includes("stateCreatedAt")&&console.log(t._warningMessage.replace("PROPERTY","stateCreatedAt")),Object.keys(e).includes("stateUpdatedAt")&&console.log(t._warningMessage.replace("PROPERTY","stateUpdatedAt")),Object.keys(e).includes("counts")&&console.log(t._warningMessage.replace("PROPERTY","counts"));let p=e,{counts:a,stateCreatedAt:i,stateUpdatedAt:k}=p,u=A(p,["counts","stateCreatedAt","stateUpdatedAt"]);return Object.keys(u).length>0&&(t._state=r(r({},t._state),u),t._stateUpdatedAt=new Date),t.getState()},n.getState=()=>t._state=f(r({},t._state),{counts:r({},t._counts),stateCreatedAt:t._stateCreatedAt,stateUpdatedAt:t._stateUpdatedAt}),n.getStateValue=e=>t._state[e],n.resetState=()=>{t._stateCreatedAt=new Date,t._stateUpdatedAt=new Date,t._state={}};return v;})(); 'undefined'!=typeof module&&(module.exports=MonoContext.default),'undefined'!=typeof window&&(MonoContext=MonoContext.default); \ No newline at end of file