Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Tiny library to get all values/keys of a Typescript enum.
yarn
: yarn add enum-for
npm
: npm install --save enum-for
import {getAllEnumKeys, getAllEnumValues, getAllEnumEntries} from 'enum-for'
getAllEnumKeys
returns all keys of the enum objectgetAllEnumValues
returns all values of the enum objectgetAllEnumEntries
returns all entries ([key, value]) of the enum objectThe source code of the project is very simple (3 LOCs). You can copy and use it directly in your project.
However, I recommend installing this package instead, because it is well tested.
exports.getAllEnumKeys = enumType => Object.keys(enumType).filter(key => isNaN(Number(key)))
exports.getAllEnumValues = enumType => exports.getAllEnumKeys(enumType).map(key => enumType[key])
exports.getAllEnumEntries = enumType => exports.getAllEnumKeys(enumType).map(key => [key, enumType[key]])
import {getAllEnumKeys, getAllEnumValues, getAllEnumEntries} from 'enum-for'
enum MyEnum {
foo = 0,
bar = '1',
'1foo' = 2,
'2foo' = '3'
}
console.log(getAllEnumKeys(MyEnum))
console.log(getAllEnumValues(MyEnum))
console.log(getAllEnumEntries(MyEnum))
console.log(Object.keys(MyEnum))
console.log(Object.values(MyEnum))
console.log(Object.entries(MyEnum))
This script will print. Note that the results returned from Object.keys
, Object.values
are incorrect.
[ 'foo', 'bar', '1foo', '2foo' ]
[ 0, '1', 2, '3' ]
[ [ 'foo', 0 ], [ 'bar', '1' ], [ '1foo', 2 ], [ '2foo', '3' ] ]
[ '0', '2', 'foo', 'bar', '1foo', '2foo' ]
[ 'foo', '1foo', 0, '1', 2, '3' ]
[ [ '0', 'foo' ], [ '2', '1foo' ], [ 'foo', 0 ], [ 'bar', '1' ], [ '1foo', 2 ], [ '2foo', '3' ] ]
FAQs
An utility library to get all values/keys of a Typescript enum
The npm package enum-for receives a total of 0 weekly downloads. As such, enum-for popularity was classified as not popular.
We found that enum-for demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.