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.
allthethings
Advanced tools
var things = ['all', 'the', 'things'];
function log(thing) {
console.log(thing);
}
log.allThe(things);
For no extra cost, you also get the 'fromThe' and 'inThe' aliases, for your grammatical needs:
var proHackers = filterNoobs.fromThe(hackers);
containsProHackers.inThe(hackers); // true
And all for less than 1KB, with no dependencies*. Delicious.
*Unless your browser is an antique. Then you need es5-shim.
ALLTHETHINGS.JS allows you to sentencify the following array methods:
Install with: npm install allthethings
require('allthethings');
Download the production version or the development version.
By default, 'allThe' performs a map on the array, which doubles as a forEach:
var things = ['all', 'the', 'things'];
function log(thing) {
console.log(thing);
}
log.allThe(things);
var numbers = [1,2,3];
function triple(number) {
return number * 3;
}
var multiplesOfThree = triple.allThe(numbers); // [3,6,9]
If your named function starts with 'filter' or 'is', then a filter is performed.
When filtering, it's idiomatic to use 'fromThe' instead of 'allThe':
var numbers = [-2,-1,0,1,2];
function filterNegatives(number) {
return number >= 0;
}
filterNegatives.fromThe(numbers); // [0,1,2]
var numbers = [-2,-1,0,1,2];
function isPositive(number) {
return number > 0;
}
isPositive.fromThe(numbers); // [1,2]
If your named function starts with 'reduce', 'calculate' or 'add', then a reduce is performed.
If you add 'Right' to any of these, then a reduceRight is performed instead.
When reducing, it's idiomatic to use 'fromThe' instead of 'allThe':
Given the 'numbers' array:
var numbers = [1,2,3];
Any of these will work identically:
function reduceTotal(a, b) {
return a + b;
}
var total = reduceTotal.fromThe(numbers); // 6
function calculateTotal(a, b) {
return a + b;
}
var total = calculateTotal.fromThe(numbers); // 6
function addTotal(a, b) {
return a + b;
}
var total = addTotal.fromThe(numbers); // 6
If your named function starts with 'some', 'contains' or 'has', then a some is performed.
When using 'some', it's idiomatic to use 'inThe' instead of 'allThe':
var numbers = [-2,-1,0,1,2];
function someNegatives(number) {
return number < 0;
}
someNegatives.inThe(numbers); // true
var numbers = [-2,-1,0,1,2];
function containsNegatives(number) {
return number < 0;
}
containsNegatives.inThe(numbers); // true
var numbers = [-2,-1,0,1,2];
function hasNegatives(number) {
return number < 0;
}
hasNegatives.inThe(numbers); // true
If your named function starts with 'every' or 'all', then an every is performed.
When using 'every', it's idiomatic to use 'inThe' instead of 'allThe':
var numbers = [1,2,3,4,5];
function everyNumberIsPositive(number) {
return number > 0;
}
everyNumberIsPositive.inThe(numbers); // true
var numbers = [1,2,3,4,5];
function allPositive(number) {
return number > 0;
}
allPositive.inThe(numbers); // true
Assign a named function expression to a variable of a different name:
var things = [false, true, false];
var myAliasedFunction = function filter(thing) {
return thing === true;
};
myAliasedFunction.allThe(things); // [true]
You can create new rules or override existing ones:
var allthethings = require('allthethings');
allthethings.rules.filter = /foobar/;
window.allthethings.rules.filter = /foobar/;
var numbers = [1,2,3,4];
function foobar(number) {
return number % 2 === 0;
}
// This now performs a filter:
foobar.allThe(numbers); // [2,4]
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.
Copyright (c) 2012 Mark Dalgleish
Licensed under the MIT license.
FAQs
Let your iterations read like actual sentences.
The npm package allthethings receives a total of 1 weekly downloads. As such, allthethings popularity was classified as not popular.
We found that allthethings 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.