Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

use-propagate

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

use-propagate - npm Package Compare versions

Comparing version 0.1.1-main.c03d10e to 0.1.1-main.d9ba316

42

lib/commonjs/createPropagation.js

@@ -15,3 +15,2 @@ "use strict";

var init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var rendering = false;
var allowPropagateDuringRender = init.allowPropagateDuringRender;

@@ -25,25 +24,13 @@ var listeners = new _set.default();

};
var usePropagate = function usePropagate() {
rendering = true;
(0, _react.useLayoutEffect)(function () {
rendering = false;
});
return function (value) {
if (rendering && !allowPropagateDuringRender) {
return console.warn('use-propagate: The propagate callback function should not be called while rendering, ignoring the call.');
}
(0, _forEach.default)(listeners).call(listeners, function (listener) {
return listener(value);
});
};
};
var rendering = false;
return {
useListen: function useListen(listener) {
var listenerRef = (0, _useRefFrom.useRefFrom)(listener);
var wrappingListener = (0, _react.useCallback)(function (value) {
return listenerRef.current(value);
var wrappingListener = (0, _react.useMemo)(function () {
var wrappingListener = function wrappingListener(value) {
return listenerRef.current(value);
};
addListener(wrappingListener);
return wrappingListener;
}, [listenerRef]);
(0, _react.useMemo)(function () {
return addListener(wrappingListener);
}, [wrappingListener]);
(0, _react.useEffect)(function () {

@@ -55,5 +42,18 @@ return function () {

},
usePropagate: usePropagate
usePropagate: function usePropagate() {
rendering = true;
(0, _react.useLayoutEffect)(function () {
rendering = false;
});
return function (value) {
if (rendering && !allowPropagateDuringRender) {
return console.warn('use-propagate: The propagate callback function should not be called while rendering, ignoring the call.');
}
(0, _forEach.default)(listeners).call(listeners, function (listener) {
return listener(value);
});
};
}
};
}
//# sourceMappingURL=createPropagation.js.map
import _Set from "@babel/runtime-corejs3/core-js-stable/set";
import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
import { useCallback, useEffect, useLayoutEffect, useMemo } from 'react';
import { useEffect, useLayoutEffect, useMemo } from 'react';
import { useRefFrom } from 'use-ref-from';
export default function createPropagation() {
var init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var rendering = false;
var allowPropagateDuringRender = init.allowPropagateDuringRender;

@@ -16,25 +15,13 @@ var listeners = new _Set();

};
var usePropagate = function usePropagate() {
rendering = true;
useLayoutEffect(function () {
rendering = false;
});
return function (value) {
if (rendering && !allowPropagateDuringRender) {
return console.warn('use-propagate: The propagate callback function should not be called while rendering, ignoring the call.');
}
_forEachInstanceProperty(listeners).call(listeners, function (listener) {
return listener(value);
});
};
};
var rendering = false;
return {
useListen: function useListen(listener) {
var listenerRef = useRefFrom(listener);
var wrappingListener = useCallback(function (value) {
return listenerRef.current(value);
var wrappingListener = useMemo(function () {
var wrappingListener = function wrappingListener(value) {
return listenerRef.current(value);
};
addListener(wrappingListener);
return wrappingListener;
}, [listenerRef]);
useMemo(function () {
return addListener(wrappingListener);
}, [wrappingListener]);
useEffect(function () {

@@ -46,5 +33,18 @@ return function () {

},
usePropagate: usePropagate
usePropagate: function usePropagate() {
rendering = true;
useLayoutEffect(function () {
rendering = false;
});
return function (value) {
if (rendering && !allowPropagateDuringRender) {
return console.warn('use-propagate: The propagate callback function should not be called while rendering, ignoring the call.');
}
_forEachInstanceProperty(listeners).call(listeners, function (listener) {
return listener(value);
});
};
}
};
}
//# sourceMappingURL=createPropagation.js.map
{
"name": "use-propagate",
"version": "0.1.1-main.c03d10e",
"version": "0.1.1-main.d9ba316",
"description": "Propagates an event to multiple subscribers using React hooks.",

@@ -59,3 +59,3 @@ "files": [

"homepage": "https://github.com/compulim/use-propagate#readme",
"switch:react:16": {
"switch:react-16": {
"devDependencies": {

@@ -69,3 +69,3 @@ "@testing-library/react": "^12",

},
"switch:react:17": {
"switch:react-17": {
"devDependencies": {

@@ -79,3 +79,3 @@ "@testing-library/react": "^12",

},
"switch:react:18": {
"switch:react-18": {
"devDependencies": {

@@ -110,5 +110,5 @@ "@types/react": "^18",

"@babel/runtime-corejs3": "^7.24.1",
"use-propagate": "^0.1.1-main.c03d10e",
"use-propagate": "^0.1.1-main.d9ba316",
"use-ref-from": "^0.0.3"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc