@triniwiz/nativescript-masonkit 1.0.0-alpha.0 → 1.0.0-alpha.10

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.
Files changed (358) hide show
  1. package/common.d.ts +57 -25
  2. package/common.js +490 -1081
  3. package/common.js.map +1 -1
  4. package/helpers.d.ts +116 -94
  5. package/helpers.js +474 -2538
  6. package/helpers.js.map +1 -1
  7. package/index.android.d.ts +28 -20
  8. package/index.android.js +107 -49
  9. package/index.android.js.map +1 -1
  10. package/index.d.ts +112 -18
  11. package/index.ios.d.ts +42 -21
  12. package/index.ios.js +313 -81
  13. package/index.ios.js.map +1 -1
  14. package/node.d.ts +2 -0
  15. package/node.js +3 -0
  16. package/node.js.map +1 -0
  17. package/package.json +3 -3
  18. package/platforms/android/include.gradle +18 -1
  19. package/platforms/android/masonkit-release.aar +0 -0
  20. package/platforms/ios/Mason.xcframework/Info.plist +4 -0
  21. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +345 -314
  22. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason.h +11 -0
  23. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/mason_native.h +215 -818
  24. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Info.plist +0 -0
  25. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  26. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  27. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +23676 -16086
  28. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +444 -308
  29. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  30. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +444 -308
  31. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/module.modulemap +1 -1
  32. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  33. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +1937 -0
  34. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +690 -628
  35. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason.h +11 -0
  36. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/mason_native.h +215 -818
  37. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Info.plist +0 -0
  38. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  39. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  40. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  41. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +23676 -16086
  42. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +444 -308
  43. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  44. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +444 -308
  45. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +23676 -16086
  46. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +444 -308
  47. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  48. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +444 -308
  49. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/module.modulemap +1 -1
  50. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +33 -97
  51. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  52. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +1937 -0
  53. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +1888 -0
  54. package/platforms/ios/Podfile +1 -1
  55. package/platforms/ios/build.xcconfig +4 -1
  56. package/platforms/ios/prebuild.sh +101 -0
  57. package/platforms/new_native_src/cpp/Caches.cpp +36 -0
  58. package/platforms/new_native_src/cpp/Caches.h +42 -0
  59. package/platforms/new_native_src/cpp/Common.h +34 -0
  60. package/platforms/new_native_src/cpp/ConcurrentMap.h +57 -0
  61. package/platforms/new_native_src/cpp/Helpers.cpp +101 -0
  62. package/platforms/new_native_src/cpp/Helpers.h +364 -0
  63. package/platforms/new_native_src/cpp/MasonImpl.cpp +68 -0
  64. package/platforms/new_native_src/cpp/MasonImpl.h +40 -0
  65. package/platforms/new_native_src/cpp/MasonNodeImpl.cpp +89 -0
  66. package/platforms/new_native_src/cpp/MasonNodeImpl.h +47 -0
  67. package/platforms/new_native_src/cpp/MasonStyleImpl.cpp +2181 -0
  68. package/platforms/new_native_src/cpp/MasonStyleImpl.h +420 -0
  69. package/platforms/{ios/src → new_native_src/cpp}/include/mason_native.h +47 -20
  70. package/platforms/new_native_src/cpp/include/robin_hood.h +2544 -0
  71. package/src-native/pods/Headers/include/APIDesign.md +72 -0
  72. package/src-native/pods/Headers/include/DEPS +10 -0
  73. package/src-native/pods/Headers/include/DIR_METADATA +11 -0
  74. package/src-native/pods/Headers/include/OWNERS +23 -0
  75. package/src-native/pods/Headers/include/cppgc/DEPS +8 -0
  76. package/src-native/pods/Headers/include/cppgc/OWNERS +2 -0
  77. package/src-native/pods/Headers/include/cppgc/README.md +133 -0
  78. package/src-native/pods/Headers/include/cppgc/allocation.h +310 -0
  79. package/src-native/pods/Headers/include/cppgc/common.h +29 -0
  80. package/src-native/pods/Headers/include/cppgc/cross-thread-persistent.h +465 -0
  81. package/src-native/pods/Headers/include/cppgc/custom-space.h +97 -0
  82. package/src-native/pods/Headers/include/cppgc/default-platform.h +67 -0
  83. package/src-native/pods/Headers/include/cppgc/ephemeron-pair.h +30 -0
  84. package/src-native/pods/Headers/include/cppgc/explicit-management.h +100 -0
  85. package/src-native/pods/Headers/include/cppgc/garbage-collected.h +106 -0
  86. package/src-native/pods/Headers/include/cppgc/heap-consistency.h +266 -0
  87. package/src-native/pods/Headers/include/cppgc/heap-state.h +82 -0
  88. package/src-native/pods/Headers/include/cppgc/heap-statistics.h +120 -0
  89. package/src-native/pods/Headers/include/cppgc/heap.h +206 -0
  90. package/src-native/pods/Headers/include/cppgc/internal/api-constants.h +55 -0
  91. package/src-native/pods/Headers/include/cppgc/internal/atomic-entry-flag.h +48 -0
  92. package/src-native/pods/Headers/include/cppgc/internal/caged-heap-local-data.h +79 -0
  93. package/src-native/pods/Headers/include/cppgc/internal/compiler-specific.h +38 -0
  94. package/src-native/pods/Headers/include/cppgc/internal/finalizer-trait.h +93 -0
  95. package/src-native/pods/Headers/include/cppgc/internal/gc-info.h +156 -0
  96. package/src-native/pods/Headers/include/cppgc/internal/logging.h +50 -0
  97. package/src-native/pods/Headers/include/cppgc/internal/name-trait.h +122 -0
  98. package/src-native/pods/Headers/include/cppgc/internal/persistent-node.h +216 -0
  99. package/src-native/pods/Headers/include/cppgc/internal/pointer-policies.h +186 -0
  100. package/src-native/pods/Headers/include/cppgc/internal/write-barrier.h +435 -0
  101. package/src-native/pods/Headers/include/cppgc/liveness-broker.h +77 -0
  102. package/src-native/pods/Headers/include/cppgc/macros.h +26 -0
  103. package/src-native/pods/Headers/include/cppgc/member.h +291 -0
  104. package/src-native/pods/Headers/include/cppgc/name-provider.h +65 -0
  105. package/src-native/pods/Headers/include/cppgc/object-size-trait.h +58 -0
  106. package/src-native/pods/Headers/include/cppgc/persistent.h +370 -0
  107. package/src-native/pods/Headers/include/cppgc/platform.h +156 -0
  108. package/src-native/pods/Headers/include/cppgc/prefinalizer.h +75 -0
  109. package/src-native/pods/Headers/include/cppgc/process-heap-statistics.h +36 -0
  110. package/src-native/pods/Headers/include/cppgc/sentinel-pointer.h +32 -0
  111. package/src-native/pods/Headers/include/cppgc/source-location.h +92 -0
  112. package/src-native/pods/Headers/include/cppgc/testing.h +106 -0
  113. package/src-native/pods/Headers/include/cppgc/trace-trait.h +116 -0
  114. package/src-native/pods/Headers/include/cppgc/type-traits.h +240 -0
  115. package/src-native/pods/Headers/include/cppgc/visitor.h +379 -0
  116. package/src-native/pods/Headers/include/js_protocol-1.2.json +936 -0
  117. package/src-native/pods/Headers/include/js_protocol-1.3.json +1112 -0
  118. package/src-native/pods/Headers/include/js_protocol.pdl +1709 -0
  119. package/src-native/pods/Headers/include/libffi/arm64/ffi.h +524 -0
  120. package/src-native/pods/Headers/include/libffi/arm64/ffitarget.h +92 -0
  121. package/src-native/pods/Headers/include/libffi/x86_64/ffi.h +524 -0
  122. package/src-native/pods/Headers/include/libffi/x86_64/ffitarget.h +147 -0
  123. package/src-native/pods/Headers/include/libffi.h +12 -0
  124. package/src-native/pods/Headers/include/libplatform/DEPS +9 -0
  125. package/src-native/pods/Headers/include/libplatform/libplatform-export.h +29 -0
  126. package/src-native/pods/Headers/include/libplatform/libplatform.h +106 -0
  127. package/src-native/pods/Headers/include/libplatform/v8-tracing.h +333 -0
  128. package/src-native/pods/Headers/include/v8-array-buffer.h +433 -0
  129. package/src-native/pods/Headers/include/v8-callbacks.h +397 -0
  130. package/src-native/pods/Headers/include/v8-container.h +129 -0
  131. package/src-native/pods/Headers/include/v8-context.h +407 -0
  132. package/src-native/pods/Headers/include/v8-cppgc.h +215 -0
  133. package/src-native/pods/Headers/include/v8-data.h +80 -0
  134. package/src-native/pods/Headers/include/v8-date.h +43 -0
  135. package/src-native/pods/Headers/include/v8-debug.h +168 -0
  136. package/src-native/pods/Headers/include/v8-embedder-heap.h +218 -0
  137. package/src-native/pods/Headers/include/v8-embedder-state-scope.h +51 -0
  138. package/src-native/pods/Headers/include/v8-exception.h +217 -0
  139. package/src-native/pods/Headers/include/v8-extension.h +62 -0
  140. package/src-native/pods/Headers/include/v8-external.h +37 -0
  141. package/src-native/pods/Headers/include/v8-fast-api-calls.h +939 -0
  142. package/src-native/pods/Headers/include/v8-forward.h +81 -0
  143. package/src-native/pods/Headers/include/v8-function-callback.h +475 -0
  144. package/src-native/pods/Headers/include/v8-function.h +125 -0
  145. package/src-native/pods/Headers/include/v8-initialization.h +315 -0
  146. package/src-native/pods/Headers/include/v8-inspector-protocol.h +13 -0
  147. package/src-native/pods/Headers/include/v8-inspector.h +376 -0
  148. package/src-native/pods/Headers/include/v8-internal.h +661 -0
  149. package/src-native/pods/Headers/include/v8-isolate.h +1709 -0
  150. package/src-native/pods/Headers/include/v8-json.h +47 -0
  151. package/src-native/pods/Headers/include/v8-local-handle.h +455 -0
  152. package/src-native/pods/Headers/include/v8-locker.h +149 -0
  153. package/src-native/pods/Headers/include/v8-maybe.h +137 -0
  154. package/src-native/pods/Headers/include/v8-memory-span.h +43 -0
  155. package/src-native/pods/Headers/include/v8-message.h +216 -0
  156. package/src-native/pods/Headers/include/v8-metrics.h +255 -0
  157. package/src-native/pods/Headers/include/v8-microtask-queue.h +152 -0
  158. package/src-native/pods/Headers/include/v8-microtask.h +28 -0
  159. package/src-native/pods/Headers/include/v8-object.h +775 -0
  160. package/src-native/pods/Headers/include/v8-persistent-handle.h +590 -0
  161. package/src-native/pods/Headers/include/v8-platform.h +1092 -0
  162. package/src-native/pods/Headers/include/v8-primitive-object.h +118 -0
  163. package/src-native/pods/Headers/include/v8-primitive.h +866 -0
  164. package/src-native/pods/Headers/include/v8-profiler.h +1198 -0
  165. package/src-native/pods/Headers/include/v8-promise.h +174 -0
  166. package/src-native/pods/Headers/include/v8-proxy.h +50 -0
  167. package/src-native/pods/Headers/include/v8-regexp.h +105 -0
  168. package/src-native/pods/Headers/include/v8-script.h +748 -0
  169. package/src-native/pods/Headers/include/v8-snapshot.h +196 -0
  170. package/src-native/pods/Headers/include/v8-statistics.h +217 -0
  171. package/src-native/pods/Headers/include/v8-template.h +1079 -0
  172. package/src-native/pods/Headers/include/v8-traced-handle.h +420 -0
  173. package/src-native/pods/Headers/include/v8-typed-array.h +282 -0
  174. package/src-native/pods/Headers/include/v8-unwinder-state.h +31 -0
  175. package/src-native/pods/Headers/include/v8-unwinder.h +132 -0
  176. package/src-native/pods/Headers/include/v8-util.h +658 -0
  177. package/src-native/pods/Headers/include/v8-value-serializer-version.h +24 -0
  178. package/src-native/pods/Headers/include/v8-value-serializer.h +279 -0
  179. package/src-native/pods/Headers/include/v8-value.h +526 -0
  180. package/src-native/pods/Headers/include/v8-version-string.h +38 -0
  181. package/src-native/pods/Headers/include/v8-version.h +20 -0
  182. package/src-native/pods/Headers/include/v8-wasm-trap-handler-posix.h +31 -0
  183. package/src-native/pods/Headers/include/v8-wasm-trap-handler-win.h +28 -0
  184. package/src-native/pods/Headers/include/v8-wasm.h +257 -0
  185. package/src-native/pods/Headers/include/v8-weak-callback-info.h +86 -0
  186. package/src-native/pods/Headers/include/v8.h +88 -0
  187. package/src-native/pods/Headers/include/v8config.h +605 -0
  188. package/src-native/pods/Headers/inspector/InspectorServer.h +20 -0
  189. package/src-native/pods/Headers/inspector/JsV8InspectorClient.h +66 -0
  190. package/src-native/pods/Headers/inspector/base/trace_event/common/trace_event_common.h +1123 -0
  191. package/src-native/pods/Headers/inspector/base64.h +9 -0
  192. package/src-native/pods/Headers/inspector/src/base/address-region.h +95 -0
  193. package/src-native/pods/Headers/inspector/src/base/atomic-utils.h +219 -0
  194. package/src-native/pods/Headers/inspector/src/base/atomicops.h +332 -0
  195. package/src-native/pods/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +89 -0
  196. package/src-native/pods/Headers/inspector/src/base/base-export.h +31 -0
  197. package/src-native/pods/Headers/inspector/src/base/bits.h +343 -0
  198. package/src-native/pods/Headers/inspector/src/base/build_config.h +234 -0
  199. package/src-native/pods/Headers/inspector/src/base/compiler-specific.h +136 -0
  200. package/src-native/pods/Headers/inspector/src/base/export-template.h +163 -0
  201. package/src-native/pods/Headers/inspector/src/base/flags.h +130 -0
  202. package/src-native/pods/Headers/inspector/src/base/immediate-crash.h +162 -0
  203. package/src-native/pods/Headers/inspector/src/base/lazy-instance.h +258 -0
  204. package/src-native/pods/Headers/inspector/src/base/logging.h +417 -0
  205. package/src-native/pods/Headers/inspector/src/base/macros.h +423 -0
  206. package/src-native/pods/Headers/inspector/src/base/memory.h +89 -0
  207. package/src-native/pods/Headers/inspector/src/base/once.h +108 -0
  208. package/src-native/pods/Headers/inspector/src/base/optional.h +882 -0
  209. package/src-native/pods/Headers/inspector/src/base/platform/mutex.h +370 -0
  210. package/src-native/pods/Headers/inspector/src/base/platform/platform.h +476 -0
  211. package/src-native/pods/Headers/inspector/src/base/platform/semaphore.h +108 -0
  212. package/src-native/pods/Headers/inspector/src/base/platform/v8-time.h +513 -0
  213. package/src-native/pods/Headers/inspector/src/base/platform/wrappers.h +73 -0
  214. package/src-native/pods/Headers/inspector/src/base/safe_conversions.h +389 -0
  215. package/src-native/pods/Headers/inspector/src/base/safe_conversions_impl.h +822 -0
  216. package/src-native/pods/Headers/inspector/src/base/template-utils.h +113 -0
  217. package/src-native/pods/Headers/inspector/src/base/v8-fallthrough.h +21 -0
  218. package/src-native/pods/Headers/inspector/src/common/checks.h +38 -0
  219. package/src-native/pods/Headers/inspector/src/common/globals.h +1842 -0
  220. package/src-native/pods/Headers/inspector/src/debug/debug-interface.h +667 -0
  221. package/src-native/pods/Headers/inspector/src/debug/interface-types.h +175 -0
  222. package/src-native/pods/Headers/inspector/src/init/v8.h +52 -0
  223. package/src-native/pods/Headers/inspector/src/inspector/custom-preview.h +24 -0
  224. package/src-native/pods/Headers/inspector/src/inspector/injected-script.h +251 -0
  225. package/src-native/pods/Headers/inspector/src/inspector/inspected-context.h +79 -0
  226. package/src-native/pods/Headers/inspector/src/inspector/protocol/CSS.h +2148 -0
  227. package/src-native/pods/Headers/inspector/src/inspector/protocol/Console.h +211 -0
  228. package/src-native/pods/Headers/inspector/src/inspector/protocol/DOM.h +1008 -0
  229. package/src-native/pods/Headers/inspector/src/inspector/protocol/Debugger.h +892 -0
  230. package/src-native/pods/Headers/inspector/src/inspector/protocol/Forward.h +75 -0
  231. package/src-native/pods/Headers/inspector/src/inspector/protocol/HeapProfiler.h +346 -0
  232. package/src-native/pods/Headers/inspector/src/inspector/protocol/Log.h +342 -0
  233. package/src-native/pods/Headers/inspector/src/inspector/protocol/Network.h +2528 -0
  234. package/src-native/pods/Headers/inspector/src/inspector/protocol/Overlay.h +281 -0
  235. package/src-native/pods/Headers/inspector/src/inspector/protocol/Page.h +1189 -0
  236. package/src-native/pods/Headers/inspector/src/inspector/protocol/Profiler.h +1001 -0
  237. package/src-native/pods/Headers/inspector/src/inspector/protocol/Protocol.h +617 -0
  238. package/src-native/pods/Headers/inspector/src/inspector/protocol/Runtime.h +1696 -0
  239. package/src-native/pods/Headers/inspector/src/inspector/protocol/Schema.h +146 -0
  240. package/src-native/pods/Headers/inspector/src/inspector/protocol/Security.h +793 -0
  241. package/src-native/pods/Headers/inspector/src/inspector/remote-object-id.h +54 -0
  242. package/src-native/pods/Headers/inspector/src/inspector/search-util.h +26 -0
  243. package/src-native/pods/Headers/inspector/src/inspector/string-16.h +180 -0
  244. package/src-native/pods/Headers/inspector/src/inspector/string-util.h +128 -0
  245. package/src-native/pods/Headers/inspector/src/inspector/v8-console-agent-impl.h +48 -0
  246. package/src-native/pods/Headers/inspector/src/inspector/v8-console-message.h +147 -0
  247. package/src-native/pods/Headers/inspector/src/inspector/v8-console.h +173 -0
  248. package/src-native/pods/Headers/inspector/src/inspector/v8-css-agent-impl.h +62 -0
  249. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +248 -0
  250. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-id.h +44 -0
  251. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-script.h +123 -0
  252. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger.h +257 -0
  253. package/src-native/pods/Headers/inspector/src/inspector/v8-dom-agent-impl.h +91 -0
  254. package/src-native/pods/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +80 -0
  255. package/src-native/pods/Headers/inspector/src/inspector/v8-inspector-impl.h +191 -0
  256. package/src-native/pods/Headers/inspector/src/inspector/v8-inspector-session-impl.h +156 -0
  257. package/src-native/pods/Headers/inspector/src/inspector/v8-log-agent-impl.h +34 -0
  258. package/src-native/pods/Headers/inspector/src/inspector/v8-network-agent-impl.h +71 -0
  259. package/src-native/pods/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +24 -0
  260. package/src-native/pods/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +70 -0
  261. package/src-native/pods/Headers/inspector/src/inspector/v8-page-agent-impl.h +88 -0
  262. package/src-native/pods/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +104 -0
  263. package/src-native/pods/Headers/inspector/src/inspector/v8-regex.h +38 -0
  264. package/src-native/pods/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +157 -0
  265. package/src-native/pods/Headers/inspector/src/inspector/v8-schema-agent-impl.h +38 -0
  266. package/src-native/pods/Headers/inspector/src/inspector/v8-stack-trace-impl.h +164 -0
  267. package/src-native/pods/Headers/inspector/src/inspector/v8-string-conversions.h +17 -0
  268. package/src-native/pods/Headers/inspector/src/inspector/v8-value-utils.h +23 -0
  269. package/src-native/pods/Headers/inspector/src/inspector/value-mirror.h +87 -0
  270. package/src-native/pods/Headers/inspector/src/libplatform/default-platform.h +92 -0
  271. package/src-native/pods/Headers/inspector/src/logging/tracing-flags.h +50 -0
  272. package/src-native/pods/Headers/inspector/src/numbers/conversions.h +183 -0
  273. package/src-native/pods/Headers/inspector/src/tracing/trace-event.h +664 -0
  274. package/src-native/pods/Headers/inspector/src/utils/allocation.h +367 -0
  275. package/src-native/pods/Headers/inspector/src/utils/vector.h +324 -0
  276. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +305 -0
  277. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +314 -0
  278. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +62 -0
  279. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +6 -0
  280. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +58 -0
  281. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +47 -0
  282. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +80 -0
  283. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +52 -0
  284. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +26 -0
  285. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +104 -0
  286. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +39 -0
  287. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +406 -0
  288. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +32 -0
  289. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +158 -0
  290. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +99 -0
  291. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +139 -0
  292. package/src-native/pods/Headers/inspector/utils.h +32 -0
  293. package/src-native/pods/Headers/inspector/v8-inspector-platform.h +44 -0
  294. package/src-native/pods/Headers/jsi/decorator.h +762 -0
  295. package/src-native/pods/Headers/jsi/instrumentation.h +117 -0
  296. package/src-native/pods/Headers/jsi/jsi-inl.h +322 -0
  297. package/src-native/pods/Headers/jsi/jsi.h +1387 -0
  298. package/src-native/pods/Headers/jsi/jsilib.h +59 -0
  299. package/src-native/pods/Headers/jsi/threadsafe.h +79 -0
  300. package/src-native/pods/Headers/runtime/ArgConverter.h +61 -0
  301. package/src-native/pods/Headers/runtime/ArrayAdapter.h +13 -0
  302. package/src-native/pods/Headers/runtime/Caches.h +98 -0
  303. package/src-native/pods/Headers/runtime/ClassBuilder.h +61 -0
  304. package/src-native/pods/Headers/runtime/Common.h +9 -0
  305. package/src-native/pods/Headers/runtime/ConcurrentMap.h +55 -0
  306. package/src-native/pods/Headers/runtime/ConcurrentQueue.h +28 -0
  307. package/src-native/pods/Headers/runtime/Console.h +27 -0
  308. package/src-native/pods/Headers/runtime/Constants.h +15 -0
  309. package/src-native/pods/Headers/runtime/DataWrapper.h +671 -0
  310. package/src-native/pods/Headers/runtime/DictionaryAdapter.h +13 -0
  311. package/src-native/pods/Headers/runtime/ExtVector.h +21 -0
  312. package/src-native/pods/Headers/runtime/FFICall.h +105 -0
  313. package/src-native/pods/Headers/runtime/FastEnumerationAdapter.h +13 -0
  314. package/src-native/pods/Headers/runtime/FunctionReference.h +18 -0
  315. package/src-native/pods/Headers/runtime/Helpers.h +84 -0
  316. package/src-native/pods/Headers/runtime/InlineFunctions.h +16 -0
  317. package/src-native/pods/Headers/runtime/Interop.h +202 -0
  318. package/src-native/pods/Headers/runtime/KnownUnknownClassPair.h +35 -0
  319. package/src-native/pods/Headers/runtime/Metadata.h +981 -0
  320. package/src-native/pods/Headers/runtime/MetadataBuilder.h +72 -0
  321. package/src-native/pods/Headers/runtime/MetadataInlines.h +157 -0
  322. package/src-native/pods/Headers/runtime/ModuleInternal.h +59 -0
  323. package/src-native/pods/Headers/runtime/NSDataAdapter.h +13 -0
  324. package/src-native/pods/Headers/runtime/NativeScriptException.h +27 -0
  325. package/src-native/pods/Headers/runtime/ObjectManager.h +31 -0
  326. package/src-native/pods/Headers/runtime/OneByteStringResource.h +21 -0
  327. package/src-native/pods/Headers/runtime/Pointer.h +26 -0
  328. package/src-native/pods/Headers/runtime/PromiseProxy.h +15 -0
  329. package/src-native/pods/Headers/runtime/Reference.h +38 -0
  330. package/src-native/pods/Headers/runtime/Runtime.h +67 -0
  331. package/src-native/pods/Headers/runtime/RuntimeConfig.h +17 -0
  332. package/src-native/pods/Headers/runtime/SetTimeout.h +34 -0
  333. package/src-native/pods/Headers/runtime/SimpleAllocator.h +23 -0
  334. package/src-native/pods/Headers/runtime/StringHasher.h +315 -0
  335. package/src-native/pods/Headers/runtime/SymbolIterator.h +18 -0
  336. package/src-native/pods/Headers/runtime/SymbolLoader.h +27 -0
  337. package/src-native/pods/Headers/runtime/TNSDerivedClass.h +8 -0
  338. package/src-native/pods/Headers/runtime/TSHelpers.h +15 -0
  339. package/src-native/pods/Headers/runtime/Tasks.h +19 -0
  340. package/src-native/pods/Headers/runtime/UnmanagedType.h +21 -0
  341. package/src-native/pods/Headers/runtime/WeakRef.h +15 -0
  342. package/src-native/pods/Headers/runtime/Worker.h +26 -0
  343. package/src-native/pods/Headers/runtime/robin_hood.h +2184 -0
  344. package/src-native/pods/Headers/v8runtime/HostProxy.h +71 -0
  345. package/src-native/pods/Headers/v8runtime/JSIV8ValueConverter.h +70 -0
  346. package/src-native/pods/Headers/v8runtime/V8PointerValue.h +44 -0
  347. package/src-native/pods/Headers/v8runtime/V8Runtime.h +215 -0
  348. package/src-native/pods/Headers/v8runtime/V8RuntimeConfig.h +26 -0
  349. package/src-native/pods/Headers/v8runtime/V8RuntimeFactory.h +21 -0
  350. package/src-native/pods/NativeScript.podspec +68 -0
  351. package/style.d.ts +166 -0
  352. package/style.js +1686 -0
  353. package/style.js.map +1 -0
  354. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/PrivateHeaders/mason_native.h +0 -676
  355. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/PrivateHeaders/mason_native.h +0 -676
  356. package/platforms/ios/src/JSIModule.h +0 -217
  357. package/platforms/ios/src/JSIModule.mm +0 -2788
  358. package/platforms/ios/src/module.modulemap +0 -4
@@ -0,0 +1,364 @@
1
+ //
2
+ // Created by Osei Fortune on 01/01/2024.
3
+ //
4
+ #pragma once
5
+ #ifndef MASON_HELPERS_H
6
+ #define MASON_HELPERS_H
7
+
8
+ #include "Common.h"
9
+
10
+
11
+ class Helpers {
12
+ public:
13
+
14
+ static const char *LOG_TAG;
15
+
16
+ static int m_maxLogcatObjectSize;
17
+
18
+ #ifdef __ANDROID__
19
+
20
+ static void sendToADBLogcat(const std::string &message, android_LogPriority logPriority);
21
+
22
+ #endif
23
+
24
+ static void LogToConsole(const std::string &message);
25
+
26
+ static void ThrowIllegalConstructor(v8::Isolate *isolate);
27
+
28
+ static v8::Local<v8::String> ConvertToV8String(v8::Isolate *isolate, const std::string &string);
29
+
30
+ static std::string ConvertFromV8String(v8::Isolate *isolate, const v8::Local<v8::Value> &value);
31
+
32
+ static void
33
+ SetPrivate(v8::Isolate *isolate, v8::Local<v8::Object> object, const std::string &property,
34
+ v8::Local<v8::Value> value);
35
+
36
+ static v8::Local<v8::Value>
37
+ GetPrivate(v8::Isolate *isolate, v8::Local<v8::Object> object, const std::string &property);
38
+ };
39
+
40
+ inline static v8::Local<v8::Value>
41
+ gridPlacementToJS(v8::Isolate *isolate, CMasonGridPlacement placement) {
42
+ switch (placement.value_type) {
43
+ case CMasonGridPlacementType::MasonGridPlacementTypeAuto: {
44
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
45
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "value"),
46
+ v8::Number::New(isolate, placement.value))
47
+ .Check();
48
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "type"),
49
+ v8::Number::New(isolate, 0))
50
+ .Check();
51
+ return object;
52
+ }
53
+ case CMasonGridPlacementType::MasonGridPlacementTypeLine: {
54
+
55
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
56
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "value"),
57
+ v8::Number::New(isolate, placement.value))
58
+ .Check();
59
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "type"),
60
+ v8::Number::New(isolate, 1))
61
+ .Check();
62
+ return object;
63
+ }
64
+ case CMasonGridPlacementType::MasonGridPlacementTypeSpan: {
65
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
66
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "value"),
67
+ v8::Number::New(isolate, placement.value))
68
+ .Check();
69
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "type"),
70
+ v8::Number::New(isolate, 2))
71
+ .Check();
72
+ return object;
73
+ }
74
+ default:
75
+ return v8::Undefined(isolate);
76
+ }
77
+ }
78
+
79
+ inline static CMasonGridPlacement jsToGridPlacement(short value, int value_type) {
80
+ switch ((CMasonGridPlacementType) value_type) {
81
+ case CMasonGridPlacementType::MasonGridPlacementTypeAuto: {
82
+ return CMasonGridPlacement{0, CMasonGridPlacementType::MasonGridPlacementTypeAuto};
83
+ }
84
+ case CMasonGridPlacementType::MasonGridPlacementTypeLine: {
85
+ return CMasonGridPlacement{value, CMasonGridPlacementType::MasonGridPlacementTypeLine};
86
+ }
87
+ case CMasonGridPlacementType::MasonGridPlacementTypeSpan: {
88
+ return CMasonGridPlacement{value, CMasonGridPlacementType::MasonGridPlacementTypeSpan};
89
+ }
90
+ default:
91
+ // assert ??
92
+ return CMasonGridPlacement{0, CMasonGridPlacementType::MasonGridPlacementTypeAuto};
93
+ }
94
+ }
95
+
96
+ inline static v8::Local<v8::Value>
97
+ lengthPercentageToJS(v8::Isolate *isolate, CMasonLengthPercentage length) {
98
+ switch (length.value_type) {
99
+ case CMasonLengthPercentageType::MasonLengthPercentagePercent: {
100
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
101
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "value"),
102
+ v8::Number::New(isolate, length.value / 100))
103
+ .Check();
104
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "unit"),
105
+ Helpers::ConvertToV8String(isolate, "%"))
106
+ .Check();
107
+ return object;
108
+ }
109
+ case CMasonLengthPercentageType::MasonLengthPercentagePoints: {
110
+
111
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
112
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "value"),
113
+ v8::Number::New(isolate, length.value))
114
+ .Check();
115
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "unit"),
116
+ Helpers::ConvertToV8String(isolate, "px"))
117
+ .Check();
118
+ return object;
119
+ }
120
+ default:
121
+ return v8::Undefined(isolate);
122
+ }
123
+ }
124
+
125
+ inline static CMasonLengthPercentage jsToLengthPercentage(float value, int value_type) {
126
+ switch ((CMasonLengthPercentageType) value_type) {
127
+ case CMasonLengthPercentageType::MasonLengthPercentagePercent: {
128
+ return CMasonLengthPercentage{value,
129
+ CMasonLengthPercentageType::MasonLengthPercentagePercent};
130
+ }
131
+ case CMasonLengthPercentageType::MasonLengthPercentagePoints: {
132
+ return CMasonLengthPercentage{value,
133
+ CMasonLengthPercentageType::MasonLengthPercentagePoints};
134
+ }
135
+ default:
136
+ // assert ??
137
+ return CMasonLengthPercentage{0,
138
+ CMasonLengthPercentageType::MasonLengthPercentagePoints};
139
+ }
140
+ }
141
+
142
+ inline static CMasonLengthPercentageType jsToLengthPercentageType(int value_type) {
143
+ switch ((CMasonLengthPercentageType) value_type) {
144
+ case CMasonLengthPercentageType::MasonLengthPercentagePercent: {
145
+ return CMasonLengthPercentageType::MasonLengthPercentagePercent;
146
+ }
147
+ case CMasonLengthPercentageType::MasonLengthPercentagePoints: {
148
+ return CMasonLengthPercentageType::MasonLengthPercentagePoints;
149
+ }
150
+ default:
151
+ // assert invalid type ???
152
+ return CMasonLengthPercentageType::MasonLengthPercentagePoints;
153
+ }
154
+ }
155
+
156
+ inline static v8::Local<v8::Value>
157
+ lengthPercentageAutoToJS(v8::Isolate *isolate, CMasonLengthPercentageAuto length) {
158
+ switch (length.value_type) {
159
+ case CMasonLengthPercentageAutoType::MasonLengthPercentageAutoAuto:
160
+ return Helpers::ConvertToV8String(isolate, "auto");
161
+ case CMasonLengthPercentageAutoType::MasonLengthPercentageAutoPercent: {
162
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
163
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "value"),
164
+ v8::Number::New(isolate, length.value / 100))
165
+ .Check();
166
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "unit"),
167
+ Helpers::ConvertToV8String(isolate, "%"))
168
+ .Check();
169
+ return object;
170
+ }
171
+ case CMasonLengthPercentageAutoType::MasonLengthPercentageAutoPoints: {
172
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
173
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "value"),
174
+ v8::Number::New(isolate, length.value))
175
+ .Check();
176
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "unit"),
177
+ Helpers::ConvertToV8String(isolate, "px"))
178
+ .Check();
179
+
180
+ return object;
181
+ }
182
+ default:
183
+ return v8::Undefined(isolate);
184
+ }
185
+ }
186
+
187
+ inline static CMasonLengthPercentageAuto jsToLengthPercentageAuto(float value, int value_type) {
188
+ switch ((CMasonLengthPercentageAutoType) value_type) {
189
+ case CMasonLengthPercentageAutoType::MasonLengthPercentageAutoAuto:
190
+ return CMasonLengthPercentageAuto{value,
191
+ CMasonLengthPercentageAutoType::MasonLengthPercentageAutoAuto};
192
+ case CMasonLengthPercentageAutoType::MasonLengthPercentageAutoPercent: {
193
+ return CMasonLengthPercentageAuto{value,
194
+ CMasonLengthPercentageAutoType::MasonLengthPercentageAutoPercent};
195
+ }
196
+ case CMasonLengthPercentageAutoType::MasonLengthPercentageAutoPoints: {
197
+ return CMasonLengthPercentageAuto{value,
198
+ CMasonLengthPercentageAutoType::MasonLengthPercentageAutoPoints};
199
+ }
200
+ default:
201
+ // assert invalid type ???
202
+ return CMasonLengthPercentageAuto{0,
203
+ CMasonLengthPercentageAutoType::MasonLengthPercentageAutoPoints};
204
+ }
205
+ }
206
+
207
+ inline static CMasonLengthPercentageAutoType jsToLengthPercentageAutoType(int value_type) {
208
+ return (CMasonLengthPercentageAutoType) value_type;
209
+ }
210
+
211
+ inline static v8::Local<v8::Value> dimensionToJS(v8::Isolate *isolate, CMasonDimension dimension) {
212
+ switch ((CMasonDimensionType) dimension.value_type) {
213
+ case CMasonDimensionType::MasonDimensionAuto:
214
+ return Helpers::ConvertToV8String(isolate, "auto");
215
+ case CMasonDimensionType::MasonDimensionPercent: {
216
+
217
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
218
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "value"),
219
+ v8::Number::New(isolate, dimension.value / 100))
220
+ .Check();
221
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "unit"),
222
+ Helpers::ConvertToV8String(isolate, "%"))
223
+ .Check();
224
+ return object;
225
+ }
226
+ case CMasonDimensionType::MasonDimensionPoints: {
227
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
228
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "value"),
229
+ v8::Number::New(isolate, dimension.value))
230
+ .Check();
231
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate, "unit"),
232
+ Helpers::ConvertToV8String(isolate, "px"))
233
+ .Check();
234
+ return object;
235
+ }
236
+ default:
237
+ return v8::Undefined(isolate);
238
+ }
239
+ }
240
+
241
+ inline static CMasonDimension jsToDimension(float value, int value_type) {
242
+ switch ((CMasonDimensionType) value_type) {
243
+ case CMasonDimensionType::MasonDimensionAuto:
244
+ return CMasonDimension{value, CMasonDimensionType::MasonDimensionAuto};
245
+ case CMasonDimensionType::MasonDimensionPercent: {
246
+ return CMasonDimension{value, CMasonDimensionType::MasonDimensionPercent};
247
+ }
248
+ case CMasonDimensionType::MasonDimensionPoints: {
249
+ return CMasonDimension{value, CMasonDimensionType::MasonDimensionPoints};
250
+ }
251
+ default:
252
+ // assert invalid type ???
253
+ return CMasonDimension{0, CMasonDimensionType::MasonDimensionPoints};
254
+ }
255
+ }
256
+
257
+ inline static CMasonDimensionType jsToDimensionType(int value_type) {
258
+ return (CMasonDimensionType) value_type;
259
+ }
260
+
261
+ /*
262
+ inline static v8::Local<v8::Value> sizeToJS(v8::Isolate *isolate, CMasonDimensionSize size)
263
+ {
264
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
265
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"width"),
266
+ dimensionToJS(isolate, size.width))
267
+ .Check();
268
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"height"),
269
+ dimensionToJS(isolate, size.width))
270
+ .Check();
271
+ return object;
272
+ }
273
+
274
+ inline static v8::Local<v8::Object>
275
+ sizeToJS(v8::Isolate *isolate, CMasonLengthPercentageSize size)
276
+ {
277
+
278
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
279
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"width"),
280
+ lengthPercentageToJS(isolate, size.width))
281
+ .Check();
282
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"height"),
283
+ lengthPercentageToJS(isolate, size.width))
284
+ .Check();
285
+ return object;
286
+ }
287
+
288
+ inline static v8::Local<v8::Object>
289
+ sizeToJS(v8::Isolate *isolate, CMasonLengthPercentageAutoSize size)
290
+ {
291
+
292
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
293
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"width"),
294
+ lengthPercentageAutoToJS(isolate, size.width))
295
+ .Check();
296
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"height"),
297
+ lengthPercentageAutoToJS(isolate, size.width))
298
+ .Check();
299
+ return object;
300
+ }
301
+
302
+ inline static v8::Local<v8::Object> rectToJS(v8::Isolate *isolate, CMasonDimensionRect rect)
303
+ {
304
+
305
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
306
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"left"),
307
+ dimensionToJS(isolate, rect.left))
308
+ .Check();
309
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"right"),
310
+ dimensionToJS(isolate, rect.right))
311
+ .Check();
312
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"top"),
313
+ dimensionToJS(isolate, rect.top))
314
+ .Check();
315
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"bottom"),
316
+ dimensionToJS(isolate, rect.bottom))
317
+ .Check();
318
+ return object;
319
+ }
320
+
321
+ inline static v8::Local<v8::Object>
322
+ rectToJS(v8::Isolate *isolate, CMasonLengthPercentageRect rect)
323
+ {
324
+
325
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
326
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"left"),
327
+ lengthPercentageToJS(isolate, rect.left))
328
+ .Check();
329
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"right"),
330
+ lengthPercentageToJS(isolate, rect.right))
331
+ .Check();
332
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"top"),
333
+ lengthPercentageToJS(isolate, rect.top))
334
+ .Check();
335
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"bottom"),
336
+ lengthPercentageToJS(isolate, rect.bottom))
337
+ .Check();
338
+ return object;
339
+ }
340
+
341
+ inline static v8::Local<v8::Object>
342
+ rectToJS(v8::Isolate *isolate, CMasonLengthPercentageAutoRect rect)
343
+ {
344
+ v8::Local<v8::Object> object = v8::Object::New((isolate));
345
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"left"),
346
+ lengthPercentageAutoToJS(isolate, rect.left))
347
+ .Check();
348
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"right"),
349
+ lengthPercentageAutoToJS(isolate, rect.right))
350
+ .Check();
351
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"top"),
352
+ lengthPercentageAutoToJS(isolate, rect.top))
353
+ .Check();
354
+ object->Set(isolate->GetCurrentContext(), Helpers::ConvertToV8String(isolate,"bottom"),
355
+ lengthPercentageAutoToJS(isolate, rect.bottom))
356
+ .Check();
357
+ return object;
358
+ }
359
+
360
+ */
361
+
362
+
363
+
364
+ #endif //MASON_HELPERS_H
@@ -0,0 +1,68 @@
1
+ //
2
+ // Created by Osei Fortune on 01/01/2024.
3
+ //
4
+
5
+ #include "MasonImpl.h"
6
+ #include "Caches.h"
7
+
8
+
9
+ void MasonImpl::Init(v8::Isolate *isolate) {
10
+ v8::Locker locker(isolate);
11
+ v8::Isolate::Scope isolate_scope(isolate);
12
+ v8::HandleScope handle_scope(isolate);
13
+
14
+ auto ctor = GetCtor(isolate);
15
+ auto context = isolate->GetCurrentContext();
16
+ auto global = context->Global();
17
+ auto func = ctor->GetFunction(context).ToLocalChecked();
18
+
19
+ global->Set(context, Helpers::ConvertToV8String(isolate, "NSCMason"), func);
20
+ }
21
+
22
+ MasonImpl *MasonImpl::GetPointer(v8::Local<v8::Object> object) {
23
+ auto ptr = object->GetInternalField(0).As<v8::External>()->Value();
24
+ if (ptr == nullptr) {
25
+ return nullptr;
26
+ }
27
+ return static_cast<MasonImpl *>(ptr);
28
+ }
29
+
30
+ v8::Local<v8::FunctionTemplate> MasonImpl::GetCtor(v8::Isolate *isolate) {
31
+ auto cache = Caches::Get(isolate);
32
+ auto ctor = cache->MasonTmpl.get();
33
+ if (ctor != nullptr) {
34
+ return ctor->Get(isolate);
35
+ }
36
+
37
+ v8::Local<v8::FunctionTemplate> ctorTmpl = v8::FunctionTemplate::New(isolate, nullptr);
38
+
39
+ ctorTmpl->InstanceTemplate()->SetInternalFieldCount(1);
40
+ ctorTmpl->SetClassName(Helpers::ConvertToV8String(isolate, "NSCMason"));
41
+
42
+ auto tmpl = ctorTmpl->InstanceTemplate();
43
+ tmpl->SetInternalFieldCount(1);
44
+
45
+
46
+ tmpl->Set(
47
+ Helpers::ConvertToV8String(isolate, "clear"),
48
+ v8::FunctionTemplate::New(isolate, &Clear));
49
+
50
+
51
+ cache->MasonTmpl =
52
+ std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
53
+
54
+ return ctorTmpl;
55
+
56
+ }
57
+
58
+ MasonImpl::MasonImpl(void *mason) : mason_(mason) {}
59
+
60
+
61
+ void MasonImpl::Clear(const v8::FunctionCallbackInfo<v8::Value> &args) {
62
+ auto ptr = GetPointer(args.This());
63
+ if (ptr != nullptr) {
64
+ mason_clear(ptr->mason_);
65
+ }
66
+ }
67
+
68
+
@@ -0,0 +1,40 @@
1
+ //
2
+ // Created by Osei Fortune on 01/01/2024.
3
+ //
4
+
5
+ #ifndef MASON_IMPL_H
6
+ #define MASON_IMPL_H
7
+
8
+ #include "Common.h"
9
+ #include "Helpers.h"
10
+
11
+ class MasonImpl {
12
+ private:
13
+ void *mason_;
14
+
15
+ public:
16
+
17
+ ~MasonImpl() {
18
+ if (mason_ != nullptr) {
19
+ mason_destroy(mason_);
20
+ mason_ = nullptr;
21
+ }
22
+ }
23
+
24
+ void *GetMason() {
25
+ return mason_;
26
+ }
27
+
28
+ MasonImpl(void *mason);
29
+
30
+ static void Init(v8::Isolate *isolate);
31
+
32
+ static MasonImpl *GetPointer(v8::Local<v8::Object> object);
33
+
34
+ static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate);
35
+
36
+ static void Clear(const v8::FunctionCallbackInfo<v8::Value> &args);
37
+ };
38
+
39
+
40
+ #endif //MASON_IMPL_H
@@ -0,0 +1,89 @@
1
+ //
2
+ // Created by Osei Fortune on 01/01/2024.
3
+ //
4
+
5
+ #include "MasonNodeImpl.h"
6
+ #include "Caches.h"
7
+ #include "MasonStyleImpl.h"
8
+
9
+ void MasonNodeImpl::Init(v8::Isolate *isolate) {
10
+ v8::Locker locker(isolate);
11
+ v8::Isolate::Scope isolate_scope(isolate);
12
+ v8::HandleScope handle_scope(isolate);
13
+
14
+ auto ctor = GetCtor(isolate);
15
+ auto context = isolate->GetCurrentContext();
16
+ auto global = context->Global();
17
+ auto func = ctor->GetFunction(context).ToLocalChecked();
18
+
19
+ global->Set(context, Helpers::ConvertToV8String(isolate, "NSCMasonNode"), func);
20
+ }
21
+
22
+ MasonNodeImpl *MasonNodeImpl::GetPointer(v8::Local<v8::Object> object) {
23
+ auto ptr = object->GetInternalField(0).As<v8::External>()->Value();
24
+ if (ptr == nullptr) {
25
+ return nullptr;
26
+ }
27
+ return static_cast<MasonNodeImpl *>(ptr);
28
+ }
29
+
30
+ v8::Local<v8::FunctionTemplate> MasonNodeImpl::GetCtor(v8::Isolate *isolate) {
31
+ auto cache = Caches::Get(isolate);
32
+ auto ctor = cache->MasonNodeTmpl.get();
33
+ if (ctor != nullptr) {
34
+ return ctor->Get(isolate);
35
+ }
36
+
37
+ v8::Local<v8::FunctionTemplate> ctorTmpl = v8::FunctionTemplate::New(isolate, nullptr);
38
+
39
+ ctorTmpl->InstanceTemplate()->SetInternalFieldCount(1);
40
+ ctorTmpl->SetClassName(Helpers::ConvertToV8String(isolate, "NSCMasonNode"));
41
+
42
+ auto tmpl = ctorTmpl->InstanceTemplate();
43
+ tmpl->SetInternalFieldCount(1);
44
+
45
+ tmpl->SetAccessor(
46
+ Helpers::ConvertToV8String(isolate, "style"),
47
+ &GetStyle,
48
+ &SetStyle
49
+ );
50
+
51
+ cache->MasonNodeTmpl =
52
+ std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
53
+
54
+ return ctorTmpl;
55
+
56
+ }
57
+
58
+ MasonNodeImpl::MasonNodeImpl(void *node) : node_(node) {}
59
+
60
+
61
+ void MasonNodeImpl::GetStyle(v8::Local<v8::String> property,
62
+ const v8::PropertyCallbackInfo<v8::Value> &info) {
63
+ auto isolate = info.GetIsolate();
64
+ MasonNodeImpl *ptr = GetPointer(info.This());
65
+ if (ptr == nullptr) {
66
+ info.GetReturnValue().SetNull();
67
+ return;
68
+ }
69
+
70
+ auto value = mason_node_get_style(ptr->node_);
71
+ auto style = new MasonStyleImpl( )
72
+ auto ret = ;
73
+ info.GetReturnValue().Set(Helpers::ConvertToV8String(isolate, parsed));
74
+ }
75
+
76
+ void MasonNodeImpl::SetStyle(v8::Local<v8::String> property,
77
+ v8::Local<v8::Value> value,
78
+ const v8::PropertyCallbackInfo<void> &info) {
79
+ MasonNodeImpl *ptr = GetPointer(info.This());
80
+ if (ptr == nullptr) {
81
+ return;
82
+ }
83
+ auto isolate = info.GetIsolate();
84
+ auto context = isolate->GetCurrentContext();
85
+ auto val = value->Int32Value(context).ToChecked();
86
+ mason_style_set_grid_auto_columns(ptr->style_, val);
87
+ }
88
+
89
+
@@ -0,0 +1,47 @@
1
+ //
2
+ // Created by Osei Fortune on 01/01/2024.
3
+ //
4
+
5
+ #ifndef MASON_NODEIMPL_H
6
+ #define MASON_NODEIMPL_H
7
+
8
+ #include "Common.h"
9
+ #include "Helpers.h"
10
+
11
+ class MasonNodeImpl {
12
+ private:
13
+ void *node_;
14
+ void *style_;
15
+
16
+ public:
17
+
18
+ void *GetNode() const {
19
+ return node_;
20
+ }
21
+
22
+ ~MasonNodeImpl() {
23
+ if (node_ != nullptr) {
24
+ mason_node_destroy(node_);
25
+ node_ = nullptr;
26
+ }
27
+ }
28
+
29
+ MasonNodeImpl(void *node);
30
+
31
+ static void Init(v8::Isolate *isolate);
32
+
33
+ static MasonNodeImpl *GetPointer(v8::Local<v8::Object> object);
34
+
35
+ static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate);
36
+
37
+ static void GetStyle(v8::Local<v8::String> property,
38
+ const v8::PropertyCallbackInfo<v8::Value> &info);
39
+
40
+ static void SetStyle(v8::Local<v8::String> property,
41
+ v8::Local<v8::Value> value,
42
+ const v8::PropertyCallbackInfo<void> &info);
43
+
44
+ };
45
+
46
+
47
+ #endif //MASON_NODEIMPL_H