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

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 +10744 -1631
  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 +10744 -1631
  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 +10744 -1631
  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,617 @@
1
+ // This file is generated by Values_h.template.
2
+
3
+ // Copyright 2016 The Chromium Authors. All rights reserved.
4
+ // Use of this source code is governed by a BSD-style license that can be
5
+ // found in the LICENSE file.
6
+
7
+ #ifndef v8_inspector_protocol_Values_h
8
+ #define v8_inspector_protocol_Values_h
9
+
10
+ //#include "Allocator.h"
11
+ //#include "Forward.h"
12
+
13
+ #include "src/inspector/protocol/Forward.h"
14
+
15
+ namespace v8_inspector {
16
+ namespace protocol {
17
+
18
+ class ListValue;
19
+ class DictionaryValue;
20
+ class Value;
21
+
22
+ #define PROTOCOL_DISALLOW_COPY(ClassName) \
23
+ private: \
24
+ ClassName(const ClassName&) = delete; \
25
+ ClassName& operator=(const ClassName&) = delete
26
+
27
+ class Value : public Serializable {
28
+ PROTOCOL_DISALLOW_COPY(Value);
29
+ public:
30
+ virtual ~Value() override { }
31
+
32
+ static std::unique_ptr<Value> null()
33
+ {
34
+ return std::unique_ptr<Value>(new Value());
35
+ }
36
+
37
+ static std::unique_ptr<Value> parseBinary(const uint8_t* data, size_t size);
38
+
39
+ enum ValueType {
40
+ TypeNull = 0,
41
+ TypeBoolean,
42
+ TypeInteger,
43
+ TypeDouble,
44
+ TypeString,
45
+ TypeBinary,
46
+ TypeObject,
47
+ TypeArray,
48
+ TypeImported
49
+ };
50
+
51
+ ValueType type() const { return m_type; }
52
+
53
+ bool isNull() const { return m_type == TypeNull; }
54
+
55
+ virtual bool asBoolean(bool* output) const;
56
+ virtual bool asDouble(double* output) const;
57
+ virtual bool asInteger(int* output) const;
58
+ virtual bool asString(String* output) const;
59
+ virtual bool asBinary(Binary* output) const;
60
+
61
+ virtual void AppendSerialized(std::vector<uint8_t>* bytes) const override;
62
+ virtual std::unique_ptr<Value> clone() const;
63
+
64
+ protected:
65
+ Value() : m_type(TypeNull) { }
66
+ explicit Value(ValueType type) : m_type(type) { }
67
+
68
+ private:
69
+ friend class DictionaryValue;
70
+ friend class ListValue;
71
+
72
+ ValueType m_type;
73
+ };
74
+
75
+ class FundamentalValue : public Value {
76
+ public:
77
+ static std::unique_ptr<FundamentalValue> create(bool value)
78
+ {
79
+ return std::unique_ptr<FundamentalValue>(new FundamentalValue(value));
80
+ }
81
+
82
+ static std::unique_ptr<FundamentalValue> create(int value)
83
+ {
84
+ return std::unique_ptr<FundamentalValue>(new FundamentalValue(value));
85
+ }
86
+
87
+ static std::unique_ptr<FundamentalValue> create(double value)
88
+ {
89
+ return std::unique_ptr<FundamentalValue>(new FundamentalValue(value));
90
+ }
91
+
92
+ bool asBoolean(bool* output) const override;
93
+ bool asDouble(double* output) const override;
94
+ bool asInteger(int* output) const override;
95
+ void AppendSerialized(std::vector<uint8_t>* bytes) const override;
96
+ std::unique_ptr<Value> clone() const override;
97
+
98
+ private:
99
+ explicit FundamentalValue(bool value) : Value(TypeBoolean), m_boolValue(value) { }
100
+ explicit FundamentalValue(int value) : Value(TypeInteger), m_integerValue(value) { }
101
+ explicit FundamentalValue(double value) : Value(TypeDouble), m_doubleValue(value) { }
102
+
103
+ union {
104
+ bool m_boolValue;
105
+ double m_doubleValue;
106
+ int m_integerValue;
107
+ };
108
+ };
109
+
110
+ class StringValue : public Value {
111
+ public:
112
+ static std::unique_ptr<StringValue> create(const String& value)
113
+ {
114
+ return std::unique_ptr<StringValue>(new StringValue(value));
115
+ }
116
+
117
+ static std::unique_ptr<StringValue> create(const char* value)
118
+ {
119
+ return std::unique_ptr<StringValue>(new StringValue(value));
120
+ }
121
+
122
+ bool asString(String* output) const override;
123
+ void AppendSerialized(std::vector<uint8_t>* bytes) const override;
124
+ std::unique_ptr<Value> clone() const override;
125
+
126
+ private:
127
+ explicit StringValue(const String& value) : Value(TypeString), m_stringValue(value) { }
128
+ explicit StringValue(const char* value) : Value(TypeString), m_stringValue(value) { }
129
+
130
+ String m_stringValue;
131
+ };
132
+
133
+ class BinaryValue : public Value {
134
+ public:
135
+ static std::unique_ptr<BinaryValue> create(const Binary& value)
136
+ {
137
+ return std::unique_ptr<BinaryValue>(new BinaryValue(value));
138
+ }
139
+
140
+ bool asBinary(Binary* output) const override;
141
+ void AppendSerialized(std::vector<uint8_t>* bytes) const override;
142
+ std::unique_ptr<Value> clone() const override;
143
+
144
+ private:
145
+ explicit BinaryValue(const Binary& value) : Value(TypeBinary), m_binaryValue(value) { }
146
+
147
+ Binary m_binaryValue;
148
+ };
149
+
150
+ class DictionaryValue : public Value {
151
+ public:
152
+ using Entry = std::pair<String, Value*>;
153
+ static std::unique_ptr<DictionaryValue> create()
154
+ {
155
+ return std::unique_ptr<DictionaryValue>(new DictionaryValue());
156
+ }
157
+
158
+ static DictionaryValue* cast(Value* value)
159
+ {
160
+ if (!value || value->type() != TypeObject)
161
+ return nullptr;
162
+ return static_cast<DictionaryValue*>(value);
163
+ }
164
+
165
+ static std::unique_ptr<DictionaryValue> cast(std::unique_ptr<Value> value)
166
+ {
167
+ return std::unique_ptr<DictionaryValue>(DictionaryValue::cast(value.release()));
168
+ }
169
+
170
+ void AppendSerialized(std::vector<uint8_t>* bytes) const override;
171
+ std::unique_ptr<Value> clone() const override;
172
+
173
+ size_t size() const { return m_data.size(); }
174
+
175
+ void setBoolean(const String& name, bool);
176
+ void setInteger(const String& name, int);
177
+ void setDouble(const String& name, double);
178
+ void setString(const String& name, const String&);
179
+ void setValue(const String& name, std::unique_ptr<Value>);
180
+ void setObject(const String& name, std::unique_ptr<DictionaryValue>);
181
+ void setArray(const String& name, std::unique_ptr<ListValue>);
182
+
183
+ bool getBoolean(const String& name, bool* output) const;
184
+ bool getInteger(const String& name, int* output) const;
185
+ bool getDouble(const String& name, double* output) const;
186
+ bool getString(const String& name, String* output) const;
187
+
188
+ DictionaryValue* getObject(const String& name) const;
189
+ ListValue* getArray(const String& name) const;
190
+ Value* get(const String& name) const;
191
+ Entry at(size_t index) const;
192
+
193
+ bool booleanProperty(const String& name, bool defaultValue) const;
194
+ int integerProperty(const String& name, int defaultValue) const;
195
+ double doubleProperty(const String& name, double defaultValue) const;
196
+ void remove(const String& name);
197
+
198
+ ~DictionaryValue() override;
199
+
200
+ private:
201
+ DictionaryValue();
202
+ template<typename T>
203
+ void set(const String& key, std::unique_ptr<T>& value)
204
+ {
205
+ DCHECK(value);
206
+ bool isNew = m_data.find(key) == m_data.end();
207
+ m_data[key] = std::move(value);
208
+ if (isNew)
209
+ m_order.push_back(key);
210
+ }
211
+
212
+ using Dictionary = std::unordered_map<String, std::unique_ptr<Value>>;
213
+ Dictionary m_data;
214
+ std::vector<String> m_order;
215
+ };
216
+
217
+ class ListValue : public Value {
218
+ public:
219
+ static std::unique_ptr<ListValue> create()
220
+ {
221
+ return std::unique_ptr<ListValue>(new ListValue());
222
+ }
223
+
224
+ static ListValue* cast(Value* value)
225
+ {
226
+ if (!value || value->type() != TypeArray)
227
+ return nullptr;
228
+ return static_cast<ListValue*>(value);
229
+ }
230
+
231
+ static std::unique_ptr<ListValue> cast(std::unique_ptr<Value> value)
232
+ {
233
+ return std::unique_ptr<ListValue>(ListValue::cast(value.release()));
234
+ }
235
+
236
+ ~ListValue() override;
237
+
238
+ void AppendSerialized(std::vector<uint8_t>* bytes) const override;
239
+ std::unique_ptr<Value> clone() const override;
240
+
241
+ void pushValue(std::unique_ptr<Value>);
242
+
243
+ Value* at(size_t index);
244
+ size_t size() const { return m_data.size(); }
245
+ void reserve(size_t capacity) { m_data.reserve(capacity); }
246
+
247
+ private:
248
+ ListValue();
249
+ std::vector<std::unique_ptr<Value>> m_data;
250
+ };
251
+
252
+ } // namespace v8_inspector
253
+ } // namespace protocol
254
+
255
+ #endif // v8_inspector_protocol_Values_h
256
+
257
+
258
+ // This file is generated by Object_h.template.
259
+
260
+ // Copyright 2016 The Chromium Authors. All rights reserved.
261
+ // Use of this source code is governed by a BSD-style license that can be
262
+ // found in the LICENSE file.
263
+
264
+ #ifndef v8_inspector_protocol_Object_h
265
+ #define v8_inspector_protocol_Object_h
266
+
267
+ //#include "ErrorSupport.h"
268
+ //#include "Forward.h"
269
+ //#include "Values.h"
270
+
271
+ #include "third_party/inspector_protocol/crdtp/serializable.h"
272
+
273
+ namespace v8_inspector {
274
+ namespace protocol {
275
+
276
+ class Object : public v8_crdtp::Serializable {
277
+ public:
278
+ static std::unique_ptr<Object> fromValue(protocol::Value*, ErrorSupport*);
279
+ explicit Object(std::unique_ptr<protocol::DictionaryValue>);
280
+ ~Object();
281
+
282
+ // Implements Serializable.
283
+ void AppendSerialized(std::vector<uint8_t>* out) const override;
284
+
285
+ std::unique_ptr<protocol::DictionaryValue> toValue() const;
286
+ std::unique_ptr<Object> clone() const;
287
+
288
+ private:
289
+ Object() = default;
290
+ friend struct v8_crdtp::ProtocolTypeTraits<std::unique_ptr<Object>, void>;
291
+
292
+ std::unique_ptr<protocol::DictionaryValue> m_object;
293
+ };
294
+
295
+ } // namespace v8_inspector
296
+ } // namespace protocol
297
+
298
+ #endif // !defined(v8_inspector_protocol_Object_h)
299
+
300
+
301
+ // This file is generated by ValueConversions_h.template.
302
+
303
+ // Copyright 2016 The Chromium Authors. All rights reserved.
304
+ // Use of this source code is governed by a BSD-style license that can be
305
+ // found in the LICENSE file.
306
+
307
+ #ifndef v8_inspector_protocol_ValueConversions_h
308
+ #define v8_inspector_protocol_ValueConversions_h
309
+
310
+ //#include "ErrorSupport.h"
311
+ //#include "Forward.h"
312
+ //#include "Values.h"
313
+
314
+ namespace v8_inspector {
315
+ namespace protocol {
316
+
317
+ template<typename T>
318
+ struct ValueConversions {
319
+ static std::unique_ptr<T> fromValue(protocol::Value* value, ErrorSupport* errors)
320
+ {
321
+ return T::fromValue(value, errors);
322
+ }
323
+
324
+ static std::unique_ptr<protocol::Value> toValue(T* value)
325
+ {
326
+ return value->toValue();
327
+ }
328
+
329
+ static std::unique_ptr<protocol::Value> toValue(const std::unique_ptr<T>& value)
330
+ {
331
+ return value->toValue();
332
+ }
333
+ };
334
+
335
+ template<>
336
+ struct ValueConversions<bool> {
337
+ static bool fromValue(protocol::Value* value, ErrorSupport* errors)
338
+ {
339
+ bool result = false;
340
+ bool success = value ? value->asBoolean(&result) : false;
341
+ if (!success)
342
+ errors->AddError("boolean value expected");
343
+ return result;
344
+ }
345
+
346
+ static std::unique_ptr<protocol::Value> toValue(bool value)
347
+ {
348
+ return FundamentalValue::create(value);
349
+ }
350
+ };
351
+
352
+ template<>
353
+ struct ValueConversions<int> {
354
+ static int fromValue(protocol::Value* value, ErrorSupport* errors)
355
+ {
356
+ int result = 0;
357
+ bool success = value ? value->asInteger(&result) : false;
358
+ if (!success)
359
+ errors->AddError("integer value expected");
360
+ return result;
361
+ }
362
+
363
+ static std::unique_ptr<protocol::Value> toValue(int value)
364
+ {
365
+ return FundamentalValue::create(value);
366
+ }
367
+ };
368
+
369
+ template<>
370
+ struct ValueConversions<double> {
371
+ static double fromValue(protocol::Value* value, ErrorSupport* errors)
372
+ {
373
+ double result = 0;
374
+ bool success = value ? value->asDouble(&result) : false;
375
+ if (!success)
376
+ errors->AddError("double value expected");
377
+ return result;
378
+ }
379
+
380
+ static std::unique_ptr<protocol::Value> toValue(double value)
381
+ {
382
+ return FundamentalValue::create(value);
383
+ }
384
+ };
385
+
386
+ template<>
387
+ struct ValueConversions<String> {
388
+ static String fromValue(protocol::Value* value, ErrorSupport* errors)
389
+ {
390
+ String result;
391
+ bool success = value ? value->asString(&result) : false;
392
+ if (!success)
393
+ errors->AddError("string value expected");
394
+ return result;
395
+ }
396
+
397
+ static std::unique_ptr<protocol::Value> toValue(const String& value)
398
+ {
399
+ return StringValue::create(value);
400
+ }
401
+ };
402
+
403
+ template<>
404
+ struct ValueConversions<Binary> {
405
+ static Binary fromValue(protocol::Value* value, ErrorSupport* errors)
406
+ {
407
+ if (!value ||
408
+ (value->type() != Value::TypeBinary && value->type() != Value::TypeString)) {
409
+ errors->AddError("Either string base64 or binary value expected");
410
+ return Binary();
411
+ }
412
+ Binary binary;
413
+ if (value->asBinary(&binary))
414
+ return binary;
415
+ String result;
416
+ value->asString(&result);
417
+ bool success;
418
+ Binary out = Binary::fromBase64(result, &success);
419
+ if (!success)
420
+ errors->AddError("base64 decoding error");
421
+ return out;
422
+ }
423
+
424
+ static std::unique_ptr<protocol::Value> toValue(const Binary& value)
425
+ {
426
+ return BinaryValue::create(value);
427
+ }
428
+ };
429
+
430
+ template<typename T>
431
+ struct ValueConversions<std::vector<std::unique_ptr<T>>> {
432
+ static std::unique_ptr<std::vector<std::unique_ptr<T>>> fromValue(protocol::Value* value, ErrorSupport* errors) {
433
+ protocol::ListValue* array = ListValue::cast(value);
434
+ if (!array) {
435
+ errors->AddError("array expected");
436
+ return nullptr;
437
+ }
438
+ errors->Push();
439
+ std::unique_ptr<std::vector<std::unique_ptr<T>>> result(
440
+ new std::vector<std::unique_ptr<T>>());
441
+ result->reserve(array->size());
442
+ for (size_t i = 0; i < array->size(); ++i) {
443
+ errors->SetIndex(i);
444
+ auto item = ValueConversions<T>::fromValue(array->at(i), errors);
445
+ result->emplace_back(std::move(item));
446
+ }
447
+ errors->Pop();
448
+ if (!errors->Errors().empty())
449
+ return nullptr;
450
+ return result;
451
+ }
452
+
453
+ static std::unique_ptr<protocol::ListValue> toValue(std::vector<std::unique_ptr<T>>* v)
454
+ {
455
+ std::unique_ptr<protocol::ListValue> result = ListValue::create();
456
+ result->reserve(v->size());
457
+ for (auto& item : *v)
458
+ result->pushValue(ValueConversions<T>::toValue(item.get()));
459
+ return result;
460
+ }
461
+
462
+ };
463
+
464
+ template<typename T>
465
+ struct ValueConversions<std::vector<T>> {
466
+ static std::unique_ptr<std::vector<T>> fromValue(protocol::Value* value, ErrorSupport* errors) {
467
+ protocol::ListValue* array = ListValue::cast(value);
468
+ if (!array) {
469
+ errors->AddError("array expected");
470
+ return nullptr;
471
+ }
472
+ errors->Push();
473
+ std::unique_ptr<std::vector<T>> result(new std::vector<T>());
474
+ result->reserve(array->size());
475
+ for (size_t i = 0; i < array->size(); ++i) {
476
+ errors->SetIndex(i);
477
+ auto item = ValueConversions<T>::fromValue(array->at(i), errors);
478
+ result->emplace_back(std::move(item));
479
+ }
480
+ errors->Pop();
481
+ if (!errors->Errors().empty())
482
+ return nullptr;
483
+ return result;
484
+ }
485
+
486
+ static std::unique_ptr<protocol::ListValue> toValue(std::vector<T>* v)
487
+ {
488
+ std::unique_ptr<protocol::ListValue> result = ListValue::create();
489
+ result->reserve(v->size());
490
+ for (auto& item : *v)
491
+ result->pushValue(ValueConversions<T>::toValue(item));
492
+ return result;
493
+ }
494
+ };
495
+
496
+ template<>
497
+ struct ValueConversions<Value> {
498
+ static std::unique_ptr<Value> fromValue(protocol::Value* value, ErrorSupport* errors)
499
+ {
500
+ bool success = !!value;
501
+ if (!success) {
502
+ errors->AddError("value expected");
503
+ return nullptr;
504
+ }
505
+ return value->clone();
506
+ }
507
+
508
+ static std::unique_ptr<protocol::Value> toValue(Value* value)
509
+ {
510
+ return value->clone();
511
+ }
512
+
513
+ static std::unique_ptr<protocol::Value> toValue(const std::unique_ptr<Value>& value)
514
+ {
515
+ return value->clone();
516
+ }
517
+ };
518
+
519
+ template<>
520
+ struct ValueConversions<DictionaryValue> {
521
+ static std::unique_ptr<DictionaryValue> fromValue(protocol::Value* value, ErrorSupport* errors)
522
+ {
523
+ bool success = value && value->type() == protocol::Value::TypeObject;
524
+ if (!success)
525
+ errors->AddError("object expected");
526
+ return DictionaryValue::cast(value->clone());
527
+ }
528
+
529
+ static std::unique_ptr<protocol::Value> toValue(DictionaryValue* value)
530
+ {
531
+ return value->clone();
532
+ }
533
+
534
+ static std::unique_ptr<protocol::Value> toValue(const std::unique_ptr<DictionaryValue>& value)
535
+ {
536
+ return value->clone();
537
+ }
538
+ };
539
+
540
+ template<>
541
+ struct ValueConversions<ListValue> {
542
+ static std::unique_ptr<ListValue> fromValue(protocol::Value* value, ErrorSupport* errors)
543
+ {
544
+ bool success = value && value->type() == protocol::Value::TypeArray;
545
+ if (!success)
546
+ errors->AddError("list expected");
547
+ return ListValue::cast(value->clone());
548
+ }
549
+
550
+ static std::unique_ptr<protocol::Value> toValue(ListValue* value)
551
+ {
552
+ return value->clone();
553
+ }
554
+
555
+ static std::unique_ptr<protocol::Value> toValue(const std::unique_ptr<ListValue>& value)
556
+ {
557
+ return value->clone();
558
+ }
559
+ };
560
+
561
+ template<typename T> struct ValueTypeConverter {
562
+ static std::unique_ptr<T> FromValue(const protocol::Value& value) {
563
+ std::vector<uint8_t> bytes;
564
+ value.AppendSerialized(&bytes);
565
+ return T::FromBinary(bytes.data(), bytes.size());
566
+ }
567
+
568
+ static std::unique_ptr<protocol::DictionaryValue> ToValue(const T& obj) {
569
+ std::vector<uint8_t> bytes;
570
+ obj.AppendSerialized(&bytes);
571
+ auto result = Value::parseBinary(bytes.data(), bytes.size());
572
+ return DictionaryValue::cast(std::move(result));
573
+ }
574
+ };
575
+
576
+ } // namespace v8_inspector
577
+ } // namespace protocol
578
+
579
+ namespace v8_crdtp {
580
+
581
+ template<typename T>
582
+ struct ProtocolTypeTraits<T,
583
+ typename std::enable_if<std::is_base_of<v8_inspector::protocol::Value, T>::value>::type> {
584
+ static void Serialize(const v8_inspector::protocol::Value& value, std::vector<uint8_t>* bytes) {
585
+ value.AppendSerialized(bytes);
586
+ }
587
+ };
588
+
589
+ template <>
590
+ struct ProtocolTypeTraits<std::unique_ptr<v8_inspector::protocol::Value>> {
591
+ static bool Deserialize(DeserializerState* state, std::unique_ptr<v8_inspector::protocol::Value>* value);
592
+ static void Serialize(const std::unique_ptr<v8_inspector::protocol::Value>& value, std::vector<uint8_t>* bytes);
593
+ };
594
+
595
+ template <>
596
+ struct ProtocolTypeTraits<std::unique_ptr<v8_inspector::protocol::DictionaryValue>> {
597
+ static bool Deserialize(DeserializerState* state, std::unique_ptr<v8_inspector::protocol::DictionaryValue>* value);
598
+ static void Serialize(const std::unique_ptr<v8_inspector::protocol::DictionaryValue>& value, std::vector<uint8_t>* bytes);
599
+ };
600
+
601
+ // TODO(caseq): get rid of it, it's just a DictionaryValue really.
602
+ template <>
603
+ struct ProtocolTypeTraits<std::unique_ptr<v8_inspector::protocol::Object>> {
604
+ static bool Deserialize(DeserializerState* state, std::unique_ptr<v8_inspector::protocol::Object>* value);
605
+ static void Serialize(const std::unique_ptr<v8_inspector::protocol::Object>& value, std::vector<uint8_t>* bytes);
606
+ };
607
+
608
+ template<>
609
+ struct ProtocolTypeTraits<v8_inspector::protocol::Object> {
610
+ static void Serialize(const v8_inspector::protocol::Object& value, std::vector<uint8_t>* bytes) {
611
+ value.AppendSerialized(bytes);
612
+ }
613
+ };
614
+
615
+ } // namespace v8_crdtp
616
+
617
+ #endif // !defined(v8_inspector_protocol_ValueConversions_h)