@willbooster/monaco-react 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.md +4 -3
  2. package/dist/DiffEditor/DiffEditor.cjs +3 -0
  3. package/dist/DiffEditor/DiffEditor.cjs.map +1 -0
  4. package/dist/DiffEditor/DiffEditor.d.ts +5 -0
  5. package/dist/DiffEditor/DiffEditor.d.ts.map +1 -0
  6. package/dist/DiffEditor/DiffEditor.js +3 -0
  7. package/dist/DiffEditor/DiffEditor.js.map +1 -0
  8. package/dist/DiffEditor/index.cjs +2 -0
  9. package/dist/DiffEditor/index.cjs.map +1 -0
  10. package/dist/DiffEditor/index.d.ts +5 -0
  11. package/dist/DiffEditor/index.d.ts.map +1 -0
  12. package/dist/DiffEditor/index.js +2 -0
  13. package/dist/DiffEditor/index.js.map +1 -0
  14. package/dist/DiffEditor/index.spec.d.ts +2 -0
  15. package/dist/DiffEditor/index.spec.d.ts.map +1 -0
  16. package/dist/DiffEditor/types.d.ts +101 -0
  17. package/dist/DiffEditor/types.d.ts.map +1 -0
  18. package/dist/Editor/Editor.cjs +3 -0
  19. package/dist/Editor/Editor.cjs.map +1 -0
  20. package/dist/Editor/Editor.d.ts +5 -0
  21. package/dist/Editor/Editor.d.ts.map +1 -0
  22. package/dist/Editor/Editor.js +3 -0
  23. package/dist/Editor/Editor.js.map +1 -0
  24. package/dist/Editor/index.cjs +2 -0
  25. package/dist/Editor/index.cjs.map +1 -0
  26. package/dist/Editor/index.d.ts +5 -0
  27. package/dist/Editor/index.d.ts.map +1 -0
  28. package/dist/Editor/index.js +2 -0
  29. package/dist/Editor/index.js.map +1 -0
  30. package/dist/Editor/index.spec.d.ts +2 -0
  31. package/dist/Editor/index.spec.d.ts.map +1 -0
  32. package/dist/Editor/types.d.ts +116 -0
  33. package/dist/Editor/types.d.ts.map +1 -0
  34. package/dist/Loading/Loading.cjs +2 -0
  35. package/dist/Loading/Loading.cjs.map +1 -0
  36. package/dist/Loading/Loading.d.ts +4 -0
  37. package/dist/Loading/Loading.d.ts.map +1 -0
  38. package/dist/Loading/Loading.js +2 -0
  39. package/dist/Loading/Loading.js.map +1 -0
  40. package/dist/Loading/index.cjs +2 -0
  41. package/dist/Loading/index.cjs.map +1 -0
  42. package/dist/Loading/index.d.ts +3 -0
  43. package/dist/Loading/index.d.ts.map +1 -0
  44. package/dist/Loading/index.js +2 -0
  45. package/dist/Loading/index.js.map +1 -0
  46. package/dist/Loading/index.spec.d.ts +2 -0
  47. package/dist/Loading/index.spec.d.ts.map +1 -0
  48. package/dist/Loading/styles.cjs +2 -0
  49. package/dist/Loading/styles.cjs.map +1 -0
  50. package/dist/Loading/styles.d.ts +4 -0
  51. package/dist/Loading/styles.d.ts.map +1 -0
  52. package/dist/Loading/styles.js +2 -0
  53. package/dist/Loading/styles.js.map +1 -0
  54. package/dist/MonacoContainer/MonacoContainer.cjs +2 -0
  55. package/dist/MonacoContainer/MonacoContainer.cjs.map +1 -0
  56. package/dist/MonacoContainer/MonacoContainer.d.ts +5 -0
  57. package/dist/MonacoContainer/MonacoContainer.d.ts.map +1 -0
  58. package/dist/MonacoContainer/MonacoContainer.js +2 -0
  59. package/dist/MonacoContainer/MonacoContainer.js.map +1 -0
  60. package/dist/MonacoContainer/index.cjs +2 -0
  61. package/dist/MonacoContainer/index.cjs.map +1 -0
  62. package/dist/MonacoContainer/index.d.ts +4 -0
  63. package/dist/MonacoContainer/index.d.ts.map +1 -0
  64. package/dist/MonacoContainer/index.js +2 -0
  65. package/dist/MonacoContainer/index.js.map +1 -0
  66. package/dist/MonacoContainer/index.spec.d.ts +2 -0
  67. package/dist/MonacoContainer/index.spec.d.ts.map +1 -0
  68. package/dist/MonacoContainer/styles.cjs +2 -0
  69. package/dist/MonacoContainer/styles.cjs.map +1 -0
  70. package/dist/MonacoContainer/styles.d.ts +4 -0
  71. package/dist/MonacoContainer/styles.d.ts.map +1 -0
  72. package/dist/MonacoContainer/styles.js +2 -0
  73. package/dist/MonacoContainer/styles.js.map +1 -0
  74. package/dist/MonacoContainer/types.d.ts +11 -0
  75. package/dist/MonacoContainer/types.d.ts.map +1 -0
  76. package/dist/_virtual/_rollupPluginBabelHelpers.cjs +2 -0
  77. package/dist/_virtual/_rollupPluginBabelHelpers.cjs.map +1 -0
  78. package/dist/_virtual/_rollupPluginBabelHelpers.js +2 -0
  79. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  80. package/dist/hooks/useMonaco/index.cjs +2 -0
  81. package/dist/hooks/useMonaco/index.cjs.map +1 -0
  82. package/dist/hooks/useMonaco/index.d.ts +4 -0
  83. package/dist/hooks/useMonaco/index.d.ts.map +1 -0
  84. package/dist/hooks/useMonaco/index.js +2 -0
  85. package/dist/hooks/useMonaco/index.js.map +1 -0
  86. package/dist/hooks/useMount/index.cjs +2 -0
  87. package/dist/hooks/useMount/index.cjs.map +1 -0
  88. package/dist/hooks/useMount/index.d.ts +4 -0
  89. package/dist/hooks/useMount/index.d.ts.map +1 -0
  90. package/dist/hooks/useMount/index.js +2 -0
  91. package/dist/hooks/useMount/index.js.map +1 -0
  92. package/dist/hooks/usePrevious/index.cjs +2 -0
  93. package/dist/hooks/usePrevious/index.cjs.map +1 -0
  94. package/dist/hooks/usePrevious/index.d.ts +3 -0
  95. package/dist/hooks/usePrevious/index.d.ts.map +1 -0
  96. package/dist/hooks/usePrevious/index.js +2 -0
  97. package/dist/hooks/usePrevious/index.js.map +1 -0
  98. package/dist/hooks/useUpdate/index.cjs +2 -0
  99. package/dist/hooks/useUpdate/index.cjs.map +1 -0
  100. package/dist/hooks/useUpdate/index.d.ts +4 -0
  101. package/dist/hooks/useUpdate/index.d.ts.map +1 -0
  102. package/dist/hooks/useUpdate/index.js +2 -0
  103. package/dist/hooks/useUpdate/index.js.map +1 -0
  104. package/dist/index.cjs +3 -625
  105. package/dist/index.cjs.map +1 -1
  106. package/dist/index.d.ts +15 -231
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +3 -588
  109. package/dist/index.js.map +1 -1
  110. package/dist/utils/index.cjs +2 -0
  111. package/dist/utils/index.cjs.map +1 -0
  112. package/dist/utils/index.d.ts +20 -0
  113. package/dist/utils/index.d.ts.map +1 -0
  114. package/dist/utils/index.js +2 -0
  115. package/dist/utils/index.js.map +1 -0
  116. package/package.json +9 -14
  117. package/dist/index.d.cts +0 -231
@@ -0,0 +1,11 @@
1
+ import type { ReactNode, RefObject } from 'react';
2
+ export interface ContainerProps {
3
+ width: number | string;
4
+ height: number | string;
5
+ isEditorReady: boolean;
6
+ loading: ReactNode | string;
7
+ _ref: RefObject<HTMLDivElement | null>;
8
+ className?: string;
9
+ wrapperProps?: object;
10
+ }
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/MonacoContainer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ "use strict";function e(e,r,t){return(r=o(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function r(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function t(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,r);if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}function o(e){var r=t(e,"string");return"symbol"==typeof r?r:r+""}exports.defineProperty=e,exports.objectSpread2=function(t){for(var o=1;o<arguments.length;o++){var n=null!=arguments[o]?arguments[o]:{};o%2?r(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t},exports.toPrimitive=t,exports.toPropertyKey=o;
2
+ //# sourceMappingURL=_rollupPluginBabelHelpers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ function e(e,r,t){return(r=o(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function r(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function t(t){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?r(Object(o),!0).forEach(function(r){e(t,r,o[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}function n(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}function o(e){var r=n(e,"string");return"symbol"==typeof r?r:r+""}export{e as defineProperty,t as objectSpread2,n as toPrimitive,o as toPropertyKey};
2
+ //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react"),r=require("@willbooster/monaco-loader"),n=require("../useMount/index.cjs");module.exports=function(){const[t,o]=e.useState(r.__getMonacoInstance());return n(()=>{let e;return t||(e=r.init(),e.then(e=>{o(e)}).catch(e=>{"cancelation"!==(null==e?void 0:e.type)&&console.error("Monaco initialization: error:",e)})),()=>{var r;return null==(r=e)?void 0:r.cancel()}}),t};
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/hooks/useMonaco/index.ts"],"sourcesContent":["import { useState } from 'react';\nimport loader from '@willbooster/monaco-loader';\n\nimport useMount from '../useMount';\nimport type { Monaco } from '../..';\n\nfunction useMonaco(): Monaco | undefined {\n const [monaco, setMonaco] = useState<Monaco | undefined>(loader.__getMonacoInstance() as Monaco | undefined);\n\n useMount(() => {\n let cancelable: ReturnType<typeof loader.init>;\n\n if (!monaco) {\n cancelable = loader.init();\n\n void cancelable\n .then((monaco) => {\n setMonaco(monaco as Monaco);\n return;\n })\n .catch((error: unknown) => {\n if ((error as { type?: unknown })?.type !== 'cancelation') {\n console.error('Monaco initialization: error:', error);\n }\n });\n }\n\n return () => cancelable?.cancel();\n });\n\n return monaco;\n}\n\nexport default useMonaco;\n"],"names":["monaco","setMonaco","useState","loader","__getMonacoInstance","useMount","cancelable","init","then","catch","error","type","console","_cancelable","cancel"],"mappings":"8HAMA,WACE,MAAOA,EAAQC,GAAaC,EAAAA,SAA6BC,EAAOC,uBAuBhE,OArBAC,EAAS,KACP,IAAIC,EAiBJ,OAfKN,IACHM,EAAaH,EAAOI,OAEfD,EACFE,KAAMR,IACLC,EAAUD,KAGXS,MAAOC,IACsC,iBAAlC,MAALA,OAAK,EAALA,EAA8BC,OACjCC,QAAQF,MAAM,gCAAiCA,MAKhD,KAAA,IAAAG,EAAA,OAAgB,OAAhBA,EAAMP,QAAU,EAAVO,EAAYC,YAGpBd,CACT"}
@@ -0,0 +1,4 @@
1
+ import type { Monaco } from '../..';
2
+ declare function useMonaco(): Monaco | undefined;
3
+ export default useMonaco;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMonaco/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpC,iBAAS,SAAS,IAAI,MAAM,GAAG,SAAS,CAyBvC;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{useState as o}from"react";import n from"@willbooster/monaco-loader";import r from"../useMount/index.js";function t(){const[t,e]=o(n.__getMonacoInstance());return r(()=>{let o;return t||(o=n.init(),o.then(o=>{e(o)}).catch(o=>{"cancelation"!==(null==o?void 0:o.type)&&console.error("Monaco initialization: error:",o)})),()=>{var n;return null==(n=o)?void 0:n.cancel()}}),t}export{t as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/hooks/useMonaco/index.ts"],"sourcesContent":["import { useState } from 'react';\nimport loader from '@willbooster/monaco-loader';\n\nimport useMount from '../useMount';\nimport type { Monaco } from '../..';\n\nfunction useMonaco(): Monaco | undefined {\n const [monaco, setMonaco] = useState<Monaco | undefined>(loader.__getMonacoInstance() as Monaco | undefined);\n\n useMount(() => {\n let cancelable: ReturnType<typeof loader.init>;\n\n if (!monaco) {\n cancelable = loader.init();\n\n void cancelable\n .then((monaco) => {\n setMonaco(monaco as Monaco);\n return;\n })\n .catch((error: unknown) => {\n if ((error as { type?: unknown })?.type !== 'cancelation') {\n console.error('Monaco initialization: error:', error);\n }\n });\n }\n\n return () => cancelable?.cancel();\n });\n\n return monaco;\n}\n\nexport default useMonaco;\n"],"names":["useMonaco","monaco","setMonaco","useState","loader","__getMonacoInstance","useMount","cancelable","init","then","catch","error","type","console","_cancelable","cancel"],"mappings":"+GAMA,SAASA,IACP,MAAOC,EAAQC,GAAaC,EAA6BC,EAAOC,uBAuBhE,OArBAC,EAAS,KACP,IAAIC,EAiBJ,OAfKN,IACHM,EAAaH,EAAOI,OAEfD,EACFE,KAAMR,IACLC,EAAUD,KAGXS,MAAOC,IACsC,iBAAlC,MAALA,OAAK,EAALA,EAA8BC,OACjCC,QAAQF,MAAM,gCAAiCA,MAKhD,KAAA,IAAAG,EAAA,OAAgB,OAAhBA,EAAMP,QAAU,EAAVO,EAAYC,YAGpBd,CACT"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react");module.exports=function(r){const t=e.useRef(r);e.useEffect(()=>t.current(),[])};
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/hooks/useMount/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport type { EffectCallback } from 'react';\n\nfunction useMount(effect: EffectCallback): void {\n const effectRef = useRef(effect);\n\n useEffect(() => effectRef.current(), []);\n}\n\nexport default useMount;\n"],"names":["effect","effectRef","useRef","useEffect","current"],"mappings":"mDAGA,SAAkBA,GAChB,MAAMC,EAAYC,EAAAA,OAAOF,GAEzBG,EAAAA,UAAU,IAAMF,EAAUG,UAAW,GACvC"}
@@ -0,0 +1,4 @@
1
+ import type { EffectCallback } from 'react';
2
+ declare function useMount(effect: EffectCallback): void;
3
+ export default useMount;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMount/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,iBAAS,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAI9C;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{useRef as t,useEffect as r}from"react";function o(o){const c=t(o);r(()=>c.current(),[])}export{o as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/hooks/useMount/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport type { EffectCallback } from 'react';\n\nfunction useMount(effect: EffectCallback): void {\n const effectRef = useRef(effect);\n\n useEffect(() => effectRef.current(), []);\n}\n\nexport default useMount;\n"],"names":["useMount","effect","effectRef","useRef","useEffect","current"],"mappings":"8CAGA,SAASA,EAASC,GAChB,MAAMC,EAAYC,EAAOF,GAEzBG,EAAU,IAAMF,EAAUG,UAAW,GACvC"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react");module.exports=function(r){const t=e.useRef(void 0);return e.useEffect(()=>{t.current=r},[r]),t.current};
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/hooks/usePrevious/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nfunction usePrevious<T>(value: T): T | undefined {\n const ref = useRef<T | undefined>(undefined);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n\nexport default usePrevious;\n"],"names":["value","ref","useRef","undefined","useEffect","current"],"mappings":"mDAEA,SAAwBA,GACtB,MAAMC,EAAMC,EAAAA,YAAsBC,GAMlC,OAJAC,EAAAA,UAAU,KACRH,EAAII,QAAUL,GACb,CAACA,IAEGC,EAAII,OACb"}
@@ -0,0 +1,3 @@
1
+ declare function usePrevious<T>(value: T): T | undefined;
2
+ export default usePrevious;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePrevious/index.ts"],"names":[],"mappings":"AAEA,iBAAS,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ/C;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{useRef as r,useEffect as t}from"react";function e(e){const n=r(void 0);return t(()=>{n.current=e},[e]),n.current}export{e as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/hooks/usePrevious/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nfunction usePrevious<T>(value: T): T | undefined {\n const ref = useRef<T | undefined>(undefined);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n\nexport default usePrevious;\n"],"names":["usePrevious","value","ref","useRef","undefined","useEffect","current"],"mappings":"8CAEA,SAASA,EAAeC,GACtB,MAAMC,EAAMC,OAAsBC,GAMlC,OAJAC,EAAU,KACRH,EAAII,QAAUL,GACb,CAACA,IAEGC,EAAII,OACb"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react");module.exports=function(r,u,t=!0){const c=e.useRef(!0),n=e.useRef(t),s=e.useRef(r);n.current=t,s.current=r,e.useEffect(()=>{if(!c.current&&n.current)return s.current();c.current=!1},u)};
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/hooks/useUpdate/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport type { DependencyList, EffectCallback } from 'react';\n\nfunction useUpdate(effect: EffectCallback, deps: DependencyList, applyChanges = true): void {\n const isInitialMount = useRef(true);\n const applyChangesRef = useRef(applyChanges);\n const effectRef = useRef(effect);\n\n applyChangesRef.current = applyChanges;\n effectRef.current = effect;\n\n useEffect(() => {\n if (isInitialMount.current || !applyChangesRef.current) {\n isInitialMount.current = false;\n return;\n }\n\n return effectRef.current();\n // oxlint-disable-next-line react-hooks/exhaustive-deps -- useUpdate forwards caller-owned dependencies.\n }, deps);\n}\n\nexport default useUpdate;\n"],"names":["effect","deps","applyChanges","isInitialMount","useRef","applyChangesRef","effectRef","current","useEffect"],"mappings":"mDAGA,SAAmBA,EAAwBC,EAAsBC,GAAe,GAC9E,MAAMC,EAAiBC,EAAAA,QAAO,GACxBC,EAAkBD,EAAAA,OAAOF,GACzBI,EAAYF,EAAAA,OAAOJ,GAEzBK,EAAgBE,QAAUL,EAC1BI,EAAUC,QAAUP,EAEpBQ,EAAAA,UAAU,KACR,IAAIL,EAAeI,SAAYF,EAAgBE,QAK/C,OAAOD,EAAUC,UAJfJ,EAAeI,SAAU,GAM1BN,EACL"}
@@ -0,0 +1,4 @@
1
+ import type { DependencyList, EffectCallback } from 'react';
2
+ declare function useUpdate(effect: EffectCallback, deps: DependencyList, applyChanges?: boolean): void;
3
+ export default useUpdate;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUpdate/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5D,iBAAS,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,UAAO,GAAG,IAAI,CAiB1F;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{useRef as r,useEffect as t}from"react";function e(e,n,c=!0){const u=r(!0),o=r(c),f=r(e);o.current=c,f.current=e,t(()=>{if(!u.current&&o.current)return f.current();u.current=!1},n)}export{e as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/hooks/useUpdate/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport type { DependencyList, EffectCallback } from 'react';\n\nfunction useUpdate(effect: EffectCallback, deps: DependencyList, applyChanges = true): void {\n const isInitialMount = useRef(true);\n const applyChangesRef = useRef(applyChanges);\n const effectRef = useRef(effect);\n\n applyChangesRef.current = applyChanges;\n effectRef.current = effect;\n\n useEffect(() => {\n if (isInitialMount.current || !applyChangesRef.current) {\n isInitialMount.current = false;\n return;\n }\n\n return effectRef.current();\n // oxlint-disable-next-line react-hooks/exhaustive-deps -- useUpdate forwards caller-owned dependencies.\n }, deps);\n}\n\nexport default useUpdate;\n"],"names":["useUpdate","effect","deps","applyChanges","isInitialMount","useRef","applyChangesRef","effectRef","current","useEffect"],"mappings":"8CAGA,SAASA,EAAUC,EAAwBC,EAAsBC,GAAe,GAC9E,MAAMC,EAAiBC,GAAO,GACxBC,EAAkBD,EAAOF,GACzBI,EAAYF,EAAOJ,GAEzBK,EAAgBE,QAAUL,EAC1BI,EAAUC,QAAUP,EAEpBQ,EAAU,KACR,IAAIL,EAAeI,SAAYF,EAAgBE,QAK/C,OAAOD,EAAUC,UAJfJ,EAAeI,SAAU,GAM1BN,EACL"}