@triniwiz/nativescript-masonkit 1.0.0-alpha.5 → 1.0.0-alpha.7

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 (345) hide show
  1. package/common.d.ts +7 -9
  2. package/common.js +277 -552
  3. package/common.js.map +1 -1
  4. package/helpers.d.ts +32 -10
  5. package/helpers.js +772 -286
  6. package/helpers.js.map +1 -1
  7. package/index.android.d.ts +6 -2
  8. package/index.android.js +21 -3
  9. package/index.android.js.map +1 -1
  10. package/index.d.ts +64 -7
  11. package/index.ios.d.ts +9 -6
  12. package/index.ios.js +39 -25
  13. package/index.ios.js.map +1 -1
  14. package/package.json +1 -1
  15. package/platforms/android/include.gradle +18 -1
  16. package/platforms/android/masonkit-release.aar +0 -0
  17. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +108 -64
  18. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/mason_native.h +47 -20
  19. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Info.plist +0 -0
  20. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  21. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  22. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +7002 -1194
  23. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +58 -21
  24. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  25. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +58 -21
  26. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  27. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +216 -128
  28. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/mason_native.h +47 -20
  29. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Info.plist +0 -0
  30. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  31. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  32. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  33. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +7002 -1194
  34. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +58 -21
  35. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  36. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +58 -21
  37. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +7002 -1194
  38. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +58 -21
  39. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  40. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +58 -21
  41. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +43 -43
  42. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  43. package/platforms/ios/build.xcconfig +1 -2
  44. package/platforms/ios/src/MasonV8Module.h +583 -0
  45. package/platforms/ios/src/MasonV8Module.mm +1005 -0
  46. package/platforms/ios/src/{include → cpp/include}/mason_native.h +47 -20
  47. package/platforms/ios/src/cpp/include/robin_hood.h +2544 -0
  48. package/platforms/ios/src/module.modulemap +2 -2
  49. package/platforms/new_native_src/cpp/Caches.cpp +36 -0
  50. package/platforms/new_native_src/cpp/Caches.h +42 -0
  51. package/platforms/new_native_src/cpp/Common.h +34 -0
  52. package/platforms/new_native_src/cpp/ConcurrentMap.h +57 -0
  53. package/platforms/new_native_src/cpp/Helpers.cpp +101 -0
  54. package/platforms/new_native_src/cpp/Helpers.h +364 -0
  55. package/platforms/new_native_src/cpp/MasonImpl.cpp +68 -0
  56. package/platforms/new_native_src/cpp/MasonImpl.h +40 -0
  57. package/platforms/new_native_src/cpp/MasonNodeImpl.cpp +89 -0
  58. package/platforms/new_native_src/cpp/MasonNodeImpl.h +47 -0
  59. package/platforms/new_native_src/cpp/MasonStyleImpl.cpp +2181 -0
  60. package/platforms/new_native_src/cpp/MasonStyleImpl.h +420 -0
  61. package/platforms/{ios/Mason.xcframework/ios-arm64/Mason.framework/PrivateHeaders → new_native_src/cpp/include}/mason_native.h +464 -168
  62. package/platforms/new_native_src/cpp/include/robin_hood.h +2544 -0
  63. package/pods/Headers/include/APIDesign.md +72 -0
  64. package/pods/Headers/include/DEPS +10 -0
  65. package/pods/Headers/include/DIR_METADATA +11 -0
  66. package/pods/Headers/include/OWNERS +23 -0
  67. package/pods/Headers/include/cppgc/DEPS +8 -0
  68. package/pods/Headers/include/cppgc/OWNERS +2 -0
  69. package/pods/Headers/include/cppgc/README.md +133 -0
  70. package/pods/Headers/include/cppgc/allocation.h +310 -0
  71. package/pods/Headers/include/cppgc/common.h +29 -0
  72. package/pods/Headers/include/cppgc/cross-thread-persistent.h +465 -0
  73. package/pods/Headers/include/cppgc/custom-space.h +97 -0
  74. package/pods/Headers/include/cppgc/default-platform.h +67 -0
  75. package/pods/Headers/include/cppgc/ephemeron-pair.h +30 -0
  76. package/pods/Headers/include/cppgc/explicit-management.h +100 -0
  77. package/pods/Headers/include/cppgc/garbage-collected.h +106 -0
  78. package/pods/Headers/include/cppgc/heap-consistency.h +266 -0
  79. package/pods/Headers/include/cppgc/heap-state.h +82 -0
  80. package/pods/Headers/include/cppgc/heap-statistics.h +120 -0
  81. package/pods/Headers/include/cppgc/heap.h +206 -0
  82. package/pods/Headers/include/cppgc/internal/api-constants.h +55 -0
  83. package/pods/Headers/include/cppgc/internal/atomic-entry-flag.h +48 -0
  84. package/pods/Headers/include/cppgc/internal/caged-heap-local-data.h +79 -0
  85. package/pods/Headers/include/cppgc/internal/compiler-specific.h +38 -0
  86. package/pods/Headers/include/cppgc/internal/finalizer-trait.h +93 -0
  87. package/pods/Headers/include/cppgc/internal/gc-info.h +156 -0
  88. package/pods/Headers/include/cppgc/internal/logging.h +50 -0
  89. package/pods/Headers/include/cppgc/internal/name-trait.h +122 -0
  90. package/pods/Headers/include/cppgc/internal/persistent-node.h +216 -0
  91. package/pods/Headers/include/cppgc/internal/pointer-policies.h +186 -0
  92. package/pods/Headers/include/cppgc/internal/write-barrier.h +435 -0
  93. package/pods/Headers/include/cppgc/liveness-broker.h +77 -0
  94. package/pods/Headers/include/cppgc/macros.h +26 -0
  95. package/pods/Headers/include/cppgc/member.h +291 -0
  96. package/pods/Headers/include/cppgc/name-provider.h +65 -0
  97. package/pods/Headers/include/cppgc/object-size-trait.h +58 -0
  98. package/pods/Headers/include/cppgc/persistent.h +370 -0
  99. package/pods/Headers/include/cppgc/platform.h +156 -0
  100. package/pods/Headers/include/cppgc/prefinalizer.h +75 -0
  101. package/pods/Headers/include/cppgc/process-heap-statistics.h +36 -0
  102. package/pods/Headers/include/cppgc/sentinel-pointer.h +32 -0
  103. package/pods/Headers/include/cppgc/source-location.h +92 -0
  104. package/pods/Headers/include/cppgc/testing.h +106 -0
  105. package/pods/Headers/include/cppgc/trace-trait.h +116 -0
  106. package/pods/Headers/include/cppgc/type-traits.h +240 -0
  107. package/pods/Headers/include/cppgc/visitor.h +379 -0
  108. package/pods/Headers/include/js_protocol-1.2.json +936 -0
  109. package/pods/Headers/include/js_protocol-1.3.json +1112 -0
  110. package/pods/Headers/include/js_protocol.pdl +1709 -0
  111. package/pods/Headers/include/libffi/arm64/ffi.h +524 -0
  112. package/pods/Headers/include/libffi/arm64/ffitarget.h +92 -0
  113. package/pods/Headers/include/libffi/x86_64/ffi.h +524 -0
  114. package/pods/Headers/include/libffi/x86_64/ffitarget.h +147 -0
  115. package/pods/Headers/include/libffi.h +12 -0
  116. package/pods/Headers/include/libplatform/DEPS +9 -0
  117. package/pods/Headers/include/libplatform/libplatform-export.h +29 -0
  118. package/pods/Headers/include/libplatform/libplatform.h +106 -0
  119. package/pods/Headers/include/libplatform/v8-tracing.h +333 -0
  120. package/pods/Headers/include/v8-array-buffer.h +433 -0
  121. package/pods/Headers/include/v8-callbacks.h +397 -0
  122. package/pods/Headers/include/v8-container.h +129 -0
  123. package/pods/Headers/include/v8-context.h +407 -0
  124. package/pods/Headers/include/v8-cppgc.h +215 -0
  125. package/pods/Headers/include/v8-data.h +80 -0
  126. package/pods/Headers/include/v8-date.h +43 -0
  127. package/pods/Headers/include/v8-debug.h +168 -0
  128. package/pods/Headers/include/v8-embedder-heap.h +218 -0
  129. package/pods/Headers/include/v8-embedder-state-scope.h +51 -0
  130. package/pods/Headers/include/v8-exception.h +217 -0
  131. package/pods/Headers/include/v8-extension.h +62 -0
  132. package/pods/Headers/include/v8-external.h +37 -0
  133. package/pods/Headers/include/v8-fast-api-calls.h +939 -0
  134. package/pods/Headers/include/v8-forward.h +81 -0
  135. package/pods/Headers/include/v8-function-callback.h +475 -0
  136. package/pods/Headers/include/v8-function.h +125 -0
  137. package/pods/Headers/include/v8-initialization.h +315 -0
  138. package/pods/Headers/include/v8-inspector-protocol.h +13 -0
  139. package/pods/Headers/include/v8-inspector.h +376 -0
  140. package/pods/Headers/include/v8-internal.h +661 -0
  141. package/pods/Headers/include/v8-isolate.h +1709 -0
  142. package/pods/Headers/include/v8-json.h +47 -0
  143. package/pods/Headers/include/v8-local-handle.h +455 -0
  144. package/pods/Headers/include/v8-locker.h +149 -0
  145. package/pods/Headers/include/v8-maybe.h +137 -0
  146. package/pods/Headers/include/v8-memory-span.h +43 -0
  147. package/pods/Headers/include/v8-message.h +216 -0
  148. package/pods/Headers/include/v8-metrics.h +255 -0
  149. package/pods/Headers/include/v8-microtask-queue.h +152 -0
  150. package/pods/Headers/include/v8-microtask.h +28 -0
  151. package/pods/Headers/include/v8-object.h +775 -0
  152. package/pods/Headers/include/v8-persistent-handle.h +590 -0
  153. package/pods/Headers/include/v8-platform.h +1092 -0
  154. package/pods/Headers/include/v8-primitive-object.h +118 -0
  155. package/pods/Headers/include/v8-primitive.h +866 -0
  156. package/pods/Headers/include/v8-profiler.h +1198 -0
  157. package/pods/Headers/include/v8-promise.h +174 -0
  158. package/pods/Headers/include/v8-proxy.h +50 -0
  159. package/pods/Headers/include/v8-regexp.h +105 -0
  160. package/pods/Headers/include/v8-script.h +748 -0
  161. package/pods/Headers/include/v8-snapshot.h +196 -0
  162. package/pods/Headers/include/v8-statistics.h +217 -0
  163. package/pods/Headers/include/v8-template.h +1079 -0
  164. package/pods/Headers/include/v8-traced-handle.h +420 -0
  165. package/pods/Headers/include/v8-typed-array.h +282 -0
  166. package/pods/Headers/include/v8-unwinder-state.h +31 -0
  167. package/pods/Headers/include/v8-unwinder.h +132 -0
  168. package/pods/Headers/include/v8-util.h +658 -0
  169. package/pods/Headers/include/v8-value-serializer-version.h +24 -0
  170. package/pods/Headers/include/v8-value-serializer.h +279 -0
  171. package/pods/Headers/include/v8-value.h +526 -0
  172. package/pods/Headers/include/v8-version-string.h +38 -0
  173. package/pods/Headers/include/v8-version.h +20 -0
  174. package/pods/Headers/include/v8-wasm-trap-handler-posix.h +31 -0
  175. package/pods/Headers/include/v8-wasm-trap-handler-win.h +28 -0
  176. package/pods/Headers/include/v8-wasm.h +257 -0
  177. package/pods/Headers/include/v8-weak-callback-info.h +86 -0
  178. package/pods/Headers/include/v8.h +88 -0
  179. package/pods/Headers/include/v8config.h +605 -0
  180. package/pods/Headers/inspector/InspectorServer.h +20 -0
  181. package/pods/Headers/inspector/JsV8InspectorClient.h +66 -0
  182. package/pods/Headers/inspector/base/trace_event/common/trace_event_common.h +1123 -0
  183. package/pods/Headers/inspector/base64.h +9 -0
  184. package/pods/Headers/inspector/src/base/address-region.h +95 -0
  185. package/pods/Headers/inspector/src/base/atomic-utils.h +219 -0
  186. package/pods/Headers/inspector/src/base/atomicops.h +332 -0
  187. package/pods/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +89 -0
  188. package/pods/Headers/inspector/src/base/base-export.h +31 -0
  189. package/pods/Headers/inspector/src/base/bits.h +343 -0
  190. package/pods/Headers/inspector/src/base/build_config.h +234 -0
  191. package/pods/Headers/inspector/src/base/compiler-specific.h +136 -0
  192. package/pods/Headers/inspector/src/base/export-template.h +163 -0
  193. package/pods/Headers/inspector/src/base/flags.h +130 -0
  194. package/pods/Headers/inspector/src/base/immediate-crash.h +162 -0
  195. package/pods/Headers/inspector/src/base/lazy-instance.h +258 -0
  196. package/pods/Headers/inspector/src/base/logging.h +417 -0
  197. package/pods/Headers/inspector/src/base/macros.h +423 -0
  198. package/pods/Headers/inspector/src/base/memory.h +89 -0
  199. package/pods/Headers/inspector/src/base/once.h +108 -0
  200. package/pods/Headers/inspector/src/base/optional.h +882 -0
  201. package/pods/Headers/inspector/src/base/platform/mutex.h +370 -0
  202. package/pods/Headers/inspector/src/base/platform/platform.h +476 -0
  203. package/pods/Headers/inspector/src/base/platform/semaphore.h +108 -0
  204. package/pods/Headers/inspector/src/base/platform/v8-time.h +513 -0
  205. package/pods/Headers/inspector/src/base/platform/wrappers.h +73 -0
  206. package/pods/Headers/inspector/src/base/safe_conversions.h +389 -0
  207. package/pods/Headers/inspector/src/base/safe_conversions_impl.h +822 -0
  208. package/pods/Headers/inspector/src/base/template-utils.h +113 -0
  209. package/pods/Headers/inspector/src/base/v8-fallthrough.h +21 -0
  210. package/pods/Headers/inspector/src/common/checks.h +38 -0
  211. package/pods/Headers/inspector/src/common/globals.h +1842 -0
  212. package/pods/Headers/inspector/src/debug/debug-interface.h +667 -0
  213. package/pods/Headers/inspector/src/debug/interface-types.h +175 -0
  214. package/pods/Headers/inspector/src/init/v8.h +52 -0
  215. package/pods/Headers/inspector/src/inspector/custom-preview.h +24 -0
  216. package/pods/Headers/inspector/src/inspector/injected-script.h +251 -0
  217. package/pods/Headers/inspector/src/inspector/inspected-context.h +79 -0
  218. package/pods/Headers/inspector/src/inspector/protocol/CSS.h +2148 -0
  219. package/pods/Headers/inspector/src/inspector/protocol/Console.h +211 -0
  220. package/pods/Headers/inspector/src/inspector/protocol/DOM.h +1008 -0
  221. package/pods/Headers/inspector/src/inspector/protocol/Debugger.h +892 -0
  222. package/pods/Headers/inspector/src/inspector/protocol/Forward.h +75 -0
  223. package/pods/Headers/inspector/src/inspector/protocol/HeapProfiler.h +346 -0
  224. package/pods/Headers/inspector/src/inspector/protocol/Log.h +342 -0
  225. package/pods/Headers/inspector/src/inspector/protocol/Network.h +2528 -0
  226. package/pods/Headers/inspector/src/inspector/protocol/Overlay.h +281 -0
  227. package/pods/Headers/inspector/src/inspector/protocol/Page.h +1189 -0
  228. package/pods/Headers/inspector/src/inspector/protocol/Profiler.h +1001 -0
  229. package/pods/Headers/inspector/src/inspector/protocol/Protocol.h +617 -0
  230. package/pods/Headers/inspector/src/inspector/protocol/Runtime.h +1696 -0
  231. package/pods/Headers/inspector/src/inspector/protocol/Schema.h +146 -0
  232. package/pods/Headers/inspector/src/inspector/protocol/Security.h +793 -0
  233. package/pods/Headers/inspector/src/inspector/remote-object-id.h +54 -0
  234. package/pods/Headers/inspector/src/inspector/search-util.h +26 -0
  235. package/pods/Headers/inspector/src/inspector/string-16.h +180 -0
  236. package/pods/Headers/inspector/src/inspector/string-util.h +128 -0
  237. package/pods/Headers/inspector/src/inspector/v8-console-agent-impl.h +48 -0
  238. package/pods/Headers/inspector/src/inspector/v8-console-message.h +147 -0
  239. package/pods/Headers/inspector/src/inspector/v8-console.h +173 -0
  240. package/pods/Headers/inspector/src/inspector/v8-css-agent-impl.h +62 -0
  241. package/pods/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +248 -0
  242. package/pods/Headers/inspector/src/inspector/v8-debugger-id.h +44 -0
  243. package/pods/Headers/inspector/src/inspector/v8-debugger-script.h +123 -0
  244. package/pods/Headers/inspector/src/inspector/v8-debugger.h +257 -0
  245. package/pods/Headers/inspector/src/inspector/v8-dom-agent-impl.h +91 -0
  246. package/pods/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +80 -0
  247. package/pods/Headers/inspector/src/inspector/v8-inspector-impl.h +191 -0
  248. package/pods/Headers/inspector/src/inspector/v8-inspector-session-impl.h +156 -0
  249. package/pods/Headers/inspector/src/inspector/v8-log-agent-impl.h +34 -0
  250. package/pods/Headers/inspector/src/inspector/v8-network-agent-impl.h +71 -0
  251. package/pods/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +24 -0
  252. package/pods/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +70 -0
  253. package/pods/Headers/inspector/src/inspector/v8-page-agent-impl.h +88 -0
  254. package/pods/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +104 -0
  255. package/pods/Headers/inspector/src/inspector/v8-regex.h +38 -0
  256. package/pods/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +157 -0
  257. package/pods/Headers/inspector/src/inspector/v8-schema-agent-impl.h +38 -0
  258. package/pods/Headers/inspector/src/inspector/v8-stack-trace-impl.h +164 -0
  259. package/pods/Headers/inspector/src/inspector/v8-string-conversions.h +17 -0
  260. package/pods/Headers/inspector/src/inspector/v8-value-utils.h +23 -0
  261. package/pods/Headers/inspector/src/inspector/value-mirror.h +87 -0
  262. package/pods/Headers/inspector/src/libplatform/default-platform.h +92 -0
  263. package/pods/Headers/inspector/src/logging/tracing-flags.h +50 -0
  264. package/pods/Headers/inspector/src/numbers/conversions.h +183 -0
  265. package/pods/Headers/inspector/src/tracing/trace-event.h +664 -0
  266. package/pods/Headers/inspector/src/utils/allocation.h +367 -0
  267. package/pods/Headers/inspector/src/utils/vector.h +324 -0
  268. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +305 -0
  269. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +314 -0
  270. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +62 -0
  271. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +6 -0
  272. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +58 -0
  273. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +47 -0
  274. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +80 -0
  275. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +52 -0
  276. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +26 -0
  277. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +104 -0
  278. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +39 -0
  279. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +406 -0
  280. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +32 -0
  281. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +158 -0
  282. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +99 -0
  283. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +139 -0
  284. package/pods/Headers/inspector/utils.h +32 -0
  285. package/pods/Headers/inspector/v8-inspector-platform.h +44 -0
  286. package/pods/Headers/jsi/decorator.h +762 -0
  287. package/pods/Headers/jsi/instrumentation.h +117 -0
  288. package/pods/Headers/jsi/jsi-inl.h +322 -0
  289. package/pods/Headers/jsi/jsi.h +1387 -0
  290. package/pods/Headers/jsi/jsilib.h +59 -0
  291. package/pods/Headers/jsi/threadsafe.h +79 -0
  292. package/pods/Headers/runtime/ArgConverter.h +61 -0
  293. package/pods/Headers/runtime/ArrayAdapter.h +13 -0
  294. package/pods/Headers/runtime/Caches.h +98 -0
  295. package/pods/Headers/runtime/ClassBuilder.h +61 -0
  296. package/pods/Headers/runtime/Common.h +9 -0
  297. package/pods/Headers/runtime/ConcurrentMap.h +55 -0
  298. package/pods/Headers/runtime/ConcurrentQueue.h +28 -0
  299. package/pods/Headers/runtime/Console.h +27 -0
  300. package/pods/Headers/runtime/Constants.h +15 -0
  301. package/pods/Headers/runtime/DataWrapper.h +671 -0
  302. package/pods/Headers/runtime/DictionaryAdapter.h +13 -0
  303. package/pods/Headers/runtime/ExtVector.h +21 -0
  304. package/pods/Headers/runtime/FFICall.h +105 -0
  305. package/pods/Headers/runtime/FastEnumerationAdapter.h +13 -0
  306. package/pods/Headers/runtime/FunctionReference.h +18 -0
  307. package/pods/Headers/runtime/Helpers.h +84 -0
  308. package/pods/Headers/runtime/InlineFunctions.h +16 -0
  309. package/pods/Headers/runtime/Interop.h +202 -0
  310. package/pods/Headers/runtime/KnownUnknownClassPair.h +35 -0
  311. package/pods/Headers/runtime/Metadata.h +981 -0
  312. package/pods/Headers/runtime/MetadataBuilder.h +72 -0
  313. package/pods/Headers/runtime/MetadataInlines.h +157 -0
  314. package/pods/Headers/runtime/ModuleInternal.h +59 -0
  315. package/pods/Headers/runtime/NSDataAdapter.h +13 -0
  316. package/pods/Headers/runtime/NativeScriptException.h +27 -0
  317. package/pods/Headers/runtime/ObjectManager.h +31 -0
  318. package/pods/Headers/runtime/OneByteStringResource.h +21 -0
  319. package/pods/Headers/runtime/Pointer.h +26 -0
  320. package/pods/Headers/runtime/PromiseProxy.h +15 -0
  321. package/pods/Headers/runtime/Reference.h +38 -0
  322. package/pods/Headers/runtime/Runtime.h +67 -0
  323. package/pods/Headers/runtime/RuntimeConfig.h +17 -0
  324. package/pods/Headers/runtime/SetTimeout.h +34 -0
  325. package/pods/Headers/runtime/SimpleAllocator.h +23 -0
  326. package/pods/Headers/runtime/StringHasher.h +315 -0
  327. package/pods/Headers/runtime/SymbolIterator.h +18 -0
  328. package/pods/Headers/runtime/SymbolLoader.h +27 -0
  329. package/pods/Headers/runtime/TNSDerivedClass.h +8 -0
  330. package/pods/Headers/runtime/TSHelpers.h +15 -0
  331. package/pods/Headers/runtime/Tasks.h +19 -0
  332. package/pods/Headers/runtime/UnmanagedType.h +21 -0
  333. package/pods/Headers/runtime/WeakRef.h +15 -0
  334. package/pods/Headers/runtime/Worker.h +26 -0
  335. package/pods/Headers/runtime/robin_hood.h +2184 -0
  336. package/pods/Headers/v8runtime/HostProxy.h +71 -0
  337. package/pods/Headers/v8runtime/JSIV8ValueConverter.h +70 -0
  338. package/pods/Headers/v8runtime/V8PointerValue.h +44 -0
  339. package/pods/Headers/v8runtime/V8Runtime.h +215 -0
  340. package/pods/Headers/v8runtime/V8RuntimeConfig.h +26 -0
  341. package/pods/Headers/v8runtime/V8RuntimeFactory.h +21 -0
  342. package/pods/NativeScript.podspec +68 -0
  343. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/PrivateHeaders/mason_native.h +0 -676
  344. package/platforms/ios/src/JSIModule.h +0 -217
  345. package/platforms/ios/src/JSIModule.mm +0 -2788
@@ -0,0 +1,72 @@
1
+ #ifndef MetadataBuilder_h
2
+ #define MetadataBuilder_h
3
+
4
+ #include "robin_hood.h"
5
+ #include "libffi.h"
6
+ #include "Common.h"
7
+ #include "Metadata.h"
8
+ #include "ClassBuilder.h"
9
+ #include "DataWrapper.h"
10
+
11
+ namespace tns {
12
+
13
+ class MetadataBuilder {
14
+ public:
15
+ static void RegisterConstantsOnGlobalObject(v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate, bool isWorkerThread);
16
+ static v8::Local<v8::FunctionTemplate> GetOrCreateConstructorFunctionTemplate(v8::Local<v8::Context> context, const BaseClassMeta* meta, KnownUnknownClassPair pair, const std::vector<std::string>& additionalProtocols = std::vector<std::string>());
17
+ static v8::Local<v8::Function> GetOrCreateStructCtorFunction(v8::Local<v8::Context> context, StructInfo structInfo);
18
+ static void StructPropertyGetterCallback(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info);
19
+ static void StructPropertySetterCallback(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info);
20
+ private:
21
+ static v8::Local<v8::FunctionTemplate> GetOrCreateConstructorFunctionTemplateInternal(v8::Local<v8::Context> context, const BaseClassMeta* meta, KnownUnknownClassPair pair, robin_hood::unordered_map<std::string, uint8_t>& instanceMembers, robin_hood::unordered_map<std::string, uint8_t>& staticMembers, const std::vector<std::string>& additionalProtocols = std::vector<std::string>());
22
+ static void GlobalPropertyGetter(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info);
23
+ static void ClassConstructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
24
+ static void AllocCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
25
+ static void MethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
26
+ static void CFunctionCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
27
+ static void PropertyGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
28
+ static void PropertySetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
29
+ static void PropertyNameGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value> &info);
30
+ static void PropertyNameSetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<void> &info);
31
+ static void StructConstructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
32
+ static void StructEqualsCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
33
+ static void ToStringFunctionCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
34
+ static std::pair<ffi_type*, void*> GetStructData(v8::Local<v8::Context> context, v8::Local<v8::Object> initializer, StructInfo structInfo);
35
+
36
+ static v8::Local<v8::Value> InvokeMethod(v8::Local<v8::Context> context, const MethodMeta* meta, v8::Local<v8::Object> receiver, V8Args& args, std::string containingClass, bool isMethodCallback);
37
+ static void RegisterAllocMethod(v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> ctorFuncTemplate, const InterfaceMeta* interfaceMeta);
38
+ static void RegisterInstanceMethods(v8::Local<v8::Context> context, v8::Local<v8::FunctionTemplate> ctorFuncTemplate, const BaseClassMeta* meta, KnownUnknownClassPair pair, robin_hood::unordered_map<std::string, uint8_t>& names);
39
+ static void RegisterInstanceProperties(v8::Local<v8::Context> context, v8::Local<v8::FunctionTemplate> ctorFuncTemplate, const BaseClassMeta* meta, std::string className, KnownUnknownClassPair pair, robin_hood::unordered_map<std::string, uint8_t>& names);
40
+ static void RegisterInstanceProtocols(v8::Local<v8::Context> context, v8::Local<v8::FunctionTemplate> ctorFuncTemplate, const BaseClassMeta* meta, std::string className, KnownUnknownClassPair pair, robin_hood::unordered_map<std::string, uint8_t>& names);
41
+ static void RegisterAdditionalProtocols(v8::Local<v8::Context> context, v8::Local<v8::FunctionTemplate> ctorFuncTemplate, KnownUnknownClassPair pair, const std::vector<std::string>& additionalProtocols, robin_hood::unordered_map<std::string, uint8_t>& names);
42
+ static void RegisterStaticMethods(v8::Local<v8::Context> context, v8::Local<v8::Function> ctorFunc, const BaseClassMeta* meta, KnownUnknownClassPair pair, robin_hood::unordered_map<std::string, uint8_t>& names);
43
+ static void RegisterStaticProperties(v8::Local<v8::Context> context, v8::Local<v8::Function> ctorFunc, const BaseClassMeta* meta, const std::string className, KnownUnknownClassPair pair, robin_hood::unordered_map<std::string, uint8_t>& names);
44
+ static void RegisterStaticProtocols(v8::Local<v8::Context> context, v8::Local<v8::Function> ctorFunc, const BaseClassMeta* meta, const std::string className, KnownUnknownClassPair pair, robin_hood::unordered_map<std::string, uint8_t>& names);
45
+ static void DefineFunctionLengthProperty(v8::Local<v8::Context> context, const TypeEncodingsList<ArrayCount>* encodings, v8::Local<v8::Function> func);
46
+
47
+ static void SwizzledInstanceMethodCallback(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info);
48
+ static void SwizzledPropertyCallback(v8::Local<v8::Name> property, const v8::PropertyDescriptor& desc, const v8::PropertyCallbackInfo<v8::Value>& info);
49
+
50
+ struct GlobalHandlerContext {
51
+ GlobalHandlerContext(bool isWorkerThread): isWorkerThread_(isWorkerThread) {
52
+ }
53
+ bool isWorkerThread_;
54
+ };
55
+
56
+ template<class T>
57
+ struct CacheItem {
58
+ CacheItem(const T* meta, const std::string className, void* userData = nullptr)
59
+ : meta_(meta),
60
+ className_(className),
61
+ userData_(userData) {
62
+ static_assert(std::is_base_of<Meta, T>::value, "Derived not derived from Meta");
63
+ }
64
+ const T* meta_;
65
+ const std::string className_;
66
+ void* userData_;
67
+ };
68
+ };
69
+
70
+ }
71
+
72
+ #endif /* MetadataBuilder_h */
@@ -0,0 +1,157 @@
1
+ #ifndef MetadataInlines_h
2
+ #define MetadataInlines_h
3
+
4
+ #include <objc/runtime.h>
5
+ #include "StringHasher.h"
6
+
7
+ namespace tns {
8
+
9
+ void LogMetadataUnavailable(const char* identifierString, uint8_t majorVersion, uint8_t minorVersion, const char* baseName);
10
+
11
+ inline size_t compareIdentifiers(const char* nullTerminated, const char* notNullTerminated, size_t length) {
12
+ int result = strncmp(nullTerminated, notNullTerminated, length);
13
+ return (result == 0) ? strlen(nullTerminated) - length : result;
14
+ }
15
+
16
+ // GlobalTable
17
+
18
+ template <GlobalTableType TYPE>
19
+ const InterfaceMeta* GlobalTable<TYPE>::findInterfaceMeta(const char* identifierString) const {
20
+ unsigned hash = WTF::StringHasher::computeHashAndMaskTop8Bits<LChar>(reinterpret_cast<const LChar*>(identifierString));
21
+ return this->findInterfaceMeta(identifierString, strlen(identifierString), hash);
22
+ }
23
+
24
+ template <GlobalTableType TYPE>
25
+ const InterfaceMeta* GlobalTable<TYPE>::findInterfaceMeta(const char* identifierString, size_t length, unsigned hash) const {
26
+ const Meta* meta = this->findMeta(identifierString, length, hash, /*onlyIfAvailable*/ false);
27
+ if (meta == nullptr) {
28
+ return nullptr;
29
+ }
30
+
31
+ // Meta should be an interface, but it could also be a protocol in case of a
32
+ // private interface having the same name as a public protocol
33
+ assert(meta->type() == MetaType::Interface || (meta->type() == MetaType::ProtocolType && objc_getClass(meta->name()) != nullptr && objc_getProtocol(meta->name()) != nullptr));
34
+
35
+ if (meta->type() != MetaType::Interface) {
36
+ return nullptr;
37
+ }
38
+
39
+ const InterfaceMeta* interfaceMeta = static_cast<const InterfaceMeta*>(meta);
40
+ if (interfaceMeta->isAvailable()) {
41
+ return interfaceMeta;
42
+ } else {
43
+ const char* baseName = interfaceMeta->baseName();
44
+
45
+ tns::LogMetadataUnavailable(
46
+ std::string(identifierString, length).c_str(),
47
+ getMajorVersion(interfaceMeta->introducedIn()),
48
+ getMinorVersion(interfaceMeta->introducedIn()),
49
+ baseName
50
+ );
51
+
52
+ return this->findInterfaceMeta(baseName);
53
+ }
54
+ }
55
+
56
+ template <GlobalTableType TYPE>
57
+ const ProtocolMeta* GlobalTable<TYPE>::findProtocol(const char* identifierString) const {
58
+ unsigned hash = WTF::StringHasher::computeHashAndMaskTop8Bits<LChar>(reinterpret_cast<const LChar*>(identifierString));
59
+ return this->findProtocol(identifierString, strlen(identifierString), hash);
60
+ }
61
+
62
+ template <GlobalTableType TYPE>
63
+ const ProtocolMeta* GlobalTable<TYPE>::findProtocol(const char* identifierString, size_t length, unsigned hash) const {
64
+ // Do not check for availability when returning a protocol. Apple regularly create new protocols and move
65
+ // existing interface members there (e.g. iOS 12.0 introduced the UIFocusItemScrollableContainer protocol
66
+ // in UIKit which contained members that have existed in UIScrollView since iOS 2.0)
67
+
68
+ auto meta = this->findMeta(identifierString, length, hash, /*onlyIfAvailable*/ false);
69
+ ASSERT(!meta || meta->type() == ProtocolType);
70
+ return static_cast<const ProtocolMeta*>(meta);
71
+ }
72
+
73
+ template <GlobalTableType TYPE>
74
+ const Meta* GlobalTable<TYPE>::findMeta(const char* identifierString, bool onlyIfAvailable) const {
75
+ unsigned hash = WTF::StringHasher::computeHashAndMaskTop8Bits<LChar>(reinterpret_cast<const LChar*>(identifierString));
76
+ return this->findMeta(identifierString, strlen(identifierString), hash, onlyIfAvailable);
77
+ }
78
+
79
+ template <GlobalTableType TYPE>
80
+ const Meta* GlobalTable<TYPE>::findMeta(const char* identifierString, size_t length, unsigned hash, bool onlyIfAvailable) const {
81
+ int bucketIndex = hash % buckets.count;
82
+ if (this->buckets[bucketIndex].isNull()) {
83
+ return nullptr;
84
+ }
85
+ const ArrayOfPtrTo<Meta>& bucketContent = buckets[bucketIndex].value();
86
+ for (ArrayOfPtrTo<Meta>::iterator it = bucketContent.begin(); it != bucketContent.end(); it++) {
87
+ const Meta* meta = (*it).valuePtr();
88
+ if (this->compareName(*meta, identifierString, length)) {
89
+ return onlyIfAvailable ? (meta->isAvailable() ? meta : nullptr) : meta;
90
+ }
91
+ }
92
+ return nullptr;
93
+ }
94
+
95
+ template <>
96
+ inline bool GlobalTable<ByJsName>::compareName(const Meta& meta, const char* identifierString, size_t length) {
97
+ return compareIdentifiers(meta.jsName(), identifierString, length) == 0;
98
+ }
99
+
100
+ template <>
101
+ inline bool GlobalTable<ByNativeName>::compareName(const Meta& meta, const char* identifierString, size_t length) {
102
+ return compareIdentifiers(meta.name(), identifierString, length) == 0 || (meta.hasDemangledName() && compareIdentifiers(meta.demangledName(), identifierString, length) == 0);
103
+ }
104
+
105
+ // GlobalTable::iterator
106
+
107
+ template <GlobalTableType TYPE>
108
+ const Meta* GlobalTable<TYPE>::iterator::getCurrent() {
109
+ return this->_globalTable->buckets[_topLevelIndex].value()[_bucketIndex].valuePtr();
110
+ }
111
+
112
+ template <GlobalTableType TYPE>
113
+ typename GlobalTable<TYPE>::iterator& GlobalTable<TYPE>::iterator::operator++() {
114
+ this->_bucketIndex++;
115
+ this->findNext();
116
+ return *this;
117
+ }
118
+
119
+ template <GlobalTableType TYPE>
120
+ const Meta* GlobalTable<TYPE>::iterator::operator*() {
121
+ return this->getCurrent();
122
+ }
123
+
124
+ template <GlobalTableType TYPE>
125
+ bool GlobalTable<TYPE>::iterator::operator==(const iterator& other) const {
126
+ return _globalTable == other._globalTable && _topLevelIndex == other._topLevelIndex && _bucketIndex == other._bucketIndex;
127
+ }
128
+
129
+ template <GlobalTableType TYPE>
130
+ bool GlobalTable<TYPE>::iterator::operator!=(const iterator& other) const {
131
+ return !(*this == other);
132
+ }
133
+
134
+ template <GlobalTableType TYPE>
135
+ void GlobalTable<TYPE>::iterator::findNext() {
136
+ if (this->_topLevelIndex == this->_globalTable->buckets.count) {
137
+ return;
138
+ }
139
+
140
+ do {
141
+ if (!this->_globalTable->buckets[_topLevelIndex].isNull()) {
142
+ int bucketLength = this->_globalTable->buckets[_topLevelIndex].value().count;
143
+ while (this->_bucketIndex < bucketLength) {
144
+ if (this->getCurrent() != nullptr) {
145
+ return;
146
+ }
147
+ this->_bucketIndex++;
148
+ }
149
+ }
150
+ this->_bucketIndex = 0;
151
+ this->_topLevelIndex++;
152
+ } while (this->_topLevelIndex < this->_globalTable->buckets.count);
153
+ }
154
+
155
+ } // namespace tns
156
+
157
+ #endif /* MetadataInlines_h */
@@ -0,0 +1,59 @@
1
+ #ifndef ModuleInternal_h
2
+ #define ModuleInternal_h
3
+
4
+ #include "Common.h"
5
+ #include "robin_hood.h"
6
+
7
+ namespace tns {
8
+
9
+ class ModuleInternal {
10
+ public:
11
+ ModuleInternal(v8::Local<v8::Context> context);
12
+ bool RunModule(v8::Isolate* isolate, std::string path);
13
+ private:
14
+ static void RequireCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
15
+ v8::Local<v8::Function> GetRequireFunction(v8::Isolate* isolate, const std::string& dirName);
16
+ v8::Local<v8::Object> LoadImpl(v8::Isolate* isolate, const std::string& moduleName, const std::string& baseDir, bool& isData);
17
+ v8::Local<v8::Script> LoadScript(v8::Isolate* isolate, const std::string& path);
18
+ v8::Local<v8::String> WrapModuleContent(v8::Isolate* isolate, const std::string& path);
19
+ v8::Local<v8::Object> LoadModule(v8::Isolate* isolate, const std::string& modulePath, const std::string& cacheKey);
20
+ v8::Local<v8::Object> LoadData(v8::Isolate* isolate, const std::string& modulePath);
21
+ std::string ResolvePath(v8::Isolate* isolate, const std::string& baseDir, const std::string& moduleName);
22
+ std::string ResolvePathFromPackageJson(const std::string& packageJson, bool& error);
23
+ v8::ScriptCompiler::CachedData* LoadScriptCache(const std::string& path);
24
+ void SaveScriptCache(const v8::Local<v8::Script> script, const std::string& path);
25
+ std::string GetCacheFileName(const std::string& path);
26
+
27
+ std::unique_ptr<v8::Persistent<v8::Function>> requireFunction_;
28
+ std::unique_ptr<v8::Persistent<v8::Function>> requireFactoryFunction_;
29
+ robin_hood::unordered_map<std::string, std::shared_ptr<v8::Persistent<v8::Object>>> loadedModules_;
30
+
31
+ struct TempModule {
32
+ public:
33
+ TempModule(ModuleInternal* module, std::string modulePath, std::string cacheKey, std::shared_ptr<v8::Persistent<v8::Object>> poModuleObj)
34
+ : module_(module), dispose_(true), modulePath_(modulePath), cacheKey_(cacheKey) {
35
+ module->loadedModules_.emplace(modulePath, poModuleObj);
36
+ module->loadedModules_.emplace(cacheKey, poModuleObj);
37
+ }
38
+
39
+ ~TempModule() {
40
+ if (this->dispose_) {
41
+ this->module_->loadedModules_.erase(modulePath_);
42
+ this->module_->loadedModules_.erase(cacheKey_);
43
+ }
44
+ }
45
+
46
+ void SaveToCache() {
47
+ this->dispose_ = false;
48
+ }
49
+ private:
50
+ ModuleInternal* module_;
51
+ bool dispose_;
52
+ std::string modulePath_;
53
+ std::string cacheKey_;
54
+ };
55
+ };
56
+
57
+ }
58
+
59
+ #endif /* ModuleInternal_h */
@@ -0,0 +1,13 @@
1
+ #ifndef NSDataAdapter_h
2
+ #define NSDataAdapter_h
3
+
4
+ #import <Foundation/NSData.h>
5
+ #include "Common.h"
6
+
7
+ @interface NSDataAdapter : NSMutableData
8
+
9
+ - (instancetype)initWithJSObject:(v8::Local<v8::Object>)jsObject isolate:(v8::Isolate*)isolate;
10
+
11
+ @end
12
+
13
+ #endif /* NSDataAdapter_h */
@@ -0,0 +1,27 @@
1
+ #ifndef NativeScriptException_h
2
+ #define NativeScriptException_h
3
+
4
+ #include "Common.h"
5
+ #include <string>
6
+
7
+ namespace tns {
8
+
9
+ class NativeScriptException {
10
+ public:
11
+ NativeScriptException(const std::string& message);
12
+ NativeScriptException(v8::Isolate* isolate, v8::TryCatch& tc, const std::string& message);
13
+ void ReThrowToV8(v8::Isolate* isolate);
14
+ static void OnUncaughtError(v8::Local<v8::Message> message, v8::Local<v8::Value> error);
15
+ private:
16
+ v8::Persistent<v8::Value>* javascriptException_;
17
+ std::string message_;
18
+ std::string stackTrace_;
19
+ std::string fullMessage_;
20
+ static std::string GetErrorStackTrace(v8::Isolate* isolate, const v8::Local<v8::StackTrace>& stackTrace);
21
+ static std::string GetErrorMessage(v8::Isolate* isolate, v8::Local<v8::Value>& error, const std::string& prependMessage = "");
22
+ static std::string GetFullMessage(v8::Isolate* isolate, const v8::TryCatch& tc, const std::string& jsExceptionMessage);
23
+ };
24
+
25
+ }
26
+
27
+ #endif /* NativeScriptException_h */
@@ -0,0 +1,31 @@
1
+ #ifndef ObjectManager_h
2
+ #define ObjectManager_h
3
+
4
+ #include "Common.h"
5
+
6
+ namespace tns {
7
+
8
+ class ObjectManager;
9
+
10
+ struct ObjectWeakCallbackState {
11
+ ObjectWeakCallbackState(std::shared_ptr<v8::Persistent<v8::Value>> target) : target_(target) {
12
+ }
13
+
14
+ std::shared_ptr<v8::Persistent<v8::Value>> target_;
15
+ };
16
+
17
+ class ObjectManager {
18
+ public:
19
+ static void Init(v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
20
+ static std::shared_ptr<v8::Persistent<v8::Value>> Register(v8::Local<v8::Context> context, const v8::Local<v8::Value> obj);
21
+ static void FinalizerCallback(const v8::WeakCallbackInfo<ObjectWeakCallbackState>& data);
22
+ private:
23
+ static bool DisposeValue(v8::Isolate* isolate, v8::Local<v8::Value> value);
24
+ static void ReleaseNativeCounterpartCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
25
+ static long GetRetainCount(id obj);
26
+ static bool IsInstanceOf(id obj, Class clazz);
27
+ };
28
+
29
+ }
30
+
31
+ #endif /* ObjectManager_h */
@@ -0,0 +1,21 @@
1
+ #ifndef OneByteStringResource_h
2
+ #define OneByteStringResource_h
3
+
4
+ #include "Common.h"
5
+
6
+ namespace tns {
7
+
8
+ class OneByteStringResource : public v8::String::ExternalOneByteStringResource {
9
+ public:
10
+ OneByteStringResource(const char* data, size_t length);
11
+ ~OneByteStringResource() override;
12
+ const char* data() const override;
13
+ size_t length() const override;
14
+ private:
15
+ const char* data_;
16
+ size_t length_;
17
+ };
18
+
19
+ }
20
+
21
+ #endif /* OneByteStringResource_h */
@@ -0,0 +1,26 @@
1
+ #ifndef Pointer_h
2
+ #define Pointer_h
3
+
4
+ #include "Common.h"
5
+ #include "DataWrapper.h"
6
+
7
+ namespace tns {
8
+
9
+ class Pointer {
10
+ public:
11
+ static void Register(v8::Local<v8::Context> context, v8::Local<v8::Object> interop);
12
+ static v8::Local<v8::Value> NewInstance(v8::Local<v8::Context> context, void* handle);
13
+ private:
14
+ static v8::Local<v8::Function> GetPointerCtorFunc(v8::Local<v8::Context> context);
15
+ static void PointerConstructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
16
+ static void RegisterAddMethod(v8::Local<v8::Context> context, v8::Local<v8::Object> prototype);
17
+ static void RegisterSubtractMethod(v8::Local<v8::Context> context, v8::Local<v8::Object> prototype);
18
+ static void RegisterToStringMethod(v8::Local<v8::Context> context, v8::Local<v8::Object> prototype);
19
+ static void RegisterToHexStringMethod(v8::Local<v8::Context> context, v8::Local<v8::Object> prototype);
20
+ static void RegisterToDecimalStringMethod(v8::Local<v8::Context> context, v8::Local<v8::Object> prototype);
21
+ static void RegisterToNumberMethod(v8::Local<v8::Context> context, v8::Local<v8::Object> prototype);
22
+ };
23
+
24
+ }
25
+
26
+ #endif /* Pointer_h */
@@ -0,0 +1,15 @@
1
+ #ifndef PromiseProxy_h
2
+ #define PromiseProxy_h
3
+
4
+ #include "Common.h"
5
+
6
+ namespace tns {
7
+
8
+ class PromiseProxy {
9
+ public:
10
+ static void Init(v8::Local<v8::Context> context);
11
+ };
12
+
13
+ }
14
+
15
+ #endif /* PromiseProxy_h */
@@ -0,0 +1,38 @@
1
+ #ifndef Reference_h
2
+ #define Reference_h
3
+
4
+ #include "DataWrapper.h"
5
+ #include "Common.h"
6
+
7
+ namespace tns {
8
+
9
+ class Reference {
10
+ public:
11
+ static void Register(v8::Local<v8::Context> context, v8::Local<v8::Object> interop);
12
+ static v8::Local<v8::Value> FromPointer(v8::Local<v8::Context> context, v8::Local<v8::Value> type, void* handle);
13
+ static v8::Local<v8::Function> GetInteropReferenceCtorFunc(v8::Local<v8::Context> context);
14
+ static void* GetWrappedPointer(v8::Local<v8::Context> context, v8::Local<v8::Value> reference, const TypeEncoding* typeEncoding);
15
+ private:
16
+ struct DataPair {
17
+ DataPair(const TypeEncoding* typeEncoding, void* data, size_t size): typeEncoding_(typeEncoding), data_(data), size_(size) {
18
+ }
19
+
20
+ const TypeEncoding* typeEncoding_;
21
+ void* data_;
22
+ size_t size_;
23
+ };
24
+
25
+ static v8::Local<v8::Value> GetReferredValue(v8::Local<v8::Context> context, v8::Local<v8::Value> value);
26
+ static void ReferenceConstructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
27
+ static void IndexedPropertyGetCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info);
28
+ static void IndexedPropertySetCallback(uint32_t index, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info);
29
+
30
+ static void GetValueCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info);
31
+ static void SetValueCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<void>& info);
32
+ static void RegisterToStringMethod(v8::Local<v8::Context> context, v8::Local<v8::Object> prototype);
33
+ static DataPair GetTypeEncodingDataPair(v8::Local<v8::Object> obj);
34
+ };
35
+
36
+ }
37
+
38
+ #endif /* Reference_h */
@@ -0,0 +1,67 @@
1
+ #ifndef Runtime_h
2
+ #define Runtime_h
3
+
4
+ #include "libplatform/libplatform.h"
5
+ #include "Common.h"
6
+ #include "ModuleInternal.h"
7
+ #include "MetadataBuilder.h"
8
+
9
+ namespace tns {
10
+
11
+ class Runtime {
12
+ public:
13
+ Runtime();
14
+ ~Runtime();
15
+ v8::Isolate* CreateIsolate();
16
+ void Init(v8::Isolate* isolate);
17
+ void RunMainScript();
18
+ v8::Isolate* GetIsolate();
19
+
20
+ const int WorkerId();
21
+
22
+ void SetWorkerId(int workerId);
23
+
24
+ void RunModule(const std::string moduleName);
25
+
26
+ static void Initialize();
27
+
28
+ static Runtime* GetCurrentRuntime() {
29
+ return currentRuntime_;
30
+ }
31
+
32
+ static bool IsWorker() {
33
+ if (currentRuntime_ == nullptr) {
34
+ return false;
35
+ }
36
+
37
+ return currentRuntime_->WorkerId() > 0;
38
+ }
39
+
40
+ static std::shared_ptr<v8::Platform> GetPlatform() {
41
+ return platform_;
42
+ }
43
+
44
+ static id GetAppConfigValue(std::string key);
45
+
46
+ static bool IsAlive(v8::Isolate* isolate);
47
+ private:
48
+ static thread_local Runtime* currentRuntime_;
49
+ static std::shared_ptr<v8::Platform> platform_;
50
+ static std::vector<v8::Isolate*> isolates_;
51
+ static bool mainThreadInitialized_;
52
+
53
+ void DefineGlobalObject(v8::Local<v8::Context> context);
54
+ void DefineCollectFunction(v8::Local<v8::Context> context);
55
+ void DefineNativeScriptVersion(v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
56
+ void DefinePerformanceObject(v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
57
+ void DefineTimeMethod(v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
58
+ void DefineDrainMicrotaskMethod(v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
59
+ static void PerformanceNowCallback(const v8::FunctionCallbackInfo<v8::Value>& args);
60
+ v8::Isolate* isolate_;
61
+ std::unique_ptr<ModuleInternal> moduleInternal_;
62
+ int workerId_;
63
+ };
64
+
65
+ }
66
+
67
+ #endif /* Runtime_h */
@@ -0,0 +1,17 @@
1
+ #ifndef RuntimeConfig_h
2
+ #define RuntimeConfig_h
3
+
4
+ #include <sys/types.h>
5
+ #include <string>
6
+
7
+ struct RuntimeConfig {
8
+ std::string BaseDir;
9
+ std::string ApplicationPath;
10
+ void* MetadataPtr;
11
+ bool IsDebug;
12
+ bool LogToSystemConsole;
13
+ };
14
+
15
+ extern struct RuntimeConfig RuntimeConfig;
16
+
17
+ #endif /* RuntimeConfig_h */
@@ -0,0 +1,34 @@
1
+ #ifndef SetTimeout_h
2
+ #define SetTimeout_h
3
+
4
+ #include "Common.h"
5
+ #include "robin_hood.h"
6
+
7
+ namespace tns {
8
+
9
+ class SetTimeout {
10
+ public:
11
+ static void Init(v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> globalTemplate);
12
+ private:
13
+ static void SetTimeoutCallback(const v8::FunctionCallbackInfo<v8::Value>& args);
14
+ static void ClearTimeoutCallback(const v8::FunctionCallbackInfo<v8::Value>& args);
15
+ static void Elapsed(const uint32_t key);
16
+ static void RemoveKey(const uint32_t key);
17
+ static uint32_t count_;
18
+
19
+ struct CacheEntry {
20
+ CacheEntry(v8::Isolate* isolate, v8::Persistent<v8::Function>* callback)
21
+ : isolate_(isolate),
22
+ callback_(callback) {
23
+ }
24
+
25
+ v8::Isolate* isolate_;
26
+ v8::Persistent<v8::Function>* callback_;
27
+ };
28
+
29
+ static robin_hood::unordered_map<uint32_t, CacheEntry> cache_;
30
+ };
31
+
32
+ }
33
+
34
+ #endif /* SetTimeout_h */
@@ -0,0 +1,23 @@
1
+ #ifndef SimpleAllocator_h
2
+ #define SimpleAllocator_h
3
+
4
+ #include "Common.h"
5
+
6
+ namespace tns {
7
+
8
+ class SimpleAllocator: public v8::ArrayBuffer::Allocator {
9
+ public:
10
+ SimpleAllocator();
11
+
12
+ ~SimpleAllocator() override;
13
+
14
+ void* Allocate(size_t length) override;
15
+
16
+ void* AllocateUninitialized(size_t length) override;
17
+
18
+ void Free(void* data, size_t length) override;
19
+ };
20
+
21
+ }
22
+
23
+ #endif /* SimpleAllocator_h */