isomorfeus-preact 10.6.56 → 10.6.57

Sign up to get free protection for your applications and to get access to all the features.
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