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.
class-name-builder
Advanced tools
A small, chainable, immutable utility for building up class name strings in application logic
A small, chainable, immutable utility for building up class name strings in
application logic. Great for use with React's className
property or Angular's
ng-class
directive. Improves code readability by avoiding large, complex sets
of nested conditional statements when generating class names in templates or
application code.
npm install class-name-builder
jspm install npm:class-name-builder
If you would like support for another ecosystem, please open an issue or submit a PR.
import ClassNameBuilder from 'class-name-builder';
let condition = true;
let otherCondition = false;
const classNames = ClassNameBuilder
.create()
.always('example awesome-example')
.if(condition, 'condition')
.if(otherCondition, 'other-condition')
.else(['not-other-condition', 'array'])
.toString();
console.log(classNames);
// "example awesome-example condition not-other-condition array"
create(): ClassNameBuilder
: creates a new, empty instance of
ClassNameBuilder
. ClassNameBuilder
has no constructor, so this is the only
way to create an instance.always(value: string | Array<string>): ClassNameBuilder
: creates a new
instance of ClassNameBuilder
with the given values. If the value is a string,
multiple class names can be included by separating them with one or more spaces,
similar to the class
HTML attribute. Duplicate class names will be removed in
the case of both a space-separated string and an array.if(condition: any, value: string | Array<string>): ClassNameBuilder
:
creates a new instance of ClassNameBuilder
with the passed in value
only
included if the condition is truthy.else(value: string | Array<string>): ClassNameBuilder
: creates a new
instance of ClassNameBuilder
with the passed in value
only if the condition
for the preceding if()
call was falsey. Will throw an error if called without
an immediately preceding call to if()
.merge(other: ClassNameBuilder): ClassNameBuilder
: creates a new instance of
ClassNameBuilder
with class names from the passed in instance mixed in with
those in the calling instance.toString(): string
: returns the class names represented by the instance as a
space-separated string.npm install -g gulp && npm install
To bundle with browserify
and babelify
:
gulp build
To run the unit tests with karma
:
gulp test
FAQs
A small, chainable, immutable utility for building up class name strings in application logic
We found that class-name-builder 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.