How to use the change-emitter.createChangeEmitter function in change-emitter

To help you get started, we’ve selected a few change-emitter examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github DefinitelyTyped / DefinitelyTyped / change-emitter / change-emitter-tests.ts View on Github external
function usage() {
    // https://github.com/acdlite/change-emitter#usage

    const emitter = createChangeEmitter()

    // Called `listen` instead of `subscribe` to avoid confusion with observable spec
    const unlisten = emitter.listen((...args) => {
        console.log(args)
    })

    emitter.emit(1, 2, 3) // logs `[1, 2, 3]`
    unlisten()
    emitter.emit(4, 5, 6) // doesn't log
}
github DefinitelyTyped / DefinitelyTyped / change-emitter / change-emitter-tests.ts View on Github external
function untypedEmitter() {
    const { emit, listen } = createChangeEmitter();

    const unlisten0 = listen(() => {/* do something */});
    const unlisten1 = listen(value => {/* do something with value */});
    const unlisten2 = listen((value1, value2) => {/* do something with values */});
    const unlistenArgs = listen((...args: any[]) => {/* do something with values */});

    emit();
    emit("hello");
    emit("hello", "world");
    emit(1, 2, 3, 4, 5);

    unlisten0();
    unlisten1();
    unlisten2();
    unlistenArgs();
}
github DefinitelyTyped / DefinitelyTyped / change-emitter / change-emitter-tests.ts View on Github external
function emitterOf0Args() {
    const { emit, listen }: ChangeEmitterOf0 = createChangeEmitter();

    const unlisten = listen(() => { });
    // const unlisten = listen(value => {}); // SYNTAX ERROR

    emit();
    // emit("hello"); // SYNTAX ERROR

    unlisten();
}
github RaySaii / dive / src / componentFromStream.js View on Github external
constructor() {
      super()
      this.driversSubscription = []
      this.myId = myId
      this.state$ = state$
      this.update = update
      this.updateGlobal = updateGlobal
      this.state = { vdom: null }
      this.eventMap = {}
      this.active = true
      this.curState = {}

      this.propsEmitter = createChangeEmitter()


      this.props$ = Observable.create(observer => {
        this.propsEmitter.listen(props => {
          if (props) {
            observer.next(props)
          } else {
            observer.complete()
          }
        })
      })

      // 没有lens的组件,不与global连接,自己维护状态
      if (type == 'empty-lens') {
        this.myId = uniqueId('dive-isolate')
        this.state$ = new BehaviorSubject(_ => initState).pipe(
github sw-yx / reactive-react / build / reactive-react.es.js View on Github external
var childInstance = renderWithStream(childElement, instance && instance.childInstance, state, stateMap);
      var _dom = childInstance.dom;
      newInstance = { dom: _dom, element: element, childInstance: childInstance, publicInstance: publicInstance };
    }
    return newInstance;
  };
}

function formatProps(k) {
  if (k.startsWith('on')) return k.toLowerCase();
  return k;
}

var stateMapPointer = new Map();

var emitter = createChangeEmitter();
// single UI thread; this is the observable that sticks around and swaps out source
var UIthread = new Observable(function (observer) {
  emitter.listen(function (x) {
    // debugger // success! thread switching!
    observer.next(x);
  });
});
// mount the vdom on to the dom and 
// set up the runtime from sources and
// patch the vdom
// ---
// returns an unsubscribe method you can use to unmount
function mount(rootElement, container) {
  // initial, throwaway-ish frame
  var _renderStream = renderStream(rootElement, {}, undefined, stateMapPointer),
      source = _renderStream.source,
github DefinitelyTyped / DefinitelyTyped / change-emitter / change-emitter-tests.ts View on Github external
const createStore = (reducer: Function, initialState: any) => {
        let state = initialState
        const emitter = createChangeEmitter()

        function dispatch(action: any) {
            state = reducer(state, action)
            emitter.emit()
            return action
        }

        function getState() {
            return state
        }

        return {
            dispatch,
            getState,
            subscribe: emitter.listen
        }
github DefinitelyTyped / DefinitelyTyped / change-emitter / change-emitter-tests.ts View on Github external
function emitterOf2Args() {
    const { emit, listen } = createChangeEmitter();

    const unlisten = listen((value, success) => { value.length > 0 === success });

    emit("hello", true);

    unlisten();
}
github DefinitelyTyped / DefinitelyTyped / change-emitter / change-emitter-tests.ts View on Github external
function emitterOf1Args() {
    const { emit, listen } = createChangeEmitter();

    const unlisten = listen(value => { value.length });

    emit("hello");

    unlisten();
}
github sw-yx / reactive-react / reactive-react / element.js View on Github external
export function createHandler(_fn) {
  const emitter = createChangeEmitter()
  let handler = x => {
    emitter.emit(x)
  }
  handler.$ = new Observable(observer => {
    return emitter.listen(value => {
      observer.next(_fn ? _fn(value) : value)
    }
    )
  })
  return handler
}
github onmyway133 / PushNotifications / node_modules / recompose / es / Recompose.js View on Github external
function ComponentFromStream() {
        var _config$fromESObserva;

        var _temp, _this, _ret;

        classCallCheck(this, ComponentFromStream);

        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        return _ret = (_temp = (_this = possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.state = { vdom: null }, _this.propsEmitter = createChangeEmitter(), _this.props$ = config$$1.fromESObservable((_config$fromESObserva = {
          subscribe: function subscribe(observer) {
            var unsubscribe = _this.propsEmitter.listen(function (props) {
              if (props) {
                observer.next(props);
              } else {
                observer.complete();
              }
            });
            return { unsubscribe: unsubscribe };
          }
        }, _config$fromESObserva[$$observable] = function () {
          return this;
        }, _config$fromESObserva)), _this.vdom$ = config$$1.toESObservable(propsToVdom(_this.props$)), _temp), possibleConstructorReturn(_this, _ret);
      }

change-emitter

Listen for changes. Like an event emitter that only emits a single event type. Really tiny.

MIT
Latest version published 8 years ago

Package Health Score

68 / 100
Full package analysis

Popular change-emitter functions