Wondering what’s next for npm?Check out our public roadmap! »

    oo7

    0.7.12 • Public • Published

    oo7

    A small library providing what might be termed as reactive expressions, Bonds (hence the name). Classes deriving from Bond are expected to determine when their value has changed and call trigger accordingly.

    TimeBond is provided as a simple expression type which evaluates to the current time and triggers an update once per second.

    Expressions can be composed through TransformBond, which allows both argument dependencies (that get passed into the combination transform) and non-argument dependencies (which do not). For its dependencies, TransformBond is able to work with basic values, Promises and other Bonds abstractly.

    Installation

      npm install oo7 --save

    Usage

      var oo7 = require('oo7'),
          Bond = oo7.Bond,
          TimeBond = oo7.TimeBond,
          TransformBond = oo7.TransformBond;
     
      let t = new TimeBond;
     
      // Prints the Unix time every second.
      t.tie(console.log);
     
      // Prints the formatted date every second.
      new TransformBond(x => new Date(x), [t]).tie(console.log);

    Tests

      npm test

    Contributing

    In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.

    For development, a number of git hooks are provides that allow you to ensure tightly couple packages remain locally referenced at development time and switched to the proper version at commit/publish time. Simply copy all files from hooks into the git hook path:

    cp hooks/* .git/hooks

    NPM's publishing functionality automatically ensures packages reference the latest of their dependencies in the tightly-coupled group, and bumps the patch version after publication.

    For all of this to work, ensure this, oo7-parity, oo7-react and parity-reactive-ui all exist in the same parent directory.

    Release History

    • 0.1.2
    • 0.1.1 Minor fix.
    • 0.1.0 Initial release

    Install

    npm i oo7

    DownloadsWeekly Downloads

    95

    Version

    0.7.12

    License

    Apache-2.0

    Unpacked Size

    92.1 kB

    Total Files

    16

    Last publish

    Collaborators

    • avatar
    • avatar