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

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