thunderous 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -670,8 +670,9 @@ var customElement = (render, options) => {
670
670
  get: (_, prop) => {
671
671
  if (!(prop in this.#propSignals)) this.#propSignals[prop] = createSignal();
672
672
  const [_getter, _setter] = this.#propSignals[prop];
673
+ let setFromProp = false;
673
674
  const setter = (newValue) => {
674
- this[prop] = newValue;
675
+ if (!setFromProp) this[prop] = newValue;
675
676
  _setter(newValue);
676
677
  };
677
678
  const getter = () => {
@@ -688,6 +689,14 @@ You must set an initial value before calling a property signal's getter.
688
689
  return value;
689
690
  };
690
691
  getter.getter = true;
692
+ Object.defineProperty(this, prop, {
693
+ get: getter,
694
+ set: (newValue) => {
695
+ setFromProp = true;
696
+ _setter(newValue);
697
+ setFromProp = false;
698
+ }
699
+ });
691
700
  return [getter, setter];
692
701
  },
693
702
  set: () => {
package/dist/index.js CHANGED
@@ -635,8 +635,9 @@ var customElement = (render, options) => {
635
635
  get: (_, prop) => {
636
636
  if (!(prop in this.#propSignals)) this.#propSignals[prop] = createSignal();
637
637
  const [_getter, _setter] = this.#propSignals[prop];
638
+ let setFromProp = false;
638
639
  const setter = (newValue) => {
639
- this[prop] = newValue;
640
+ if (!setFromProp) this[prop] = newValue;
640
641
  _setter(newValue);
641
642
  };
642
643
  const getter = () => {
@@ -653,6 +654,14 @@ You must set an initial value before calling a property signal's getter.
653
654
  return value;
654
655
  };
655
656
  getter.getter = true;
657
+ Object.defineProperty(this, prop, {
658
+ get: getter,
659
+ set: (newValue) => {
660
+ setFromProp = true;
661
+ _setter(newValue);
662
+ setFromProp = false;
663
+ }
664
+ });
656
665
  return [getter, setter];
657
666
  },
658
667
  set: () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thunderous",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",