isomorfeus-preact 10.9.0 → 22.9.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (266) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +14 -3
  3. data/README.md +23 -39
  4. data/lib/browser/delegate_native.rb +94 -72
  5. data/lib/browser/document.rb +38 -0
  6. data/lib/browser/element.rb +160 -176
  7. data/lib/browser/event.rb +99 -94
  8. data/lib/browser/history.rb +40 -20
  9. data/lib/browser/location.rb +59 -0
  10. data/lib/browser/window.rb +58 -0
  11. data/lib/data_uri/open_uri.rb +18 -0
  12. data/lib/data_uri/uri.rb +61 -0
  13. data/lib/data_uri.rb +4 -0
  14. data/lib/isomorfeus/preact/config.rb +42 -54
  15. data/lib/isomorfeus/preact/imports.rb +5 -20
  16. data/lib/isomorfeus/preact/ssr.rb +34 -0
  17. data/lib/isomorfeus/preact/thread_local_component_cache.rb +9 -11
  18. data/lib/isomorfeus/preact/version.rb +5 -0
  19. data/lib/isomorfeus/preact/view_helper.rb +72 -0
  20. data/lib/isomorfeus/props/validator.rb +19 -11
  21. data/lib/isomorfeus/top_level.rb +55 -33
  22. data/lib/isomorfeus-preact.rb +78 -103
  23. data/lib/link.rb +52 -0
  24. data/lib/lucid_app.rb +117 -0
  25. data/lib/lucid_component.rb +154 -0
  26. data/lib/nano_css.rb +282 -465
  27. data/lib/preact/component.rb +222 -0
  28. data/lib/preact/component_resolution.rb +49 -83
  29. data/lib/preact/context.rb +68 -0
  30. data/lib/preact/elements.rb +2 -9
  31. data/lib/preact/module_component_resolution.rb +50 -0
  32. data/lib/preact/prop_declaration_mixin.rb +73 -0
  33. data/lib/preact.rb +1548 -257
  34. data/lib/redirect.rb +34 -0
  35. data/lib/route.rb +15 -0
  36. data/lib/router.rb +145 -0
  37. data/lib/switch.rb +70 -0
  38. data/opal/iso_uri.rb +29 -0
  39. data/opal/uri/common.rb +18 -0
  40. data/opal/uri/generic.rb +47 -0
  41. metadata +45 -309
  42. data/lib/isomorfeus/preact/memcached_component_cache.rb +0 -19
  43. data/lib/isomorfeus/preact/redis_component_cache.rb +0 -19
  44. data/lib/isomorfeus/preact/ssr/history.rb +0 -23
  45. data/lib/isomorfeus/preact/ssr/render_core.rb +0 -117
  46. data/lib/isomorfeus/preact/ssr/top_level.rb +0 -37
  47. data/lib/isomorfeus/preact_view_helper.rb +0 -129
  48. data/lib/isomorfeus_preact/lucid_app/api.rb +0 -38
  49. data/lib/isomorfeus_preact/lucid_app/base.rb +0 -7
  50. data/lib/isomorfeus_preact/lucid_app/mixin.rb +0 -14
  51. data/lib/isomorfeus_preact/lucid_app/native_component_constructor.rb +0 -101
  52. data/lib/isomorfeus_preact/lucid_component/api.rb +0 -123
  53. data/lib/isomorfeus_preact/lucid_component/app_store_proxy.rb +0 -32
  54. data/lib/isomorfeus_preact/lucid_component/base.rb +0 -7
  55. data/lib/isomorfeus_preact/lucid_component/class_store_proxy.rb +0 -37
  56. data/lib/isomorfeus_preact/lucid_component/initializer.rb +0 -9
  57. data/lib/isomorfeus_preact/lucid_component/mixin.rb +0 -13
  58. data/lib/isomorfeus_preact/lucid_component/native_component_constructor.rb +0 -87
  59. data/lib/isomorfeus_preact/lucid_component/styles_wrapper.rb +0 -40
  60. data/lib/isomorfeus_preact/lucid_func/base.rb +0 -7
  61. data/lib/isomorfeus_preact/lucid_func/initializer.rb +0 -8
  62. data/lib/isomorfeus_preact/lucid_func/mixin.rb +0 -10
  63. data/lib/isomorfeus_preact/lucid_func/native_component_constructor.rb +0 -56
  64. data/lib/isomorfeus_preact/preact/function_component/api.rb +0 -164
  65. data/lib/isomorfeus_preact/preact/function_component/base.rb +0 -7
  66. data/lib/isomorfeus_preact/preact/function_component/initializer.rb +0 -6
  67. data/lib/isomorfeus_preact/preact/function_component/mixin.rb +0 -8
  68. data/lib/isomorfeus_preact/preact/function_component/native_component_constructor.rb +0 -47
  69. data/lib/lucid_app/context.rb +0 -24
  70. data/lib/lucid_prop_declaration/mixin.rb +0 -126
  71. data/lib/preact/component/api.rb +0 -137
  72. data/lib/preact/component/base.rb +0 -7
  73. data/lib/preact/component/callbacks.rb +0 -111
  74. data/lib/preact/component/initializer.rb +0 -7
  75. data/lib/preact/component/mixin.rb +0 -11
  76. data/lib/preact/component/native_component_constructor.rb +0 -77
  77. data/lib/preact/context_wrapper.rb +0 -48
  78. data/lib/preact/native_constant_wrapper.rb +0 -29
  79. data/lib/preact/option_hooks.rb +0 -98
  80. data/lib/preact/params.rb +0 -16
  81. data/lib/preact/props.rb +0 -69
  82. data/lib/preact/ref.rb +0 -17
  83. data/lib/preact/state.rb +0 -87
  84. data/lib/preact/version.rb +0 -3
  85. data/node_modules/.package-lock.json +0 -38
  86. data/node_modules/preact/LICENSE +0 -21
  87. data/node_modules/preact/README.md +0 -188
  88. data/node_modules/preact/compat/LICENSE +0 -21
  89. data/node_modules/preact/compat/client.js +0 -19
  90. data/node_modules/preact/compat/client.mjs +0 -17
  91. data/node_modules/preact/compat/dist/compat.js +0 -2
  92. data/node_modules/preact/compat/dist/compat.js.map +0 -1
  93. data/node_modules/preact/compat/dist/compat.mjs +0 -2
  94. data/node_modules/preact/compat/dist/compat.module.js +0 -2
  95. data/node_modules/preact/compat/dist/compat.module.js.map +0 -1
  96. data/node_modules/preact/compat/dist/compat.umd.js +0 -2
  97. data/node_modules/preact/compat/dist/compat.umd.js.map +0 -1
  98. data/node_modules/preact/compat/jsx-dev-runtime.js +0 -3
  99. data/node_modules/preact/compat/jsx-dev-runtime.mjs +0 -3
  100. data/node_modules/preact/compat/jsx-runtime.js +0 -3
  101. data/node_modules/preact/compat/jsx-runtime.mjs +0 -3
  102. data/node_modules/preact/compat/package.json +0 -49
  103. data/node_modules/preact/compat/scheduler.js +0 -15
  104. data/node_modules/preact/compat/scheduler.mjs +0 -23
  105. data/node_modules/preact/compat/server.browser.js +0 -4
  106. data/node_modules/preact/compat/server.js +0 -15
  107. data/node_modules/preact/compat/server.mjs +0 -4
  108. data/node_modules/preact/compat/src/Children.js +0 -21
  109. data/node_modules/preact/compat/src/PureComponent.js +0 -15
  110. data/node_modules/preact/compat/src/forwardRef.js +0 -44
  111. data/node_modules/preact/compat/src/index.d.ts +0 -164
  112. data/node_modules/preact/compat/src/index.js +0 -223
  113. data/node_modules/preact/compat/src/internal.d.ts +0 -47
  114. data/node_modules/preact/compat/src/memo.js +0 -34
  115. data/node_modules/preact/compat/src/portals.js +0 -82
  116. data/node_modules/preact/compat/src/render.js +0 -238
  117. data/node_modules/preact/compat/src/suspense-list.d.ts +0 -14
  118. data/node_modules/preact/compat/src/suspense-list.js +0 -126
  119. data/node_modules/preact/compat/src/suspense.d.ts +0 -15
  120. data/node_modules/preact/compat/src/suspense.js +0 -270
  121. data/node_modules/preact/compat/src/util.js +0 -28
  122. data/node_modules/preact/compat/test-utils.js +0 -1
  123. data/node_modules/preact/debug/LICENSE +0 -21
  124. data/node_modules/preact/debug/dist/debug.js +0 -2
  125. data/node_modules/preact/debug/dist/debug.js.map +0 -1
  126. data/node_modules/preact/debug/dist/debug.mjs +0 -2
  127. data/node_modules/preact/debug/dist/debug.module.js +0 -2
  128. data/node_modules/preact/debug/dist/debug.module.js.map +0 -1
  129. data/node_modules/preact/debug/dist/debug.umd.js +0 -2
  130. data/node_modules/preact/debug/dist/debug.umd.js.map +0 -1
  131. data/node_modules/preact/debug/package.json +0 -26
  132. data/node_modules/preact/debug/src/check-props.js +0 -54
  133. data/node_modules/preact/debug/src/component-stack.js +0 -146
  134. data/node_modules/preact/debug/src/constants.js +0 -3
  135. data/node_modules/preact/debug/src/debug.js +0 -437
  136. data/node_modules/preact/debug/src/index.js +0 -6
  137. data/node_modules/preact/debug/src/internal.d.ts +0 -82
  138. data/node_modules/preact/debug/src/util.js +0 -11
  139. data/node_modules/preact/devtools/LICENSE +0 -21
  140. data/node_modules/preact/devtools/dist/devtools.js +0 -2
  141. data/node_modules/preact/devtools/dist/devtools.js.map +0 -1
  142. data/node_modules/preact/devtools/dist/devtools.mjs +0 -2
  143. data/node_modules/preact/devtools/dist/devtools.module.js +0 -2
  144. data/node_modules/preact/devtools/dist/devtools.module.js.map +0 -1
  145. data/node_modules/preact/devtools/dist/devtools.umd.js +0 -2
  146. data/node_modules/preact/devtools/dist/devtools.umd.js.map +0 -1
  147. data/node_modules/preact/devtools/package.json +0 -25
  148. data/node_modules/preact/devtools/src/devtools.js +0 -10
  149. data/node_modules/preact/devtools/src/index.d.ts +0 -8
  150. data/node_modules/preact/devtools/src/index.js +0 -15
  151. data/node_modules/preact/dist/preact.js +0 -2
  152. data/node_modules/preact/dist/preact.js.map +0 -1
  153. data/node_modules/preact/dist/preact.min.js +0 -2
  154. data/node_modules/preact/dist/preact.min.js.map +0 -1
  155. data/node_modules/preact/dist/preact.mjs +0 -2
  156. data/node_modules/preact/dist/preact.module.js +0 -2
  157. data/node_modules/preact/dist/preact.module.js.map +0 -1
  158. data/node_modules/preact/dist/preact.umd.js +0 -2
  159. data/node_modules/preact/dist/preact.umd.js.map +0 -1
  160. data/node_modules/preact/hooks/LICENSE +0 -21
  161. data/node_modules/preact/hooks/dist/hooks.js +0 -2
  162. data/node_modules/preact/hooks/dist/hooks.js.map +0 -1
  163. data/node_modules/preact/hooks/dist/hooks.mjs +0 -2
  164. data/node_modules/preact/hooks/dist/hooks.module.js +0 -2
  165. data/node_modules/preact/hooks/dist/hooks.module.js.map +0 -1
  166. data/node_modules/preact/hooks/dist/hooks.umd.js +0 -2
  167. data/node_modules/preact/hooks/dist/hooks.umd.js.map +0 -1
  168. data/node_modules/preact/hooks/package.json +0 -35
  169. data/node_modules/preact/hooks/src/index.d.ts +0 -139
  170. data/node_modules/preact/hooks/src/index.js +0 -417
  171. data/node_modules/preact/hooks/src/internal.d.ts +0 -78
  172. data/node_modules/preact/jsx-runtime/LICENSE +0 -21
  173. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.js +0 -2
  174. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +0 -1
  175. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +0 -2
  176. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +0 -2
  177. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +0 -1
  178. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js +0 -2
  179. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +0 -1
  180. data/node_modules/preact/jsx-runtime/package.json +0 -28
  181. data/node_modules/preact/jsx-runtime/src/index.d.ts +0 -50
  182. data/node_modules/preact/jsx-runtime/src/index.js +0 -77
  183. data/node_modules/preact/package.json +0 -304
  184. data/node_modules/preact/src/cjs.js +0 -3
  185. data/node_modules/preact/src/clone-element.js +0 -34
  186. data/node_modules/preact/src/component.js +0 -225
  187. data/node_modules/preact/src/constants.js +0 -3
  188. data/node_modules/preact/src/create-context.js +0 -68
  189. data/node_modules/preact/src/create-element.js +0 -98
  190. data/node_modules/preact/src/diff/catch-error.js +0 -40
  191. data/node_modules/preact/src/diff/children.js +0 -335
  192. data/node_modules/preact/src/diff/index.js +0 -533
  193. data/node_modules/preact/src/diff/props.js +0 -158
  194. data/node_modules/preact/src/index.d.ts +0 -317
  195. data/node_modules/preact/src/index.js +0 -13
  196. data/node_modules/preact/src/internal.d.ts +0 -155
  197. data/node_modules/preact/src/jsx.d.ts +0 -1014
  198. data/node_modules/preact/src/options.js +0 -16
  199. data/node_modules/preact/src/render.js +0 -75
  200. data/node_modules/preact/src/util.js +0 -27
  201. data/node_modules/preact/test-utils/dist/testUtils.js +0 -2
  202. data/node_modules/preact/test-utils/dist/testUtils.js.map +0 -1
  203. data/node_modules/preact/test-utils/dist/testUtils.mjs +0 -2
  204. data/node_modules/preact/test-utils/dist/testUtils.module.js +0 -2
  205. data/node_modules/preact/test-utils/dist/testUtils.module.js.map +0 -1
  206. data/node_modules/preact/test-utils/dist/testUtils.umd.js +0 -2
  207. data/node_modules/preact/test-utils/dist/testUtils.umd.js.map +0 -1
  208. data/node_modules/preact/test-utils/package.json +0 -28
  209. data/node_modules/preact/test-utils/src/index.d.ts +0 -3
  210. data/node_modules/preact/test-utils/src/index.js +0 -118
  211. data/node_modules/preact-render-to-string/LICENSE +0 -21
  212. data/node_modules/preact-render-to-string/README.md +0 -102
  213. data/node_modules/preact-render-to-string/dist/commonjs.js +0 -2
  214. data/node_modules/preact-render-to-string/dist/commonjs.js.map +0 -1
  215. data/node_modules/preact-render-to-string/dist/index.d.ts +0 -16
  216. data/node_modules/preact-render-to-string/dist/index.js +0 -1
  217. data/node_modules/preact-render-to-string/dist/index.js.map +0 -1
  218. data/node_modules/preact-render-to-string/dist/index.mjs +0 -2
  219. data/node_modules/preact-render-to-string/dist/index.module.js +0 -2
  220. data/node_modules/preact-render-to-string/dist/index.module.js.map +0 -1
  221. data/node_modules/preact-render-to-string/dist/jsx-entry.js +0 -2
  222. data/node_modules/preact-render-to-string/dist/jsx-entry.js.map +0 -1
  223. data/node_modules/preact-render-to-string/dist/jsx.d.ts +0 -13
  224. data/node_modules/preact-render-to-string/dist/jsx.js +0 -1
  225. data/node_modules/preact-render-to-string/dist/jsx.js.map +0 -1
  226. data/node_modules/preact-render-to-string/dist/jsx.mjs +0 -2
  227. data/node_modules/preact-render-to-string/dist/jsx.modern.js +0 -2
  228. data/node_modules/preact-render-to-string/dist/jsx.modern.js.map +0 -1
  229. data/node_modules/preact-render-to-string/dist/jsx.module.js +0 -2
  230. data/node_modules/preact-render-to-string/dist/jsx.module.js.map +0 -1
  231. data/node_modules/preact-render-to-string/dist/preact-render-to-string-tests.d.ts +0 -1
  232. data/node_modules/preact-render-to-string/jsx.js +0 -1
  233. data/node_modules/preact-render-to-string/package.json +0 -142
  234. data/node_modules/preact-render-to-string/src/index.d.ts +0 -16
  235. data/node_modules/preact-render-to-string/src/index.js +0 -462
  236. data/node_modules/preact-render-to-string/src/jsx.d.ts +0 -13
  237. data/node_modules/preact-render-to-string/src/jsx.js +0 -76
  238. data/node_modules/preact-render-to-string/src/polyfills.js +0 -8
  239. data/node_modules/preact-render-to-string/src/preact-render-to-string-tests.d.ts +0 -1
  240. data/node_modules/preact-render-to-string/src/util.js +0 -78
  241. data/node_modules/preact-render-to-string/typings.json +0 -5
  242. data/node_modules/pretty-format/.npmignore +0 -3
  243. data/node_modules/pretty-format/LICENSE.md +0 -15
  244. data/node_modules/pretty-format/README.md +0 -94
  245. data/node_modules/pretty-format/index.js +0 -343
  246. data/node_modules/pretty-format/package.json +0 -26
  247. data/node_modules/pretty-format/plugins/ReactElement.js +0 -74
  248. data/node_modules/pretty-format/plugins/ReactTestComponent.js +0 -58
  249. data/node_modules/pretty-format/printString.js +0 -7
  250. data/node_modules/wouter-preact/cjs/index.js +0 -180
  251. data/node_modules/wouter-preact/cjs/matcher.js +0 -72
  252. data/node_modules/wouter-preact/cjs/package.json +0 -1
  253. data/node_modules/wouter-preact/cjs/react-deps.js +0 -75
  254. data/node_modules/wouter-preact/cjs/static-location.js +0 -21
  255. data/node_modules/wouter-preact/cjs/use-location.js +0 -94
  256. data/node_modules/wouter-preact/index.d.ts +0 -110
  257. data/node_modules/wouter-preact/index.js +0 -178
  258. data/node_modules/wouter-preact/matcher.d.ts +0 -30
  259. data/node_modules/wouter-preact/matcher.js +0 -66
  260. data/node_modules/wouter-preact/package.json +0 -33
  261. data/node_modules/wouter-preact/react-deps.js +0 -15
  262. data/node_modules/wouter-preact/static-location.d.ts +0 -16
  263. data/node_modules/wouter-preact/static-location.js +0 -17
  264. data/node_modules/wouter-preact/use-location.d.ts +0 -43
  265. data/node_modules/wouter-preact/use-location.js +0 -86
  266. data/package.json +0 -8
metadata CHANGED
@@ -1,63 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-preact
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.9.0
4
+ version: 22.9.0.rc2
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-07-06 00:00:00.000000000 Z
11
+ date: 2022-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: concurrent-ruby
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 1.1.10
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 1.1.10
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: oj
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 3.13.16
19
+ version: 3.13.21
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 3.13.16
26
+ version: 3.13.21
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: opal
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: 1.4.0
48
- - - "<"
31
+ - - "~>"
49
32
  - !ruby/object:Gem::Version
50
- version: 1.6.0
33
+ version: 1.5.1
51
34
  type: :runtime
52
35
  prerelease: false
53
36
  version_requirements: !ruby/object:Gem::Requirement
54
37
  requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: 1.4.0
58
- - - "<"
38
+ - - "~>"
59
39
  - !ruby/object:Gem::Version
60
- version: 1.6.0
40
+ version: 1.5.1
61
41
  - !ruby/object:Gem::Dependency
62
42
  name: opal-activesupport
63
43
  requirement: !ruby/object:Gem::Requirement
@@ -73,89 +53,47 @@ dependencies:
73
53
  - !ruby/object:Gem::Version
74
54
  version: 0.3.3
75
55
  - !ruby/object:Gem::Dependency
76
- name: opal-zeitwerk
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: 0.4.1
82
- type: :runtime
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: 0.4.1
89
- - !ruby/object:Gem::Dependency
90
- name: isomorfeus-asset-manager
56
+ name: isomorfeus-i18n
91
57
  requirement: !ruby/object:Gem::Requirement
92
58
  requirements:
93
- - - "~>"
59
+ - - '='
94
60
  - !ruby/object:Gem::Version
95
- version: 0.14.24
61
+ version: 22.9.0.rc2
96
62
  type: :runtime
97
63
  prerelease: false
98
64
  version_requirements: !ruby/object:Gem::Requirement
99
65
  requirements:
100
- - - "~>"
66
+ - - '='
101
67
  - !ruby/object:Gem::Version
102
- version: 0.14.24
68
+ version: 22.9.0.rc2
103
69
  - !ruby/object:Gem::Dependency
104
70
  name: isomorfeus-redux
105
71
  requirement: !ruby/object:Gem::Requirement
106
72
  requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: 4.2.0
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- version: 4.2.0
117
- - !ruby/object:Gem::Dependency
118
- name: isomorfeus-speednode
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: 0.5.3
124
- type: :runtime
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: 0.5.3
131
- - !ruby/object:Gem::Dependency
132
- name: zeitwerk
133
- requirement: !ruby/object:Gem::Requirement
134
- requirements:
135
- - - "~>"
73
+ - - '='
136
74
  - !ruby/object:Gem::Version
137
- version: 2.5.4
75
+ version: 22.9.0.rc2
138
76
  type: :runtime
139
77
  prerelease: false
140
78
  version_requirements: !ruby/object:Gem::Requirement
141
79
  requirements:
142
- - - "~>"
80
+ - - '='
143
81
  - !ruby/object:Gem::Version
144
- version: 2.5.4
82
+ version: 22.9.0.rc2
145
83
  - !ruby/object:Gem::Dependency
146
84
  name: isomorfeus-puppetmaster
147
85
  requirement: !ruby/object:Gem::Requirement
148
86
  requirements:
149
87
  - - "~>"
150
88
  - !ruby/object:Gem::Version
151
- version: 0.6.7
89
+ version: 0.8.1
152
90
  type: :development
153
91
  prerelease: false
154
92
  version_requirements: !ruby/object:Gem::Requirement
155
93
  requirements:
156
94
  - - "~>"
157
95
  - !ruby/object:Gem::Version
158
- version: 0.6.7
96
+ version: 0.8.1
159
97
  - !ruby/object:Gem::Dependency
160
98
  name: rake
161
99
  requirement: !ruby/object:Gem::Requirement
@@ -194,6 +132,7 @@ files:
194
132
  - LICENSE
195
133
  - README.md
196
134
  - lib/browser/delegate_native.rb
135
+ - lib/browser/document.rb
197
136
  - lib/browser/element.rb
198
137
  - lib/browser/element/canvas.rb
199
138
  - lib/browser/element/media.rb
@@ -202,248 +141,45 @@ files:
202
141
  - lib/browser/file_list.rb
203
142
  - lib/browser/history.rb
204
143
  - lib/browser/iterable.rb
144
+ - lib/browser/location.rb
145
+ - lib/browser/window.rb
146
+ - lib/data_uri.rb
147
+ - lib/data_uri/open_uri.rb
148
+ - lib/data_uri/uri.rb
205
149
  - lib/isomorfeus-preact.rb
206
150
  - lib/isomorfeus/preact/config.rb
207
151
  - lib/isomorfeus/preact/imports.rb
208
- - lib/isomorfeus/preact/memcached_component_cache.rb
209
- - lib/isomorfeus/preact/redis_component_cache.rb
210
- - lib/isomorfeus/preact/ssr/history.rb
211
- - lib/isomorfeus/preact/ssr/render_core.rb
212
- - lib/isomorfeus/preact/ssr/top_level.rb
152
+ - lib/isomorfeus/preact/ssr.rb
213
153
  - lib/isomorfeus/preact/thread_local_component_cache.rb
214
- - lib/isomorfeus/preact_view_helper.rb
154
+ - lib/isomorfeus/preact/version.rb
155
+ - lib/isomorfeus/preact/view_helper.rb
215
156
  - lib/isomorfeus/props/validate_hash_proxy.rb
216
157
  - lib/isomorfeus/props/validator.rb
217
158
  - lib/isomorfeus/top_level.rb
218
- - lib/isomorfeus_preact/lucid_app/api.rb
219
- - lib/isomorfeus_preact/lucid_app/base.rb
220
- - lib/isomorfeus_preact/lucid_app/mixin.rb
221
- - lib/isomorfeus_preact/lucid_app/native_component_constructor.rb
222
- - lib/isomorfeus_preact/lucid_component/api.rb
223
- - lib/isomorfeus_preact/lucid_component/app_store_proxy.rb
224
- - lib/isomorfeus_preact/lucid_component/base.rb
225
- - lib/isomorfeus_preact/lucid_component/class_store_proxy.rb
226
- - lib/isomorfeus_preact/lucid_component/initializer.rb
227
- - lib/isomorfeus_preact/lucid_component/mixin.rb
228
- - lib/isomorfeus_preact/lucid_component/native_component_constructor.rb
229
- - lib/isomorfeus_preact/lucid_component/styles_wrapper.rb
230
- - lib/isomorfeus_preact/lucid_func/base.rb
231
- - lib/isomorfeus_preact/lucid_func/initializer.rb
232
- - lib/isomorfeus_preact/lucid_func/mixin.rb
233
- - lib/isomorfeus_preact/lucid_func/native_component_constructor.rb
234
- - lib/isomorfeus_preact/preact/function_component/api.rb
235
- - lib/isomorfeus_preact/preact/function_component/base.rb
236
- - lib/isomorfeus_preact/preact/function_component/initializer.rb
237
- - lib/isomorfeus_preact/preact/function_component/mixin.rb
238
- - lib/isomorfeus_preact/preact/function_component/native_component_constructor.rb
239
- - lib/lucid_app/context.rb
240
- - lib/lucid_prop_declaration/mixin.rb
159
+ - lib/link.rb
160
+ - lib/lucid_app.rb
161
+ - lib/lucid_component.rb
241
162
  - lib/nano_css.rb
242
163
  - lib/preact.rb
243
- - lib/preact/component/api.rb
244
- - lib/preact/component/base.rb
245
- - lib/preact/component/callbacks.rb
246
- - lib/preact/component/initializer.rb
247
- - lib/preact/component/mixin.rb
248
- - lib/preact/component/native_component_constructor.rb
164
+ - lib/preact/component.rb
249
165
  - lib/preact/component_resolution.rb
250
- - lib/preact/context_wrapper.rb
166
+ - lib/preact/context.rb
251
167
  - lib/preact/elements.rb
252
- - lib/preact/native_constant_wrapper.rb
253
- - lib/preact/option_hooks.rb
254
- - lib/preact/params.rb
255
- - lib/preact/props.rb
256
- - lib/preact/ref.rb
257
- - lib/preact/state.rb
258
- - lib/preact/version.rb
259
- - node_modules/.package-lock.json
260
- - node_modules/preact-render-to-string/LICENSE
261
- - node_modules/preact-render-to-string/README.md
262
- - node_modules/preact-render-to-string/dist/commonjs.js
263
- - node_modules/preact-render-to-string/dist/commonjs.js.map
264
- - node_modules/preact-render-to-string/dist/index.d.ts
265
- - node_modules/preact-render-to-string/dist/index.js
266
- - node_modules/preact-render-to-string/dist/index.js.map
267
- - node_modules/preact-render-to-string/dist/index.mjs
268
- - node_modules/preact-render-to-string/dist/index.module.js
269
- - node_modules/preact-render-to-string/dist/index.module.js.map
270
- - node_modules/preact-render-to-string/dist/jsx-entry.js
271
- - node_modules/preact-render-to-string/dist/jsx-entry.js.map
272
- - node_modules/preact-render-to-string/dist/jsx.d.ts
273
- - node_modules/preact-render-to-string/dist/jsx.js
274
- - node_modules/preact-render-to-string/dist/jsx.js.map
275
- - node_modules/preact-render-to-string/dist/jsx.mjs
276
- - node_modules/preact-render-to-string/dist/jsx.modern.js
277
- - node_modules/preact-render-to-string/dist/jsx.modern.js.map
278
- - node_modules/preact-render-to-string/dist/jsx.module.js
279
- - node_modules/preact-render-to-string/dist/jsx.module.js.map
280
- - node_modules/preact-render-to-string/dist/preact-render-to-string-tests.d.ts
281
- - node_modules/preact-render-to-string/jsx.js
282
- - node_modules/preact-render-to-string/package.json
283
- - node_modules/preact-render-to-string/src/index.d.ts
284
- - node_modules/preact-render-to-string/src/index.js
285
- - node_modules/preact-render-to-string/src/jsx.d.ts
286
- - node_modules/preact-render-to-string/src/jsx.js
287
- - node_modules/preact-render-to-string/src/polyfills.js
288
- - node_modules/preact-render-to-string/src/preact-render-to-string-tests.d.ts
289
- - node_modules/preact-render-to-string/src/util.js
290
- - node_modules/preact-render-to-string/typings.json
291
- - node_modules/preact/LICENSE
292
- - node_modules/preact/README.md
293
- - node_modules/preact/compat/LICENSE
294
- - node_modules/preact/compat/client.js
295
- - node_modules/preact/compat/client.mjs
296
- - node_modules/preact/compat/dist/compat.js
297
- - node_modules/preact/compat/dist/compat.js.map
298
- - node_modules/preact/compat/dist/compat.mjs
299
- - node_modules/preact/compat/dist/compat.module.js
300
- - node_modules/preact/compat/dist/compat.module.js.map
301
- - node_modules/preact/compat/dist/compat.umd.js
302
- - node_modules/preact/compat/dist/compat.umd.js.map
303
- - node_modules/preact/compat/jsx-dev-runtime.js
304
- - node_modules/preact/compat/jsx-dev-runtime.mjs
305
- - node_modules/preact/compat/jsx-runtime.js
306
- - node_modules/preact/compat/jsx-runtime.mjs
307
- - node_modules/preact/compat/package.json
308
- - node_modules/preact/compat/scheduler.js
309
- - node_modules/preact/compat/scheduler.mjs
310
- - node_modules/preact/compat/server.browser.js
311
- - node_modules/preact/compat/server.js
312
- - node_modules/preact/compat/server.mjs
313
- - node_modules/preact/compat/src/Children.js
314
- - node_modules/preact/compat/src/PureComponent.js
315
- - node_modules/preact/compat/src/forwardRef.js
316
- - node_modules/preact/compat/src/index.d.ts
317
- - node_modules/preact/compat/src/index.js
318
- - node_modules/preact/compat/src/internal.d.ts
319
- - node_modules/preact/compat/src/memo.js
320
- - node_modules/preact/compat/src/portals.js
321
- - node_modules/preact/compat/src/render.js
322
- - node_modules/preact/compat/src/suspense-list.d.ts
323
- - node_modules/preact/compat/src/suspense-list.js
324
- - node_modules/preact/compat/src/suspense.d.ts
325
- - node_modules/preact/compat/src/suspense.js
326
- - node_modules/preact/compat/src/util.js
327
- - node_modules/preact/compat/test-utils.js
328
- - node_modules/preact/debug/LICENSE
329
- - node_modules/preact/debug/dist/debug.js
330
- - node_modules/preact/debug/dist/debug.js.map
331
- - node_modules/preact/debug/dist/debug.mjs
332
- - node_modules/preact/debug/dist/debug.module.js
333
- - node_modules/preact/debug/dist/debug.module.js.map
334
- - node_modules/preact/debug/dist/debug.umd.js
335
- - node_modules/preact/debug/dist/debug.umd.js.map
336
- - node_modules/preact/debug/package.json
337
- - node_modules/preact/debug/src/check-props.js
338
- - node_modules/preact/debug/src/component-stack.js
339
- - node_modules/preact/debug/src/constants.js
340
- - node_modules/preact/debug/src/debug.js
341
- - node_modules/preact/debug/src/index.js
342
- - node_modules/preact/debug/src/internal.d.ts
343
- - node_modules/preact/debug/src/util.js
344
- - node_modules/preact/devtools/LICENSE
345
- - node_modules/preact/devtools/dist/devtools.js
346
- - node_modules/preact/devtools/dist/devtools.js.map
347
- - node_modules/preact/devtools/dist/devtools.mjs
348
- - node_modules/preact/devtools/dist/devtools.module.js
349
- - node_modules/preact/devtools/dist/devtools.module.js.map
350
- - node_modules/preact/devtools/dist/devtools.umd.js
351
- - node_modules/preact/devtools/dist/devtools.umd.js.map
352
- - node_modules/preact/devtools/package.json
353
- - node_modules/preact/devtools/src/devtools.js
354
- - node_modules/preact/devtools/src/index.d.ts
355
- - node_modules/preact/devtools/src/index.js
356
- - node_modules/preact/dist/preact.js
357
- - node_modules/preact/dist/preact.js.map
358
- - node_modules/preact/dist/preact.min.js
359
- - node_modules/preact/dist/preact.min.js.map
360
- - node_modules/preact/dist/preact.mjs
361
- - node_modules/preact/dist/preact.module.js
362
- - node_modules/preact/dist/preact.module.js.map
363
- - node_modules/preact/dist/preact.umd.js
364
- - node_modules/preact/dist/preact.umd.js.map
365
- - node_modules/preact/hooks/LICENSE
366
- - node_modules/preact/hooks/dist/hooks.js
367
- - node_modules/preact/hooks/dist/hooks.js.map
368
- - node_modules/preact/hooks/dist/hooks.mjs
369
- - node_modules/preact/hooks/dist/hooks.module.js
370
- - node_modules/preact/hooks/dist/hooks.module.js.map
371
- - node_modules/preact/hooks/dist/hooks.umd.js
372
- - node_modules/preact/hooks/dist/hooks.umd.js.map
373
- - node_modules/preact/hooks/package.json
374
- - node_modules/preact/hooks/src/index.d.ts
375
- - node_modules/preact/hooks/src/index.js
376
- - node_modules/preact/hooks/src/internal.d.ts
377
- - node_modules/preact/jsx-runtime/LICENSE
378
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.js
379
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map
380
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs
381
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
382
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map
383
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js
384
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map
385
- - node_modules/preact/jsx-runtime/package.json
386
- - node_modules/preact/jsx-runtime/src/index.d.ts
387
- - node_modules/preact/jsx-runtime/src/index.js
388
- - node_modules/preact/package.json
389
- - node_modules/preact/src/cjs.js
390
- - node_modules/preact/src/clone-element.js
391
- - node_modules/preact/src/component.js
392
- - node_modules/preact/src/constants.js
393
- - node_modules/preact/src/create-context.js
394
- - node_modules/preact/src/create-element.js
395
- - node_modules/preact/src/diff/catch-error.js
396
- - node_modules/preact/src/diff/children.js
397
- - node_modules/preact/src/diff/index.js
398
- - node_modules/preact/src/diff/props.js
399
- - node_modules/preact/src/index.d.ts
400
- - node_modules/preact/src/index.js
401
- - node_modules/preact/src/internal.d.ts
402
- - node_modules/preact/src/jsx.d.ts
403
- - node_modules/preact/src/options.js
404
- - node_modules/preact/src/render.js
405
- - node_modules/preact/src/util.js
406
- - node_modules/preact/test-utils/dist/testUtils.js
407
- - node_modules/preact/test-utils/dist/testUtils.js.map
408
- - node_modules/preact/test-utils/dist/testUtils.mjs
409
- - node_modules/preact/test-utils/dist/testUtils.module.js
410
- - node_modules/preact/test-utils/dist/testUtils.module.js.map
411
- - node_modules/preact/test-utils/dist/testUtils.umd.js
412
- - node_modules/preact/test-utils/dist/testUtils.umd.js.map
413
- - node_modules/preact/test-utils/package.json
414
- - node_modules/preact/test-utils/src/index.d.ts
415
- - node_modules/preact/test-utils/src/index.js
416
- - node_modules/pretty-format/.npmignore
417
- - node_modules/pretty-format/LICENSE.md
418
- - node_modules/pretty-format/README.md
419
- - node_modules/pretty-format/index.js
420
- - node_modules/pretty-format/package.json
421
- - node_modules/pretty-format/plugins/ReactElement.js
422
- - node_modules/pretty-format/plugins/ReactTestComponent.js
423
- - node_modules/pretty-format/printString.js
424
- - node_modules/wouter-preact/cjs/index.js
425
- - node_modules/wouter-preact/cjs/matcher.js
426
- - node_modules/wouter-preact/cjs/package.json
427
- - node_modules/wouter-preact/cjs/react-deps.js
428
- - node_modules/wouter-preact/cjs/static-location.js
429
- - node_modules/wouter-preact/cjs/use-location.js
430
- - node_modules/wouter-preact/index.d.ts
431
- - node_modules/wouter-preact/index.js
432
- - node_modules/wouter-preact/matcher.d.ts
433
- - node_modules/wouter-preact/matcher.js
434
- - node_modules/wouter-preact/package.json
435
- - node_modules/wouter-preact/react-deps.js
436
- - node_modules/wouter-preact/static-location.d.ts
437
- - node_modules/wouter-preact/static-location.js
438
- - node_modules/wouter-preact/use-location.d.ts
439
- - node_modules/wouter-preact/use-location.js
440
- - package.json
168
+ - lib/preact/module_component_resolution.rb
169
+ - lib/preact/prop_declaration_mixin.rb
170
+ - lib/redirect.rb
171
+ - lib/route.rb
172
+ - lib/router.rb
173
+ - lib/switch.rb
174
+ - opal/iso_uri.rb
175
+ - opal/uri/common.rb
176
+ - opal/uri/generic.rb
441
177
  homepage: https://isomorfeus.com
442
178
  licenses:
443
179
  - MIT
444
180
  metadata:
445
181
  github_repo: ssh://github.com/isomorfeus/gems
446
- source_code_uri: https://github.com/isomorfeus/isomorfeus-preact
182
+ source_code_uri: https://github.com/isomorfeus/isomorfeus-project/isomorfeus-preact
447
183
  post_install_message:
448
184
  rdoc_options: []
449
185
  require_paths:
@@ -455,9 +191,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
455
191
  version: '0'
456
192
  required_rubygems_version: !ruby/object:Gem::Requirement
457
193
  requirements:
458
- - - ">="
194
+ - - ">"
459
195
  - !ruby/object:Gem::Version
460
- version: '0'
196
+ version: 1.3.1
461
197
  requirements: []
462
198
  rubygems_version: 3.3.7
463
199
  signing_key:
@@ -1,19 +0,0 @@
1
- module Isomorfeus
2
- module Preact
3
- class MemcachedComponentCache
4
- def initialize(*args)
5
- @dalli_client = Dalli::Client.new(*args)
6
- end
7
-
8
- def fetch(key)
9
- json = @dalli_client.get(key)
10
- Oj.load(json, mode: :strict)
11
- end
12
-
13
- def store(key, rendered_tree, response_status, styles)
14
- json = Oj.dump([rendered_tree, response_status, styles], mode: :strict)
15
- @dalli_client.set(key, json)
16
- end
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- module Isomorfeus
2
- module Preact
3
- class RedisComponentCache
4
- def initialize(*args)
5
- @redis_client = Redis.new(@args)
6
- end
7
-
8
- def fetch(key)
9
- json = @redis_client.get(key)
10
- Oj.load(json, mode: :strict)
11
- end
12
-
13
- def store(key, rendered_tree, response_status, styles)
14
- json = Oj.dump([rendered_tree, response_status, styles], mode: :strict)
15
- @redis_client.set(key, json)
16
- end
17
- end
18
- end
19
- end
@@ -1,23 +0,0 @@
1
- module Browser
2
- class History
3
- def back; end
4
- def forward; end
5
- def go(a); end
6
-
7
- def length
8
- 0
9
- end
10
- alias :size :length
11
-
12
- def push_state(state, title = '', url = nil); end
13
- def replace_state(state, title = '', url = nil); end
14
- def scroll_restoration; end
15
- def scroll_restoration=(s); end
16
-
17
- def state
18
- {}
19
- end
20
- end
21
- end
22
-
23
- Isomorfeus.browser_history = Browser::History.new
@@ -1,117 +0,0 @@
1
- module Isomorfeus
2
- module SSR
3
- %x{
4
- self.first_pass = function(component_name, props) {
5
- if (global.HasTransport) {
6
- #{
7
- Isomorfeus.set_current_user(nil)
8
- Isomorfeus::Transport.promise_connect(`global.IsomorfeusSessionId`)
9
- .then { `self.async_render_pass(component_name, props)` }
10
- .fail do |error|
11
- message = "Transport within SSR unable to connect: #{error}\n#{error&.backtrace&.join("\n")}!"
12
- %x{
13
- global.ConnectRetries--;
14
- if (global.ConnectRetries > 0) {
15
- self.first_pass(component_name, props);
16
- } else {
17
- global.Exception = new Error(#{message});
18
- self.finish_render();
19
- }
20
- }
21
- end
22
- }
23
- } else {
24
- self.async_render_pass(component_name, props);
25
- };
26
- }
27
-
28
- self.async_render_pass = function(component_name, props) {
29
- if (global.RenderPass < global.MaxPasses) {
30
- self.render_pass(component_name, props);
31
- if (global.Exception) {
32
- self.finish_render();
33
- return;
34
- }
35
- setTimeout(self.check_and_render, 1, component_name, props);
36
- } else { self.finish_render(); }
37
- }
38
-
39
- self.render_pass = function(component_name, props) {
40
- const oper = global.Opal.Preact;
41
- oper.render_buffer = [];
42
- oper.active_components = [];
43
- oper.active_redux_components = [];
44
- global.NeedAnotherPass = false;
45
- try {
46
- global.RenderPass++;
47
- global.RenderedTree = global.Opal.Isomorfeus.TopLevel.$render_component_to_string(component_name, props);
48
- } catch (e) {
49
- global.RenderedTree = 'exception';
50
- global.Exception = e;
51
- }
52
- }
53
-
54
- self.check_and_render = function(component_name, props) {
55
- if (self.still_busy()) {
56
- global.NeedAnotherPass = true;
57
- setTimeout(self.check_and_render, 1, component_name, props);
58
- } else if (global.NeedAnotherPass) {
59
- global.NeedAnotherPass = false;
60
- self.async_render_pass(component_name, props);
61
- } else { self.finish_render(); }
62
- }
63
-
64
- self.finish_render = function() {
65
- global.Rendering = false;
66
- if (global.HasTransport) { self.$disconnect_transport(); }
67
- }
68
-
69
- self.still_busy = function() {
70
- if (global.Opal.Isomorfeus?.Transport?.["$busy?"]?.()) { return true; }
71
- let nfp = global.Opal.Isomorfeus.store["$recently_dispatched?"]();
72
- return (nfp == global.Opal.nil) ? false : nfp;
73
- }
74
-
75
- self.get_exception = function() {
76
- if (global.Exception) { return { message: global.Exception.message, stack: global.Exception.stack }; }
77
- else { return null; }
78
- }
79
-
80
- self.get_result = function() {
81
- const opi = global.Opal.Isomorfeus;
82
- let application_state = opi.store.native.getState();
83
- let ssr_styles = global?.NanoCSSInstance?.raw;
84
- return [global.RenderedTree, application_state, ssr_styles, opi['$ssr_response_status'](), global.RenderPass, self.get_exception()];
85
- }
86
-
87
- self.mount_component = function(session_id, env, locale, transport_ws_url, component_name, props, max_passes) {
88
- const opi = global.Opal.Isomorfeus;
89
- global.ConnectRetries = 5;
90
- global.RenderPass = 0;
91
- global.Rendering = true;
92
- global.MaxPasses = max_passes;
93
- global.IsomorfeusSessionId = session_id;
94
- global.RenderedTree = null;
95
- global.Exception = false;
96
- global.HasTransport = (typeof opi.Transport !== 'undefined');
97
- if (global.HasTransport) { opi.TopLevel["$transport_ws_url="](transport_ws_url); }
98
- opi['$env='](env);
99
- if (typeof opi["$current_locale="] === 'function') { opi["$current_locale="](locale); }
100
- opi['$force_init!']();
101
- opi['$ssr_response_status='](200);
102
-
103
- self.first_pass(component_name, props);
104
- }
105
- }
106
-
107
- def self.disconnect_transport
108
- while Isomorfeus::Transport::RequestAgent.agents.size > 0
109
- agent_id, agent = Isomorfeus::Transport::RequestAgent.agents.first
110
- agent.promise.reject() unless agent.promise.realized?
111
- Isomorfeus::Transport::RequestAgent.del!(agent_id)
112
- end
113
- Isomorfeus::Transport.instance_variable_set(:@requests_in_progress, { requests: {}, agent_ids: {} })
114
- Isomorfeus::Transport.disconnect
115
- end
116
- end
117
- end
@@ -1,37 +0,0 @@
1
- module Preact
2
- def self.render_to_string(native_preact_element)
3
- `Opal.global.Preact.renderToString(native_preact_element)`
4
- end
5
- end
6
-
7
- module Isomorfeus
8
- class TopLevel
9
- class << self
10
- attr_accessor :transport_ws_url
11
-
12
- def render_component_to_string(component_name, props)
13
- component = nil
14
- %x{
15
- if (typeof component_name === 'string' || component_name instanceof String) {
16
- component = component_name.split(".").reduce(function(o, x) {
17
- return (o !== null && typeof o[x] !== "undefined" && o[x] !== null) ? o[x] : null;
18
- }, Opal.global)
19
- } else {
20
- component = component_name;
21
- }
22
- }
23
- component = cached_component_class(component_name) unless component
24
- Preact.render_to_string(Preact.create_element(component, `Opal.Hash.$new(props)`))
25
- end
26
-
27
- def cached_component_classes
28
- @cached_component_classes ||= {}
29
- end
30
-
31
- def cached_component_class(class_name)
32
- return cached_component_classes[class_name] if cached_component_classes.key?(class_name)
33
- cached_component_classes[class_name] = "::#{class_name}".constantize
34
- end
35
- end
36
- end
37
- end