Nighttime Possum Meandering
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    immutable-objectpublic

    Immutable Object

    Use in Node.js:

    npm install immutable-object

    Or, in a web app. You'll need ES5-shim for this to work in older web browsers.

    Examples

    var immutable = require("immutable-object");
     
    var first = immutable({ foo: 1, bar: 2 });
    var second = first.set({ foo: 2, buz: 3 });

    You can use immutable.createClass to define an immutable object constructor that adds methods to the prototype.

    var Task = immutable.createClass({
      // The constructor will call the `init` method when constructing an instance. 
      // It *must* return an object. 
      init: function(text) {
        return this.set({ text: text, isDone: false });
      },
      // Mutation methods return a new object, the original is unchanged. 
      setText: function(text) {
        // Use the `set` method to create the new object. 
        return this.set({ text: text });
      },
      done: function() {
        return this.set({ isDone: true });
      },
     
      // Properties of the object are accessible as normal. 
      toString: function() {
        return this.text + (this.isDone ? " - done" : "");
      }
    });
     
    var task = new Task("Buy ice cream");
    console.log(task.toString());
     
    // Any change results in a new object. 
    // So be sure to assign the result to use it. 
    task = task.setText("Eat ice cream");
    console.log(task.toString());
     
    task = task.done();
    console.log(task.toString());

    Keywords

    none

    install

    npm i immutable-object

    Downloadslast 7 days

    83

    version

    0.0.3

    license

    none

    last publish

    collaborators

    • avatar