Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Named arguments for JavaScript, adapted from AngularJS.
'use strict';
var angst = require('angst');
var argObj = {
x: 1,
y: 2
};
var fn = function(x, y) {
return x + y;
};
console.log(angst(fn)(argObj)); //=> 3
var gn = function(x, z) {
if (typeof z === 'undefined') {
return 'z is undefined';
}
return x;
};
console.log(angst(gn)(argObj)); //=> 'z is undefined'
Because code minification mangles variable names, the above will work as expected only when unminified. If we cannot guarantee this, we must pass in an additional string array of the function’s argument names to angst
. For example:
var argObj = {
x: 1,
y: 2
};
var fn = function(x, y) {
return x + y;
};
console.log(angst(fn, ['x', 'y'])(argObj)); //=> 3
See the tests for more usage examples.
var angst = require('angst');
Takes a function fn
, and returns a function gn
that can be invoked using named arguments.
fn
— The function we want to invoke using named arguments. Throws if fn
is not a function.argNames
— A string array containing the names of the arguments expected by fn
. This is mandatory if your code is going to be minified.Applies arguments from argObj
to our initial function fn
, with this
set to the specified context
.
argObj
— An object literal that maps the argument names of fn
to their values.context
— The context for this
when invoking fn
.Returns a string array containing the names of the arguments expected by fn
.
fn
— The function to be parsed. Throws if fn
is not a function.Install via npm:
$ npm i --save angst
Most of this module’s core logic and tests were adapted from AngularJS:
FAQs
Named arguments for JavaScript, adapted from AngularJS.
The npm package angst receives a total of 6 weekly downloads. As such, angst popularity was classified as not popular.
We found that angst 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.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.