isomorfeus-preact 10.7.1 → 10.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/lucid_prop_declaration/mixin.rb +3 -3
- data/lib/preact/version.rb +1 -1
- data/node_modules/.package-lock.json +6 -6
- data/node_modules/preact/README.md +39 -38
- data/node_modules/preact/compat/dist/compat.js +1 -1
- data/node_modules/preact/compat/dist/compat.js.map +1 -1
- data/node_modules/preact/compat/dist/compat.mjs +1 -1
- data/node_modules/preact/compat/dist/compat.module.js +1 -1
- data/node_modules/preact/compat/dist/compat.module.js.map +1 -1
- data/node_modules/preact/compat/dist/compat.umd.js +1 -1
- data/node_modules/preact/compat/dist/compat.umd.js.map +1 -1
- data/node_modules/preact/compat/src/index.d.ts +15 -1
- data/node_modules/preact/compat/src/portals.js +3 -1
- data/node_modules/preact/devtools/dist/devtools.js +1 -1
- data/node_modules/preact/devtools/dist/devtools.js.map +1 -1
- data/node_modules/preact/devtools/dist/devtools.mjs +1 -1
- data/node_modules/preact/devtools/dist/devtools.module.js +1 -1
- data/node_modules/preact/devtools/dist/devtools.module.js.map +1 -1
- data/node_modules/preact/devtools/dist/devtools.umd.js +1 -1
- data/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -1
- data/node_modules/preact/devtools/src/devtools.js +1 -1
- data/node_modules/preact/package.json +7 -1
- data/node_modules/preact/src/index.d.ts +3 -0
- data/node_modules/preact/src/jsx.d.ts +6 -1
- data/node_modules/preact/test-utils/dist/testUtils.js +1 -1
- data/node_modules/preact/test-utils/dist/testUtils.js.map +1 -1
- data/node_modules/preact/test-utils/dist/testUtils.mjs +1 -1
- data/node_modules/preact/test-utils/dist/testUtils.module.js +1 -1
- data/node_modules/preact/test-utils/dist/testUtils.module.js.map +1 -1
- data/node_modules/preact/test-utils/dist/testUtils.umd.js +1 -1
- data/node_modules/preact/test-utils/dist/testUtils.umd.js.map +1 -1
- data/node_modules/preact/test-utils/src/index.js +2 -1
- data/node_modules/preact-render-to-string/dist/commonjs.js +1 -1
- data/node_modules/preact-render-to-string/dist/commonjs.js.map +1 -1
- data/node_modules/preact-render-to-string/dist/index.js.map +1 -1
- data/node_modules/preact-render-to-string/dist/index.mjs +1 -1
- data/node_modules/preact-render-to-string/dist/index.module.js +1 -1
- data/node_modules/preact-render-to-string/dist/index.module.js.map +1 -1
- data/node_modules/preact-render-to-string/dist/jsx-entry.js +1 -1
- data/node_modules/preact-render-to-string/dist/jsx-entry.js.map +1 -1
- data/node_modules/preact-render-to-string/dist/jsx.js.map +1 -1
- data/node_modules/preact-render-to-string/dist/jsx.mjs +1 -1
- data/node_modules/preact-render-to-string/dist/jsx.modern.js +1 -1
- data/node_modules/preact-render-to-string/dist/jsx.modern.js.map +1 -1
- data/node_modules/preact-render-to-string/dist/jsx.module.js +1 -1
- data/node_modules/preact-render-to-string/dist/jsx.module.js.map +1 -1
- data/node_modules/preact-render-to-string/package.json +1 -1
- data/node_modules/preact-render-to-string/src/index.js +23 -6
- data/package.json +2 -2
- metadata +2 -2
@@ -19,7 +19,9 @@ const VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|sou
|
|
19
19
|
|
20
20
|
const UNSAFE_NAME = /[\s\n\\/='"\0<>]/;
|
21
21
|
|
22
|
-
|
22
|
+
function markAsDirty() {
|
23
|
+
this.__d = true;
|
24
|
+
}
|
23
25
|
|
24
26
|
/** Render Preact JSX + Components to an HTML string.
|
25
27
|
* @name render
|
@@ -124,8 +126,9 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
|
|
124
126
|
context,
|
125
127
|
props: vnode.props,
|
126
128
|
// silently drop state updates
|
127
|
-
setState:
|
128
|
-
forceUpdate:
|
129
|
+
setState: markAsDirty,
|
130
|
+
forceUpdate: markAsDirty,
|
131
|
+
__d: true,
|
129
132
|
// hooks
|
130
133
|
__h: []
|
131
134
|
});
|
@@ -134,7 +137,7 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
|
|
134
137
|
if (options.__b) options.__b(vnode);
|
135
138
|
|
136
139
|
// options._render
|
137
|
-
|
140
|
+
let renderHook = options.__r;
|
138
141
|
|
139
142
|
if (
|
140
143
|
!nodeName.prototype ||
|
@@ -151,8 +154,20 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
|
|
151
154
|
: cxType.__
|
152
155
|
: context;
|
153
156
|
|
154
|
-
//
|
155
|
-
|
157
|
+
// If a hook invokes setState() to invalidate the component during rendering,
|
158
|
+
// re-render it up to 25 times to allow "settling" of memoized states.
|
159
|
+
// Note:
|
160
|
+
// This will need to be updated for Preact 11 to use internal.flags rather than component._dirty:
|
161
|
+
// https://github.com/preactjs/preact/blob/d4ca6fdb19bc715e49fd144e69f7296b2f4daa40/src/diff/component.js#L35-L44
|
162
|
+
let count = 0;
|
163
|
+
while (c.__d && count++ < 25) {
|
164
|
+
c.__d = false;
|
165
|
+
|
166
|
+
if (renderHook) renderHook(vnode);
|
167
|
+
|
168
|
+
// stateless functional components
|
169
|
+
rendered = nodeName.call(vnode.__c, props, cctx);
|
170
|
+
}
|
156
171
|
} else {
|
157
172
|
// class-based components
|
158
173
|
let cxType = nodeName.contextType;
|
@@ -195,6 +210,8 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
|
|
195
210
|
: c.state;
|
196
211
|
}
|
197
212
|
|
213
|
+
if (renderHook) renderHook(vnode);
|
214
|
+
|
198
215
|
rendered = c.render(c.props, c.state, c.context);
|
199
216
|
}
|
200
217
|
|
data/package.json
CHANGED
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.7.
|
4
|
+
version: 10.7.2
|
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-
|
11
|
+
date: 2022-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|