New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

react-forceupdate

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-forceupdate - npm Package Compare versions

Comparing version
0.3.2
to
0.3.3
+2
-2
dist/index.d.ts

@@ -7,3 +7,3 @@ export declare type UseForceUpdateProps = string;

eventCount: number;
subscribedEventType: string;
subscribedTo: string;
eventType?: string;

@@ -13,3 +13,3 @@ payload?: any;

export declare function runForceUpdate(eventType?: RunForceUpdateEventType, payload?: RunForceUpdatePayload): void;
export declare function useForceUpdate(subscribedEventType?: Input): UseForceUpdateState;
export declare function useForceUpdate(subscribedTo?: Input): UseForceUpdateState;
export {};

@@ -12,7 +12,6 @@ 'use strict';

var emitter = /*#__PURE__*/mittt(emitterHandlerMap);
var prefix = 'event_';
var getKey = function getKey(eventType) {
if (!eventType) return prefix + 'default';
return prefix + eventType;
if (!eventType) return 'default';
return eventType;
};

@@ -23,8 +22,8 @@

}
function useForceUpdate(subscribedEventType) {
var key = getKey(subscribedEventType);
function useForceUpdate(subscribedTo) {
var key = getKey(subscribedTo);
var _React$useState = React.useState({
eventCount: 0,
subscribedEventType: subscribedEventType
subscribedTo: subscribedTo
}),

@@ -36,3 +35,3 @@ state = _React$useState[0],

() => (eventType: Input, payload: any) =>
updateState(setState, subscribedEventType, eventType, payload),
updateState(setState, subscribedTo, eventType, payload),
[]

@@ -45,3 +44,3 @@ )

var fn = function fn(eventType, payload) {
return updateState(setState, subscribedEventType, eventType, payload);
return updateState(setState, subscribedTo, eventType, payload);
};

@@ -59,3 +58,3 @@

function updateState(setState, subscribedEventType, eventType, payload) {
function updateState(setState, subscribedTo, eventType, payload) {
// This triggers re-render

@@ -67,3 +66,3 @@ setState(function (prevState) {

payload: payload,
subscribedEventType: subscribedEventType,
subscribedTo: subscribedTo,
eventCount: eventCount

@@ -70,0 +69,0 @@ };

@@ -1,1 +0,1 @@

{"version":3,"file":"react-forceupdate.cjs.development.js","sources":["../src/index.tsx"],"sourcesContent":["import React from 'react'\nimport mittt, { Emitter, EventHandlerMap } from 'mittt'\n\n// Please do not use types off of a default export module or else Storybook Docs will suffer.\n// see: https://github.com/storybookjs/storybook/issues/9556\n\nexport type UseForceUpdateProps = string\ntype Input = string\n\nexport type RunForceUpdateEventType = Input\nexport type RunForceUpdatePayload = any\n\nexport type UseForceUpdateState = {\n eventCount: number\n subscribedEventType: string\n eventType?: string\n payload?: any\n}\n\nlet emitterHandlerMap: EventHandlerMap = Object.create(null)\nlet emitter: Emitter = mittt(emitterHandlerMap)\nlet prefix = 'event_'\n\nlet getKey = (eventType: Input): string => {\n if (!eventType) return prefix + 'default'\n\n return prefix + eventType\n}\n\nexport function runForceUpdate(\n eventType?: RunForceUpdateEventType,\n payload?: RunForceUpdatePayload\n) {\n emitter.emit(getKey(eventType), payload)\n}\n\nexport function useForceUpdate(\n subscribedEventType?: Input\n): UseForceUpdateState {\n let key = getKey(subscribedEventType)\n let [state, setState] = React.useState({ eventCount: 0, subscribedEventType })\n\n /*\n let fn = React.useMemo(\n () => (eventType: Input, payload: any) =>\n updateState(setState, subscribedEventType, eventType, payload),\n []\n )\n */\n // React.useMemo not needed.\n let fn = (eventType: Input, payload: any) =>\n updateState(setState, subscribedEventType, eventType, payload)\n\n React.useEffect(() => {\n emitter.on(key, fn)\n // console.debug('on', emitterHandlerMap)\n return () => {\n emitter.off(key, fn)\n // console.debug('off', emitterHandlerMap)\n }\n })\n\n return state\n}\n\nfunction updateState(\n setState: React.Dispatch<React.SetStateAction<UseForceUpdateState>>,\n subscribedEventType: Input,\n eventType: string,\n payload?: any\n) {\n // This triggers re-render\n setState(prevState => {\n let eventCount = (prevState.eventCount || 0) + 1\n let result: UseForceUpdateState = {\n eventType,\n payload,\n subscribedEventType,\n eventCount,\n }\n if (payload === undefined) delete result.payload\n\n return result\n })\n}\n"],"names":["emitterHandlerMap","Object","create","emitter","mittt","prefix","getKey","eventType","runForceUpdate","payload","emit","useForceUpdate","subscribedEventType","key","React","useState","eventCount","state","setState","fn","updateState","useEffect","on","off","prevState","result","undefined"],"mappings":";;;;;;;;;AAmBA,IAAIA,iBAAiB,gBAAoBC,MAAM,CAACC,MAAP,CAAc,IAAd,CAAzC;AACA,IAAIC,OAAO,gBAAYC,KAAK,CAACJ,iBAAD,CAA5B;AACA,IAAIK,MAAM,GAAG,QAAb;;AAEA,IAAIC,MAAM,GAAG,SAATA,MAAS,CAACC,SAAD;AACX,MAAI,CAACA,SAAL,EAAgB,OAAOF,MAAM,GAAG,SAAhB;AAEhB,SAAOA,MAAM,GAAGE,SAAhB;AACD,CAJD;;SAMgBC,eACdD,WACAE;AAEAN,EAAAA,OAAO,CAACO,IAAR,CAAaJ,MAAM,CAACC,SAAD,CAAnB,EAAgCE,OAAhC;AACD;SAEeE,eACdC;AAEA,MAAIC,GAAG,GAAGP,MAAM,CAACM,mBAAD,CAAhB;;wBACwBE,KAAK,CAACC,QAAN,CAAe;AAAEC,IAAAA,UAAU,EAAE,CAAd;AAAiBJ,IAAAA,mBAAmB,EAAnBA;AAAjB,GAAf;MAAnBK;MAAOC;AAEZ;;;;;;;AAOA;;;AACA,MAAIC,EAAE,GAAG,SAALA,EAAK,CAACZ,SAAD,EAAmBE,OAAnB;AAAA,WACPW,WAAW,CAACF,QAAD,EAAWN,mBAAX,EAAgCL,SAAhC,EAA2CE,OAA3C,CADJ;AAAA,GAAT;;AAGAK,EAAAA,KAAK,CAACO,SAAN,CAAgB;AACdlB,IAAAA,OAAO,CAACmB,EAAR,CAAWT,GAAX,EAAgBM,EAAhB;;AAEA,WAAO;AACLhB,MAAAA,OAAO,CAACoB,GAAR,CAAYV,GAAZ,EAAiBM,EAAjB;AAED,KAHD;AAID,GAPD;AASA,SAAOF,KAAP;AACD;;AAED,SAASG,WAAT,CACEF,QADF,EAEEN,mBAFF,EAGEL,SAHF,EAIEE,OAJF;AAME;AACAS,EAAAA,QAAQ,CAAC,UAAAM,SAAS;AAChB,QAAIR,UAAU,GAAG,CAACQ,SAAS,CAACR,UAAV,IAAwB,CAAzB,IAA8B,CAA/C;AACA,QAAIS,MAAM,GAAwB;AAChClB,MAAAA,SAAS,EAATA,SADgC;AAEhCE,MAAAA,OAAO,EAAPA,OAFgC;AAGhCG,MAAAA,mBAAmB,EAAnBA,mBAHgC;AAIhCI,MAAAA,UAAU,EAAVA;AAJgC,KAAlC;AAMA,QAAIP,OAAO,KAAKiB,SAAhB,EAA2B,OAAOD,MAAM,CAAChB,OAAd;AAE3B,WAAOgB,MAAP;AACD,GAXO,CAAR;AAYD;;;;;"}
{"version":3,"file":"react-forceupdate.cjs.development.js","sources":["../src/index.tsx"],"sourcesContent":["import React from 'react'\r\nimport mittt, { Emitter, EventHandlerMap } from 'mittt'\r\n\r\n// Please do not use types off of a default export module or else Storybook Docs will suffer.\r\n// see: https://github.com/storybookjs/storybook/issues/9556\r\n\r\nexport type UseForceUpdateProps = string\r\ntype Input = string\r\n\r\nexport type RunForceUpdateEventType = Input\r\nexport type RunForceUpdatePayload = any\r\n\r\nexport type UseForceUpdateState = {\r\n eventCount: number\r\n subscribedTo: string\r\n eventType?: string\r\n payload?: any\r\n}\r\n\r\nlet emitterHandlerMap: EventHandlerMap = Object.create(null)\r\nlet emitter: Emitter = mittt(emitterHandlerMap)\r\n\r\nlet getKey = (eventType: Input): string => {\r\n if (!eventType) return 'default'\r\n\r\n return eventType\r\n}\r\n\r\nexport function runForceUpdate(\r\n eventType?: RunForceUpdateEventType,\r\n payload?: RunForceUpdatePayload\r\n) {\r\n emitter.emit(getKey(eventType), payload)\r\n}\r\n\r\nexport function useForceUpdate(subscribedTo?: Input): UseForceUpdateState {\r\n let key = getKey(subscribedTo)\r\n let [state, setState] = React.useState({ eventCount: 0, subscribedTo })\r\n\r\n /*\r\n let fn = React.useMemo(\r\n () => (eventType: Input, payload: any) =>\r\n updateState(setState, subscribedTo, eventType, payload),\r\n []\r\n )\r\n */\r\n // React.useMemo not needed.\r\n let fn = (eventType: Input, payload: any) =>\r\n updateState(setState, subscribedTo, eventType, payload)\r\n\r\n React.useEffect(() => {\r\n emitter.on(key, fn)\r\n // console.debug('on', emitterHandlerMap)\r\n return () => {\r\n emitter.off(key, fn)\r\n // console.debug('off', emitterHandlerMap)\r\n }\r\n })\r\n\r\n return state\r\n}\r\n\r\nfunction updateState(\r\n setState: React.Dispatch<React.SetStateAction<UseForceUpdateState>>,\r\n subscribedTo: Input,\r\n eventType: string,\r\n payload?: any\r\n) {\r\n // This triggers re-render\r\n setState(prevState => {\r\n let eventCount = (prevState.eventCount || 0) + 1\r\n let result: UseForceUpdateState = {\r\n eventType,\r\n payload,\r\n subscribedTo,\r\n eventCount,\r\n }\r\n if (payload === undefined) delete result.payload\r\n\r\n return result\r\n })\r\n}\r\n"],"names":["emitterHandlerMap","Object","create","emitter","mittt","getKey","eventType","runForceUpdate","payload","emit","useForceUpdate","subscribedTo","key","React","useState","eventCount","state","setState","fn","updateState","useEffect","on","off","prevState","result","undefined"],"mappings":";;;;;;;;;AAmBA,IAAIA,iBAAiB,gBAAoBC,MAAM,CAACC,MAAP,CAAc,IAAd,CAAzC;AACA,IAAIC,OAAO,gBAAYC,KAAK,CAACJ,iBAAD,CAA5B;;AAEA,IAAIK,MAAM,GAAG,SAATA,MAAS,CAACC,SAAD;AACX,MAAI,CAACA,SAAL,EAAgB,OAAO,SAAP;AAEhB,SAAOA,SAAP;AACD,CAJD;;SAMgBC,eACdD,WACAE;AAEAL,EAAAA,OAAO,CAACM,IAAR,CAAaJ,MAAM,CAACC,SAAD,CAAnB,EAAgCE,OAAhC;AACD;SAEeE,eAAeC;AAC7B,MAAIC,GAAG,GAAGP,MAAM,CAACM,YAAD,CAAhB;;wBACwBE,KAAK,CAACC,QAAN,CAAe;AAAEC,IAAAA,UAAU,EAAE,CAAd;AAAiBJ,IAAAA,YAAY,EAAZA;AAAjB,GAAf;MAAnBK;MAAOC;AAEZ;;;;;;;AAOA;;;AACA,MAAIC,EAAE,GAAG,SAALA,EAAK,CAACZ,SAAD,EAAmBE,OAAnB;AAAA,WACPW,WAAW,CAACF,QAAD,EAAWN,YAAX,EAAyBL,SAAzB,EAAoCE,OAApC,CADJ;AAAA,GAAT;;AAGAK,EAAAA,KAAK,CAACO,SAAN,CAAgB;AACdjB,IAAAA,OAAO,CAACkB,EAAR,CAAWT,GAAX,EAAgBM,EAAhB;;AAEA,WAAO;AACLf,MAAAA,OAAO,CAACmB,GAAR,CAAYV,GAAZ,EAAiBM,EAAjB;AAED,KAHD;AAID,GAPD;AASA,SAAOF,KAAP;AACD;;AAED,SAASG,WAAT,CACEF,QADF,EAEEN,YAFF,EAGEL,SAHF,EAIEE,OAJF;AAME;AACAS,EAAAA,QAAQ,CAAC,UAAAM,SAAS;AAChB,QAAIR,UAAU,GAAG,CAACQ,SAAS,CAACR,UAAV,IAAwB,CAAzB,IAA8B,CAA/C;AACA,QAAIS,MAAM,GAAwB;AAChClB,MAAAA,SAAS,EAATA,SADgC;AAEhCE,MAAAA,OAAO,EAAPA,OAFgC;AAGhCG,MAAAA,YAAY,EAAZA,YAHgC;AAIhCI,MAAAA,UAAU,EAAVA;AAJgC,KAAlC;AAMA,QAAIP,OAAO,KAAKiB,SAAhB,EAA2B,OAAOD,MAAM,CAAChB,OAAd;AAE3B,WAAOgB,MAAP;AACD,GAXO,CAAR;AAYD;;;;;"}

@@ -1,2 +0,2 @@

"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),n=e(require("mittt"))(Object.create(null)),u=function(e){return e?"event_"+e:"event_default"};exports.runForceUpdate=function(e,t){n.emit(u(e),t)},exports.useForceUpdate=function(e){var r=u(e),o=t.useState({eventCount:0,subscribedEventType:e}),c=o[0],i=o[1],f=function(t,n){return function(e,t,n,u){e((function(e){var r={eventType:n,payload:u,subscribedEventType:t,eventCount:(e.eventCount||0)+1};return void 0===u&&delete r.payload,r}))}(i,e,t,n)};return t.useEffect((function(){return n.on(r,f),function(){n.off(r,f)}})),c};
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),n=e(require("mittt"))(Object.create(null)),u=function(e){return e||"default"};exports.runForceUpdate=function(e,t){n.emit(u(e),t)},exports.useForceUpdate=function(e){var r=u(e),o=t.useState({eventCount:0,subscribedTo:e}),c=o[0],i=o[1],f=function(t,n){return function(e,t,n,u){e((function(e){var r={eventType:n,payload:u,subscribedTo:t,eventCount:(e.eventCount||0)+1};return void 0===u&&delete r.payload,r}))}(i,e,t,n)};return t.useEffect((function(){return n.on(r,f),function(){n.off(r,f)}})),c};
//# sourceMappingURL=react-forceupdate.cjs.production.min.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"react-forceupdate.cjs.production.min.js","sources":["../src/index.tsx"],"sourcesContent":["import React from 'react'\nimport mittt, { Emitter, EventHandlerMap } from 'mittt'\n\n// Please do not use types off of a default export module or else Storybook Docs will suffer.\n// see: https://github.com/storybookjs/storybook/issues/9556\n\nexport type UseForceUpdateProps = string\ntype Input = string\n\nexport type RunForceUpdateEventType = Input\nexport type RunForceUpdatePayload = any\n\nexport type UseForceUpdateState = {\n eventCount: number\n subscribedEventType: string\n eventType?: string\n payload?: any\n}\n\nlet emitterHandlerMap: EventHandlerMap = Object.create(null)\nlet emitter: Emitter = mittt(emitterHandlerMap)\nlet prefix = 'event_'\n\nlet getKey = (eventType: Input): string => {\n if (!eventType) return prefix + 'default'\n\n return prefix + eventType\n}\n\nexport function runForceUpdate(\n eventType?: RunForceUpdateEventType,\n payload?: RunForceUpdatePayload\n) {\n emitter.emit(getKey(eventType), payload)\n}\n\nexport function useForceUpdate(\n subscribedEventType?: Input\n): UseForceUpdateState {\n let key = getKey(subscribedEventType)\n let [state, setState] = React.useState({ eventCount: 0, subscribedEventType })\n\n /*\n let fn = React.useMemo(\n () => (eventType: Input, payload: any) =>\n updateState(setState, subscribedEventType, eventType, payload),\n []\n )\n */\n // React.useMemo not needed.\n let fn = (eventType: Input, payload: any) =>\n updateState(setState, subscribedEventType, eventType, payload)\n\n React.useEffect(() => {\n emitter.on(key, fn)\n // console.debug('on', emitterHandlerMap)\n return () => {\n emitter.off(key, fn)\n // console.debug('off', emitterHandlerMap)\n }\n })\n\n return state\n}\n\nfunction updateState(\n setState: React.Dispatch<React.SetStateAction<UseForceUpdateState>>,\n subscribedEventType: Input,\n eventType: string,\n payload?: any\n) {\n // This triggers re-render\n setState(prevState => {\n let eventCount = (prevState.eventCount || 0) + 1\n let result: UseForceUpdateState = {\n eventType,\n payload,\n subscribedEventType,\n eventCount,\n }\n if (payload === undefined) delete result.payload\n\n return result\n })\n}\n"],"names":["emitter","mittt","Object","create","getKey","eventType","prefix","payload","emit","subscribedEventType","key","React","useState","eventCount","state","setState","fn","prevState","result","undefined","updateState","useEffect","on","off"],"mappings":"oKAoBIA,qBAAmBC,CADkBC,OAAOC,OAAO,OAInDC,EAAS,SAACC,UACPA,EAHM,SAKKA,EAFOC,iDAMvBD,EACAE,GAEAP,EAAQQ,KAAKJ,EAAOC,GAAYE,oCAIhCE,OAEIC,EAAMN,EAAOK,KACOE,EAAMC,SAAS,CAAEC,WAAY,EAAGJ,oBAAAA,IAAnDK,OAAOC,OAURC,EAAK,SAACX,EAAkBE,UAe9B,SACEQ,EACAN,EACAJ,EACAE,GAGAQ,GAAS,SAAAE,OAEHC,EAA8B,CAChCb,UAAAA,EACAE,QAAAA,EACAE,oBAAAA,EACAI,YALgBI,EAAUJ,YAAc,GAAK,eAO/BM,IAAZZ,UAA8BW,EAAOX,QAElCW,KA/BPE,CAAYL,EAAUN,EAAqBJ,EAAWE,WAExDI,EAAMU,WAAU,kBACdrB,EAAQsB,GAAGZ,EAAKM,GAET,WACLhB,EAAQuB,IAAIb,EAAKM,OAKdF"}
{"version":3,"file":"react-forceupdate.cjs.production.min.js","sources":["../src/index.tsx"],"sourcesContent":["import React from 'react'\r\nimport mittt, { Emitter, EventHandlerMap } from 'mittt'\r\n\r\n// Please do not use types off of a default export module or else Storybook Docs will suffer.\r\n// see: https://github.com/storybookjs/storybook/issues/9556\r\n\r\nexport type UseForceUpdateProps = string\r\ntype Input = string\r\n\r\nexport type RunForceUpdateEventType = Input\r\nexport type RunForceUpdatePayload = any\r\n\r\nexport type UseForceUpdateState = {\r\n eventCount: number\r\n subscribedTo: string\r\n eventType?: string\r\n payload?: any\r\n}\r\n\r\nlet emitterHandlerMap: EventHandlerMap = Object.create(null)\r\nlet emitter: Emitter = mittt(emitterHandlerMap)\r\n\r\nlet getKey = (eventType: Input): string => {\r\n if (!eventType) return 'default'\r\n\r\n return eventType\r\n}\r\n\r\nexport function runForceUpdate(\r\n eventType?: RunForceUpdateEventType,\r\n payload?: RunForceUpdatePayload\r\n) {\r\n emitter.emit(getKey(eventType), payload)\r\n}\r\n\r\nexport function useForceUpdate(subscribedTo?: Input): UseForceUpdateState {\r\n let key = getKey(subscribedTo)\r\n let [state, setState] = React.useState({ eventCount: 0, subscribedTo })\r\n\r\n /*\r\n let fn = React.useMemo(\r\n () => (eventType: Input, payload: any) =>\r\n updateState(setState, subscribedTo, eventType, payload),\r\n []\r\n )\r\n */\r\n // React.useMemo not needed.\r\n let fn = (eventType: Input, payload: any) =>\r\n updateState(setState, subscribedTo, eventType, payload)\r\n\r\n React.useEffect(() => {\r\n emitter.on(key, fn)\r\n // console.debug('on', emitterHandlerMap)\r\n return () => {\r\n emitter.off(key, fn)\r\n // console.debug('off', emitterHandlerMap)\r\n }\r\n })\r\n\r\n return state\r\n}\r\n\r\nfunction updateState(\r\n setState: React.Dispatch<React.SetStateAction<UseForceUpdateState>>,\r\n subscribedTo: Input,\r\n eventType: string,\r\n payload?: any\r\n) {\r\n // This triggers re-render\r\n setState(prevState => {\r\n let eventCount = (prevState.eventCount || 0) + 1\r\n let result: UseForceUpdateState = {\r\n eventType,\r\n payload,\r\n subscribedTo,\r\n eventCount,\r\n }\r\n if (payload === undefined) delete result.payload\r\n\r\n return result\r\n })\r\n}\r\n"],"names":["emitter","mittt","Object","create","getKey","eventType","payload","emit","subscribedTo","key","React","useState","eventCount","state","setState","fn","prevState","result","undefined","updateState","useEffect","on","off"],"mappings":"oKAoBIA,qBAAmBC,CADkBC,OAAOC,OAAO,OAGnDC,EAAS,SAACC,UACPA,GAAkB,2CAMvBA,EACAC,GAEAN,EAAQO,KAAKH,EAAOC,GAAYC,oCAGHE,OACzBC,EAAML,EAAOI,KACOE,EAAMC,SAAS,CAAEC,WAAY,EAAGJ,aAAAA,IAAnDK,OAAOC,OAURC,EAAK,SAACV,EAAkBC,UAe9B,SACEQ,EACAN,EACAH,EACAC,GAGAQ,GAAS,SAAAE,OAEHC,EAA8B,CAChCZ,UAAAA,EACAC,QAAAA,EACAE,aAAAA,EACAI,YALgBI,EAAUJ,YAAc,GAAK,eAO/BM,IAAZZ,UAA8BW,EAAOX,QAElCW,KA/BPE,CAAYL,EAAUN,EAAcH,EAAWC,WAEjDI,EAAMU,WAAU,kBACdpB,EAAQqB,GAAGZ,EAAKM,GAET,WACLf,EAAQsB,IAAIb,EAAKM,OAKdF"}

@@ -6,7 +6,6 @@ import React from 'react';

var emitter = /*#__PURE__*/mittt(emitterHandlerMap);
var prefix = 'event_';
var getKey = function getKey(eventType) {
if (!eventType) return prefix + 'default';
return prefix + eventType;
if (!eventType) return 'default';
return eventType;
};

@@ -17,8 +16,8 @@

}
function useForceUpdate(subscribedEventType) {
var key = getKey(subscribedEventType);
function useForceUpdate(subscribedTo) {
var key = getKey(subscribedTo);
var _React$useState = React.useState({
eventCount: 0,
subscribedEventType: subscribedEventType
subscribedTo: subscribedTo
}),

@@ -30,3 +29,3 @@ state = _React$useState[0],

() => (eventType: Input, payload: any) =>
updateState(setState, subscribedEventType, eventType, payload),
updateState(setState, subscribedTo, eventType, payload),
[]

@@ -39,3 +38,3 @@ )

var fn = function fn(eventType, payload) {
return updateState(setState, subscribedEventType, eventType, payload);
return updateState(setState, subscribedTo, eventType, payload);
};

@@ -53,3 +52,3 @@

function updateState(setState, subscribedEventType, eventType, payload) {
function updateState(setState, subscribedTo, eventType, payload) {
// This triggers re-render

@@ -61,3 +60,3 @@ setState(function (prevState) {

payload: payload,
subscribedEventType: subscribedEventType,
subscribedTo: subscribedTo,
eventCount: eventCount

@@ -64,0 +63,0 @@ };

@@ -1,1 +0,1 @@

{"version":3,"file":"react-forceupdate.esm.js","sources":["../src/index.tsx"],"sourcesContent":["import React from 'react'\nimport mittt, { Emitter, EventHandlerMap } from 'mittt'\n\n// Please do not use types off of a default export module or else Storybook Docs will suffer.\n// see: https://github.com/storybookjs/storybook/issues/9556\n\nexport type UseForceUpdateProps = string\ntype Input = string\n\nexport type RunForceUpdateEventType = Input\nexport type RunForceUpdatePayload = any\n\nexport type UseForceUpdateState = {\n eventCount: number\n subscribedEventType: string\n eventType?: string\n payload?: any\n}\n\nlet emitterHandlerMap: EventHandlerMap = Object.create(null)\nlet emitter: Emitter = mittt(emitterHandlerMap)\nlet prefix = 'event_'\n\nlet getKey = (eventType: Input): string => {\n if (!eventType) return prefix + 'default'\n\n return prefix + eventType\n}\n\nexport function runForceUpdate(\n eventType?: RunForceUpdateEventType,\n payload?: RunForceUpdatePayload\n) {\n emitter.emit(getKey(eventType), payload)\n}\n\nexport function useForceUpdate(\n subscribedEventType?: Input\n): UseForceUpdateState {\n let key = getKey(subscribedEventType)\n let [state, setState] = React.useState({ eventCount: 0, subscribedEventType })\n\n /*\n let fn = React.useMemo(\n () => (eventType: Input, payload: any) =>\n updateState(setState, subscribedEventType, eventType, payload),\n []\n )\n */\n // React.useMemo not needed.\n let fn = (eventType: Input, payload: any) =>\n updateState(setState, subscribedEventType, eventType, payload)\n\n React.useEffect(() => {\n emitter.on(key, fn)\n // console.debug('on', emitterHandlerMap)\n return () => {\n emitter.off(key, fn)\n // console.debug('off', emitterHandlerMap)\n }\n })\n\n return state\n}\n\nfunction updateState(\n setState: React.Dispatch<React.SetStateAction<UseForceUpdateState>>,\n subscribedEventType: Input,\n eventType: string,\n payload?: any\n) {\n // This triggers re-render\n setState(prevState => {\n let eventCount = (prevState.eventCount || 0) + 1\n let result: UseForceUpdateState = {\n eventType,\n payload,\n subscribedEventType,\n eventCount,\n }\n if (payload === undefined) delete result.payload\n\n return result\n })\n}\n"],"names":["emitterHandlerMap","Object","create","emitter","mittt","prefix","getKey","eventType","runForceUpdate","payload","emit","useForceUpdate","subscribedEventType","key","React","useState","eventCount","state","setState","fn","updateState","useEffect","on","off","prevState","result","undefined"],"mappings":";;;AAmBA,IAAIA,iBAAiB,gBAAoBC,MAAM,CAACC,MAAP,CAAc,IAAd,CAAzC;AACA,IAAIC,OAAO,gBAAYC,KAAK,CAACJ,iBAAD,CAA5B;AACA,IAAIK,MAAM,GAAG,QAAb;;AAEA,IAAIC,MAAM,GAAG,SAATA,MAAS,CAACC,SAAD;AACX,MAAI,CAACA,SAAL,EAAgB,OAAOF,MAAM,GAAG,SAAhB;AAEhB,SAAOA,MAAM,GAAGE,SAAhB;AACD,CAJD;;SAMgBC,eACdD,WACAE;AAEAN,EAAAA,OAAO,CAACO,IAAR,CAAaJ,MAAM,CAACC,SAAD,CAAnB,EAAgCE,OAAhC;AACD;SAEeE,eACdC;AAEA,MAAIC,GAAG,GAAGP,MAAM,CAACM,mBAAD,CAAhB;;wBACwBE,KAAK,CAACC,QAAN,CAAe;AAAEC,IAAAA,UAAU,EAAE,CAAd;AAAiBJ,IAAAA,mBAAmB,EAAnBA;AAAjB,GAAf;MAAnBK;MAAOC;AAEZ;;;;;;;AAOA;;;AACA,MAAIC,EAAE,GAAG,SAALA,EAAK,CAACZ,SAAD,EAAmBE,OAAnB;AAAA,WACPW,WAAW,CAACF,QAAD,EAAWN,mBAAX,EAAgCL,SAAhC,EAA2CE,OAA3C,CADJ;AAAA,GAAT;;AAGAK,EAAAA,KAAK,CAACO,SAAN,CAAgB;AACdlB,IAAAA,OAAO,CAACmB,EAAR,CAAWT,GAAX,EAAgBM,EAAhB;;AAEA,WAAO;AACLhB,MAAAA,OAAO,CAACoB,GAAR,CAAYV,GAAZ,EAAiBM,EAAjB;AAED,KAHD;AAID,GAPD;AASA,SAAOF,KAAP;AACD;;AAED,SAASG,WAAT,CACEF,QADF,EAEEN,mBAFF,EAGEL,SAHF,EAIEE,OAJF;AAME;AACAS,EAAAA,QAAQ,CAAC,UAAAM,SAAS;AAChB,QAAIR,UAAU,GAAG,CAACQ,SAAS,CAACR,UAAV,IAAwB,CAAzB,IAA8B,CAA/C;AACA,QAAIS,MAAM,GAAwB;AAChClB,MAAAA,SAAS,EAATA,SADgC;AAEhCE,MAAAA,OAAO,EAAPA,OAFgC;AAGhCG,MAAAA,mBAAmB,EAAnBA,mBAHgC;AAIhCI,MAAAA,UAAU,EAAVA;AAJgC,KAAlC;AAMA,QAAIP,OAAO,KAAKiB,SAAhB,EAA2B,OAAOD,MAAM,CAAChB,OAAd;AAE3B,WAAOgB,MAAP;AACD,GAXO,CAAR;AAYD;;;;"}
{"version":3,"file":"react-forceupdate.esm.js","sources":["../src/index.tsx"],"sourcesContent":["import React from 'react'\r\nimport mittt, { Emitter, EventHandlerMap } from 'mittt'\r\n\r\n// Please do not use types off of a default export module or else Storybook Docs will suffer.\r\n// see: https://github.com/storybookjs/storybook/issues/9556\r\n\r\nexport type UseForceUpdateProps = string\r\ntype Input = string\r\n\r\nexport type RunForceUpdateEventType = Input\r\nexport type RunForceUpdatePayload = any\r\n\r\nexport type UseForceUpdateState = {\r\n eventCount: number\r\n subscribedTo: string\r\n eventType?: string\r\n payload?: any\r\n}\r\n\r\nlet emitterHandlerMap: EventHandlerMap = Object.create(null)\r\nlet emitter: Emitter = mittt(emitterHandlerMap)\r\n\r\nlet getKey = (eventType: Input): string => {\r\n if (!eventType) return 'default'\r\n\r\n return eventType\r\n}\r\n\r\nexport function runForceUpdate(\r\n eventType?: RunForceUpdateEventType,\r\n payload?: RunForceUpdatePayload\r\n) {\r\n emitter.emit(getKey(eventType), payload)\r\n}\r\n\r\nexport function useForceUpdate(subscribedTo?: Input): UseForceUpdateState {\r\n let key = getKey(subscribedTo)\r\n let [state, setState] = React.useState({ eventCount: 0, subscribedTo })\r\n\r\n /*\r\n let fn = React.useMemo(\r\n () => (eventType: Input, payload: any) =>\r\n updateState(setState, subscribedTo, eventType, payload),\r\n []\r\n )\r\n */\r\n // React.useMemo not needed.\r\n let fn = (eventType: Input, payload: any) =>\r\n updateState(setState, subscribedTo, eventType, payload)\r\n\r\n React.useEffect(() => {\r\n emitter.on(key, fn)\r\n // console.debug('on', emitterHandlerMap)\r\n return () => {\r\n emitter.off(key, fn)\r\n // console.debug('off', emitterHandlerMap)\r\n }\r\n })\r\n\r\n return state\r\n}\r\n\r\nfunction updateState(\r\n setState: React.Dispatch<React.SetStateAction<UseForceUpdateState>>,\r\n subscribedTo: Input,\r\n eventType: string,\r\n payload?: any\r\n) {\r\n // This triggers re-render\r\n setState(prevState => {\r\n let eventCount = (prevState.eventCount || 0) + 1\r\n let result: UseForceUpdateState = {\r\n eventType,\r\n payload,\r\n subscribedTo,\r\n eventCount,\r\n }\r\n if (payload === undefined) delete result.payload\r\n\r\n return result\r\n })\r\n}\r\n"],"names":["emitterHandlerMap","Object","create","emitter","mittt","getKey","eventType","runForceUpdate","payload","emit","useForceUpdate","subscribedTo","key","React","useState","eventCount","state","setState","fn","updateState","useEffect","on","off","prevState","result","undefined"],"mappings":";;;AAmBA,IAAIA,iBAAiB,gBAAoBC,MAAM,CAACC,MAAP,CAAc,IAAd,CAAzC;AACA,IAAIC,OAAO,gBAAYC,KAAK,CAACJ,iBAAD,CAA5B;;AAEA,IAAIK,MAAM,GAAG,SAATA,MAAS,CAACC,SAAD;AACX,MAAI,CAACA,SAAL,EAAgB,OAAO,SAAP;AAEhB,SAAOA,SAAP;AACD,CAJD;;SAMgBC,eACdD,WACAE;AAEAL,EAAAA,OAAO,CAACM,IAAR,CAAaJ,MAAM,CAACC,SAAD,CAAnB,EAAgCE,OAAhC;AACD;SAEeE,eAAeC;AAC7B,MAAIC,GAAG,GAAGP,MAAM,CAACM,YAAD,CAAhB;;wBACwBE,KAAK,CAACC,QAAN,CAAe;AAAEC,IAAAA,UAAU,EAAE,CAAd;AAAiBJ,IAAAA,YAAY,EAAZA;AAAjB,GAAf;MAAnBK;MAAOC;AAEZ;;;;;;;AAOA;;;AACA,MAAIC,EAAE,GAAG,SAALA,EAAK,CAACZ,SAAD,EAAmBE,OAAnB;AAAA,WACPW,WAAW,CAACF,QAAD,EAAWN,YAAX,EAAyBL,SAAzB,EAAoCE,OAApC,CADJ;AAAA,GAAT;;AAGAK,EAAAA,KAAK,CAACO,SAAN,CAAgB;AACdjB,IAAAA,OAAO,CAACkB,EAAR,CAAWT,GAAX,EAAgBM,EAAhB;;AAEA,WAAO;AACLf,MAAAA,OAAO,CAACmB,GAAR,CAAYV,GAAZ,EAAiBM,EAAjB;AAED,KAHD;AAID,GAPD;AASA,SAAOF,KAAP;AACD;;AAED,SAASG,WAAT,CACEF,QADF,EAEEN,YAFF,EAGEL,SAHF,EAIEE,OAJF;AAME;AACAS,EAAAA,QAAQ,CAAC,UAAAM,SAAS;AAChB,QAAIR,UAAU,GAAG,CAACQ,SAAS,CAACR,UAAV,IAAwB,CAAzB,IAA8B,CAA/C;AACA,QAAIS,MAAM,GAAwB;AAChClB,MAAAA,SAAS,EAATA,SADgC;AAEhCE,MAAAA,OAAO,EAAPA,OAFgC;AAGhCG,MAAAA,YAAY,EAAZA,YAHgC;AAIhCI,MAAAA,UAAU,EAAVA;AAJgC,KAAlC;AAMA,QAAIP,OAAO,KAAKiB,SAAhB,EAA2B,OAAOD,MAAM,CAAChB,OAAd;AAE3B,WAAOgB,MAAP;AACD,GAXO,CAAR;AAYD;;;;"}
{
"version": "0.3.2",
"version": "0.3.3",
"license": "MIT",

@@ -25,3 +25,3 @@ "main": "dist/index.js",

"dependencies": {
"mittt": "^1"
"mittt": "^2"
},

@@ -28,0 +28,0 @@ "peerDependencies": {

@@ -16,6 +16,6 @@ # react-forceupdate

```bash
npm install mittt@1 react-forceupdate
npm install mittt react-forceupdate
# or
# yarn add mittt@1 react-forceupdate
# yarn add mittt react-forceupdate
```

@@ -134,2 +134,8 @@

let Star = () => {
let data = useForceUpdate('*') // runs on any event type
return <pre>{JSON.stringify(data, null, 2)}</pre>
}
function App() {

@@ -152,2 +158,3 @@ let onUpdateAlpha = () => {

<DeeplyNestedComponentContainingBravo />
<DeeplyNestedComponentContainingStar />
</main>

@@ -154,0 +161,0 @@ )

@@ -15,3 +15,3 @@ import React from 'react'

eventCount: number
subscribedEventType: string
subscribedTo: string
eventType?: string

@@ -23,8 +23,7 @@ payload?: any

let emitter: Emitter = mittt(emitterHandlerMap)
let prefix = 'event_'
let getKey = (eventType: Input): string => {
if (!eventType) return prefix + 'default'
if (!eventType) return 'default'
return prefix + eventType
return eventType
}

@@ -39,7 +38,5 @@

export function useForceUpdate(
subscribedEventType?: Input
): UseForceUpdateState {
let key = getKey(subscribedEventType)
let [state, setState] = React.useState({ eventCount: 0, subscribedEventType })
export function useForceUpdate(subscribedTo?: Input): UseForceUpdateState {
let key = getKey(subscribedTo)
let [state, setState] = React.useState({ eventCount: 0, subscribedTo })

@@ -49,3 +46,3 @@ /*

() => (eventType: Input, payload: any) =>
updateState(setState, subscribedEventType, eventType, payload),
updateState(setState, subscribedTo, eventType, payload),
[]

@@ -56,3 +53,3 @@ )

let fn = (eventType: Input, payload: any) =>
updateState(setState, subscribedEventType, eventType, payload)
updateState(setState, subscribedTo, eventType, payload)

@@ -73,3 +70,3 @@ React.useEffect(() => {

setState: React.Dispatch<React.SetStateAction<UseForceUpdateState>>,
subscribedEventType: Input,
subscribedTo: Input,
eventType: string,

@@ -84,3 +81,3 @@ payload?: any

payload,
subscribedEventType,
subscribedTo,
eventCount,

@@ -87,0 +84,0 @@ }