
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
backscatter
Advanced tools
A reactive library for Backbone
Backscatter is a small library that notifies you of events anywhere in your Backbone model tree, no matter how deeply-nested they are. It's a great companion to React, since it enables you to carelessly trigger refreshes of your entire React tree whenever one or more base model(s) or their nested members change.
npm install backscatter
Backscatter is a "catchall" listener. Anything that triggers an "all" event on your Model/Collection will be relayed by it.
If you already have custom Backbone models and collections defined in your projects, you can extend them using "createFactory" so they can be used by Backscatter.
An extension of Backbone's native Model and Collection which contains "backscatterOn" and "backscatterOff"
handler
will be called whenever the Model/Collection backscatterOn
is invoked on or any of its decendants (close or remote) trigger an 'all' event.
The arguments passed to handler
are Backbone's original 'all' event-handler arguments (target, event name etc.)
handler
might be triggered several times sequently. For instance: Models that are members of a collection will trigger one event for the model, and another for the collection they're in, both will be intercepted by handler
. Since you may be interested only in one of them, you can use underscore ".debounce()"
Removes the binding to `handler'. It's best to call this when the view hosting your react component dies.
import _ from 'underscore';
import Backbone from 'backbone';
import Backscatter from './lib/backscatter.js';
import React from 'react';
class MyCustomComponent extends React.Component {
render(){
return <div>{ this.props.title }, { this.props.name }</div>
}
}
// This model is an example of an existing model that's extended to enable backscatter updates (see "createFactory")
let MyExistingModel = Backbone.Model.extend({ defaults: { id: "name", name: "John Doe" } });
let A = new Backscatter.Model({ id: "title", "title": `Howdy` }),
B = new (Backscatter.createFactory(MyExistingModel)),
C = new Backscatter.Model({ "a": A, "b": B }),
D = new Backscatter.Collection([C]);
let renderComponent = function(){
React.render(React.createElement(MyCustomComponent, { title: D.at(0).get('a').get('title'), name: D.at(0).get('b').get('name') }), document.querySelector('body'));
};
// Set backscatter to render your component whenever there are changes to your model
D.backscatterOn(_.debounce(function(...[target, name]){
console.log(`We've got a change on "${target.id}" with event name "${name}"`)
renderComponent();
}));
// Perform a change somewhere in your model, and let backscatter react
setTimeout(function(){
// Let's touch our model somewhere in a deeply nested location
A.set({ "title": `Hello` })
}, 1000);
setTimeout(function(){
// Let's touch our model somewhere else in a deeply nested location
B.set({ "name": `Mark Smith` })
}, 2000);
renderComponent();
FAQs
A reactive library for Backbone
The npm package backscatter receives a total of 7 weekly downloads. As such, backscatter popularity was classified as not popular.
We found that backscatter 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
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.