@nativescript/canvas 2.0.0-alpha.10 → 2.0.0-alpha.12

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 (372) hide show
  1. package/Canvas/index.android.d.ts +4 -0
  2. package/Canvas/index.android.js +15 -1
  3. package/Canvas/index.android.js.map +1 -1
  4. package/Canvas/index.ios.js +0 -1
  5. package/Canvas/index.ios.js.map +1 -1
  6. package/WebGL/WebGLRenderingContext/index.js +9 -1
  7. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  8. package/package.json +1 -1
  9. package/platforms/android/canvas-release.aar +0 -0
  10. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  11. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +4 -0
  12. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +46 -0
  13. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  14. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +381 -16
  15. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +3 -0
  16. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +3 -0
  17. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  18. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  19. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +8 -0
  20. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +46 -0
  21. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  22. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  23. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +381 -16
  24. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +3 -0
  25. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -0
  26. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +381 -16
  27. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +3 -0
  28. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +3 -0
  29. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +24 -24
  30. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  31. package/platforms/ios/Podfile +1 -1
  32. package/platforms/ios/build.xcconfig +1 -1
  33. package/platforms/ios/src/CanvasModule.h +1 -1
  34. package/platforms/ios/src/cpp/CanvasJSIModule.h +1 -1
  35. package/platforms/ios/src/cpp/CanvasJSIModule.mm +17 -17
  36. package/platforms/ios/src/cpp/Helpers.h +1 -1
  37. package/platforms/ios/src/cpp/ImageAssetImpl.h +1 -1
  38. package/platforms/ios/src/cpp/ImageBitmapImpl.h +1 -1
  39. package/platforms/ios/src/cpp/JSICallback.h +1 -1
  40. package/platforms/ios/src/cpp/JSIReadFileCallback.h +1 -1
  41. package/platforms/ios/src/cpp/TextDecoderImpl.h +1 -1
  42. package/platforms/ios/src/cpp/VecMutableBuffer.h +1 -1
  43. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +1 -1
  44. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +1 -1
  45. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +1 -1
  46. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +1 -1
  47. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +1 -1
  48. package/platforms/ios/src/cpp/canvas2d/Path2D.h +1 -1
  49. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +1 -1
  50. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +1 -1
  51. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +1 -1
  52. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +1 -1
  53. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +1 -1
  54. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +1 -1
  55. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +1 -1
  56. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.h +1 -1
  57. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.mm +1 -1
  58. package/platforms/ios/src/cpp/webgl/WebGLShader.h +1 -1
  59. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +1 -1
  60. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +1 -1
  61. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +1 -1
  62. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +1 -1
  63. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +1 -1
  64. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +1 -1
  65. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +1 -1
  66. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +1 -1
  67. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +1 -1
  68. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +1 -1
  69. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +1 -1
  70. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +1 -1
  71. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +1 -1
  72. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +1 -1
  73. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +1 -1
  74. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +1 -1
  75. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +1 -1
  76. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +1 -1
  77. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +1 -1
  78. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +1 -1
  79. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +1 -1
  80. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +1 -1
  81. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +1 -1
  82. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +1 -1
  83. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +1 -1
  84. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +1 -1
  85. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +1 -1
  86. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +1 -1
  87. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1 -1
  88. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +1 -1
  89. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +1 -1
  90. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +1 -1
  91. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +1 -1
  92. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +1 -1
  93. package/pods/Headers/include/APIDesign.md +0 -72
  94. package/pods/Headers/include/DEPS +0 -10
  95. package/pods/Headers/include/DIR_METADATA +0 -11
  96. package/pods/Headers/include/OWNERS +0 -23
  97. package/pods/Headers/include/cppgc/DEPS +0 -8
  98. package/pods/Headers/include/cppgc/OWNERS +0 -2
  99. package/pods/Headers/include/cppgc/README.md +0 -133
  100. package/pods/Headers/include/cppgc/allocation.h +0 -310
  101. package/pods/Headers/include/cppgc/common.h +0 -29
  102. package/pods/Headers/include/cppgc/cross-thread-persistent.h +0 -465
  103. package/pods/Headers/include/cppgc/custom-space.h +0 -97
  104. package/pods/Headers/include/cppgc/default-platform.h +0 -67
  105. package/pods/Headers/include/cppgc/ephemeron-pair.h +0 -30
  106. package/pods/Headers/include/cppgc/explicit-management.h +0 -100
  107. package/pods/Headers/include/cppgc/garbage-collected.h +0 -106
  108. package/pods/Headers/include/cppgc/heap-consistency.h +0 -266
  109. package/pods/Headers/include/cppgc/heap-state.h +0 -82
  110. package/pods/Headers/include/cppgc/heap-statistics.h +0 -120
  111. package/pods/Headers/include/cppgc/heap.h +0 -206
  112. package/pods/Headers/include/cppgc/internal/api-constants.h +0 -55
  113. package/pods/Headers/include/cppgc/internal/atomic-entry-flag.h +0 -48
  114. package/pods/Headers/include/cppgc/internal/caged-heap-local-data.h +0 -79
  115. package/pods/Headers/include/cppgc/internal/compiler-specific.h +0 -38
  116. package/pods/Headers/include/cppgc/internal/finalizer-trait.h +0 -93
  117. package/pods/Headers/include/cppgc/internal/gc-info.h +0 -156
  118. package/pods/Headers/include/cppgc/internal/logging.h +0 -50
  119. package/pods/Headers/include/cppgc/internal/name-trait.h +0 -122
  120. package/pods/Headers/include/cppgc/internal/persistent-node.h +0 -216
  121. package/pods/Headers/include/cppgc/internal/pointer-policies.h +0 -186
  122. package/pods/Headers/include/cppgc/internal/write-barrier.h +0 -435
  123. package/pods/Headers/include/cppgc/liveness-broker.h +0 -77
  124. package/pods/Headers/include/cppgc/macros.h +0 -26
  125. package/pods/Headers/include/cppgc/member.h +0 -291
  126. package/pods/Headers/include/cppgc/name-provider.h +0 -65
  127. package/pods/Headers/include/cppgc/object-size-trait.h +0 -58
  128. package/pods/Headers/include/cppgc/persistent.h +0 -370
  129. package/pods/Headers/include/cppgc/platform.h +0 -156
  130. package/pods/Headers/include/cppgc/prefinalizer.h +0 -75
  131. package/pods/Headers/include/cppgc/process-heap-statistics.h +0 -36
  132. package/pods/Headers/include/cppgc/sentinel-pointer.h +0 -32
  133. package/pods/Headers/include/cppgc/source-location.h +0 -92
  134. package/pods/Headers/include/cppgc/testing.h +0 -106
  135. package/pods/Headers/include/cppgc/trace-trait.h +0 -116
  136. package/pods/Headers/include/cppgc/type-traits.h +0 -240
  137. package/pods/Headers/include/cppgc/visitor.h +0 -379
  138. package/pods/Headers/include/js_protocol-1.2.json +0 -936
  139. package/pods/Headers/include/js_protocol-1.3.json +0 -1112
  140. package/pods/Headers/include/js_protocol.pdl +0 -1709
  141. package/pods/Headers/include/libffi/arm64/ffi.h +0 -524
  142. package/pods/Headers/include/libffi/arm64/ffitarget.h +0 -92
  143. package/pods/Headers/include/libffi/x86_64/ffi.h +0 -524
  144. package/pods/Headers/include/libffi/x86_64/ffitarget.h +0 -147
  145. package/pods/Headers/include/libffi.h +0 -12
  146. package/pods/Headers/include/libplatform/DEPS +0 -9
  147. package/pods/Headers/include/libplatform/libplatform-export.h +0 -29
  148. package/pods/Headers/include/libplatform/libplatform.h +0 -106
  149. package/pods/Headers/include/libplatform/v8-tracing.h +0 -333
  150. package/pods/Headers/include/v8-array-buffer.h +0 -433
  151. package/pods/Headers/include/v8-callbacks.h +0 -397
  152. package/pods/Headers/include/v8-container.h +0 -129
  153. package/pods/Headers/include/v8-context.h +0 -407
  154. package/pods/Headers/include/v8-cppgc.h +0 -215
  155. package/pods/Headers/include/v8-data.h +0 -80
  156. package/pods/Headers/include/v8-date.h +0 -43
  157. package/pods/Headers/include/v8-debug.h +0 -168
  158. package/pods/Headers/include/v8-embedder-heap.h +0 -218
  159. package/pods/Headers/include/v8-embedder-state-scope.h +0 -51
  160. package/pods/Headers/include/v8-exception.h +0 -217
  161. package/pods/Headers/include/v8-extension.h +0 -62
  162. package/pods/Headers/include/v8-external.h +0 -37
  163. package/pods/Headers/include/v8-fast-api-calls.h +0 -939
  164. package/pods/Headers/include/v8-forward.h +0 -81
  165. package/pods/Headers/include/v8-function-callback.h +0 -475
  166. package/pods/Headers/include/v8-function.h +0 -125
  167. package/pods/Headers/include/v8-initialization.h +0 -315
  168. package/pods/Headers/include/v8-inspector-protocol.h +0 -13
  169. package/pods/Headers/include/v8-inspector.h +0 -376
  170. package/pods/Headers/include/v8-internal.h +0 -661
  171. package/pods/Headers/include/v8-isolate.h +0 -1709
  172. package/pods/Headers/include/v8-json.h +0 -47
  173. package/pods/Headers/include/v8-local-handle.h +0 -455
  174. package/pods/Headers/include/v8-locker.h +0 -149
  175. package/pods/Headers/include/v8-maybe.h +0 -137
  176. package/pods/Headers/include/v8-memory-span.h +0 -43
  177. package/pods/Headers/include/v8-message.h +0 -216
  178. package/pods/Headers/include/v8-metrics.h +0 -255
  179. package/pods/Headers/include/v8-microtask-queue.h +0 -152
  180. package/pods/Headers/include/v8-microtask.h +0 -28
  181. package/pods/Headers/include/v8-object.h +0 -775
  182. package/pods/Headers/include/v8-persistent-handle.h +0 -590
  183. package/pods/Headers/include/v8-platform.h +0 -1092
  184. package/pods/Headers/include/v8-primitive-object.h +0 -118
  185. package/pods/Headers/include/v8-primitive.h +0 -866
  186. package/pods/Headers/include/v8-profiler.h +0 -1198
  187. package/pods/Headers/include/v8-promise.h +0 -174
  188. package/pods/Headers/include/v8-proxy.h +0 -50
  189. package/pods/Headers/include/v8-regexp.h +0 -105
  190. package/pods/Headers/include/v8-script.h +0 -748
  191. package/pods/Headers/include/v8-snapshot.h +0 -196
  192. package/pods/Headers/include/v8-statistics.h +0 -217
  193. package/pods/Headers/include/v8-template.h +0 -1079
  194. package/pods/Headers/include/v8-traced-handle.h +0 -420
  195. package/pods/Headers/include/v8-typed-array.h +0 -282
  196. package/pods/Headers/include/v8-unwinder-state.h +0 -31
  197. package/pods/Headers/include/v8-unwinder.h +0 -132
  198. package/pods/Headers/include/v8-util.h +0 -658
  199. package/pods/Headers/include/v8-value-serializer-version.h +0 -24
  200. package/pods/Headers/include/v8-value-serializer.h +0 -279
  201. package/pods/Headers/include/v8-value.h +0 -526
  202. package/pods/Headers/include/v8-version-string.h +0 -38
  203. package/pods/Headers/include/v8-version.h +0 -20
  204. package/pods/Headers/include/v8-wasm-trap-handler-posix.h +0 -31
  205. package/pods/Headers/include/v8-wasm-trap-handler-win.h +0 -28
  206. package/pods/Headers/include/v8-wasm.h +0 -257
  207. package/pods/Headers/include/v8-weak-callback-info.h +0 -86
  208. package/pods/Headers/include/v8.h +0 -88
  209. package/pods/Headers/include/v8config.h +0 -605
  210. package/pods/Headers/inspector/InspectorServer.h +0 -20
  211. package/pods/Headers/inspector/JsV8InspectorClient.h +0 -66
  212. package/pods/Headers/inspector/base/trace_event/common/trace_event_common.h +0 -1123
  213. package/pods/Headers/inspector/base64.h +0 -9
  214. package/pods/Headers/inspector/src/base/address-region.h +0 -95
  215. package/pods/Headers/inspector/src/base/atomic-utils.h +0 -219
  216. package/pods/Headers/inspector/src/base/atomicops.h +0 -332
  217. package/pods/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +0 -89
  218. package/pods/Headers/inspector/src/base/base-export.h +0 -31
  219. package/pods/Headers/inspector/src/base/bits.h +0 -343
  220. package/pods/Headers/inspector/src/base/build_config.h +0 -234
  221. package/pods/Headers/inspector/src/base/compiler-specific.h +0 -136
  222. package/pods/Headers/inspector/src/base/export-template.h +0 -163
  223. package/pods/Headers/inspector/src/base/flags.h +0 -130
  224. package/pods/Headers/inspector/src/base/immediate-crash.h +0 -162
  225. package/pods/Headers/inspector/src/base/lazy-instance.h +0 -258
  226. package/pods/Headers/inspector/src/base/logging.h +0 -417
  227. package/pods/Headers/inspector/src/base/macros.h +0 -423
  228. package/pods/Headers/inspector/src/base/memory.h +0 -89
  229. package/pods/Headers/inspector/src/base/once.h +0 -108
  230. package/pods/Headers/inspector/src/base/optional.h +0 -882
  231. package/pods/Headers/inspector/src/base/platform/mutex.h +0 -370
  232. package/pods/Headers/inspector/src/base/platform/platform.h +0 -476
  233. package/pods/Headers/inspector/src/base/platform/semaphore.h +0 -108
  234. package/pods/Headers/inspector/src/base/platform/v8-time.h +0 -513
  235. package/pods/Headers/inspector/src/base/platform/wrappers.h +0 -73
  236. package/pods/Headers/inspector/src/base/safe_conversions.h +0 -389
  237. package/pods/Headers/inspector/src/base/safe_conversions_impl.h +0 -822
  238. package/pods/Headers/inspector/src/base/template-utils.h +0 -113
  239. package/pods/Headers/inspector/src/base/v8-fallthrough.h +0 -21
  240. package/pods/Headers/inspector/src/common/checks.h +0 -38
  241. package/pods/Headers/inspector/src/common/globals.h +0 -1842
  242. package/pods/Headers/inspector/src/debug/debug-interface.h +0 -667
  243. package/pods/Headers/inspector/src/debug/interface-types.h +0 -175
  244. package/pods/Headers/inspector/src/init/v8.h +0 -52
  245. package/pods/Headers/inspector/src/inspector/custom-preview.h +0 -24
  246. package/pods/Headers/inspector/src/inspector/injected-script.h +0 -251
  247. package/pods/Headers/inspector/src/inspector/inspected-context.h +0 -79
  248. package/pods/Headers/inspector/src/inspector/protocol/CSS.h +0 -2148
  249. package/pods/Headers/inspector/src/inspector/protocol/Console.h +0 -211
  250. package/pods/Headers/inspector/src/inspector/protocol/DOM.h +0 -1008
  251. package/pods/Headers/inspector/src/inspector/protocol/Debugger.h +0 -892
  252. package/pods/Headers/inspector/src/inspector/protocol/Forward.h +0 -75
  253. package/pods/Headers/inspector/src/inspector/protocol/HeapProfiler.h +0 -346
  254. package/pods/Headers/inspector/src/inspector/protocol/Log.h +0 -342
  255. package/pods/Headers/inspector/src/inspector/protocol/Network.h +0 -2528
  256. package/pods/Headers/inspector/src/inspector/protocol/Overlay.h +0 -281
  257. package/pods/Headers/inspector/src/inspector/protocol/Page.h +0 -1189
  258. package/pods/Headers/inspector/src/inspector/protocol/Profiler.h +0 -1001
  259. package/pods/Headers/inspector/src/inspector/protocol/Protocol.h +0 -617
  260. package/pods/Headers/inspector/src/inspector/protocol/Runtime.h +0 -1696
  261. package/pods/Headers/inspector/src/inspector/protocol/Schema.h +0 -146
  262. package/pods/Headers/inspector/src/inspector/protocol/Security.h +0 -793
  263. package/pods/Headers/inspector/src/inspector/remote-object-id.h +0 -54
  264. package/pods/Headers/inspector/src/inspector/search-util.h +0 -26
  265. package/pods/Headers/inspector/src/inspector/string-16.h +0 -180
  266. package/pods/Headers/inspector/src/inspector/string-util.h +0 -128
  267. package/pods/Headers/inspector/src/inspector/v8-console-agent-impl.h +0 -48
  268. package/pods/Headers/inspector/src/inspector/v8-console-message.h +0 -147
  269. package/pods/Headers/inspector/src/inspector/v8-console.h +0 -173
  270. package/pods/Headers/inspector/src/inspector/v8-css-agent-impl.h +0 -62
  271. package/pods/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +0 -248
  272. package/pods/Headers/inspector/src/inspector/v8-debugger-id.h +0 -44
  273. package/pods/Headers/inspector/src/inspector/v8-debugger-script.h +0 -123
  274. package/pods/Headers/inspector/src/inspector/v8-debugger.h +0 -257
  275. package/pods/Headers/inspector/src/inspector/v8-dom-agent-impl.h +0 -91
  276. package/pods/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +0 -80
  277. package/pods/Headers/inspector/src/inspector/v8-inspector-impl.h +0 -191
  278. package/pods/Headers/inspector/src/inspector/v8-inspector-session-impl.h +0 -156
  279. package/pods/Headers/inspector/src/inspector/v8-log-agent-impl.h +0 -34
  280. package/pods/Headers/inspector/src/inspector/v8-network-agent-impl.h +0 -71
  281. package/pods/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +0 -24
  282. package/pods/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +0 -70
  283. package/pods/Headers/inspector/src/inspector/v8-page-agent-impl.h +0 -88
  284. package/pods/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +0 -104
  285. package/pods/Headers/inspector/src/inspector/v8-regex.h +0 -38
  286. package/pods/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +0 -157
  287. package/pods/Headers/inspector/src/inspector/v8-schema-agent-impl.h +0 -38
  288. package/pods/Headers/inspector/src/inspector/v8-stack-trace-impl.h +0 -164
  289. package/pods/Headers/inspector/src/inspector/v8-string-conversions.h +0 -17
  290. package/pods/Headers/inspector/src/inspector/v8-value-utils.h +0 -23
  291. package/pods/Headers/inspector/src/inspector/value-mirror.h +0 -87
  292. package/pods/Headers/inspector/src/libplatform/default-platform.h +0 -92
  293. package/pods/Headers/inspector/src/logging/tracing-flags.h +0 -50
  294. package/pods/Headers/inspector/src/numbers/conversions.h +0 -183
  295. package/pods/Headers/inspector/src/tracing/trace-event.h +0 -664
  296. package/pods/Headers/inspector/src/utils/allocation.h +0 -367
  297. package/pods/Headers/inspector/src/utils/vector.h +0 -324
  298. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +0 -305
  299. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +0 -314
  300. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +0 -62
  301. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +0 -6
  302. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +0 -58
  303. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +0 -47
  304. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +0 -80
  305. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +0 -52
  306. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +0 -26
  307. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +0 -104
  308. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +0 -39
  309. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +0 -406
  310. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +0 -32
  311. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +0 -158
  312. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +0 -99
  313. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +0 -139
  314. package/pods/Headers/inspector/utils.h +0 -32
  315. package/pods/Headers/inspector/v8-inspector-platform.h +0 -44
  316. package/pods/Headers/jsi/decorator.h +0 -770
  317. package/pods/Headers/jsi/instrumentation.h +0 -117
  318. package/pods/Headers/jsi/jsi-inl.h +0 -338
  319. package/pods/Headers/jsi/jsi.h +0 -1571
  320. package/pods/Headers/jsi/jsilib.h +0 -59
  321. package/pods/Headers/jsi/threadsafe.h +0 -79
  322. package/pods/Headers/runtime/ArgConverter.h +0 -61
  323. package/pods/Headers/runtime/ArrayAdapter.h +0 -13
  324. package/pods/Headers/runtime/Caches.h +0 -98
  325. package/pods/Headers/runtime/ClassBuilder.h +0 -61
  326. package/pods/Headers/runtime/Common.h +0 -9
  327. package/pods/Headers/runtime/ConcurrentMap.h +0 -55
  328. package/pods/Headers/runtime/ConcurrentQueue.h +0 -28
  329. package/pods/Headers/runtime/Console.h +0 -27
  330. package/pods/Headers/runtime/Constants.h +0 -15
  331. package/pods/Headers/runtime/DataWrapper.h +0 -671
  332. package/pods/Headers/runtime/DictionaryAdapter.h +0 -13
  333. package/pods/Headers/runtime/ExtVector.h +0 -21
  334. package/pods/Headers/runtime/FFICall.h +0 -105
  335. package/pods/Headers/runtime/FastEnumerationAdapter.h +0 -13
  336. package/pods/Headers/runtime/FunctionReference.h +0 -18
  337. package/pods/Headers/runtime/Helpers.h +0 -84
  338. package/pods/Headers/runtime/InlineFunctions.h +0 -16
  339. package/pods/Headers/runtime/Interop.h +0 -202
  340. package/pods/Headers/runtime/KnownUnknownClassPair.h +0 -35
  341. package/pods/Headers/runtime/Metadata.h +0 -981
  342. package/pods/Headers/runtime/MetadataBuilder.h +0 -72
  343. package/pods/Headers/runtime/MetadataInlines.h +0 -157
  344. package/pods/Headers/runtime/ModuleInternal.h +0 -59
  345. package/pods/Headers/runtime/NSDataAdapter.h +0 -13
  346. package/pods/Headers/runtime/NativeScriptException.h +0 -27
  347. package/pods/Headers/runtime/ObjectManager.h +0 -31
  348. package/pods/Headers/runtime/OneByteStringResource.h +0 -21
  349. package/pods/Headers/runtime/Pointer.h +0 -26
  350. package/pods/Headers/runtime/PromiseProxy.h +0 -15
  351. package/pods/Headers/runtime/Reference.h +0 -38
  352. package/pods/Headers/runtime/Runtime.h +0 -67
  353. package/pods/Headers/runtime/RuntimeConfig.h +0 -17
  354. package/pods/Headers/runtime/SetTimeout.h +0 -34
  355. package/pods/Headers/runtime/SimpleAllocator.h +0 -23
  356. package/pods/Headers/runtime/StringHasher.h +0 -315
  357. package/pods/Headers/runtime/SymbolIterator.h +0 -18
  358. package/pods/Headers/runtime/SymbolLoader.h +0 -27
  359. package/pods/Headers/runtime/TNSDerivedClass.h +0 -8
  360. package/pods/Headers/runtime/TSHelpers.h +0 -15
  361. package/pods/Headers/runtime/Tasks.h +0 -19
  362. package/pods/Headers/runtime/UnmanagedType.h +0 -21
  363. package/pods/Headers/runtime/WeakRef.h +0 -15
  364. package/pods/Headers/runtime/Worker.h +0 -26
  365. package/pods/Headers/runtime/robin_hood.h +0 -2184
  366. package/pods/Headers/v8runtime/HostProxy.h +0 -71
  367. package/pods/Headers/v8runtime/JSIV8ValueConverter.h +0 -74
  368. package/pods/Headers/v8runtime/V8PointerValue.h +0 -44
  369. package/pods/Headers/v8runtime/V8Runtime.h +0 -240
  370. package/pods/Headers/v8runtime/V8RuntimeConfig.h +0 -26
  371. package/pods/Headers/v8runtime/V8RuntimeFactory.h +0 -21
  372. package/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_