Skip to content

conversejs/skeletor

Repository files navigation

Skeletor

XMPP Chat CI Tests

Skeletor is a modernization of Backbone's Models and Collections.

It provides you with a more modern Backbone-like way to manage state.

Installation

npm install @converse/skeletor

Changes from Backbone

We've made big, backwards incompatible changes in version 2:

  • Removed the old View
  • Removed the old Events constructor function and instead added the EventsEmitter mixin class.
  • Removed the Router and History classes.
  • All other types (Model, Collection) are now ES6 classes.

Sekeletor adds the following changes to Backbone

  • Added TypeScript type declarations (generated from typed JSDoc comments)
  • Removes the dependency on jQuery
  • Replaces underscore with lodash
  • Imports lodash methods individually to allow for tree-shaking
  • Uses the native browser API instead of lodash whereever possible
  • Drops support for older browsers (including IE) and uses ES6+ language features
  • Splits models and collections into separate modules
  • Adds the possibility to returns promises for asynchronous operations

Other backwards incompatible changes

  • Collection.prototype.forEach no longer returns the items being iterated over. If you need that, use map instead.
  • The chain, clone and escape methods on Models have been removed.
  • The clone method has also been removed from Collections
  • The inject, foldl and foldr methods on Collections has been removed. You can use reduce instead.
  • Removed the sample, take, tail and initial method on Collections.
  • Removed the without, reject and select methods on Collections, use filter.
  • Removed the .extend() method on Model and Collection.
  • Models and Collections should be defined via class .. extends syntax.

Changes due to using Lodash instead of Underscore

  1. Use drop instead of rest.
  2. indexBy is called keyBy
  3. Use invokeMap for collections instead of invoke.
  4. Use includes instead of contains
  5. The partition and invokeMap methods have been removed.

About

Models and Collections for modern web apps

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 285