isomorfeus-preact 10.6.56 → 10.6.57

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1c2fb916224b97957f33bf1aa165deb9ea0a93ec5b86d7f7bf180463d9a9f28
4
- data.tar.gz: f671cf14a06f9c0a33d43a57b3af4a361c414862e88d050b0d5a289489cbb48b
3
+ metadata.gz: c5031b455f87fd1d741f943fe39a1f839980f46751fc9b895c722f343a3800e1
4
+ data.tar.gz: 0dcfb17fa803756400b1c745d15c993cfa2a4661df4c2e5247a25f6d3392df85
5
5
  SHA512:
6
- metadata.gz: 9880247b4c0081e7ba9fd24ee7b8f2159e336b2547aae3358bb4613b6e8e01e52bb4a25958573d04eff0e6fcbfc1a7ef1a1d4dd56c2e768c041eea54bc4d8158
7
- data.tar.gz: 1853e6575b0c5d14e3a9b38f258c7a9c6710c72ffea62313b80c00adc146cbd7101c7070ce5f58b2df73b6e86a1e75ebc95a74bd49c3b11bdf0bc81be10c0f27
6
+ metadata.gz: 5afe1ad79cc07dab287a5b4ea66b7770a9073a6d7026b817b27bd017d06c305616fb8f82d0f7c71e1de7b42d55f79f76653de76c7fab1bfb00c5a533a1f72fea
7
+ data.tar.gz: fd00f32642afdc4737b9ae27cb5e586ad70b3421c2dfd11219551394ec6c54be97a44d82a3b2c0163622e941180afb593c9e3d95f10b0aef25ab60a56e680c35
@@ -120,7 +120,15 @@ module Preact::FunctionComponent::Api
120
120
  %x{
121
121
  if (#{self}.method_refs?.[#{method_key}]) { return #{self}.method_refs[#{method_key}]; }
122
122
  if (!#{self}.method_refs) { #{self}.method_refs = {}; }
123
- #{self}.method_refs[#{method_key}] = { m: #{method(method_symbol)}, a: args };
123
+ #{self}.method_refs[#{method_key}] = { m: null, a: args };
124
+ let r = #{self}.method_refs[#{method_key}];
125
+ let dev = #{Isomorfeus.development?};
126
+ r.preact_event_handler_function = function(event, info) {
127
+ let ruby_event = Opal.Preact.native_to_ruby_event(event);
128
+ if (!r.m || dev) { r.m = #{method(method_symbol)} };
129
+ if (r.a.length > 0) { r.m.$call.apply(r.m, [ruby_event, info].concat(r.a)); }
130
+ else { r.m.$call(ruby_event, info); }
131
+ };
124
132
  return #{self}.method_refs[#{method_key}];
125
133
  }
126
134
  end
@@ -100,7 +100,15 @@ module Preact::Component::Api
100
100
  %x{
101
101
  if (#@native.method_refs?.[#{method_key}]) { return #@native.method_refs[#{method_key}]; }
102
102
  if (!#@native.method_refs) { #@native.method_refs = {}; }
103
- #@native.method_refs[#{method_key}] = { m: #{method(method_symbol)}, a: args };
103
+ #@native.method_refs[#{method_key}] = { m: null, a: args };
104
+ let r = #@native.method_refs[#{method_key}];
105
+ let dev = #{Isomorfeus.development?};
106
+ r.preact_event_handler_function = function(event, info) {
107
+ let ruby_event = Opal.Preact.native_to_ruby_event(event);
108
+ if (!r.m || dev) { r.m = #{method(method_symbol)} };
109
+ if (r.a.length > 0) { r.m.$call.apply(r.m, [ruby_event, info].concat(r.a)); }
110
+ else { r.m.$call(ruby_event, info); }
111
+ };
104
112
  return #@native.method_refs[#{method_key}];
105
113
  }
106
114
  end
@@ -1,3 +1,3 @@
1
1
  module Preact
2
- VERSION = '10.6.56'
2
+ VERSION = '10.6.57'
3
3
  end
data/lib/preact.rb CHANGED
@@ -130,14 +130,7 @@ module Preact
130
130
  let ruby_event = self.native_to_ruby_event(event);
131
131
  #{`active_c.__ruby_instance`.instance_exec(`ruby_event`, `info`, &`value`)};
132
132
  }
133
- } else if (type === "object" && typeof value.m === "object" && typeof value.m.$call === "function" ) {
134
- if (!value.preact_event_handler_function) {
135
- value.preact_event_handler_function = function(event, info) {
136
- let ruby_event = self.native_to_ruby_event(event);
137
- if (value.a.length > 0) { value.m.$call.apply(value.m, [ruby_event, info].concat(value.a)); }
138
- else { value.m.$call(ruby_event, info); }
139
- };
140
- }
133
+ } else if (typeof value.preact_event_handler_function === "function") {
141
134
  result[self.lower_camelize(key)] = value.preact_event_handler_function;
142
135
  } else if (type === "string" ) {
143
136
  let active_component = self.active_component();
@@ -154,12 +147,6 @@ module Preact
154
147
  else { method_ref = active_component.__ruby_instance.$method_ref(value); } // create ref for native
155
148
  }
156
149
  if (method_ref) {
157
- if (!method_ref.preact_event_handler_function) {
158
- method_ref.preact_event_handler_function = function(event, info) {
159
- let ruby_event = self.native_to_ruby_event(event);
160
- method_ref.m.$call(ruby_event, info)
161
- };
162
- }
163
150
  result[self.lower_camelize(key)] = method_ref.preact_event_handler_function;
164
151
  } else {
165
152
  let component_name;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-preact
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.6.56
4
+ version: 10.6.57
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-26 00:00:00.000000000 Z
11
+ date: 2022-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby