react-reactive-val 1.0.0 → 1.0.2

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.
@@ -0,0 +1,2 @@
1
+ /*! For license information please see index.cjs.js.LICENSE.txt */
2
+ (()=>{"use strict";var e={698:(e,r)=>{var t=Symbol.for("react.transitional.element");function n(e,r,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==r.key&&(o=""+r.key),"key"in r)for(var u in n={},r)"key"!==u&&(n[u]=r[u]);else n=r;return r=n.ref,{$$typeof:t,type:e,key:o,ref:void 0!==r?r:null,props:n}}Symbol.for("react.fragment"),r.jsx=n},848:(e,r,t)=>{e.exports=t(698)}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var u=r[n]={exports:{}};return e[n](u,u.exports,t),u.exports}t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};t.r(n),t.d(n,{default:()=>i,reallyReactiveVal:()=>a});const o=require("react");var u=t(848);function i(e){return(0,o.useMemo)((function(){return a(e)}),[e])}var a=function(e){var r=e,t=new Set,n=(0,o.memo)((function(){return(0,o.useSyncExternalStore)((function(e){return t.add(e),function(){return t.delete(e)}}),(function(){return r}))}));return function(e){if(void 0===e)return(0,u.jsx)(n,{});r="function"==typeof e?e(r):e,t.forEach((function(e){e()}))}};module.exports=n})();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license React
3
+ * react-jsx-runtime.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
@@ -0,0 +1,2 @@
1
+ /*! For license information please see index.esm.js.LICENSE.txt */
2
+ import*as e from"react";var r={698:(e,r)=>{var t=Symbol.for("react.transitional.element");function n(e,r,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==r.key&&(o=""+r.key),"key"in r)for(var u in n={},r)"key"!==u&&(n[u]=r[u]);else n=r;return r=n.ref,{$$typeof:t,type:e,key:o,ref:void 0!==r?r:null,props:n}}Symbol.for("react.fragment"),r.jsx=n},848:(e,r,t)=>{e.exports=t(698)}},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var u=t[e]={exports:{}};return r[e](u,u.exports,n),u.exports}n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r);const o=(e=>{var r={};return n.d(r,e),r})({memo:()=>e.memo,useMemo:()=>e.useMemo,useSyncExternalStore:()=>e.useSyncExternalStore});var u=n(848);function a(e){return(0,o.useMemo)((function(){return f(e)}),[e])}var f=function(e){var r=e,t=new Set,n=(0,o.memo)((function(){return(0,o.useSyncExternalStore)((function(e){return t.add(e),function(){return t.delete(e)}}),(function(){return r}))}));return function(e){if(void 0===e)return(0,u.jsx)(n,{});r="function"==typeof e?e(r):e,t.forEach((function(e){e()}))}};export{a as default,f as reallyReactiveVal};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license React
3
+ * react-jsx-runtime.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
@@ -0,0 +1,2 @@
1
+ /*! For license information please see index.umd.js.LICENSE.txt */
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define("ReactReactiveVal",["react"],t):"object"==typeof exports?exports.ReactReactiveVal=t(require("react")):e.ReactReactiveVal=t(e.React)}(this,(e=>(()=>{"use strict";var t={442:t=>{t.exports=e},698:(e,t)=>{var r=Symbol.for("react.transitional.element");function o(e,t,o){var n=null;if(void 0!==o&&(n=""+o),void 0!==t.key&&(n=""+t.key),"key"in t)for(var a in o={},t)"key"!==a&&(o[a]=t[a]);else o=t;return t=o.ref,{$$typeof:r,type:e,key:n,ref:void 0!==t?t:null,props:o}}Symbol.for("react.fragment"),t.jsx=o},848:(e,t,r)=>{e.exports=r(698)}},r={};function o(e){var n=r[e];if(void 0!==n)return n.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};o.r(n),o.d(n,{default:()=>i,reallyReactiveVal:()=>f});var a=o(442),u=o(848);function i(e){return(0,a.useMemo)((function(){return f(e)}),[e])}var f=function(e){var t=e,r=new Set,o=(0,a.memo)((function(){return(0,a.useSyncExternalStore)((function(e){return r.add(e),function(){return r.delete(e)}}),(function(){return t}))}));return function(e){if(void 0===e)return(0,u.jsx)(o,{});t="function"==typeof e?e(t):e,r.forEach((function(e){e()}))}};return n})()));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license React
3
+ * react-jsx-runtime.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
package/package.json CHANGED
@@ -1,10 +1,25 @@
1
1
  {
2
2
  "name": "react-reactive-val",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "",
5
- "main": "dist/index.js",
5
+ "main": "dist/index.cjs.js",
6
+ "module": "dist/index.esm.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.esm.js",
11
+ "require": "./dist/index.cjs.js",
12
+ "umd": "./dist/index.umd.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
6
18
  "scripts": {
7
- "build": "tsc",
19
+ "build:types": "tsc --emitDeclarationOnly",
20
+ "build:webpack": "webpack --config webpack.config.js",
21
+ "build": "npm run build:types && npm run build:webpack",
22
+ "prepublishOnly": "npm run build",
8
23
  "test": "echo \"Error: no test specified\" && exit 1"
9
24
  },
10
25
  "peerDependencies": {
@@ -13,10 +28,17 @@
13
28
  "keywords": [],
14
29
  "author": "Jatin Parate <jatin4228@gmail.com>",
15
30
  "license": "ISC",
16
- "type": "commonjs",
17
31
  "devDependencies": {
18
- "react": "^19.1.0",
32
+ "@babel/core": "^7.24.0",
33
+ "@babel/preset-env": "^7.24.0",
34
+ "@babel/preset-react": "^7.23.3",
35
+ "@babel/preset-typescript": "^7.23.3",
19
36
  "@types/react": "^19.1.0",
20
- "typescript": "^5.8.3"
37
+ "babel-loader": "^9.1.3",
38
+ "react": "^19.1.0",
39
+ "terser-webpack-plugin": "^5.3.10",
40
+ "typescript": "^5.8.3",
41
+ "webpack": "^5.90.3",
42
+ "webpack-cli": "^5.1.4"
21
43
  }
22
44
  }
package/src/index.ts DELETED
@@ -1,50 +0,0 @@
1
- import {
2
- type ReactNode,
3
- type ReactElement,
4
- useSyncExternalStore,
5
- memo,
6
- useMemo,
7
- } from "react";
8
- import { jsx } from "react/jsx-runtime";
9
-
10
- export default function useReactiveValue<T extends ReactNode>(initialValue: T) {
11
- return useMemo(() => reallyReactiveVal(initialValue), [initialValue]);
12
- }
13
-
14
- export const reallyReactiveVal = <T extends ReactNode>(initialValue: T) => {
15
- let value: T = initialValue;
16
- const onUpdates = new Set<() => void>();
17
-
18
- const Component = memo(function Component() {
19
- const currVal = useSyncExternalStore(
20
- (listener) => {
21
- onUpdates.add(listener);
22
- return () => onUpdates.delete(listener);
23
- },
24
- () => value
25
- );
26
-
27
- return currVal;
28
- });
29
-
30
- type Updater = T | ((currVal: T) => T);
31
-
32
- function fn<U extends Updater | unknown | undefined>(updater?: U) {
33
- if (typeof updater === "undefined") {
34
- return jsx(Component, {});
35
- }
36
-
37
- // Type narrowing correctly applies here: updater is not undefined
38
- value = typeof updater === "function" ? updater(value) : updater;
39
-
40
- onUpdates.forEach((item) => {
41
- item();
42
- });
43
-
44
- return undefined;
45
- }
46
-
47
- return fn as <U extends Updater | unknown | undefined>(
48
- updater?: U
49
- ) => U extends Updater ? undefined : ReactElement;
50
- };
package/tsconfig.json DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "outDir": "./dist",
4
- "target": "ES2015",
5
- "lib": ["dom", "dom.iterable", "esnext"],
6
- "allowJs": true,
7
- "skipLibCheck": true,
8
- "strict": true,
9
- "noEmit": false,
10
- "esModuleInterop": true,
11
- "module": "CommonJS",
12
- "moduleResolution": "node",
13
- "resolveJsonModule": true,
14
- "isolatedModules": true,
15
- "jsx": "preserve",
16
- "incremental": true,
17
- "plugins": [
18
- {
19
- "name": "next"
20
- }
21
- ],
22
- "paths": {
23
- "@/*": ["./src/*"]
24
- }
25
- },
26
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
27
- "exclude": ["node_modules"]
28
- }