Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Stux is a simplified Flux implementation written in Typescript. It's modeled after reflux but with a few differences.
All actions will return a Promise and will be thus asynchronous. This way you can chain your logic for when the action is completed (that is, all handlers registered for that action have completed).
This also means that any code registered to an action can also return a promise, thus ensuring the action's promise remains unresolved until everything is resolved.
In practice this means you can have a "save" action with perhaps multiple listeners, and you can rest assured that your logic won't continue until all complete.
Stux has been lightly used but no new functionality is planned.
npm:
npm install --save stux
Bower:
bower install --save stux
Basic usage is as follows:
// classes to be used
class Todo {
name: string;
done: boolean;
}
// register some actions
var Actions = {
save: Stux.createAction<Todo>()
};
// create stores that link to actions
class TodoStore extends Stux.Store<Todo> {
private todos: Todo[];
constructor() {
this.todos = [];
this.listenTo(actions.save, this.onSave);
}
data() {
return this.todos;
}
onSave(todo: Todo) {
this.todos.push(todo);
this.trigger(this.todos);
}
}
var todoStore = new TodoStore();
// react component
class TodoComponentState {
todos?: Todo[];
}
@Stux.Component
class TodoComponent extends React.Component<any, TodoComponentState> {
// Stux.Component declarations
linkState: <P>(store: Stux.Store<P>, state: string) => void;
listenTo: <P>(action: Stux.Action<P>, callback: Stux.Listener<P>) => void;
constructor() {
super();
this.state = {};
this.linkState(todoStore, "todos");
}
render() {
var todos = this.state.todos;
// ...
}
addTodo() {
var todo = new Todo();
todo.name = "new todo";
todo.done = false;
Actions.save(todo);
}
}
MIT
FAQs
A simple Typescript Flux implementation using Promises
We found that stux 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
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.