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

react-hook-array

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-hook-array - npm Package Compare versions

Comparing version
0.1.0
to
0.1.1
+2
useArray.d.ts
import React from "react";
export declare const useArray: <T>(initialValue: T[]) => readonly [T[], React.Dispatch<React.SetStateAction<T[]>>, (index: number, value: T) => void, (value: T) => void, () => T];
"use strict";
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
exports.useArray = void 0;
var react_1 = __importDefault(require("react"));
var useArray = function (initialValue) {
var _a = react_1["default"].useState(initialValue), arr = _a[0], setArr = _a[1];
var setArrByIndex = react_1["default"].useCallback(function (index, value) {
return setArr(function (oldArr) { return oldArr.map(function (x, idx) { return (idx === index ? value : x); }); });
}, [setArr]);
var pushArr = react_1["default"].useCallback(function (value) { return setArr(function (oldArr) { return __spreadArray(__spreadArray([], oldArr, true), [value], false); }); }, [setArr]);
var popArr = react_1["default"].useCallback(function () {
// Will return undefined if array has length 0
var last = arr[arr.length - 1];
setArr(function (oldArr) { return oldArr.filter(function (x, idx) { return idx !== arr.length - 1; }); });
return last;
}, [arr, setArr]);
return [arr, setArr, setArrByIndex, pushArr, popArr];
};
exports.useArray = useArray;
+5
-36
{
"name": "react-hook-array",
"version": "0.1.0",
"version": "0.1.1",
"dependencies": {
"@types/react": "^18.0.0",
"react": "^18.2.0",
"typescript": "^4.4.2"
"react": "^18.2.0"
},
"files": [
"useArray.ts"
],
"devDependencies": {
"@types/node": "^16.7.13",
"@types/react-dom": "^18.0.0",
"react-dom": "^18.2.0",
"react-scripts": "5.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
"useArray.js",
"useArray.d.ts"
]
}
import React from "react";
export const useArray = <T,>(initialValue: T[]) => {
const [arr, setArr] = React.useState(initialValue);
const setArrByIndex = React.useCallback(
(index: number, value: T) =>
setArr((oldArr) => oldArr.map((x, idx) => (idx === index ? value : x))),
[setArr]
);
const pushArr = React.useCallback(
(value: T) => setArr((oldArr) => [...oldArr, value]),
[setArr]
);
const popArr = React.useCallback(() => {
// Will return undefined if array has length 0
const last = arr[arr.length - 1];
setArr((oldArr) => oldArr.filter((x, idx) => idx !== arr.length - 1));
return last;
}, [arr, setArr]);
return [arr, setArr, setArrByIndex, pushArr, popArr] as const;
};