
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
domain-map
Advanced tools
Provides domain prefixed ES6 Maps. Can be used as registry for other components.
domain-map provides domain prefixed ES6 Maps, and can be used as registry for other components.
Using npm:
$ npm install --save domain-map
Normal usage with ES2015 modules:
import DomainMap from 'domain-map'
let registry = new DomainMap();
// Set value for key with domain prefix
registry.set('myDomain', 'someKey', 'value1');
registry.set('myDomain', 'otherKey', 'value2');
// Get value for domain key
registry.get('myDomain', 'someKey');
// Returns 'value1'
// You can provide default value, which will be used if key doesn't exists
registry.get('myDomain', 'randomKey', false);
// Returns 'false'
// Get list of keys
registry.getDomainKeysList('myDomain');
// Returns ["someKey", "otherKey"]
// Or whole domain
let items = registry.getDomain('myDomain');
items.forEach((key, value) => {
// Iterate
});
// Clear whole domain
registry.clearDomain('myDomain');
// Since key values are maps, you can actually save anything:
registry.set('properties', 'objectAsValue', {abc: false});
registry.set('properties', 'exampleFunction', (value) => { return value + 1; });
In some cases you want to store data for key which is actually an object. Normal ES6 Map object will return value for object only if key is exactly the same object you used when storing data:
// Normal maps
let map = new Map();
let myObjectKey = {entityId: 1};
let mySecondKey = {entityId: 1};
map.set(myObjectKey, {name: "Alice"});
map.get(myObjectKey);
// Will return {name: "Alice"}
map.get(mySecondKey);
// Will return null, since key objects are not same
Domain map allows you to use "deep object key comparison". Two objects are same if their values equals:
import DomainMap from 'domain-map'
let registry = new DomainMap({strictKeyMode: false});
let myObjectKey = {entityId: 1};
let mySecondKey = {entityId: 1};
registry.set('myDomain', myObjectKey, {name: 'Alice'});
registry.get('myDomain', mySecondKey, false);
// Will return {name: 'Alice'}
If you need just Map object with deep object key comparison, you can have one with static createCollection() method:
let collection = DomainMap.createCollection({strictKeyMode: false});
Run tests using npm:
$ npm run test
FAQs
Provides domain prefixed ES6 Maps. Can be used as registry for other components.
The npm package domain-map receives a total of 38 weekly downloads. As such, domain-map popularity was classified as not popular.
We found that domain-map 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
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.