@triniwiz/nativescript-masonkit 1.0.0-alpha.9 → 1.0.0-beta.0

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 (397) hide show
  1. package/button/index.android.d.ts +13 -0
  2. package/button/index.android.js +56 -0
  3. package/button/index.android.js.map +1 -0
  4. package/button/index.ios.d.ts +21 -0
  5. package/button/index.ios.js +216 -0
  6. package/button/index.ios.js.map +1 -0
  7. package/common.d.ts +78 -33
  8. package/common.js +1121 -251
  9. package/common.js.map +1 -1
  10. package/img/index.android.d.ts +10 -0
  11. package/img/index.android.js +40 -0
  12. package/img/index.android.js.map +1 -0
  13. package/img/index.ios.d.ts +13 -0
  14. package/img/index.ios.js +102 -0
  15. package/img/index.ios.js.map +1 -0
  16. package/index.android.d.ts +6 -34
  17. package/index.android.js +6 -139
  18. package/index.android.js.map +1 -1
  19. package/index.d.ts +88 -60
  20. package/index.ios.d.ts +6 -48
  21. package/index.ios.js +6 -355
  22. package/index.ios.js.map +1 -1
  23. package/package.json +5 -2
  24. package/platforms/android/include.gradle +5 -1
  25. package/platforms/android/masonkit-release.aar +0 -0
  26. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +794 -284
  27. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason.h +0 -5
  28. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/NSObject+MasonElement_Defaults.h +100 -0
  29. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/mason_native.h +118 -93
  30. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Info.plist +0 -0
  31. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  32. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  33. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +58079 -23135
  34. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +1234 -255
  35. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  36. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +1234 -255
  37. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  38. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +4252 -1932
  39. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +1588 -568
  40. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason.h +0 -5
  41. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/NSObject+MasonElement_Defaults.h +100 -0
  42. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/mason_native.h +118 -93
  43. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Info.plist +0 -0
  44. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  45. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  46. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  47. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +58076 -23132
  48. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1211 -232
  49. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  50. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1211 -232
  51. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +58076 -23132
  52. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1211 -232
  53. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  54. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1211 -232
  55. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +31 -31
  56. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  57. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +4246 -1932
  58. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +4124 -1883
  59. package/scroll/index.android.d.ts +12 -0
  60. package/scroll/index.android.js +50 -0
  61. package/scroll/index.android.js.map +1 -0
  62. package/scroll/index.ios.d.ts +14 -0
  63. package/scroll/index.ios.js +120 -0
  64. package/scroll/index.ios.js.map +1 -0
  65. package/style.d.ts +110 -53
  66. package/style.js +1176 -110
  67. package/style.js.map +1 -1
  68. package/text/index.android.d.ts +30 -0
  69. package/text/index.android.js +124 -0
  70. package/text/index.android.js.map +1 -0
  71. package/text/index.ios.d.ts +38 -0
  72. package/text/index.ios.js +251 -0
  73. package/text/index.ios.js.map +1 -0
  74. package/tree/index.android.d.ts +28 -0
  75. package/tree/index.android.js +77 -0
  76. package/tree/index.android.js.map +1 -0
  77. package/tree/index.ios.d.ts +29 -0
  78. package/tree/index.ios.js +76 -0
  79. package/tree/index.ios.js.map +1 -0
  80. package/utils/index.android.d.ts +187 -0
  81. package/utils/index.android.js +514 -0
  82. package/utils/index.android.js.map +1 -0
  83. package/utils/index.ios.d.ts +198 -0
  84. package/utils/index.ios.js +710 -0
  85. package/utils/index.ios.js.map +1 -0
  86. package/view/index.android.d.ts +12 -0
  87. package/view/index.android.js +50 -0
  88. package/view/index.android.js.map +1 -0
  89. package/view/index.ios.d.ts +16 -0
  90. package/view/index.ios.js +124 -0
  91. package/view/index.ios.js.map +1 -0
  92. package/web.d.ts +55 -0
  93. package/web.js +189 -0
  94. package/web.js.map +1 -0
  95. package/helpers.d.ts +0 -255
  96. package/helpers.js +0 -1318
  97. package/helpers.js.map +0 -1
  98. package/node.d.ts +0 -2
  99. package/node.js +0 -3
  100. package/node.js.map +0 -1
  101. package/platforms/ios/Podfile +0 -1
  102. package/platforms/ios/build.xcconfig +0 -5
  103. package/platforms/ios/prebuild.sh +0 -101
  104. package/platforms/new_native_src/cpp/Caches.cpp +0 -36
  105. package/platforms/new_native_src/cpp/Caches.h +0 -42
  106. package/platforms/new_native_src/cpp/Common.h +0 -34
  107. package/platforms/new_native_src/cpp/ConcurrentMap.h +0 -57
  108. package/platforms/new_native_src/cpp/Helpers.cpp +0 -101
  109. package/platforms/new_native_src/cpp/Helpers.h +0 -364
  110. package/platforms/new_native_src/cpp/MasonImpl.cpp +0 -68
  111. package/platforms/new_native_src/cpp/MasonImpl.h +0 -40
  112. package/platforms/new_native_src/cpp/MasonNodeImpl.cpp +0 -89
  113. package/platforms/new_native_src/cpp/MasonNodeImpl.h +0 -47
  114. package/platforms/new_native_src/cpp/MasonStyleImpl.cpp +0 -2181
  115. package/platforms/new_native_src/cpp/MasonStyleImpl.h +0 -420
  116. package/platforms/new_native_src/cpp/include/mason_native.h +0 -972
  117. package/platforms/new_native_src/cpp/include/robin_hood.h +0 -2544
  118. package/src-native/pods/Headers/include/APIDesign.md +0 -72
  119. package/src-native/pods/Headers/include/DEPS +0 -10
  120. package/src-native/pods/Headers/include/DIR_METADATA +0 -11
  121. package/src-native/pods/Headers/include/OWNERS +0 -23
  122. package/src-native/pods/Headers/include/cppgc/DEPS +0 -8
  123. package/src-native/pods/Headers/include/cppgc/OWNERS +0 -2
  124. package/src-native/pods/Headers/include/cppgc/README.md +0 -133
  125. package/src-native/pods/Headers/include/cppgc/allocation.h +0 -310
  126. package/src-native/pods/Headers/include/cppgc/common.h +0 -29
  127. package/src-native/pods/Headers/include/cppgc/cross-thread-persistent.h +0 -465
  128. package/src-native/pods/Headers/include/cppgc/custom-space.h +0 -97
  129. package/src-native/pods/Headers/include/cppgc/default-platform.h +0 -67
  130. package/src-native/pods/Headers/include/cppgc/ephemeron-pair.h +0 -30
  131. package/src-native/pods/Headers/include/cppgc/explicit-management.h +0 -100
  132. package/src-native/pods/Headers/include/cppgc/garbage-collected.h +0 -106
  133. package/src-native/pods/Headers/include/cppgc/heap-consistency.h +0 -266
  134. package/src-native/pods/Headers/include/cppgc/heap-state.h +0 -82
  135. package/src-native/pods/Headers/include/cppgc/heap-statistics.h +0 -120
  136. package/src-native/pods/Headers/include/cppgc/heap.h +0 -206
  137. package/src-native/pods/Headers/include/cppgc/internal/api-constants.h +0 -55
  138. package/src-native/pods/Headers/include/cppgc/internal/atomic-entry-flag.h +0 -48
  139. package/src-native/pods/Headers/include/cppgc/internal/caged-heap-local-data.h +0 -79
  140. package/src-native/pods/Headers/include/cppgc/internal/compiler-specific.h +0 -38
  141. package/src-native/pods/Headers/include/cppgc/internal/finalizer-trait.h +0 -93
  142. package/src-native/pods/Headers/include/cppgc/internal/gc-info.h +0 -156
  143. package/src-native/pods/Headers/include/cppgc/internal/logging.h +0 -50
  144. package/src-native/pods/Headers/include/cppgc/internal/name-trait.h +0 -122
  145. package/src-native/pods/Headers/include/cppgc/internal/persistent-node.h +0 -216
  146. package/src-native/pods/Headers/include/cppgc/internal/pointer-policies.h +0 -186
  147. package/src-native/pods/Headers/include/cppgc/internal/write-barrier.h +0 -435
  148. package/src-native/pods/Headers/include/cppgc/liveness-broker.h +0 -77
  149. package/src-native/pods/Headers/include/cppgc/macros.h +0 -26
  150. package/src-native/pods/Headers/include/cppgc/member.h +0 -291
  151. package/src-native/pods/Headers/include/cppgc/name-provider.h +0 -65
  152. package/src-native/pods/Headers/include/cppgc/object-size-trait.h +0 -58
  153. package/src-native/pods/Headers/include/cppgc/persistent.h +0 -370
  154. package/src-native/pods/Headers/include/cppgc/platform.h +0 -156
  155. package/src-native/pods/Headers/include/cppgc/prefinalizer.h +0 -75
  156. package/src-native/pods/Headers/include/cppgc/process-heap-statistics.h +0 -36
  157. package/src-native/pods/Headers/include/cppgc/sentinel-pointer.h +0 -32
  158. package/src-native/pods/Headers/include/cppgc/source-location.h +0 -92
  159. package/src-native/pods/Headers/include/cppgc/testing.h +0 -106
  160. package/src-native/pods/Headers/include/cppgc/trace-trait.h +0 -116
  161. package/src-native/pods/Headers/include/cppgc/type-traits.h +0 -240
  162. package/src-native/pods/Headers/include/cppgc/visitor.h +0 -379
  163. package/src-native/pods/Headers/include/js_protocol-1.2.json +0 -936
  164. package/src-native/pods/Headers/include/js_protocol-1.3.json +0 -1112
  165. package/src-native/pods/Headers/include/js_protocol.pdl +0 -1709
  166. package/src-native/pods/Headers/include/libffi/arm64/ffi.h +0 -524
  167. package/src-native/pods/Headers/include/libffi/arm64/ffitarget.h +0 -92
  168. package/src-native/pods/Headers/include/libffi/x86_64/ffi.h +0 -524
  169. package/src-native/pods/Headers/include/libffi/x86_64/ffitarget.h +0 -147
  170. package/src-native/pods/Headers/include/libffi.h +0 -12
  171. package/src-native/pods/Headers/include/libplatform/DEPS +0 -9
  172. package/src-native/pods/Headers/include/libplatform/libplatform-export.h +0 -29
  173. package/src-native/pods/Headers/include/libplatform/libplatform.h +0 -106
  174. package/src-native/pods/Headers/include/libplatform/v8-tracing.h +0 -333
  175. package/src-native/pods/Headers/include/v8-array-buffer.h +0 -433
  176. package/src-native/pods/Headers/include/v8-callbacks.h +0 -397
  177. package/src-native/pods/Headers/include/v8-container.h +0 -129
  178. package/src-native/pods/Headers/include/v8-context.h +0 -407
  179. package/src-native/pods/Headers/include/v8-cppgc.h +0 -215
  180. package/src-native/pods/Headers/include/v8-data.h +0 -80
  181. package/src-native/pods/Headers/include/v8-date.h +0 -43
  182. package/src-native/pods/Headers/include/v8-debug.h +0 -168
  183. package/src-native/pods/Headers/include/v8-embedder-heap.h +0 -218
  184. package/src-native/pods/Headers/include/v8-embedder-state-scope.h +0 -51
  185. package/src-native/pods/Headers/include/v8-exception.h +0 -217
  186. package/src-native/pods/Headers/include/v8-extension.h +0 -62
  187. package/src-native/pods/Headers/include/v8-external.h +0 -37
  188. package/src-native/pods/Headers/include/v8-fast-api-calls.h +0 -939
  189. package/src-native/pods/Headers/include/v8-forward.h +0 -81
  190. package/src-native/pods/Headers/include/v8-function-callback.h +0 -475
  191. package/src-native/pods/Headers/include/v8-function.h +0 -125
  192. package/src-native/pods/Headers/include/v8-initialization.h +0 -315
  193. package/src-native/pods/Headers/include/v8-inspector-protocol.h +0 -13
  194. package/src-native/pods/Headers/include/v8-inspector.h +0 -376
  195. package/src-native/pods/Headers/include/v8-internal.h +0 -661
  196. package/src-native/pods/Headers/include/v8-isolate.h +0 -1709
  197. package/src-native/pods/Headers/include/v8-json.h +0 -47
  198. package/src-native/pods/Headers/include/v8-local-handle.h +0 -455
  199. package/src-native/pods/Headers/include/v8-locker.h +0 -149
  200. package/src-native/pods/Headers/include/v8-maybe.h +0 -137
  201. package/src-native/pods/Headers/include/v8-memory-span.h +0 -43
  202. package/src-native/pods/Headers/include/v8-message.h +0 -216
  203. package/src-native/pods/Headers/include/v8-metrics.h +0 -255
  204. package/src-native/pods/Headers/include/v8-microtask-queue.h +0 -152
  205. package/src-native/pods/Headers/include/v8-microtask.h +0 -28
  206. package/src-native/pods/Headers/include/v8-object.h +0 -775
  207. package/src-native/pods/Headers/include/v8-persistent-handle.h +0 -590
  208. package/src-native/pods/Headers/include/v8-platform.h +0 -1092
  209. package/src-native/pods/Headers/include/v8-primitive-object.h +0 -118
  210. package/src-native/pods/Headers/include/v8-primitive.h +0 -866
  211. package/src-native/pods/Headers/include/v8-profiler.h +0 -1198
  212. package/src-native/pods/Headers/include/v8-promise.h +0 -174
  213. package/src-native/pods/Headers/include/v8-proxy.h +0 -50
  214. package/src-native/pods/Headers/include/v8-regexp.h +0 -105
  215. package/src-native/pods/Headers/include/v8-script.h +0 -748
  216. package/src-native/pods/Headers/include/v8-snapshot.h +0 -196
  217. package/src-native/pods/Headers/include/v8-statistics.h +0 -217
  218. package/src-native/pods/Headers/include/v8-template.h +0 -1079
  219. package/src-native/pods/Headers/include/v8-traced-handle.h +0 -420
  220. package/src-native/pods/Headers/include/v8-typed-array.h +0 -282
  221. package/src-native/pods/Headers/include/v8-unwinder-state.h +0 -31
  222. package/src-native/pods/Headers/include/v8-unwinder.h +0 -132
  223. package/src-native/pods/Headers/include/v8-util.h +0 -658
  224. package/src-native/pods/Headers/include/v8-value-serializer-version.h +0 -24
  225. package/src-native/pods/Headers/include/v8-value-serializer.h +0 -279
  226. package/src-native/pods/Headers/include/v8-value.h +0 -526
  227. package/src-native/pods/Headers/include/v8-version-string.h +0 -38
  228. package/src-native/pods/Headers/include/v8-version.h +0 -20
  229. package/src-native/pods/Headers/include/v8-wasm-trap-handler-posix.h +0 -31
  230. package/src-native/pods/Headers/include/v8-wasm-trap-handler-win.h +0 -28
  231. package/src-native/pods/Headers/include/v8-wasm.h +0 -257
  232. package/src-native/pods/Headers/include/v8-weak-callback-info.h +0 -86
  233. package/src-native/pods/Headers/include/v8.h +0 -88
  234. package/src-native/pods/Headers/include/v8config.h +0 -605
  235. package/src-native/pods/Headers/inspector/InspectorServer.h +0 -20
  236. package/src-native/pods/Headers/inspector/JsV8InspectorClient.h +0 -66
  237. package/src-native/pods/Headers/inspector/base/trace_event/common/trace_event_common.h +0 -1123
  238. package/src-native/pods/Headers/inspector/base64.h +0 -9
  239. package/src-native/pods/Headers/inspector/src/base/address-region.h +0 -95
  240. package/src-native/pods/Headers/inspector/src/base/atomic-utils.h +0 -219
  241. package/src-native/pods/Headers/inspector/src/base/atomicops.h +0 -332
  242. package/src-native/pods/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +0 -89
  243. package/src-native/pods/Headers/inspector/src/base/base-export.h +0 -31
  244. package/src-native/pods/Headers/inspector/src/base/bits.h +0 -343
  245. package/src-native/pods/Headers/inspector/src/base/build_config.h +0 -234
  246. package/src-native/pods/Headers/inspector/src/base/compiler-specific.h +0 -136
  247. package/src-native/pods/Headers/inspector/src/base/export-template.h +0 -163
  248. package/src-native/pods/Headers/inspector/src/base/flags.h +0 -130
  249. package/src-native/pods/Headers/inspector/src/base/immediate-crash.h +0 -162
  250. package/src-native/pods/Headers/inspector/src/base/lazy-instance.h +0 -258
  251. package/src-native/pods/Headers/inspector/src/base/logging.h +0 -417
  252. package/src-native/pods/Headers/inspector/src/base/macros.h +0 -423
  253. package/src-native/pods/Headers/inspector/src/base/memory.h +0 -89
  254. package/src-native/pods/Headers/inspector/src/base/once.h +0 -108
  255. package/src-native/pods/Headers/inspector/src/base/optional.h +0 -882
  256. package/src-native/pods/Headers/inspector/src/base/platform/mutex.h +0 -370
  257. package/src-native/pods/Headers/inspector/src/base/platform/platform.h +0 -476
  258. package/src-native/pods/Headers/inspector/src/base/platform/semaphore.h +0 -108
  259. package/src-native/pods/Headers/inspector/src/base/platform/v8-time.h +0 -513
  260. package/src-native/pods/Headers/inspector/src/base/platform/wrappers.h +0 -73
  261. package/src-native/pods/Headers/inspector/src/base/safe_conversions.h +0 -389
  262. package/src-native/pods/Headers/inspector/src/base/safe_conversions_impl.h +0 -822
  263. package/src-native/pods/Headers/inspector/src/base/template-utils.h +0 -113
  264. package/src-native/pods/Headers/inspector/src/base/v8-fallthrough.h +0 -21
  265. package/src-native/pods/Headers/inspector/src/common/checks.h +0 -38
  266. package/src-native/pods/Headers/inspector/src/common/globals.h +0 -1842
  267. package/src-native/pods/Headers/inspector/src/debug/debug-interface.h +0 -667
  268. package/src-native/pods/Headers/inspector/src/debug/interface-types.h +0 -175
  269. package/src-native/pods/Headers/inspector/src/init/v8.h +0 -52
  270. package/src-native/pods/Headers/inspector/src/inspector/custom-preview.h +0 -24
  271. package/src-native/pods/Headers/inspector/src/inspector/injected-script.h +0 -251
  272. package/src-native/pods/Headers/inspector/src/inspector/inspected-context.h +0 -79
  273. package/src-native/pods/Headers/inspector/src/inspector/protocol/CSS.h +0 -2148
  274. package/src-native/pods/Headers/inspector/src/inspector/protocol/Console.h +0 -211
  275. package/src-native/pods/Headers/inspector/src/inspector/protocol/DOM.h +0 -1008
  276. package/src-native/pods/Headers/inspector/src/inspector/protocol/Debugger.h +0 -892
  277. package/src-native/pods/Headers/inspector/src/inspector/protocol/Forward.h +0 -75
  278. package/src-native/pods/Headers/inspector/src/inspector/protocol/HeapProfiler.h +0 -346
  279. package/src-native/pods/Headers/inspector/src/inspector/protocol/Log.h +0 -342
  280. package/src-native/pods/Headers/inspector/src/inspector/protocol/Network.h +0 -2528
  281. package/src-native/pods/Headers/inspector/src/inspector/protocol/Overlay.h +0 -281
  282. package/src-native/pods/Headers/inspector/src/inspector/protocol/Page.h +0 -1189
  283. package/src-native/pods/Headers/inspector/src/inspector/protocol/Profiler.h +0 -1001
  284. package/src-native/pods/Headers/inspector/src/inspector/protocol/Protocol.h +0 -617
  285. package/src-native/pods/Headers/inspector/src/inspector/protocol/Runtime.h +0 -1696
  286. package/src-native/pods/Headers/inspector/src/inspector/protocol/Schema.h +0 -146
  287. package/src-native/pods/Headers/inspector/src/inspector/protocol/Security.h +0 -793
  288. package/src-native/pods/Headers/inspector/src/inspector/remote-object-id.h +0 -54
  289. package/src-native/pods/Headers/inspector/src/inspector/search-util.h +0 -26
  290. package/src-native/pods/Headers/inspector/src/inspector/string-16.h +0 -180
  291. package/src-native/pods/Headers/inspector/src/inspector/string-util.h +0 -128
  292. package/src-native/pods/Headers/inspector/src/inspector/v8-console-agent-impl.h +0 -48
  293. package/src-native/pods/Headers/inspector/src/inspector/v8-console-message.h +0 -147
  294. package/src-native/pods/Headers/inspector/src/inspector/v8-console.h +0 -173
  295. package/src-native/pods/Headers/inspector/src/inspector/v8-css-agent-impl.h +0 -62
  296. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +0 -248
  297. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-id.h +0 -44
  298. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-script.h +0 -123
  299. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger.h +0 -257
  300. package/src-native/pods/Headers/inspector/src/inspector/v8-dom-agent-impl.h +0 -91
  301. package/src-native/pods/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +0 -80
  302. package/src-native/pods/Headers/inspector/src/inspector/v8-inspector-impl.h +0 -191
  303. package/src-native/pods/Headers/inspector/src/inspector/v8-inspector-session-impl.h +0 -156
  304. package/src-native/pods/Headers/inspector/src/inspector/v8-log-agent-impl.h +0 -34
  305. package/src-native/pods/Headers/inspector/src/inspector/v8-network-agent-impl.h +0 -71
  306. package/src-native/pods/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +0 -24
  307. package/src-native/pods/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +0 -70
  308. package/src-native/pods/Headers/inspector/src/inspector/v8-page-agent-impl.h +0 -88
  309. package/src-native/pods/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +0 -104
  310. package/src-native/pods/Headers/inspector/src/inspector/v8-regex.h +0 -38
  311. package/src-native/pods/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +0 -157
  312. package/src-native/pods/Headers/inspector/src/inspector/v8-schema-agent-impl.h +0 -38
  313. package/src-native/pods/Headers/inspector/src/inspector/v8-stack-trace-impl.h +0 -164
  314. package/src-native/pods/Headers/inspector/src/inspector/v8-string-conversions.h +0 -17
  315. package/src-native/pods/Headers/inspector/src/inspector/v8-value-utils.h +0 -23
  316. package/src-native/pods/Headers/inspector/src/inspector/value-mirror.h +0 -87
  317. package/src-native/pods/Headers/inspector/src/libplatform/default-platform.h +0 -92
  318. package/src-native/pods/Headers/inspector/src/logging/tracing-flags.h +0 -50
  319. package/src-native/pods/Headers/inspector/src/numbers/conversions.h +0 -183
  320. package/src-native/pods/Headers/inspector/src/tracing/trace-event.h +0 -664
  321. package/src-native/pods/Headers/inspector/src/utils/allocation.h +0 -367
  322. package/src-native/pods/Headers/inspector/src/utils/vector.h +0 -324
  323. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +0 -305
  324. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +0 -314
  325. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +0 -62
  326. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +0 -6
  327. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +0 -58
  328. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +0 -47
  329. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +0 -80
  330. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +0 -52
  331. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +0 -26
  332. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +0 -104
  333. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +0 -39
  334. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +0 -406
  335. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +0 -32
  336. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +0 -158
  337. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +0 -99
  338. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +0 -139
  339. package/src-native/pods/Headers/inspector/utils.h +0 -32
  340. package/src-native/pods/Headers/inspector/v8-inspector-platform.h +0 -44
  341. package/src-native/pods/Headers/jsi/decorator.h +0 -762
  342. package/src-native/pods/Headers/jsi/instrumentation.h +0 -117
  343. package/src-native/pods/Headers/jsi/jsi-inl.h +0 -322
  344. package/src-native/pods/Headers/jsi/jsi.h +0 -1387
  345. package/src-native/pods/Headers/jsi/jsilib.h +0 -59
  346. package/src-native/pods/Headers/jsi/threadsafe.h +0 -79
  347. package/src-native/pods/Headers/runtime/ArgConverter.h +0 -61
  348. package/src-native/pods/Headers/runtime/ArrayAdapter.h +0 -13
  349. package/src-native/pods/Headers/runtime/Caches.h +0 -98
  350. package/src-native/pods/Headers/runtime/ClassBuilder.h +0 -61
  351. package/src-native/pods/Headers/runtime/Common.h +0 -9
  352. package/src-native/pods/Headers/runtime/ConcurrentMap.h +0 -55
  353. package/src-native/pods/Headers/runtime/ConcurrentQueue.h +0 -28
  354. package/src-native/pods/Headers/runtime/Console.h +0 -27
  355. package/src-native/pods/Headers/runtime/Constants.h +0 -15
  356. package/src-native/pods/Headers/runtime/DataWrapper.h +0 -671
  357. package/src-native/pods/Headers/runtime/DictionaryAdapter.h +0 -13
  358. package/src-native/pods/Headers/runtime/ExtVector.h +0 -21
  359. package/src-native/pods/Headers/runtime/FFICall.h +0 -105
  360. package/src-native/pods/Headers/runtime/FastEnumerationAdapter.h +0 -13
  361. package/src-native/pods/Headers/runtime/FunctionReference.h +0 -18
  362. package/src-native/pods/Headers/runtime/Helpers.h +0 -84
  363. package/src-native/pods/Headers/runtime/InlineFunctions.h +0 -16
  364. package/src-native/pods/Headers/runtime/Interop.h +0 -202
  365. package/src-native/pods/Headers/runtime/KnownUnknownClassPair.h +0 -35
  366. package/src-native/pods/Headers/runtime/Metadata.h +0 -981
  367. package/src-native/pods/Headers/runtime/MetadataBuilder.h +0 -72
  368. package/src-native/pods/Headers/runtime/MetadataInlines.h +0 -157
  369. package/src-native/pods/Headers/runtime/ModuleInternal.h +0 -59
  370. package/src-native/pods/Headers/runtime/NSDataAdapter.h +0 -13
  371. package/src-native/pods/Headers/runtime/NativeScriptException.h +0 -27
  372. package/src-native/pods/Headers/runtime/ObjectManager.h +0 -31
  373. package/src-native/pods/Headers/runtime/OneByteStringResource.h +0 -21
  374. package/src-native/pods/Headers/runtime/Pointer.h +0 -26
  375. package/src-native/pods/Headers/runtime/PromiseProxy.h +0 -15
  376. package/src-native/pods/Headers/runtime/Reference.h +0 -38
  377. package/src-native/pods/Headers/runtime/Runtime.h +0 -67
  378. package/src-native/pods/Headers/runtime/RuntimeConfig.h +0 -17
  379. package/src-native/pods/Headers/runtime/SetTimeout.h +0 -34
  380. package/src-native/pods/Headers/runtime/SimpleAllocator.h +0 -23
  381. package/src-native/pods/Headers/runtime/StringHasher.h +0 -315
  382. package/src-native/pods/Headers/runtime/SymbolIterator.h +0 -18
  383. package/src-native/pods/Headers/runtime/SymbolLoader.h +0 -27
  384. package/src-native/pods/Headers/runtime/TNSDerivedClass.h +0 -8
  385. package/src-native/pods/Headers/runtime/TSHelpers.h +0 -15
  386. package/src-native/pods/Headers/runtime/Tasks.h +0 -19
  387. package/src-native/pods/Headers/runtime/UnmanagedType.h +0 -21
  388. package/src-native/pods/Headers/runtime/WeakRef.h +0 -15
  389. package/src-native/pods/Headers/runtime/Worker.h +0 -26
  390. package/src-native/pods/Headers/runtime/robin_hood.h +0 -2184
  391. package/src-native/pods/Headers/v8runtime/HostProxy.h +0 -71
  392. package/src-native/pods/Headers/v8runtime/JSIV8ValueConverter.h +0 -70
  393. package/src-native/pods/Headers/v8runtime/V8PointerValue.h +0 -44
  394. package/src-native/pods/Headers/v8runtime/V8Runtime.h +0 -215
  395. package/src-native/pods/Headers/v8runtime/V8RuntimeConfig.h +0 -26
  396. package/src-native/pods/Headers/v8runtime/V8RuntimeFactory.h +0 -21
  397. package/src-native/pods/NativeScript.podspec +0 -68
@@ -1,389 +0,0 @@
1
- // Copyright 2014 The Chromium Authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
-
5
- // Slightly adapted for inclusion in V8.
6
- // Copyright 2014 the V8 project authors. All rights reserved.
7
- // List of adaptations:
8
- // - include guard names
9
- // - wrap in v8 namespace
10
- // - formatting (git cl format)
11
- // - include paths
12
-
13
- #ifndef V8_BASE_SAFE_CONVERSIONS_H_
14
- #define V8_BASE_SAFE_CONVERSIONS_H_
15
-
16
- #include <stddef.h>
17
-
18
- #include <cmath>
19
- #include <limits>
20
- #include <type_traits>
21
-
22
- #include "src/base/safe_conversions_impl.h"
23
-
24
- #if defined(__ARMEL__) && !defined(__native_client__)
25
- #include "src/base/safe_conversions_arm_impl.h"
26
- #define BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS (1)
27
- #else
28
- #define BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS (0)
29
- #endif
30
-
31
- #if !BASE_NUMERICS_DISABLE_OSTREAM_OPERATORS
32
- #include <ostream>
33
- #endif
34
-
35
- namespace v8 {
36
- namespace base {
37
- namespace internal {
38
-
39
- #if !BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS
40
- template <typename Dst, typename Src>
41
- struct SaturateFastAsmOp {
42
- static constexpr bool is_supported = false;
43
- static constexpr Dst Do(Src) {
44
- // Force a compile failure if instantiated.
45
- return CheckOnFailure::template HandleFailure<Dst>();
46
- }
47
- };
48
- #endif // BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS
49
- #undef BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS
50
-
51
- // The following special case a few specific integer conversions where we can
52
- // eke out better performance than range checking.
53
- template <typename Dst, typename Src, typename Enable = void>
54
- struct IsValueInRangeFastOp {
55
- static constexpr bool is_supported = false;
56
- static constexpr bool Do(Src value) {
57
- // Force a compile failure if instantiated.
58
- return CheckOnFailure::template HandleFailure<bool>();
59
- }
60
- };
61
-
62
- // Signed to signed range comparison.
63
- template <typename Dst, typename Src>
64
- struct IsValueInRangeFastOp<
65
- Dst, Src,
66
- typename std::enable_if<
67
- std::is_integral<Dst>::value && std::is_integral<Src>::value &&
68
- std::is_signed<Dst>::value && std::is_signed<Src>::value &&
69
- !IsTypeInRangeForNumericType<Dst, Src>::value>::type> {
70
- static constexpr bool is_supported = true;
71
-
72
- static constexpr bool Do(Src value) {
73
- // Just downcast to the smaller type, sign extend it back to the original
74
- // type, and then see if it matches the original value.
75
- return value == static_cast<Dst>(value);
76
- }
77
- };
78
-
79
- // Signed to unsigned range comparison.
80
- template <typename Dst, typename Src>
81
- struct IsValueInRangeFastOp<
82
- Dst, Src,
83
- typename std::enable_if<
84
- std::is_integral<Dst>::value && std::is_integral<Src>::value &&
85
- !std::is_signed<Dst>::value && std::is_signed<Src>::value &&
86
- !IsTypeInRangeForNumericType<Dst, Src>::value>::type> {
87
- static constexpr bool is_supported = true;
88
-
89
- static constexpr bool Do(Src value) {
90
- // We cast a signed as unsigned to overflow negative values to the top,
91
- // then compare against whichever maximum is smaller, as our upper bound.
92
- return as_unsigned(value) <= as_unsigned(CommonMax<Src, Dst>());
93
- }
94
- };
95
-
96
- // Convenience function that returns true if the supplied value is in range
97
- // for the destination type.
98
- template <typename Dst, typename Src>
99
- constexpr bool IsValueInRangeForNumericType(Src value) {
100
- using SrcType = typename internal::UnderlyingType<Src>::type;
101
- return internal::IsValueInRangeFastOp<Dst, SrcType>::is_supported
102
- ? internal::IsValueInRangeFastOp<Dst, SrcType>::Do(
103
- static_cast<SrcType>(value))
104
- : internal::DstRangeRelationToSrcRange<Dst>(
105
- static_cast<SrcType>(value))
106
- .IsValid();
107
- }
108
-
109
- // checked_cast<> is analogous to static_cast<> for numeric types,
110
- // except that it CHECKs that the specified numeric conversion will not
111
- // overflow or underflow. NaN source will always trigger a CHECK.
112
- template <typename Dst, class CheckHandler = internal::CheckOnFailure,
113
- typename Src>
114
- constexpr Dst checked_cast(Src value) {
115
- // This throws a compile-time error on evaluating the constexpr if it can be
116
- // determined at compile-time as failing, otherwise it will CHECK at runtime.
117
- using SrcType = typename internal::UnderlyingType<Src>::type;
118
- return BASE_NUMERICS_LIKELY((IsValueInRangeForNumericType<Dst>(value)))
119
- ? static_cast<Dst>(static_cast<SrcType>(value))
120
- : CheckHandler::template HandleFailure<Dst>();
121
- }
122
-
123
- // Default boundaries for integral/float: max/infinity, lowest/-infinity, 0/NaN.
124
- // You may provide your own limits (e.g. to saturated_cast) so long as you
125
- // implement all of the static constexpr member functions in the class below.
126
- template <typename T>
127
- struct SaturationDefaultLimits : public std::numeric_limits<T> {
128
- static constexpr T NaN() {
129
- return std::numeric_limits<T>::has_quiet_NaN
130
- ? std::numeric_limits<T>::quiet_NaN()
131
- : T();
132
- }
133
- using std::numeric_limits<T>::max;
134
- static constexpr T Overflow() {
135
- return std::numeric_limits<T>::has_infinity
136
- ? std::numeric_limits<T>::infinity()
137
- : std::numeric_limits<T>::max();
138
- }
139
- using std::numeric_limits<T>::lowest;
140
- static constexpr T Underflow() {
141
- return std::numeric_limits<T>::has_infinity
142
- ? std::numeric_limits<T>::infinity() * -1
143
- : std::numeric_limits<T>::lowest();
144
- }
145
- };
146
-
147
- template <typename Dst, template <typename> class S, typename Src>
148
- constexpr Dst saturated_cast_impl(Src value, RangeCheck constraint) {
149
- // For some reason clang generates much better code when the branch is
150
- // structured exactly this way, rather than a sequence of checks.
151
- return !constraint.IsOverflowFlagSet()
152
- ? (!constraint.IsUnderflowFlagSet() ? static_cast<Dst>(value)
153
- : S<Dst>::Underflow())
154
- // Skip this check for integral Src, which cannot be NaN.
155
- : (std::is_integral<Src>::value || !constraint.IsUnderflowFlagSet()
156
- ? S<Dst>::Overflow()
157
- : S<Dst>::NaN());
158
- }
159
-
160
- // We can reduce the number of conditions and get slightly better performance
161
- // for normal signed and unsigned integer ranges. And in the specific case of
162
- // Arm, we can use the optimized saturation instructions.
163
- template <typename Dst, typename Src, typename Enable = void>
164
- struct SaturateFastOp {
165
- static constexpr bool is_supported = false;
166
- static constexpr Dst Do(Src value) {
167
- // Force a compile failure if instantiated.
168
- return CheckOnFailure::template HandleFailure<Dst>();
169
- }
170
- };
171
-
172
- template <typename Dst, typename Src>
173
- struct SaturateFastOp<
174
- Dst, Src,
175
- typename std::enable_if<std::is_integral<Src>::value &&
176
- std::is_integral<Dst>::value &&
177
- SaturateFastAsmOp<Dst, Src>::is_supported>::type> {
178
- static constexpr bool is_supported = true;
179
- static constexpr Dst Do(Src value) {
180
- return SaturateFastAsmOp<Dst, Src>::Do(value);
181
- }
182
- };
183
-
184
- template <typename Dst, typename Src>
185
- struct SaturateFastOp<
186
- Dst, Src,
187
- typename std::enable_if<std::is_integral<Src>::value &&
188
- std::is_integral<Dst>::value &&
189
- !SaturateFastAsmOp<Dst, Src>::is_supported>::type> {
190
- static constexpr bool is_supported = true;
191
- static constexpr Dst Do(Src value) {
192
- // The exact order of the following is structured to hit the correct
193
- // optimization heuristics across compilers. Do not change without
194
- // checking the emitted code.
195
- const Dst saturated = CommonMaxOrMin<Dst, Src>(
196
- IsMaxInRangeForNumericType<Dst, Src>() ||
197
- (!IsMinInRangeForNumericType<Dst, Src>() && IsValueNegative(value)));
198
- return BASE_NUMERICS_LIKELY(IsValueInRangeForNumericType<Dst>(value))
199
- ? static_cast<Dst>(value)
200
- : saturated;
201
- }
202
- };
203
-
204
- // saturated_cast<> is analogous to static_cast<> for numeric types, except
205
- // that the specified numeric conversion will saturate by default rather than
206
- // overflow or underflow, and NaN assignment to an integral will return 0.
207
- // All boundary condition behaviors can be overriden with a custom handler.
208
- template <typename Dst,
209
- template <typename> class SaturationHandler = SaturationDefaultLimits,
210
- typename Src>
211
- constexpr Dst saturated_cast(Src value) {
212
- using SrcType = typename UnderlyingType<Src>::type;
213
- return !IsCompileTimeConstant(value) &&
214
- SaturateFastOp<Dst, SrcType>::is_supported &&
215
- std::is_same<SaturationHandler<Dst>,
216
- SaturationDefaultLimits<Dst>>::value
217
- ? SaturateFastOp<Dst, SrcType>::Do(static_cast<SrcType>(value))
218
- : saturated_cast_impl<Dst, SaturationHandler, SrcType>(
219
- static_cast<SrcType>(value),
220
- DstRangeRelationToSrcRange<Dst, SaturationHandler, SrcType>(
221
- static_cast<SrcType>(value)));
222
- }
223
-
224
- // strict_cast<> is analogous to static_cast<> for numeric types, except that
225
- // it will cause a compile failure if the destination type is not large enough
226
- // to contain any value in the source type. It performs no runtime checking.
227
- template <typename Dst, typename Src>
228
- constexpr Dst strict_cast(Src value) {
229
- using SrcType = typename UnderlyingType<Src>::type;
230
- static_assert(UnderlyingType<Src>::is_numeric, "Argument must be numeric.");
231
- static_assert(std::is_arithmetic<Dst>::value, "Result must be numeric.");
232
-
233
- // If you got here from a compiler error, it's because you tried to assign
234
- // from a source type to a destination type that has insufficient range.
235
- // The solution may be to change the destination type you're assigning to,
236
- // and use one large enough to represent the source.
237
- // Alternatively, you may be better served with the checked_cast<> or
238
- // saturated_cast<> template functions for your particular use case.
239
- static_assert(StaticDstRangeRelationToSrcRange<Dst, SrcType>::value ==
240
- NUMERIC_RANGE_CONTAINED,
241
- "The source type is out of range for the destination type. "
242
- "Please see strict_cast<> comments for more information.");
243
-
244
- return static_cast<Dst>(static_cast<SrcType>(value));
245
- }
246
-
247
- // Some wrappers to statically check that a type is in range.
248
- template <typename Dst, typename Src, class Enable = void>
249
- struct IsNumericRangeContained {
250
- static constexpr bool value = false;
251
- };
252
-
253
- template <typename Dst, typename Src>
254
- struct IsNumericRangeContained<
255
- Dst, Src,
256
- typename std::enable_if<ArithmeticOrUnderlyingEnum<Dst>::value &&
257
- ArithmeticOrUnderlyingEnum<Src>::value>::type> {
258
- static constexpr bool value =
259
- StaticDstRangeRelationToSrcRange<Dst, Src>::value ==
260
- NUMERIC_RANGE_CONTAINED;
261
- };
262
-
263
- // StrictNumeric implements compile time range checking between numeric types by
264
- // wrapping assignment operations in a strict_cast. This class is intended to be
265
- // used for function arguments and return types, to ensure the destination type
266
- // can always contain the source type. This is essentially the same as enforcing
267
- // -Wconversion in gcc and C4302 warnings on MSVC, but it can be applied
268
- // incrementally at API boundaries, making it easier to convert code so that it
269
- // compiles cleanly with truncation warnings enabled.
270
- // This template should introduce no runtime overhead, but it also provides no
271
- // runtime checking of any of the associated mathematical operations. Use
272
- // CheckedNumeric for runtime range checks of the actual value being assigned.
273
- template <typename T>
274
- class StrictNumeric {
275
- public:
276
- using type = T;
277
-
278
- constexpr StrictNumeric() : value_(0) {}
279
-
280
- // Copy constructor.
281
- template <typename Src>
282
- constexpr StrictNumeric(const StrictNumeric<Src>& rhs)
283
- : value_(strict_cast<T>(rhs.value_)) {}
284
-
285
- // This is not an explicit constructor because we implicitly upgrade regular
286
- // numerics to StrictNumerics to make them easier to use.
287
- template <typename Src>
288
- constexpr StrictNumeric(Src value) // NOLINT(runtime/explicit)
289
- : value_(strict_cast<T>(value)) {}
290
-
291
- // If you got here from a compiler error, it's because you tried to assign
292
- // from a source type to a destination type that has insufficient range.
293
- // The solution may be to change the destination type you're assigning to,
294
- // and use one large enough to represent the source.
295
- // If you're assigning from a CheckedNumeric<> class, you may be able to use
296
- // the AssignIfValid() member function, specify a narrower destination type to
297
- // the member value functions (e.g. val.template ValueOrDie<Dst>()), use one
298
- // of the value helper functions (e.g. ValueOrDieForType<Dst>(val)).
299
- // If you've encountered an _ambiguous overload_ you can use a static_cast<>
300
- // to explicitly cast the result to the destination type.
301
- // If none of that works, you may be better served with the checked_cast<> or
302
- // saturated_cast<> template functions for your particular use case.
303
- template <typename Dst, typename std::enable_if<IsNumericRangeContained<
304
- Dst, T>::value>::type* = nullptr>
305
- constexpr operator Dst() const {
306
- return static_cast<typename ArithmeticOrUnderlyingEnum<Dst>::type>(value_);
307
- }
308
-
309
- private:
310
- const T value_;
311
- };
312
-
313
- // Convience wrapper returns a StrictNumeric from the provided arithmetic type.
314
- template <typename T>
315
- constexpr StrictNumeric<typename UnderlyingType<T>::type> MakeStrictNum(
316
- const T value) {
317
- return value;
318
- }
319
-
320
- #if !BASE_NUMERICS_DISABLE_OSTREAM_OPERATORS
321
- // Overload the ostream output operator to make logging work nicely.
322
- template <typename T>
323
- std::ostream& operator<<(std::ostream& os, const StrictNumeric<T>& value) {
324
- os << static_cast<T>(value);
325
- return os;
326
- }
327
- #endif
328
-
329
- #define BASE_NUMERIC_COMPARISON_OPERATORS(CLASS, NAME, OP) \
330
- template <typename L, typename R, \
331
- typename std::enable_if< \
332
- internal::Is##CLASS##Op<L, R>::value>::type* = nullptr> \
333
- constexpr bool operator OP(const L lhs, const R rhs) { \
334
- return SafeCompare<NAME, typename UnderlyingType<L>::type, \
335
- typename UnderlyingType<R>::type>(lhs, rhs); \
336
- }
337
-
338
- BASE_NUMERIC_COMPARISON_OPERATORS(Strict, IsLess, <)
339
- BASE_NUMERIC_COMPARISON_OPERATORS(Strict, IsLessOrEqual, <=)
340
- BASE_NUMERIC_COMPARISON_OPERATORS(Strict, IsGreater, >)
341
- BASE_NUMERIC_COMPARISON_OPERATORS(Strict, IsGreaterOrEqual, >=)
342
- BASE_NUMERIC_COMPARISON_OPERATORS(Strict, IsEqual, ==)
343
- BASE_NUMERIC_COMPARISON_OPERATORS(Strict, IsNotEqual, !=)
344
-
345
- } // namespace internal
346
-
347
- using internal::as_signed;
348
- using internal::as_unsigned;
349
- using internal::checked_cast;
350
- using internal::IsTypeInRangeForNumericType;
351
- using internal::IsValueInRangeForNumericType;
352
- using internal::IsValueNegative;
353
- using internal::MakeStrictNum;
354
- using internal::SafeUnsignedAbs;
355
- using internal::saturated_cast;
356
- using internal::strict_cast;
357
- using internal::StrictNumeric;
358
-
359
- // Explicitly make a shorter size_t alias for convenience.
360
- using SizeT = StrictNumeric<size_t>;
361
-
362
- // floating -> integral conversions that saturate and thus can actually return
363
- // an integral type. In most cases, these should be preferred over the std::
364
- // versions.
365
- template <typename Dst = int, typename Src,
366
- typename = std::enable_if_t<std::is_integral<Dst>::value &&
367
- std::is_floating_point<Src>::value>>
368
- Dst ClampFloor(Src value) {
369
- return saturated_cast<Dst>(std::floor(value));
370
- }
371
- template <typename Dst = int, typename Src,
372
- typename = std::enable_if_t<std::is_integral<Dst>::value &&
373
- std::is_floating_point<Src>::value>>
374
- Dst ClampCeil(Src value) {
375
- return saturated_cast<Dst>(std::ceil(value));
376
- }
377
- template <typename Dst = int, typename Src,
378
- typename = std::enable_if_t<std::is_integral<Dst>::value &&
379
- std::is_floating_point<Src>::value>>
380
- Dst ClampRound(Src value) {
381
- const Src rounded =
382
- (value >= 0.0f) ? std::floor(value + 0.5f) : std::ceil(value - 0.5f);
383
- return saturated_cast<Dst>(rounded);
384
- }
385
-
386
- } // namespace base
387
- } // namespace v8
388
-
389
- #endif // V8_BASE_SAFE_CONVERSIONS_H_