Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Functional and more robust switch
statement replacement.
pass(8)
.when(v => v > 10).to(v => `${v} is greater than 10`)
.when(v => v < 10).to(v => `${v} is lower than 10`)
.or().to(() => "is 10")
.resolve();
// 8 is lower than 10
The idea behind it was to create simple way to solve problems of switch
statement and turn it from statement to an expression. It works nicely when
you're creating Redux reducer or writing custom validation with library like
validator
(what I'm doing when using redux-form
).
npm install --save pass-when
to
after first matched when
to
after or
as defaultimport pass from "pass-when";
function compute(value) {
return pass(value)
.when(v => v > 10).to(v => `${v} is greater than 10`)
.when(v => v < 10).to(v => `${v} is lower than 10`)
.or().to(() => "is 10")
.resolve();
}
compute(12); // 12 is greater than 10
compute(8); // 8 is lower than 10
compute(10); // is 10
andWhen
and orWhen
function compute(value) {
return pass(value)
.when(v => v > 100)
.andWhen(v => v % 2 === 0)
.to(v => `${v} is greater than 100 and even`)
.when(v => v > 100)
.andWhen(v => v % 2 === 1)
.to(v => `${v} is greater than 100 and odd`)
.when(v => v < 50)
.orWhen(v => v % 2 === 1)
.to(v => `${v} is lower than 50 or odd`)
.or()
.to(v => `${v} is 50 - 100`)
.resolve();
}
compute(201); // 201 is greater than 100 and odd
compute(200); // 200 is greater than 100 and even
compute(52); // 52 is 50 - 100
compute(51); // 51 is lower than 50 or odd
compute(10); // 10 is lower than 50 or odd
const response = { status: 404, data: { foo: "bar" } };
pass(response)
.when(({ status }) => status >= 400 && status < 600)
.to(res => ({ ...res, error: true }))
.or()
.to(res => ({ ...res, error: false }))
.resolveToPromise()
.then(res => {
// { status: 404, data: { foo: "bar" }, error: true }
});
FAQs
Functional and more robust switch statement replacement
The npm package pass-when receives a total of 0 weekly downloads. As such, pass-when popularity was classified as not popular.
We found that pass-when 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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.