Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

flux-utils

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flux-utils - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2-stop

77

dist/capacitor.js

@@ -1,27 +0,36 @@

"use strict";
// Dependencies
'use strict';
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
Object.defineProperty(exports, "__esModule", {
Object.defineProperty(exports, '__esModule', {
value: true
});
// Dependencies
var EventEmitter = require("events").EventEmitter;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var assign = _interopRequire(require("object-assign"));
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var _ = _interopRequire(require("lodash"));
var _events = require('events');
var _objectAssign = require('object-assign');
var _objectAssign2 = _interopRequireDefault(_objectAssign);
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
// Class Variables
var CHANGE_EVENT = "change";
var CHANGE_EVENT = 'change';
// Create Stores Module
function createStore(options, Dispatcher) {
/*
* Flux Capacitors
* // todo: write useful comments
*/
function createCapacitor(options, Dispatcher) {
// validation
if (!Dispatcher) throw new Error("You must provide a Flux Dispatcher to register this store with.");
if (!_.has(options, "actionHandlers")) throw new Error("Your store must provide an `actionHandlers` property mapping handlers to flux `action.type` constants");
if (!Dispatcher) throw new Error('You must provide a Flux Dispatcher to register this store with.');
if (!_lodash2['default'].has(options, 'actionHandlers')) throw new Error('Your store must provide an `actionHandlers` property mapping handlers to flux `action.type` constants');
//
var emitter = new EventEmitter();
var emitter = new _events.EventEmitter();
emitter.setMaxListeners(0);

@@ -41,11 +50,14 @@

};
eventMethods.beep = eventMethods.emitChange; // beep boop
//
var store = assign({}, options, eventMethods);
var actionHandlers = options.actionHandlers;
var storeOptions = _objectWithoutProperties(options, ['actionHandlers']);
var store = (0, _objectAssign2['default'])({}, storeOptions, eventMethods);
store.dispatchToken = Dispatcher.register(function (action) {
if (_.has(store.actionHandlers, action.type)) {
var actionHandler = store.actionHandlers[action.type];
actionHandler(action);
if (_lodash2['default'].has(actionHandlers, action.type)) {
var actionHandler = actionHandlers[action.type];
actionHandler.call(store, action);
}

@@ -55,6 +67,9 @@ });

return store;
};
}
// Component mixin for wiring to Capacitor stores
var storeHandlerMixin = {
/*
* Flux Capacitors Mixin
* // todo: write useful comments
*/
var capacitorMixin = {
getInitialState: function getInitialState() {

@@ -69,4 +84,4 @@ return this.getState();

}
if (_.isArray(this.listenTo)) {
_.each(this.listenTo, function (store) {
if (_lodash2['default'].isArray(this.listenTo)) {
_lodash2['default'].each(this.listenTo, function (store) {
store.addChangeListener(_this.onChange);

@@ -79,3 +94,3 @@ });

componentWillUnmount: function componentWillUnmount() {
var _this = this;
var _this2 = this;

@@ -86,5 +101,5 @@ if (!this.listenTo) {

if (_.isArray(this.listenTo)) {
_.each(this.listenTo, function (store) {
store.removeChangeListener(_this.onChange);
if (_lodash2['default'].isArray(this.listenTo)) {
_lodash2['default'].each(this.listenTo, function (store) {
store.removeChangeListener(_this2.onChange);
});

@@ -100,4 +115,4 @@ } else {

exports.Capacitor = createStore;
exports.Mixin = storeHandlerMixin;
//# sourceMappingURL=data:application/json;base64,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LG9CQUFvQixDQUFDLE1BQUssUUFBUSxDQUFDLENBQUM7YUFDN0MsQ0FBQyxDQUFDO1NBQ04sTUFBTTtBQUNILGdCQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNyRDtLQUNKO0FBQ0QsWUFBUSxFQUFDLG9CQUFHO0FBQ1IsWUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztLQUNsQztDQUNKLENBQUM7O1FBRXNCLFNBQVMsR0FBeEIsV0FBVztRQUFvQyxLQUFLLEdBQTFCLGlCQUFpQiIsImZpbGUiOiJjYXBhY2l0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBEZXBlbmRlbmNpZXNcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQgYXNzaWduIGZyb20gJ29iamVjdC1hc3NpZ24nO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuXG5cbi8vIENsYXNzIFZhcmlhYmxlc1xuY29uc3QgQ0hBTkdFX0VWRU5UID0gJ2NoYW5nZSc7XG5cblxuXG4vLyBDcmVhdGUgU3RvcmVzIE1vZHVsZVxuZnVuY3Rpb24gY3JlYXRlU3RvcmUgKG9wdGlvbnMsIERpc3BhdGNoZXIpIHtcbiAgICAvLyB2YWxpZGF0aW9uXG4gICAgaWYgKCFEaXNwYXRjaGVyKSB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBtdXN0IHByb3ZpZGUgYSBGbHV4IERpc3BhdGNoZXIgdG8gcmVnaXN0ZXIgdGhpcyBzdG9yZSB3aXRoLicpO1xuICAgIGlmICghXy5oYXMob3B0aW9ucywgJ2FjdGlvbkhhbmRsZXJzJykpIHRocm93IG5ldyBFcnJvcignWW91ciBzdG9yZSBtdXN0IHByb3ZpZGUgYW4gYGFjdGlvbkhhbmRsZXJzYCBwcm9wZXJ0eSBtYXBwaW5nIGhhbmRsZXJzIHRvIGZsdXggYGFjdGlvbi50eXBlYCBjb25zdGFudHMnKTtcblxuICAgIC8vXG4gICAgdmFyIGVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgICAgIGVtaXR0ZXIuc2V0TWF4TGlzdGVuZXJzKDApO1xuXG4gICAgLy9cbiAgICB2YXIgZXZlbnRNZXRob2RzID0ge1xuICAgICAgICAgICAgZW1pdENoYW5nZSAoKSB7XG4gICAgICAgICAgICAgICAgZW1pdHRlci5lbWl0KENIQU5HRV9FVkVOVCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWRkQ2hhbmdlTGlzdGVuZXIgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgZW1pdHRlci5vbihDSEFOR0VfRVZFTlQsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZW1vdmVDaGFuZ2VMaXN0ZW5lciAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBlbWl0dGVyLnJlbW92ZUxpc3RlbmVyKENIQU5HRV9FVkVOVCwgY2FsbGJhY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIGV2ZW50TWV0aG9kcy5iZWVwID0gZXZlbnRNZXRob2RzLmVtaXRDaGFuZ2U7IC8vIGJlZXAgYm9vcFxuXG4gICAgLy9cbiAgICB2YXIgc3RvcmUgPSBhc3NpZ24oe30sIG9wdGlvbnMsIGV2ZW50TWV0aG9kcyk7XG5cbiAgICBzdG9yZS5kaXNwYXRjaFRva2VuID0gRGlzcGF0Y2hlci5yZWdpc3RlcihmdW5jdGlvbiAoYWN0aW9uKSB7XG4gICAgICAgIGlmIChfLmhhcyhzdG9yZS5hY3Rpb25IYW5kbGVycywgYWN0aW9uLnR5cGUpKSB7XG4gICAgICAgICAgICBsZXQgYWN0aW9uSGFuZGxlciA9IHN0b3JlLmFjdGlvbkhhbmRsZXJzW2FjdGlvbi50eXBlXTtcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZXIoYWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN0b3JlO1xufTtcblxuLy8gQ29tcG9uZW50IG1peGluIGZvciB3aXJpbmcgdG8gQ2FwYWNpdG9yIHN0b3Jlc1xudmFyIHN0b3JlSGFuZGxlck1peGluID0ge1xuICAgIGdldEluaXRpYWxTdGF0ZSAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlKCk7XG4gICAgfSxcbiAgICBjb21wb25lbnREaWRNb3VudCAoKSB7XG4gICAgICAgIGlmKCF0aGlzLmxpc3RlblRvKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYoXy5pc0FycmF5KHRoaXMubGlzdGVuVG8pKSB7XG4gICAgICAgICAgICBfLmVhY2godGhpcy5saXN0ZW5UbywgKHN0b3JlKSA9PiB7XG4gICAgICAgICAgICAgICAgc3RvcmUuYWRkQ2hhbmdlTGlzdGVuZXIodGhpcy5vbkNoYW5nZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuVG8uYWRkQ2hhbmdlTGlzdGVuZXIodGhpcy5vbkNoYW5nZSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50ICgpIHtcbiAgICAgICAgaWYoIXRoaXMubGlzdGVuVG8pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKF8uaXNBcnJheSh0aGlzLmxpc3RlblRvKSkge1xuICAgICAgICAgICAgXy5lYWNoKHRoaXMubGlzdGVuVG8sIChzdG9yZSkgPT4ge1xuICAgICAgICAgICAgICAgIHN0b3JlLnJlbW92ZUNoYW5nZUxpc3RlbmVyKHRoaXMub25DaGFuZ2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RlblRvLnJlbW92ZUNoYW5nZUxpc3RlbmVyKHRoaXMub25DaGFuZ2UpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBvbkNoYW5nZSAoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUodGhpcy5nZXRTdGF0ZSgpKTtcbiAgICB9XG59O1xuXG5leHBvcnQgeyBjcmVhdGVTdG9yZSBhcyBDYXBhY2l0b3IsIHN0b3JlSGFuZGxlck1peGluIGFzIE1peGluIH07XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
exports.Capacitor = createCapacitor;
exports.Mixin = capacitorMixin;
//# sourceMappingURL=data:application/json;base64,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QUNILGdCQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNyRDtLQUNKO0FBQ0QsWUFBUSxFQUFDLG9CQUFHO0FBQ1IsWUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztLQUNsQztDQUNKLENBQUM7O1FBRTBCLFNBQVMsR0FBNUIsZUFBZTtRQUFpQyxLQUFLLEdBQXZCLGNBQWMiLCJmaWxlIjoiY2FwYWNpdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRGVwZW5kZW5jaWVzXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IGFzc2lnbiBmcm9tICdvYmplY3QtYXNzaWduJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuXG4vLyBDbGFzcyBWYXJpYWJsZXNcbmNvbnN0IENIQU5HRV9FVkVOVCA9ICdjaGFuZ2UnO1xuXG5cblxuLypcbiAqIEZsdXggQ2FwYWNpdG9yc1xuICogLy8gdG9kbzogd3JpdGUgdXNlZnVsIGNvbW1lbnRzXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUNhcGFjaXRvciAob3B0aW9ucywgRGlzcGF0Y2hlcikge1xuICAgIC8vIHZhbGlkYXRpb25cbiAgICBpZiAoIURpc3BhdGNoZXIpIHRocm93IG5ldyBFcnJvcignWW91IG11c3QgcHJvdmlkZSBhIEZsdXggRGlzcGF0Y2hlciB0byByZWdpc3RlciB0aGlzIHN0b3JlIHdpdGguJyk7XG4gICAgaWYgKCFfLmhhcyhvcHRpb25zLCAnYWN0aW9uSGFuZGxlcnMnKSkgdGhyb3cgbmV3IEVycm9yKCdZb3VyIHN0b3JlIG11c3QgcHJvdmlkZSBhbiBgYWN0aW9uSGFuZGxlcnNgIHByb3BlcnR5IG1hcHBpbmcgaGFuZGxlcnMgdG8gZmx1eCBgYWN0aW9uLnR5cGVgIGNvbnN0YW50cycpO1xuXG4gICAgLy9cbiAgICB2YXIgZW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoMCk7XG5cbiAgICAvL1xuICAgIHZhciBldmVudE1ldGhvZHMgPSB7XG4gICAgICAgICAgICBlbWl0Q2hhbmdlICgpIHtcbiAgICAgICAgICAgICAgICBlbWl0dGVyLmVtaXQoQ0hBTkdFX0VWRU5UKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhZGRDaGFuZ2VMaXN0ZW5lciAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBlbWl0dGVyLm9uKENIQU5HRV9FVkVOVCwgY2FsbGJhY2spO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlbW92ZUNoYW5nZUxpc3RlbmVyIChjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGVtaXR0ZXIucmVtb3ZlTGlzdGVuZXIoQ0hBTkdFX0VWRU5ULCBjYWxsYmFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAvL1xuICAgIHZhciB7IGFjdGlvbkhhbmRsZXJzLCAuLi5zdG9yZU9wdGlvbnMgfSA9IG9wdGlvbnM7XG4gICAgdmFyIHN0b3JlID0gYXNzaWduKHt9LCBzdG9yZU9wdGlvbnMsIGV2ZW50TWV0aG9kcyk7XG5cbiAgICBzdG9yZS5kaXNwYXRjaFRva2VuID0gRGlzcGF0Y2hlci5yZWdpc3RlcihmdW5jdGlvbiAoYWN0aW9uKSB7XG4gICAgICAgIGlmIChfLmhhcyhhY3Rpb25IYW5kbGVycywgYWN0aW9uLnR5cGUpKSB7XG4gICAgICAgICAgICBsZXQgYWN0aW9uSGFuZGxlciA9IGFjdGlvbkhhbmRsZXJzW2FjdGlvbi50eXBlXTtcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZXIuY2FsbChzdG9yZSwgYWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN0b3JlO1xufVxuXG4vKlxuICogRmx1eCBDYXBhY2l0b3JzIE1peGluXG4gKiAvLyB0b2RvOiB3cml0ZSB1c2VmdWwgY29tbWVudHNcbiAqL1xudmFyIGNhcGFjaXRvck1peGluID0ge1xuICAgIGdldEluaXRpYWxTdGF0ZSAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlKCk7XG4gICAgfSxcbiAgICBjb21wb25lbnREaWRNb3VudCAoKSB7XG4gICAgICAgIGlmKCF0aGlzLmxpc3RlblRvKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYoXy5pc0FycmF5KHRoaXMubGlzdGVuVG8pKSB7XG4gICAgICAgICAgICBfLmVhY2godGhpcy5saXN0ZW5UbywgKHN0b3JlKSA9PiB7XG4gICAgICAgICAgICAgICAgc3RvcmUuYWRkQ2hhbmdlTGlzdGVuZXIodGhpcy5vbkNoYW5nZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuVG8uYWRkQ2hhbmdlTGlzdGVuZXIodGhpcy5vbkNoYW5nZSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50ICgpIHtcbiAgICAgICAgaWYoIXRoaXMubGlzdGVuVG8pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKF8uaXNBcnJheSh0aGlzLmxpc3RlblRvKSkge1xuICAgICAgICAgICAgXy5lYWNoKHRoaXMubGlzdGVuVG8sIChzdG9yZSkgPT4ge1xuICAgICAgICAgICAgICAgIHN0b3JlLnJlbW92ZUNoYW5nZUxpc3RlbmVyKHRoaXMub25DaGFuZ2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RlblRvLnJlbW92ZUNoYW5nZUxpc3RlbmVyKHRoaXMub25DaGFuZ2UpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBvbkNoYW5nZSAoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUodGhpcy5nZXRTdGF0ZSgpKTtcbiAgICB9XG59O1xuXG5leHBvcnQgeyBjcmVhdGVDYXBhY2l0b3IgYXMgQ2FwYWNpdG9yLCBjYXBhY2l0b3JNaXhpbiBhcyBNaXhpbiB9O1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9

@@ -14,5 +14,5 @@ // Dependencies

.pipe(sourcemaps.init())
.pipe(babel())
.pipe(babel({ stage: 1 }))
.pipe(sourcemaps.write())
.pipe(gulp.dest('dist'));
});
{
"name": "flux-utils",
"version": "1.0.1",
"version": "1.0.2-stop",
"description": "Simple Flux stores utilities.",

@@ -28,3 +28,3 @@ "main": "dist/capacitor.js",

"gulp": "3.8.11",
"gulp-babel": "4.0.0",
"gulp-babel": "5.1.0",
"gulp-sourcemaps": "1.5.1",

@@ -31,0 +31,0 @@ "mocha": "2.2.1"

@@ -1,24 +0,4 @@

# Flux Capacitor
# Flux Utils
![Maintenance](https://img.shields.io/maintenance/no/2016.svg?maxAge=2592000)
Pardon the dust, hacking away at this to make it OSS / Release worthy. Intended use: a util library to facilitate in creating Flux Stores with ease. (More info to come)
**Early adopters**, careful with breaking changes as the versions rev quickly in early stages.
## TODO
- expose `store.dispatchToken` for use with `#waitFor()`
- write more tests
- remove `.beep()` that's just silly
- finish this readme, include some examples for usage
- some other things I'm probably not thinking of
- oh, a changelog
## Quick Start
`npm install flux-capacitors`
```js
import Capacitor from 'flux-capacitors'
let MyStore = Capacitor({...});
```
Heya, we hacked this together before lots of the Flux stuff took off. It was simple, and worked, and it was great for a time. I didn't end up sticking with Flux - although we still have an app or two that uses it they don't really need much innovation in this space.

@@ -13,4 +13,7 @@ // Dependencies

// Create Stores Module
function createStore (options, Dispatcher) {
/*
* Flux Capacitors
* // todo: write useful comments
*/
function createCapacitor (options, Dispatcher) {
// validation

@@ -36,11 +39,11 @@ if (!Dispatcher) throw new Error('You must provide a Flux Dispatcher to register this store with.');

};
eventMethods.beep = eventMethods.emitChange; // beep boop
//
var store = assign({}, options, eventMethods);
var { actionHandlers, ...storeOptions } = options;
var store = assign({}, storeOptions, eventMethods);
store.dispatchToken = Dispatcher.register(function (action) {
if (_.has(store.actionHandlers, action.type)) {
let actionHandler = store.actionHandlers[action.type];
actionHandler(action);
if (_.has(actionHandlers, action.type)) {
let actionHandler = actionHandlers[action.type];
actionHandler.call(store, action);
}

@@ -50,6 +53,9 @@ });

return store;
};
}
// Component mixin for wiring to Capacitor stores
var storeHandlerMixin = {
/*
* Flux Capacitors Mixin
* // todo: write useful comments
*/
var capacitorMixin = {
getInitialState () {

@@ -88,2 +94,2 @@ return this.getState();

export { createStore as Capacitor, storeHandlerMixin as Mixin };
export { createCapacitor as Capacitor, capacitorMixin as Mixin };

@@ -25,6 +25,6 @@ // Test Dependencies

// Tests
describe('Using Capacitor', function () {
describe('Creating Stores', function () {
it('should expose #createStore by default', function () {
expect(Capacitor.name).to.equal('createStore');
describe('Flux Utils', function () {
describe('Creating Capacitor Stores', function () {
it('should expose #createCapacitor by default', function () {
expect(Capacitor.name).to.equal('createCapacitor');
});

@@ -42,9 +42,35 @@

describe('Using created stores', function () {
it('should expose a .dispatchToken for use with Dispatcher#waitFor()');
it('should expose emitChange()');
it('should expose addChangeListener()');
it('should expose removeChangeListener()');
var store = goodCapacitor();
it('should expose a store.dispatchToken for use with Dispatcher#waitFor()', function () {
expect(store).to.have.property('dispatchToken');
expect(store.dispatchToken).to.be.ok;
});
it('should expose store#emitChange()', function () {
expect(store).to.have.property('emitChange');
expect(store.emitChange).to.be.a('function');
});
it('should expose store#addChangeListener()', function () {
expect(store).to.have.property('addChangeListener');
expect(store.addChangeListener).to.be.a('function');
});
it('should expose store#removeChangeListener()', function () {
expect(store).to.have.property('removeChangeListener');
expect(store.removeChangeListener).to.be.a('function');
});
it('should not expose store.actionHandlers', function () {
expect(store).to.not.have.property('actionHandlers');
});
it('should invoke appropriate actionHandler for registered action.type');
it('emitChange() should invoke provided callbacks');
it('emitChange() should invoke provided change callbacks');
});
describe('Using Capacitor Mixin', function () {
it('should have more tests stubbed out than this');
});
});

@@ -61,2 +87,3 @@

var store = Capacitor(basicStore, basicDispatcher);
return store;
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc