Что делает Symbol Observable в классе? - PullRequest
2 голосов
/ 14 марта 2019

Я использую библиотеку, импорт класса из SymbolObservable

import SymbolObservable from 'symbol-observable';
class Spring {
      [SymbolObservable] = () => {
        return {
          subscribe: observer => {
            function notify(spring) {
              observer.next(spring.getCurrentValue());
            }

            const listener = {
              onSpringActivate: notify,
              onSpringUpdate: notify,
              onSpringAtRest: notify,
            };
            this.addListener(listener);

            return () => this.removeListener(listener);
          },
          [SymbolObservable]() {
            return this;
          },
        };
      };
}

Что именно здесь происходит? В документации много не сказано. Я не вижу никаких subsrcribe нигде в библиотеке. Что делает [SymbolObservable] = () => {} в классе? Что это делает

  [SymbolObservable]() {
        return this;
   },

Ссылка на библиотеку

...