Socket
Socket
Sign inDemoInstall

@restart/hooks

Package Overview
Dependencies
Maintainers
2
Versions
65
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@restart/hooks - npm Package Compare versions

Comparing version 0.1.6 to 0.2.0

es/index.d.ts

7

package.json
{
"name": "@restart/hooks",
"version": "0.1.6",
"version": "0.2.0",
"main": "index.js",
"types": "index.d.ts",
"module": "es/index.js",
"repository": "https://github.com/jquense/react-common-hooks.git",

@@ -11,3 +12,5 @@ "author": "Jason Quense <monastic.panic@gmail.com>",

"preset": "@4c",
"setupTestFrameworkScriptFile": "./test/setup.js"
"setupFiles": [
"./test/setup.js"
]
},

@@ -14,0 +17,0 @@ "publishConfig": {

# react-common-hooks
A set of utility and general purpose react hooks
## Install
```sh
npm install @restart/hooks
```
## Usage
```js
import useInterval from '@restart/hooks/useInterval'
useInterval(() => loop(), false, 300)
```

@@ -9,4 +9,4 @@ "use strict";

function useCommittedRef(value) {
const ref = (0, _react.useRef)(value);
(0, _react.useLayoutEffect)(() => {
var ref = (0, _react.useRef)(value);
(0, _react.useEffect)(function () {
ref.current = value;

@@ -13,0 +13,0 @@ }, [value]);

@@ -13,6 +13,6 @@ "use strict";

function useEventCallback(fn) {
const ref = (0, _useCommittedRef.default)(fn);
return (0, _react.useCallback)(function (...args) {
return ref.current(...args);
var ref = (0, _useCommittedRef.default)(fn);
return (0, _react.useCallback)(function () {
return ref.current.apply(void 0, arguments);
}, [ref]);
}

@@ -6,14 +6,12 @@ "use strict";

var _react = require("react");
var _useEventListener = _interopRequireDefault(require("./useEventListener"));
var _useEventCallback = _interopRequireDefault(require("./useEventCallback"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function useGlobalListener(event, listener, capture = false) {
const handler = (0, _useEventCallback.default)(listener);
(0, _react.useEffect)(() => {
document.addEventListener(event, handler, capture);
return () => document.removeEventListener(event, handler, capture);
}, []);
function useGlobalListener(event, listener, capture) {
if (capture === void 0) {
capture = false;
}
return (0, _useEventListener.default)(document, event, listener, capture);
}

@@ -12,10 +12,14 @@ "use strict";

function useInterval(fn, paused, ms) {
let handle;
const fnRef = (0, _useCommittedRef.default)(fn); // this ref is necessary b/c useEffect will sometimes miss a paused toggle
function useInterval(fn, ms, paused) {
if (paused === void 0) {
paused = false;
}
var handle;
var fnRef = (0, _useCommittedRef.default)(fn); // this ref is necessary b/c useEffect will sometimes miss a paused toggle
// orphaning a setTimeout chain in the aether, so relying on it's refresh logic is not reliable.
const pausedRef = (0, _useCommittedRef.default)(paused);
var pausedRef = (0, _useCommittedRef.default)(paused);
const tick = () => {
var tick = function tick() {
if (pausedRef.current) return;

@@ -26,3 +30,3 @@ fnRef.current();

const schedule = () => {
var schedule = function schedule() {
clearTimeout(handle);

@@ -32,5 +36,7 @@ handle = setTimeout(tick, ms);

(0, _react.useEffect)(() => {
(0, _react.useEffect)(function () {
tick();
return () => clearTimeout(handle);
return function () {
return clearTimeout(handle);
};
}, [paused]);

@@ -37,0 +43,0 @@ }

@@ -11,10 +11,14 @@ "use strict";

function useMergeState(initialState) {
const _useState = (0, _react.useState)(initialState || {}),
state = _useState[0],
setState = _useState[1];
var _useState = (0, _react.useState)(initialState),
state = _useState[0],
setState = _useState[1];
const updater = update => {
var updater = function updater(update) {
if (update === null) return;
if (typeof update === 'function') setState(state => _extends({}, state, update(state)));
return setState(state => _extends({}, state, update));
if (typeof update === 'function') setState(function (state) {
return _extends({}, state, update(state));
});
setState(function (state) {
return _extends({}, state, update);
});
};

@@ -21,0 +25,0 @@

@@ -11,9 +11,9 @@ "use strict";

function useMergeStateFromProps(props, gDSFP, initialState) {
const _useMergeState = (0, _useMergeState2.default)(initialState),
state = _useMergeState[0],
setState = _useMergeState[1];
var _useMergeState = (0, _useMergeState2.default)(initialState),
state = _useMergeState[0],
setState = _useMergeState[1];
const nextState = gDSFP(props, state);
var nextState = gDSFP(props, state);
if (nextState !== null) setState(nextState);
return [state, setState];
}

@@ -9,7 +9,11 @@ "use strict";

function useMounted() {
const mounted = (0, _react.useRef)(true);
(0, _react.useEffect)(() => () => {
mounted.current = false;
var mounted = (0, _react.useRef)(true);
(0, _react.useEffect)(function () {
return function () {
mounted.current = false;
};
}, []);
return () => mounted.current;
return function () {
return mounted.current;
};
}

@@ -9,4 +9,4 @@ "use strict";

function usePrevious(value) {
const ref = (0, _react.useRef)(null);
(0, _react.useEffect)(() => {
var ref = (0, _react.useRef)(null);
(0, _react.useEffect)(function () {
ref.current = value;

@@ -13,0 +13,0 @@ });

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

declare function useRafInterval(fn: () => void, paused: boolean, ms: number): void;
declare function useRafInterval(fn: () => void, ms: number): void;
export default useRafInterval;

@@ -12,13 +12,17 @@ "use strict";

function useRafInterval(fn, paused, ms) {
let handle;
let start = new Date().getTime();
const fnRef = (0, _useCommittedRef.default)(fn); // this ref is necessary b/c useEffect will sometimes miss a paused toggle
function useRafInterval(fn, ms, paused) {
if (paused === void 0) {
paused = false;
}
var handle;
var start = new Date().getTime();
var fnRef = (0, _useCommittedRef.default)(fn); // this ref is necessary b/c useEffect will sometimes miss a paused toggle
// orphaning a setTimeout chain in the aether, so relying on it's refresh logic is not reliable.
const pausedRef = (0, _useCommittedRef.default)(paused);
var pausedRef = (0, _useCommittedRef.default)(paused);
function loop() {
const current = new Date().getTime();
const delta = current - start;
var current = new Date().getTime();
var delta = current - start;
if (pausedRef.current) return;

@@ -35,5 +39,7 @@

(0, _react.useEffect)(() => {
(0, _react.useEffect)(function () {
handle = requestAnimationFrame(loop);
return () => cancelAnimationFrame(handle);
return function () {
return cancelAnimationFrame(handle);
};
}, []);

@@ -40,0 +46,0 @@ }

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