{"_id":"circuit","_rev":"29-e6dcf6f7d796be1565485521ddba4d30","name":"circuit","time":{"modified":"2022-06-13T06:03:03.267Z","created":"2014-04-05T03:20:51.519Z","0.1.1":"2014-05-07T10:04:56.597Z","0.1.2":"2014-05-07T10:47:18.691Z","0.1.3":"2014-05-31T05:39:32.453Z","0.1.4":"2015-02-22T08:04:43.191Z","0.2.0":"2015-06-27T04:43:39.607Z","0.3.0":"2015-06-29T00:01:24.266Z","0.3.1":"2015-07-02T10:19:39.616Z","0.3.2":"2015-07-04T01:01:01.787Z","1.0.0":"2015-09-02T10:37:01.867Z","1.1.0":"2017-03-04T04:36:04.603Z","1.1.1":"2017-03-06T09:21:54.675Z","1.1.2":"2017-03-10T23:57:06.563Z","1.1.3":"2017-03-17T22:52:05.509Z","1.2.0":"2021-03-12T11:58:52.023Z"},"maintainers":[{"name":"ionstage","email":"contact@ionstage.org"}],"description":"Data binding library","readme":"# circuit\n\nData binding library\n\n[Demo](https://jsfiddle.net/9az08yve/)\n\n```js\nvar Square = function() {\n  this.width = circuit.data(1);\n  this.area = circuit.data(function(x) {\n    return x * x;\n  });\n  circuit.bind(this.width, this.area);\n};\n\nvar Counter = function() {\n  this.count = circuit.data(1);\n  this.up = circuit.event(function() {\n    this.count(this.count() + 1);\n  }.bind(this));\n};\n\nvar square = new Square();\nvar counter = new Counter();\n\ncircuit.bind(counter.count, square.width);\n\nsetInterval(function() {\n  console.log(square.area());\n  counter.up();\n}, 1000);\n\n// output a square number every second\n// 1, 4, 9, 16, 25, 36, 49...\n```\n\n## Features\n\n- Cross-browser: works on IE6+, Firefox, Safari, Chrome, Opera\n- Node.js ready (require('circuit'))\n- Standalone, no dependencies\n\n## Usage\n\n### Browser\n\n```\n<script src=\"circuit.js\"></script>\n```\n\n### Node\n\nInstall it with npm or add it to your `package.json`:\n\n```\n$ npm install circuit\n```\n\nThen:\n\n```\nvar circuit = require('circuit');\n```\n\n## API\n\n### circuit.data()\n\nReturn a getter/setter function that stores arbitrary data\n\n```js\n// create a getter-setter with initial value `foo`\nvar text = circuit.data('foo');\n\n// get the value\nvar a = text(); // a == \"foo\"\n\n// set the value to `bar`\ntext('bar');\n\n// get the value\nvar b = text(); // b == \"bar\"\n```\n\nSet a function for data transformation\n\n```js\n// create a getter-setter with the function\nvar message = circuit.data(function(name) {\n  return 'Hello, ' + name;\n});\n\n// set the value to `Alice`\nmessage('Alice');\n\n// get the transformed value\nvar a = message(); // a == \"Hello, Alice\"\n\n// set the value to `Bob`\nmessage('Bob');\n\n// get the transformed value\nvar b = message(); // b == \"Hello, Bob\"\n```\n\n### circuit.event()\n\nReturn a function for event transmission\n\n```js\n// create event function\nvar hello = circuit.event(function() {\n  console.log('Hello, world!');\n});\n\n// call event function\nhello(); // output: \"Hello, World!\"\n```\n\nGet an argument of a function as event context (use event.context())\n\n```js\nvar text = 'Hello, world!';\n\nvar hello = circuit.event(function(event) {\n  console.log(event.context());\n});\n\nhello(text); // output: \"Hello, World!\"\n```\n\n### circuit.bind()\n\nBind arguments of data function (data synchronization)\n\n```js\nvar a = circuit.data(0);\n\nvar b = circuit.data(function(x) {\n  return x + 1;\n});\n\nvar c = circuit.data(function(x) {\n  return x * x;\n});\n\n// bind data 'a' to data 'b'\ncircuit.bind(a, b);\n\n// bind data 'b' to data 'c'\ncircuit.bind(b, c);\n\n// change the value of 'a'\na(1);\n\nconsole.log(b()); // output: 2\nconsole.log(c()); // output: 4\n```\n\nSupport lazy evaluation\n\n```js\nvar a = circuit.data(0);\n\nvar b = circuit.data(function(x) {\n  console.log('b is called');\n  return x;\n});\n\ncircuit.bind(a, b);\n\nfor (var i = 0; i < 10000; i++) {\n  a(i);\n}\n\nb(); // output \"b is called\" only twice\n```\n\nMultiple binding for data function\n\n```js\nvar a = circuit.data(0);\n\nvar b = circuit.data(0);\n\nvar sum = circuit.data(function(x, y) {\n  return x + y;\n});\n\n// bind the value of 'a' to argument 'x' of sum()\ncircuit.bind(a, sum);\n\n// bind the value of 'b' to argument 'y' of sum()\ncircuit.bind(b, sum);\n\na(2);\nb(3);\n\nconsole.log(sum()); // output: 5\n\nb(5);\n\nconsole.log(sum()); // output: 7\n```\n\nCreate event chaining\n\n```js\nvar a = circuit.event();\n\nvar b = circuit.event(function() {\n  console.log('b is called');\n});\n\nvar c = circuit.event(function() {\n  console.log('c is called');\n});\n\n// bind event 'a' to event 'b'\ncircuit.bind(a, b);\n\n// bind event 'b' to event 'c'\ncircuit.bind(b, c);\n\n// call event 'a'\na();\n\n// event 'b' will be called and output \"b is called\"\n// event 'c' will be called and output \"c is called\"\n```\n\nCancel event propagation (use event.cancel())\n\n```js\nvar a = circuit.event();\n\nvar b = circuit.event(function(event) {\n  event.cancel();\n  console.log('b is called');\n});\n\nvar c = circuit.event(function() {\n  console.log('c is called');\n});\n\ncircuit.bind(a, b);\ncircuit.bind(b, c);\n\na();\n\n// event 'b' will be called but event 'c' will not be called\n```\n\nDispatch event later (use event.dispatch())\n\n```js\nvar a = circuit.event();\n\nvar b = circuit.event(function(event) {\n  event.cancel();\n  console.log('b is called');\n  setTimeout(function() {\n    event.dispatch();\n  }, 1000);\n});\n\nvar c = circuit.event(function() {\n  console.log('c is called');\n});\n\ncircuit.bind(a, b);\ncircuit.bind(b, c);\n\na();\n\n// event 'b' will be called and event 'c' will be called 1 second after\n```\n\nRelay context of event function one after another\n\n```js\nvar a = circuit.event(function(event) {\n  var context = event.context;\n  context(context() + 1);\n});\n\nvar b = circuit.event(function(event) {\n  var context = event.context;\n  console.log(context());\n  context(context() * context());\n});\n\nvar c = circuit.event(function(event) {\n  console.log(event.context());\n});\n\ncircuit.bind(a, b);\ncircuit.bind(b, c);\n\na(1);\n\n// event 'b' will be called and output \"2\"\n// event 'c' will be called and output \"4\"\n```\n\n### circuit.unbind()\n\nRemove binding of data/event functions\n\n```js\nvar a = circuit.data(0);\n\nvar b = circuit.data(0);\n\ncircuit.bind(a, b);\n\na(1);\n\n// data 'a' and data 'b' are unbound\ncircuit.unbind(a, b);\n\na(2);\n\nconsole.log(b()); // output: 1\n```\n\n## Running tests\n\nClone the repository and install the developer dependencies:\n\n```\ngit clone https://github.com/ionstage/circuit.git\ncd circuit\nnpm install\n```\n\nThen:\n\n```\nnpm test\n```\n\n## License\n\nCopyright &copy; 2015 iOnStage\nLicensed under the [MIT License][mit].\n\n[MIT]: https://opensource.org/licenses/mit-license.php\n","versions":{"0.1.1":{"name":"circuit","version":"0.1.1","description":"Data binding library","main":"circuit.js","repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit","_id":"circuit@0.1.1","dist":{"shasum":"59e865155ba8db1ea6df18017838acaa2170fbf6","tarball":"https://registry.npmjs.org/circuit/-/circuit-0.1.1.tgz","integrity":"sha512-+aAznhh5/bfP4nATHPnCMLq7aEVO73rTqTrPi3DW5j8nDizadVZMwocChjK1OYl5GVhFNrErju4kauO/YQiVxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEmw44cbo0xsqvg0RqM4C4D9nq3L6+qzCYsJpOqtRsBwIgWT6BMrFP1oVowSR/wj2pbtUCpxi0tLCKQlWoTHQ6fqo="}]},"_from":".","_npmVersion":"1.3.17","_npmUser":{"name":"ionstage","email":"rlv04343@ionstage.org"},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"directories":{}},"0.1.2":{"name":"circuit","version":"0.1.2","description":"Data binding library","main":"circuit.js","repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit","_id":"circuit@0.1.2","dist":{"shasum":"dd8e535d223a514926d11843ca9c7020fcfc3398","tarball":"https://registry.npmjs.org/circuit/-/circuit-0.1.2.tgz","integrity":"sha512-7FajX5xf9TWa7RjMfcsZpN93iQ+OGGn0fNuvdnfebYEwNyy5tIBBv13dOqTWEvbhl2+/qtIlb/JtKvP+WLHZhw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkcznJkKQfjWT+ygJ9w4LxXQT+v6iOmW0sqnV8lE8cCwIgd+m9OIQLtDuqm31JuN6NMiawDP9iStV0+SOgJ3lVMm4="}]},"_from":".","_npmVersion":"1.3.17","_npmUser":{"name":"ionstage","email":"rlv04343@ionstage.org"},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"directories":{}},"0.1.3":{"name":"circuit","version":"0.1.3","description":"Data binding library","main":"circuit.js","repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit","_id":"circuit@0.1.3","dist":{"shasum":"1f2163043ea7c95cc04ec1c797d97a14d54b13b6","tarball":"https://registry.npmjs.org/circuit/-/circuit-0.1.3.tgz","integrity":"sha512-EVfxe5pAc6VPFznUaJ7d4otH4CBYwUWDDMDcQ4o63+4wFF7MM069qqYo/avaO+5yjEuVKO/AegYo3o08/k3tnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxlAIBUhOm7JoVfHipi8Vcr3PVCSH6/LHnaTpP2aj7JQIhANfZnFGF28OdYhm9JanKk70bWOHbK0xOqDxHwySMftbF"}]},"_from":".","_npmVersion":"1.3.17","_npmUser":{"name":"ionstage","email":"rlv04343@ionstage.org"},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"directories":{}},"0.1.4":{"name":"circuit","version":"0.1.4","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"*","sinon":"*"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"c1b3832d3865ffec617f6ca42b7cb7e86bf880b4","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit","_id":"circuit@0.1.4","_shasum":"7f2c10de3e8dbef946db9107865a27bb7b2112db","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"ionstage","email":"support@ionstage.org"},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"dist":{"shasum":"7f2c10de3e8dbef946db9107865a27bb7b2112db","tarball":"https://registry.npmjs.org/circuit/-/circuit-0.1.4.tgz","integrity":"sha512-ST7UXMDvDQl+QLUSftU2x0qN+D09lueTHBhk+dg9UcItGiDsgWE9hTmIO+wx+QnA7tV5Qwzui1UN1Ej99BQyFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtOpY8gruCdyYn/GXrZDrFkgm6k85zdsaJc/ZP/J1U9AIgPrQ44yurzNwGitzSKXYeFleIeLZWxIiLYwVo1N6DsTo="}]},"directories":{}},"0.2.0":{"name":"circuit","version":"0.2.0","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"4469b66e5ef98deeb32ed4904f1d0e7209a1aa5d","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@0.2.0","_shasum":"e8b154cb48da1910b710cb697b10ff95c4f3da45","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"dist":{"shasum":"e8b154cb48da1910b710cb697b10ff95c4f3da45","tarball":"https://registry.npmjs.org/circuit/-/circuit-0.2.0.tgz","integrity":"sha512-Q9JbRywPWSJKdTGKWgIlR/WaFn9Hm61HtGCx2IF4HunBI88XrqP6oiF3j3orLdIbHCYTOSxqMiVTyvIjmYP/fQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBQSDFcVmZCn8SeAt4+rDJyGUzx9j5uRYV8QIAJYrVcyAiBWzvEUwovNV+uuOzDot55cG3ElsSj96AhhwfTQJ1/alA=="}]},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"directories":{}},"0.3.0":{"name":"circuit","version":"0.3.0","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"f6eec74bef60e5e3f21596dd4b59c727ee9ab5be","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@0.3.0","_shasum":"1bc0ece5557816c2b2888f197f826d5ee47d3d2a","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"dist":{"shasum":"1bc0ece5557816c2b2888f197f826d5ee47d3d2a","tarball":"https://registry.npmjs.org/circuit/-/circuit-0.3.0.tgz","integrity":"sha512-FArYnNDopz6JrwNRcJzzrvp0/rXTTmZkEysGgammOScXIg0g4Pjr6E4oSuEU/79TJBaqdIm8qMxrmn6qnWXSfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCn9FhWzFzVlWsvwBoL28O/0i5l3OXZ8+99RsMhuF5oyQIhALZ+fg//7x0VcddUjcMmlwCtg7LuepQ5KYWvuLgkYk05"}]},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"directories":{}},"0.3.1":{"name":"circuit","version":"0.3.1","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"5f554c6772c19fcb643b1d0b5d648fb7eaa8afb1","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@0.3.1","_shasum":"9f50ee450ca0a1dd645f1ec7e043d4017f8e1fc7","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"dist":{"shasum":"9f50ee450ca0a1dd645f1ec7e043d4017f8e1fc7","tarball":"https://registry.npmjs.org/circuit/-/circuit-0.3.1.tgz","integrity":"sha512-80eT0kEu6CT71awcZ6O9+I3G9kF57DF5ATtLduA32q7m7cFrwEur1yRxE5KCgQFrWXs6w32X5sp0PFXH2Ebo7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5pt7EcOT8U4fn86XttV5EX5gBTiw5nENAUI4nYJ8IMQIgRhfwjslhgk4S5SGMZvlZJh2sRXveXAFP4KzK/Ez5siI="}]},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"directories":{}},"0.3.2":{"name":"circuit","version":"0.3.2","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"d00a91458ca9629440c6e1fdfee9dcccd19c9801","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@0.3.2","_shasum":"a7e30fcc124d05a6b8b8be4c3f7dee631a1ec8da","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"dist":{"shasum":"a7e30fcc124d05a6b8b8be4c3f7dee631a1ec8da","tarball":"https://registry.npmjs.org/circuit/-/circuit-0.3.2.tgz","integrity":"sha512-rHsmMkcNVBWdrVVuQrx1t0tgncQgXpx20Y4FvIKLsxqkmh5ACmtl61uiqfaZyGU286HitRmPNiNdpXShMRW+pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1wGHRqpKX3JN/8PFLsj2vv2JOF8eGKlb1zVoylPDm5AiBcX0xtc0QSwlFxJWOsaQ6tnNJ1sKyinxoiFQCd3YLL9w=="}]},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"directories":{}},"1.0.0":{"name":"circuit","version":"1.0.0","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"2e6d886ca45961cedc0d08abb2643bdb80ae3007","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@1.0.0","_shasum":"055cbc0bb07043a472a9519c5c860c993bc3b0ff","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"dist":{"shasum":"055cbc0bb07043a472a9519c5c860c993bc3b0ff","tarball":"https://registry.npmjs.org/circuit/-/circuit-1.0.0.tgz","integrity":"sha512-3e+7PAZkcXXpBcYwFKdkp6Nq2wtQZSO2b2BJDvHF2YP/fZMjG0trFMYStzzGyeESm7gPxkyXROcgBNR6LlCjsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8i2WWq4xTcX+6/jZt45wfGKvS5K+ehg+Iho00S8lWOwIgbRuSNPTWh/deUtJ/LKm4YcUTy9unI+9wPM7sxDKjTTw="}]},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"directories":{}},"1.1.0":{"name":"circuit","version":"1.1.0","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"74283144d7d6ede62d1ca52c1a5f7c420910e755","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@1.1.0","_shasum":"0cff04c7a481f9e063de941e34d83059e1a455ab","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"dist":{"shasum":"0cff04c7a481f9e063de941e34d83059e1a455ab","tarball":"https://registry.npmjs.org/circuit/-/circuit-1.1.0.tgz","integrity":"sha512-ZltQnWrwqh/BW17smjEnDSNkWZnSdXwQndXQaJteWmGA/IQrgozPNqpv+IQP2t9k5F0JCQyJOQHK99foxWFqGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCf0HVT6Q+wyCyIg7hR0MDeH3MXe5f61YtyNXuSmtx1dQIhAKf6NZAHMpIfImKLgxVgW2euoVvGta5hAcGRXI0x/FbN"}]},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/circuit-1.1.0.tgz_1488602164345_0.27286022435873747"},"directories":{}},"1.1.1":{"name":"circuit","version":"1.1.1","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"984254f5b6e59d1b8793a648ad25e1f6296f155b","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@1.1.1","_shasum":"4e70ffeec4c39a4c561baefa2efa321c313d0caa","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"dist":{"shasum":"4e70ffeec4c39a4c561baefa2efa321c313d0caa","tarball":"https://registry.npmjs.org/circuit/-/circuit-1.1.1.tgz","integrity":"sha512-xuL+xJ76R/y8XFE0+IDEEsM+2AUa9La6+ByWtEKgabytjpsuKqb15+f3vqCRTSQHCRGQ+UNfjiK4JTFzMr+nHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAM6OVCt4RB980Ul5Bu4oP7iRu/Fd1YVvvuiZ/lIAGjMAiA7W1liFcmSgUdJaXhTw+AuznnB0HBktXjWWisZMM8V1A=="}]},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/circuit-1.1.1.tgz_1488792114455_0.78959043440409"},"directories":{}},"1.1.2":{"name":"circuit","version":"1.1.2","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"a92dadb31517b8e58edb0215bb2118ddb264ebd9","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@1.1.2","_shasum":"6f225e895b526ec962a21a99d223549afc998134","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"dist":{"shasum":"6f225e895b526ec962a21a99d223549afc998134","tarball":"https://registry.npmjs.org/circuit/-/circuit-1.1.2.tgz","integrity":"sha512-hD4DYNPlLvGevXLff2ZuTdpOJBWPiY8DFHIYDg0lGdllstC1F5zeQGcLOhIhg9NHXE0RlZyvcJcNR9ULQBivMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbP4uGHXOS0hGBSaROmTga23U7t+16KUyJ3mNkpZmpkAIhAP9YlxFIVvn9gXgcEq87ZtKakjkq3CWg6C19N0M8+FFY"}]},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/circuit-1.1.2.tgz_1489190226339_0.31850334047339857"},"directories":{}},"1.1.3":{"name":"circuit","version":"1.1.3","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"45950b9015cf6b77e89bc2789d280a8b7dc48f8b","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@1.1.3","_shasum":"c36a0338b5272a20aa0f78dcb9ad4b90ef2fa4b5","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"dist":{"shasum":"c36a0338b5272a20aa0f78dcb9ad4b90ef2fa4b5","tarball":"https://registry.npmjs.org/circuit/-/circuit-1.1.3.tgz","integrity":"sha512-bTCbzI/rnYNfYhq806Sy3HtY/KtbHmT0dAUe3HDLZi9iQnr7W/C7pVmijXeSLcXxpdE0cLiDmni1uSO8At2YOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFh2HBNOqfApwen011KzzgZwIF/+3QicWqjIh+NfDU8bAiEA//Pv1HlgMpXxGP+C9ct63WdEunGl1wBeCq7RPXLaF30="}]},"maintainers":[{"name":"ionstage","email":"rlv04343@ionstage.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/circuit-1.1.3.tgz_1489791123675_0.9003203120082617"},"directories":{}},"1.2.0":{"name":"circuit","version":"1.2.0","description":"Data binding library","main":"circuit.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.5","sinon":"^1.14.1"},"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"keywords":["data binding","event-driven","reactive"],"author":{"name":"iOnStage"},"license":"MIT","gitHead":"d633f173bee1ba2f7d7d0c2b07bb520d900bf274","bugs":{"url":"https://github.com/ionstage/circuit/issues"},"homepage":"https://github.com/ionstage/circuit#readme","_id":"circuit@1.2.0","_nodeVersion":"15.9.0","_npmVersion":"7.5.3","dist":{"integrity":"sha512-Phq+qKzPLLYjqnkLsXROFckXtqTOk58o4qSG3oU+RAHCYaGTIYqqvC50C33O9LBccpbYHMx65CPX2HLH7cw/Dw==","shasum":"de5dfd0240299abfa5341b81fbcec1e22193736c","tarball":"https://registry.npmjs.org/circuit/-/circuit-1.2.0.tgz","fileCount":5,"unpackedSize":21832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgS1d8CRA9TVsSAnZWagAA0ZYP/2vb6LbYCv/n/0RtDT88\nHH4MSYWNHLp5mJjlif5WPGU+npePGdB68EtX/0vWsHgLEMNpPO1gJ/6tsYkg\nmqcHu2Mc9lrhcF1C1j0/HMxYnGywDLTCZ/3i3Q9AyvccIoZDSioRCbnFcWAi\nOzpYp8OW3yyjAmKsh7QrH3X23H+N/sbO/7+bOYDWnt2i7ztWsW9ERRI+Tzs0\nFi/3rKcFA8tAtkXADeY9P3nxWXzeK00hh451RG0TsFNxlNgcVny4tLVWNHZE\nmV3TeBvDdb/0vJUrEHcye/idxPs0Nbh+2L8SaBejlVg26wPFFDclcLFMDx/8\nnutvWFqNoyEKl7kty58QCTe1j2wzlQDPNppr16lFVmp9Fv8Sm9JX4lGufcQ0\nsR3GndYXWrkSUgCLlzQ87EVl7U1s83EoqmZusSb35zI+ZFRZWMr8KOkg7CDp\nOYMJLpMdmd4Z9VrZgf5YDFwBDwuZgfOPuqdcuo6VEvQuZ4nmNw0zXu9vZHHI\ndDAGSJ2df3AWWHZFdAtpF0zLETGwpvblypLyUB6zqd7BzuaWsneAVetHp58C\ncXyGYa+aMFC71ThMA1U3cwCLKIc86HBkUO8CzR4jpXaXlBZeEduG8NDkPBxd\nB7YU0HCG2RxkO2ZN2xpINYjBZ4QIsP87aqKqqQRt84OKgPmYixF41VoIgm3h\nzYQ/\r\n=MsJQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHE9u+ONIWqonDnLm7b4xHx7hv9z/uDPdAqJC34/1O25AiATGGGj9M4FsqUMsLrd+IcHd4bpMfrApFhrNlrR6l3Bag=="}]},"_npmUser":{"name":"ionstage","email":"contact@ionstage.org"},"directories":{},"maintainers":[{"name":"ionstage","email":"contact@ionstage.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/circuit_1.2.0_1615550331913_0.7451908028123784"},"_hasShrinkwrap":false}},"dist-tags":{"latest":"1.2.0"},"readmeFilename":"README.md","homepage":"https://github.com/ionstage/circuit#readme","keywords":["data binding","event-driven","reactive"],"repository":{"type":"git","url":"git://github.com/ionstage/circuit.git"},"author":{"name":"iOnStage"},"bugs":{"url":"https://github.com/ionstage/circuit/issues"},"license":"MIT"}