props.js 853 B

1234567891011121314151617181920212223242526272829
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. function observeProps(props) {
  4. if (!props) {
  5. return;
  6. }
  7. Object.keys(props).forEach(function (key) {
  8. var prop = props[key];
  9. if (prop === null || !('type' in prop)) {
  10. prop = { type: prop };
  11. }
  12. var observer = prop.observer;
  13. prop.observer = function () {
  14. var args = [];
  15. for (var _i = 0; _i < arguments.length; _i++) {
  16. args[_i] = arguments[_i];
  17. }
  18. if (observer) {
  19. if (typeof observer === 'string') {
  20. observer = this[observer];
  21. }
  22. observer.apply(this, args);
  23. }
  24. this.set();
  25. };
  26. props[key] = prop;
  27. });
  28. }
  29. exports.observeProps = observeProps;