@nativescript/canvas 2.0.0-alpha.3 → 2.0.0-alpha.31
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.
- package/Canvas/common.d.ts +212 -25
- package/Canvas/common.js +677 -460
- package/Canvas/common.js.map +1 -1
- package/Canvas/index.android.d.ts +9 -0
- package/Canvas/index.android.js +162 -53
- package/Canvas/index.android.js.map +1 -1
- package/Canvas/index.d.ts +12 -0
- package/Canvas/index.ios.d.ts +6 -0
- package/Canvas/index.ios.js +151 -66
- package/Canvas/index.ios.js.map +1 -1
- package/Canvas2D/CanvasGradient/index.d.ts +1 -3
- package/Canvas2D/CanvasGradient/index.js +1 -10
- package/Canvas2D/CanvasGradient/index.js.map +1 -1
- package/Canvas2D/CanvasPattern/index.d.ts +1 -3
- package/Canvas2D/CanvasPattern/index.js +1 -10
- package/Canvas2D/CanvasPattern/index.js.map +1 -1
- package/Canvas2D/CanvasRenderingContext2D/index.d.ts +1 -3
- package/Canvas2D/CanvasRenderingContext2D/index.js +104 -214
- package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
- package/Canvas2D/DOMMatrix/index.js +3 -3
- package/Canvas2D/DOMMatrix/index.js.map +1 -1
- package/Canvas2D/ImageData/index.js +6 -6
- package/Canvas2D/ImageData/index.js.map +1 -1
- package/Canvas2D/Path2D/index.d.ts +0 -2
- package/Canvas2D/Path2D/index.js +34 -39
- package/Canvas2D/Path2D/index.js.map +1 -1
- package/Dom/Paint.js +2 -3
- package/Dom/Paint.js.map +1 -1
- package/Dom/shapes/Circle.js +1 -2
- package/Dom/shapes/Circle.js.map +1 -1
- package/Dom/shapes/Points.js +1 -2
- package/Dom/shapes/Points.js.map +1 -1
- package/ImageAsset/index.d.ts +2 -2
- package/ImageAsset/index.js +33 -37
- package/ImageAsset/index.js.map +1 -1
- package/ImageBitmap/index.d.ts +0 -2
- package/ImageBitmap/index.js +47 -34
- package/ImageBitmap/index.js.map +1 -1
- package/LICENSE +201 -0
- package/SVG/SVG.js +1 -1
- package/SVG/SVG.js.map +1 -1
- package/TextDecoder/index.d.ts +0 -2
- package/TextDecoder/index.js +3 -12
- package/TextDecoder/index.js.map +1 -1
- package/TextEncoder/index.d.ts +0 -2
- package/TextEncoder/index.js +4 -13
- package/TextEncoder/index.js.map +1 -1
- package/WebGL/WebGLExtensions/index.d.ts +4 -12
- package/WebGL/WebGLExtensions/index.js +27 -77
- package/WebGL/WebGLExtensions/index.js.map +1 -1
- package/WebGL/WebGLProgram.d.ts +0 -1
- package/WebGL/WebGLProgram.js +0 -3
- package/WebGL/WebGLProgram.js.map +1 -1
- package/WebGL/WebGLRenderingContext/common.d.ts +0 -2
- package/WebGL/WebGLRenderingContext/common.js +0 -10
- package/WebGL/WebGLRenderingContext/common.js.map +1 -1
- package/WebGL/WebGLRenderingContext/index.d.ts +15 -15
- package/WebGL/WebGLRenderingContext/index.js +183 -578
- package/WebGL/WebGLRenderingContext/index.js.map +1 -1
- package/WebGL2/WebGL2RenderingContext/index.d.ts +1 -1
- package/WebGL2/WebGL2RenderingContext/index.js +109 -281
- package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
- package/angular/esm2020/index.mjs +4 -4
- package/angular/fesm2015/nativescript-canvas-angular.mjs +4 -4
- package/angular/fesm2020/nativescript-canvas-angular.mjs +4 -4
- package/angular/package.json +2 -2
- package/index.js.map +1 -1
- package/package.json +3 -2
- package/platforms/android/canvas-release.aar +0 -0
- package/platforms/android/include.gradle +15 -0
- package/platforms/ios/CanvasNative.xcframework/Info.plist +5 -5
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +137 -64
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative.h +10 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +142 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2673 -68
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +5734 -2393
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +42 -19
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +42 -19
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +274 -128
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative.h +10 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +142 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2673 -68
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +5734 -2393
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +42 -19
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +42 -19
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +5734 -2393
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +42 -19
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +42 -19
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +42 -31
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
- package/platforms/ios/Podfile +4 -1
- package/platforms/ios/build.xcconfig +3 -3
- package/platforms/ios/src/CanvasModule.h +0 -2
- package/platforms/ios/src/CanvasModule.mm +4 -4
- package/platforms/ios/src/NSOperationQueueWrapper.h +11 -0
- package/platforms/ios/src/NSOperationQueueWrapper.mm +74 -0
- package/platforms/ios/src/cpp/Caches.cpp +35 -0
- package/platforms/ios/src/cpp/Caches.h +190 -0
- package/platforms/ios/src/cpp/CanvasJSIModule.cpp +1534 -0
- package/platforms/ios/src/cpp/CanvasJSIModule.h +8 -34
- package/platforms/ios/src/cpp/Common.h +30 -0
- package/platforms/ios/src/cpp/ConcurrentMap.h +54 -0
- package/platforms/ios/src/cpp/Helpers.h +304 -36
- package/platforms/ios/src/cpp/ImageAssetImpl.cpp +802 -0
- package/platforms/ios/src/cpp/ImageAssetImpl.h +44 -12
- package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +189 -0
- package/platforms/ios/src/cpp/ImageBitmapImpl.h +34 -16
- package/platforms/ios/src/cpp/JSICallback.h +61 -5
- package/platforms/ios/src/cpp/JSIReadFileCallback.h +86 -6
- package/platforms/ios/src/cpp/JSIRuntime.cpp +21 -0
- package/platforms/ios/src/cpp/JSIRuntime.h +7 -0
- package/platforms/ios/src/cpp/OneByteStringResource.cpp +49 -0
- package/platforms/ios/src/cpp/OneByteStringResource.h +32 -0
- package/platforms/ios/src/cpp/RafImpl.cpp +8 -0
- package/platforms/ios/src/cpp/RafImpl.h +11 -8
- package/platforms/ios/src/cpp/TextDecoderImpl.cpp +187 -0
- package/platforms/ios/src/cpp/TextDecoderImpl.h +20 -14
- package/platforms/ios/src/cpp/TextEncoderImpl.cpp +139 -0
- package/platforms/ios/src/cpp/TextEncoderImpl.h +20 -11
- package/platforms/ios/src/cpp/URLImpl.cpp +464 -0
- package/platforms/ios/src/cpp/URLImpl.h +119 -0
- package/platforms/ios/src/cpp/canvas2d/CanvasGradient.cpp +71 -0
- package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +27 -13
- package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +89 -0
- package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +26 -13
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +2413 -0
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +267 -16
- package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +203 -0
- package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +26 -12
- package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +806 -0
- package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +172 -13
- package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +449 -0
- package/platforms/ios/src/cpp/canvas2d/Path2D.h +41 -12
- package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.cpp +253 -0
- package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +50 -12
- package/platforms/ios/src/cpp/gl.h +57 -7
- package/platforms/ios/src/cpp/gl3stub.c +425 -0
- package/platforms/ios/src/cpp/gl3stub.h +665 -0
- package/platforms/ios/src/cpp/gles3jni.h +37 -0
- package/platforms/ios/src/cpp/include/robin_hood.h +2544 -0
- package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.cpp +91 -0
- package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +33 -13
- package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +41 -6
- package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +46 -10
- package/platforms/ios/src/cpp/webgl/WebGLProgram.h +40 -5
- package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +40 -6
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +6454 -0
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +262 -390
- package/platforms/ios/src/cpp/webgl/{WebGLRenderingContextBase.mm → WebGLRenderingContextBase.cpp} +46 -24
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.h +17 -11
- package/platforms/ios/src/cpp/webgl/WebGLShader.h +40 -6
- package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.cpp +50 -0
- package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +66 -11
- package/platforms/ios/src/cpp/webgl/WebGLTexture.h +40 -6
- package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +44 -8
- package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.cpp +126 -0
- package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +25 -11
- package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.cpp +35 -0
- package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +25 -5
- package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.cpp +41 -0
- package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +25 -5
- package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.cpp +306 -0
- package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +47 -13
- package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +49 -6
- package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +37 -15
- package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +47 -6
- package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +49 -6
- package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +51 -0
- package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +44 -6
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +38 -15
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +37 -16
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +41 -6
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +40 -16
- package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.cpp +102 -0
- package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +69 -14
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +51 -8
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +49 -6
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +49 -8
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +76 -6
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +57 -6
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +53 -6
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +59 -6
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +46 -6
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.cpp +35 -0
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +127 -14
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.cpp +32 -0
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +61 -12
- package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +4375 -0
- package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +139 -343
- package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +40 -4
- package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +42 -3
- package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +44 -11
- package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +42 -4
- package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +43 -4
- package/platforms/ios/src/module.modulemap +1 -0
- package/src-native/ios/Headers/include/APIDesign.md +72 -0
- package/src-native/ios/Headers/include/DEPS +10 -0
- package/src-native/ios/Headers/include/DIR_METADATA +11 -0
- package/src-native/ios/Headers/include/OWNERS +23 -0
- package/src-native/ios/Headers/include/cppgc/DEPS +8 -0
- package/src-native/ios/Headers/include/cppgc/OWNERS +2 -0
- package/src-native/ios/Headers/include/cppgc/README.md +133 -0
- package/src-native/ios/Headers/include/cppgc/allocation.h +310 -0
- package/src-native/ios/Headers/include/cppgc/common.h +29 -0
- package/src-native/ios/Headers/include/cppgc/cross-thread-persistent.h +465 -0
- package/src-native/ios/Headers/include/cppgc/custom-space.h +97 -0
- package/src-native/ios/Headers/include/cppgc/default-platform.h +67 -0
- package/src-native/ios/Headers/include/cppgc/ephemeron-pair.h +30 -0
- package/src-native/ios/Headers/include/cppgc/explicit-management.h +100 -0
- package/src-native/ios/Headers/include/cppgc/garbage-collected.h +106 -0
- package/src-native/ios/Headers/include/cppgc/heap-consistency.h +266 -0
- package/src-native/ios/Headers/include/cppgc/heap-state.h +82 -0
- package/src-native/ios/Headers/include/cppgc/heap-statistics.h +120 -0
- package/src-native/ios/Headers/include/cppgc/heap.h +206 -0
- package/src-native/ios/Headers/include/cppgc/internal/api-constants.h +55 -0
- package/src-native/ios/Headers/include/cppgc/internal/atomic-entry-flag.h +48 -0
- package/src-native/ios/Headers/include/cppgc/internal/caged-heap-local-data.h +79 -0
- package/src-native/ios/Headers/include/cppgc/internal/compiler-specific.h +38 -0
- package/src-native/ios/Headers/include/cppgc/internal/finalizer-trait.h +93 -0
- package/src-native/ios/Headers/include/cppgc/internal/gc-info.h +156 -0
- package/src-native/ios/Headers/include/cppgc/internal/logging.h +50 -0
- package/src-native/ios/Headers/include/cppgc/internal/name-trait.h +122 -0
- package/src-native/ios/Headers/include/cppgc/internal/persistent-node.h +216 -0
- package/src-native/ios/Headers/include/cppgc/internal/pointer-policies.h +186 -0
- package/src-native/ios/Headers/include/cppgc/internal/write-barrier.h +435 -0
- package/src-native/ios/Headers/include/cppgc/liveness-broker.h +77 -0
- package/src-native/ios/Headers/include/cppgc/macros.h +26 -0
- package/src-native/ios/Headers/include/cppgc/member.h +291 -0
- package/src-native/ios/Headers/include/cppgc/name-provider.h +65 -0
- package/src-native/ios/Headers/include/cppgc/object-size-trait.h +58 -0
- package/src-native/ios/Headers/include/cppgc/persistent.h +370 -0
- package/src-native/ios/Headers/include/cppgc/platform.h +156 -0
- package/src-native/ios/Headers/include/cppgc/prefinalizer.h +75 -0
- package/src-native/ios/Headers/include/cppgc/process-heap-statistics.h +36 -0
- package/src-native/ios/Headers/include/cppgc/sentinel-pointer.h +32 -0
- package/src-native/ios/Headers/include/cppgc/source-location.h +92 -0
- package/src-native/ios/Headers/include/cppgc/testing.h +106 -0
- package/src-native/ios/Headers/include/cppgc/trace-trait.h +116 -0
- package/src-native/ios/Headers/include/cppgc/type-traits.h +240 -0
- package/src-native/ios/Headers/include/cppgc/visitor.h +379 -0
- package/src-native/ios/Headers/include/js_protocol-1.2.json +936 -0
- package/src-native/ios/Headers/include/js_protocol-1.3.json +1112 -0
- package/src-native/ios/Headers/include/js_protocol.pdl +1709 -0
- package/src-native/ios/Headers/include/libffi/arm64/ffi.h +524 -0
- package/src-native/ios/Headers/include/libffi/arm64/ffitarget.h +92 -0
- package/src-native/ios/Headers/include/libffi/x86_64/ffi.h +524 -0
- package/src-native/ios/Headers/include/libffi/x86_64/ffitarget.h +147 -0
- package/src-native/ios/Headers/include/libffi.h +12 -0
- package/src-native/ios/Headers/include/libplatform/DEPS +9 -0
- package/src-native/ios/Headers/include/libplatform/libplatform-export.h +29 -0
- package/src-native/ios/Headers/include/libplatform/libplatform.h +106 -0
- package/src-native/ios/Headers/include/libplatform/v8-tracing.h +333 -0
- package/src-native/ios/Headers/include/v8-array-buffer.h +433 -0
- package/src-native/ios/Headers/include/v8-callbacks.h +397 -0
- package/src-native/ios/Headers/include/v8-container.h +129 -0
- package/src-native/ios/Headers/include/v8-context.h +407 -0
- package/src-native/ios/Headers/include/v8-cppgc.h +215 -0
- package/src-native/ios/Headers/include/v8-data.h +80 -0
- package/src-native/ios/Headers/include/v8-date.h +43 -0
- package/src-native/ios/Headers/include/v8-debug.h +168 -0
- package/src-native/ios/Headers/include/v8-embedder-heap.h +218 -0
- package/src-native/ios/Headers/include/v8-embedder-state-scope.h +51 -0
- package/src-native/ios/Headers/include/v8-exception.h +217 -0
- package/src-native/ios/Headers/include/v8-extension.h +62 -0
- package/src-native/ios/Headers/include/v8-external.h +37 -0
- package/src-native/ios/Headers/include/v8-fast-api-calls.h +939 -0
- package/src-native/ios/Headers/include/v8-forward.h +81 -0
- package/src-native/ios/Headers/include/v8-function-callback.h +475 -0
- package/src-native/ios/Headers/include/v8-function.h +125 -0
- package/src-native/ios/Headers/include/v8-initialization.h +315 -0
- package/src-native/ios/Headers/include/v8-inspector-protocol.h +13 -0
- package/src-native/ios/Headers/include/v8-inspector.h +376 -0
- package/src-native/ios/Headers/include/v8-internal.h +661 -0
- package/src-native/ios/Headers/include/v8-isolate.h +1709 -0
- package/src-native/ios/Headers/include/v8-json.h +47 -0
- package/src-native/ios/Headers/include/v8-local-handle.h +455 -0
- package/src-native/ios/Headers/include/v8-locker.h +149 -0
- package/src-native/ios/Headers/include/v8-maybe.h +137 -0
- package/src-native/ios/Headers/include/v8-memory-span.h +43 -0
- package/src-native/ios/Headers/include/v8-message.h +216 -0
- package/src-native/ios/Headers/include/v8-metrics.h +255 -0
- package/src-native/ios/Headers/include/v8-microtask-queue.h +152 -0
- package/src-native/ios/Headers/include/v8-microtask.h +28 -0
- package/src-native/ios/Headers/include/v8-object.h +775 -0
- package/src-native/ios/Headers/include/v8-persistent-handle.h +590 -0
- package/src-native/ios/Headers/include/v8-platform.h +1092 -0
- package/src-native/ios/Headers/include/v8-primitive-object.h +118 -0
- package/src-native/ios/Headers/include/v8-primitive.h +866 -0
- package/src-native/ios/Headers/include/v8-profiler.h +1198 -0
- package/src-native/ios/Headers/include/v8-promise.h +174 -0
- package/src-native/ios/Headers/include/v8-proxy.h +50 -0
- package/src-native/ios/Headers/include/v8-regexp.h +105 -0
- package/src-native/ios/Headers/include/v8-script.h +748 -0
- package/src-native/ios/Headers/include/v8-snapshot.h +196 -0
- package/src-native/ios/Headers/include/v8-statistics.h +217 -0
- package/src-native/ios/Headers/include/v8-template.h +1079 -0
- package/src-native/ios/Headers/include/v8-traced-handle.h +420 -0
- package/src-native/ios/Headers/include/v8-typed-array.h +282 -0
- package/src-native/ios/Headers/include/v8-unwinder-state.h +31 -0
- package/src-native/ios/Headers/include/v8-unwinder.h +132 -0
- package/src-native/ios/Headers/include/v8-util.h +658 -0
- package/src-native/ios/Headers/include/v8-value-serializer-version.h +24 -0
- package/src-native/ios/Headers/include/v8-value-serializer.h +279 -0
- package/src-native/ios/Headers/include/v8-value.h +526 -0
- package/src-native/ios/Headers/include/v8-version-string.h +38 -0
- package/src-native/ios/Headers/include/v8-version.h +20 -0
- package/src-native/ios/Headers/include/v8-wasm-trap-handler-posix.h +31 -0
- package/src-native/ios/Headers/include/v8-wasm-trap-handler-win.h +28 -0
- package/src-native/ios/Headers/include/v8-wasm.h +257 -0
- package/src-native/ios/Headers/include/v8-weak-callback-info.h +86 -0
- package/src-native/ios/Headers/include/v8.h +88 -0
- package/src-native/ios/Headers/include/v8config.h +605 -0
- package/src-native/ios/Headers/inspector/InspectorServer.h +20 -0
- package/src-native/ios/Headers/inspector/JsV8InspectorClient.h +66 -0
- package/src-native/ios/Headers/inspector/base/trace_event/common/trace_event_common.h +1123 -0
- package/src-native/ios/Headers/inspector/base64.h +9 -0
- package/src-native/ios/Headers/inspector/src/base/address-region.h +95 -0
- package/src-native/ios/Headers/inspector/src/base/atomic-utils.h +219 -0
- package/src-native/ios/Headers/inspector/src/base/atomicops.h +332 -0
- package/src-native/ios/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +89 -0
- package/src-native/ios/Headers/inspector/src/base/base-export.h +31 -0
- package/src-native/ios/Headers/inspector/src/base/bits.h +343 -0
- package/src-native/ios/Headers/inspector/src/base/build_config.h +234 -0
- package/src-native/ios/Headers/inspector/src/base/compiler-specific.h +136 -0
- package/src-native/ios/Headers/inspector/src/base/export-template.h +163 -0
- package/src-native/ios/Headers/inspector/src/base/flags.h +130 -0
- package/src-native/ios/Headers/inspector/src/base/immediate-crash.h +162 -0
- package/src-native/ios/Headers/inspector/src/base/lazy-instance.h +258 -0
- package/src-native/ios/Headers/inspector/src/base/logging.h +417 -0
- package/src-native/ios/Headers/inspector/src/base/macros.h +423 -0
- package/src-native/ios/Headers/inspector/src/base/memory.h +89 -0
- package/src-native/ios/Headers/inspector/src/base/once.h +108 -0
- package/src-native/ios/Headers/inspector/src/base/optional.h +882 -0
- package/src-native/ios/Headers/inspector/src/base/platform/mutex.h +370 -0
- package/src-native/ios/Headers/inspector/src/base/platform/platform.h +476 -0
- package/src-native/ios/Headers/inspector/src/base/platform/semaphore.h +108 -0
- package/src-native/ios/Headers/inspector/src/base/platform/v8-time.h +513 -0
- package/src-native/ios/Headers/inspector/src/base/platform/wrappers.h +73 -0
- package/src-native/ios/Headers/inspector/src/base/safe_conversions.h +389 -0
- package/src-native/ios/Headers/inspector/src/base/safe_conversions_impl.h +822 -0
- package/src-native/ios/Headers/inspector/src/base/template-utils.h +113 -0
- package/src-native/ios/Headers/inspector/src/base/v8-fallthrough.h +21 -0
- package/src-native/ios/Headers/inspector/src/common/checks.h +38 -0
- package/src-native/ios/Headers/inspector/src/common/globals.h +1842 -0
- package/src-native/ios/Headers/inspector/src/debug/debug-interface.h +667 -0
- package/src-native/ios/Headers/inspector/src/debug/interface-types.h +175 -0
- package/src-native/ios/Headers/inspector/src/init/v8.h +52 -0
- package/src-native/ios/Headers/inspector/src/inspector/custom-preview.h +24 -0
- package/src-native/ios/Headers/inspector/src/inspector/injected-script.h +251 -0
- package/src-native/ios/Headers/inspector/src/inspector/inspected-context.h +79 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/CSS.h +2148 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Console.h +211 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/DOM.h +1008 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Debugger.h +892 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Forward.h +75 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/HeapProfiler.h +346 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Log.h +342 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Network.h +2528 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Overlay.h +281 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Page.h +1189 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Profiler.h +1001 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Protocol.h +617 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Runtime.h +1696 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Schema.h +146 -0
- package/src-native/ios/Headers/inspector/src/inspector/protocol/Security.h +793 -0
- package/src-native/ios/Headers/inspector/src/inspector/remote-object-id.h +54 -0
- package/src-native/ios/Headers/inspector/src/inspector/search-util.h +26 -0
- package/src-native/ios/Headers/inspector/src/inspector/string-16.h +180 -0
- package/src-native/ios/Headers/inspector/src/inspector/string-util.h +128 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-console-agent-impl.h +48 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-console-message.h +147 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-console.h +173 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-css-agent-impl.h +62 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +248 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-debugger-id.h +44 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-debugger-script.h +123 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-debugger.h +257 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-dom-agent-impl.h +91 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +80 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-inspector-impl.h +191 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-inspector-session-impl.h +156 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-log-agent-impl.h +34 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-network-agent-impl.h +71 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +24 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +70 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-page-agent-impl.h +88 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +104 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-regex.h +38 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +157 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-schema-agent-impl.h +38 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-stack-trace-impl.h +164 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-string-conversions.h +17 -0
- package/src-native/ios/Headers/inspector/src/inspector/v8-value-utils.h +23 -0
- package/src-native/ios/Headers/inspector/src/inspector/value-mirror.h +87 -0
- package/src-native/ios/Headers/inspector/src/libplatform/default-platform.h +92 -0
- package/src-native/ios/Headers/inspector/src/logging/tracing-flags.h +50 -0
- package/src-native/ios/Headers/inspector/src/numbers/conversions.h +183 -0
- package/src-native/ios/Headers/inspector/src/tracing/trace-event.h +664 -0
- package/src-native/ios/Headers/inspector/src/utils/allocation.h +367 -0
- package/src-native/ios/Headers/inspector/src/utils/vector.h +324 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +305 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +314 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +62 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +6 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +58 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +47 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +80 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +52 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +26 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +104 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +39 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +406 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +32 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +158 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +99 -0
- package/src-native/ios/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +139 -0
- package/src-native/ios/Headers/inspector/utils.h +32 -0
- package/src-native/ios/Headers/inspector/v8-inspector-platform.h +44 -0
- package/src-native/ios/Headers/runtime/ArgConverter.h +61 -0
- package/src-native/ios/Headers/runtime/ArrayAdapter.h +13 -0
- package/src-native/ios/Headers/runtime/Caches.h +98 -0
- package/src-native/ios/Headers/runtime/ClassBuilder.h +61 -0
- package/src-native/ios/Headers/runtime/Common.h +9 -0
- package/src-native/ios/Headers/runtime/ConcurrentMap.h +55 -0
- package/src-native/ios/Headers/runtime/ConcurrentQueue.h +28 -0
- package/src-native/ios/Headers/runtime/Console.h +27 -0
- package/src-native/ios/Headers/runtime/Constants.h +15 -0
- package/src-native/ios/Headers/runtime/DataWrapper.h +671 -0
- package/src-native/ios/Headers/runtime/DictionaryAdapter.h +13 -0
- package/src-native/ios/Headers/runtime/ExtVector.h +21 -0
- package/src-native/ios/Headers/runtime/FFICall.h +105 -0
- package/src-native/ios/Headers/runtime/FastEnumerationAdapter.h +13 -0
- package/src-native/ios/Headers/runtime/FunctionReference.h +18 -0
- package/src-native/ios/Headers/runtime/Helpers.h +84 -0
- package/src-native/ios/Headers/runtime/InlineFunctions.h +16 -0
- package/src-native/ios/Headers/runtime/Interop.h +202 -0
- package/src-native/ios/Headers/runtime/KnownUnknownClassPair.h +35 -0
- package/src-native/ios/Headers/runtime/Metadata.h +981 -0
- package/src-native/ios/Headers/runtime/MetadataBuilder.h +72 -0
- package/src-native/ios/Headers/runtime/MetadataInlines.h +157 -0
- package/src-native/ios/Headers/runtime/ModuleInternal.h +59 -0
- package/src-native/ios/Headers/runtime/NSDataAdapter.h +13 -0
- package/src-native/ios/Headers/runtime/NativeScriptException.h +27 -0
- package/src-native/ios/Headers/runtime/ObjectManager.h +31 -0
- package/src-native/ios/Headers/runtime/OneByteStringResource.h +21 -0
- package/src-native/ios/Headers/runtime/Pointer.h +26 -0
- package/src-native/ios/Headers/runtime/PromiseProxy.h +15 -0
- package/src-native/ios/Headers/runtime/Reference.h +38 -0
- package/src-native/ios/Headers/runtime/Runtime.h +67 -0
- package/src-native/ios/Headers/runtime/RuntimeConfig.h +17 -0
- package/src-native/ios/Headers/runtime/SetTimeout.h +34 -0
- package/src-native/ios/Headers/runtime/SimpleAllocator.h +23 -0
- package/src-native/ios/Headers/runtime/StringHasher.h +315 -0
- package/src-native/ios/Headers/runtime/SymbolIterator.h +18 -0
- package/src-native/ios/Headers/runtime/SymbolLoader.h +27 -0
- package/src-native/ios/Headers/runtime/TNSDerivedClass.h +8 -0
- package/src-native/ios/Headers/runtime/TSHelpers.h +15 -0
- package/src-native/ios/Headers/runtime/Tasks.h +19 -0
- package/src-native/ios/Headers/runtime/UnmanagedType.h +21 -0
- package/src-native/ios/Headers/runtime/WeakRef.h +15 -0
- package/src-native/ios/Headers/runtime/Worker.h +26 -0
- package/src-native/ios/Headers/runtime/robin_hood.h +2184 -0
- package/src-native/ios/NativeScript.podspec +55 -0
- package/typings/objc!CanvasNative.d.ts +2038 -0
- package/typings/objc!CanvasNative.js +1 -0
- package/typings/objc!CanvasNative.js.map +1 -0
- package/utils.d.ts +3 -1
- package/utils.js +7 -20
- package/utils.js.map +1 -1
- package/angular/nativescript-canvas-angular.d.ts +0 -5
- package/platforms/ios/src/cpp/CanvasJSIModule.mm +0 -1105
- package/platforms/ios/src/cpp/ImageAssetImpl.mm +0 -417
- package/platforms/ios/src/cpp/ImageBitmapImpl.mm +0 -126
- package/platforms/ios/src/cpp/RafImpl.mm +0 -10
- package/platforms/ios/src/cpp/TextDecoderImpl.mm +0 -97
- package/platforms/ios/src/cpp/TextEncoderImpl.mm +0 -60
- package/platforms/ios/src/cpp/VecMutableBuffer.h +0 -51
- package/platforms/ios/src/cpp/canvas-cxx/src/lib.rs.cc +0 -6119
- package/platforms/ios/src/cpp/canvas-cxx/src/lib.rs.h +0 -2854
- package/platforms/ios/src/cpp/canvas2d/CanvasGradient.mm +0 -42
- package/platforms/ios/src/cpp/canvas2d/CanvasPattern.mm +0 -49
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.mm +0 -1954
- package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.mm +0 -68
- package/platforms/ios/src/cpp/canvas2d/MatrixImpl.mm +0 -149
- package/platforms/ios/src/cpp/canvas2d/Path2D.mm +0 -335
- package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.mm +0 -68
- package/platforms/ios/src/cpp/rust/cxx.cc +0 -793
- package/platforms/ios/src/cpp/rust/cxx.h +0 -1111
- package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.mm +0 -39
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.mm +0 -5879
- package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.mm +0 -40
- package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.mm +0 -108
- package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.mm +0 -28
- package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.mm +0 -42
- package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.mm +0 -295
- package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.mm +0 -40
- package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.mm +0 -37
- package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.mm +0 -28
- package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.mm +0 -31
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.mm +0 -28
- package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.mm +0 -127
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.mm +0 -45
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.mm +0 -45
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.mm +0 -31
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.mm +0 -70
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.mm +0 -47
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.mm +0 -46
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.mm +0 -49
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.mm +0 -30
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.mm +0 -177
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.mm +0 -64
- package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.mm +0 -4554
- /package/platforms/ios/src/cpp/{OnRafCallback.mm → OnRafCallback.cpp} +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
// Copyright 2019 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
|
+
#ifndef V8_CRDTP_STATUS_H_
|
|
6
|
+
#define V8_CRDTP_STATUS_H_
|
|
7
|
+
|
|
8
|
+
#include <cassert>
|
|
9
|
+
#include <cstddef>
|
|
10
|
+
#include <limits>
|
|
11
|
+
#include <string>
|
|
12
|
+
|
|
13
|
+
#include "export.h"
|
|
14
|
+
|
|
15
|
+
namespace v8_crdtp {
|
|
16
|
+
// =============================================================================
|
|
17
|
+
// Status and Error codes
|
|
18
|
+
// =============================================================================
|
|
19
|
+
|
|
20
|
+
enum class Error {
|
|
21
|
+
OK = 0,
|
|
22
|
+
|
|
23
|
+
// JSON parsing errors; checked when parsing / converting from JSON.
|
|
24
|
+
// See json.{h,cc}.
|
|
25
|
+
JSON_PARSER_UNPROCESSED_INPUT_REMAINS = 0x01,
|
|
26
|
+
JSON_PARSER_STACK_LIMIT_EXCEEDED = 0x02,
|
|
27
|
+
JSON_PARSER_NO_INPUT = 0x03,
|
|
28
|
+
JSON_PARSER_INVALID_TOKEN = 0x04,
|
|
29
|
+
JSON_PARSER_INVALID_NUMBER = 0x05,
|
|
30
|
+
JSON_PARSER_INVALID_STRING = 0x06,
|
|
31
|
+
JSON_PARSER_UNEXPECTED_ARRAY_END = 0x07,
|
|
32
|
+
JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED = 0x08,
|
|
33
|
+
JSON_PARSER_STRING_LITERAL_EXPECTED = 0x09,
|
|
34
|
+
JSON_PARSER_COLON_EXPECTED = 0x0a,
|
|
35
|
+
JSON_PARSER_UNEXPECTED_MAP_END = 0x0b,
|
|
36
|
+
JSON_PARSER_COMMA_OR_MAP_END_EXPECTED = 0x0c,
|
|
37
|
+
JSON_PARSER_VALUE_EXPECTED = 0x0d,
|
|
38
|
+
|
|
39
|
+
// CBOR parsing errors; checked when parsing / converting from CBOR.
|
|
40
|
+
CBOR_INVALID_INT32 = 0x0e,
|
|
41
|
+
CBOR_INVALID_DOUBLE = 0x0f,
|
|
42
|
+
CBOR_INVALID_ENVELOPE = 0x10,
|
|
43
|
+
CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH = 0x11,
|
|
44
|
+
CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE = 0x12,
|
|
45
|
+
CBOR_INVALID_STRING8 = 0x13,
|
|
46
|
+
CBOR_INVALID_STRING16 = 0x14,
|
|
47
|
+
CBOR_INVALID_BINARY = 0x15,
|
|
48
|
+
CBOR_UNSUPPORTED_VALUE = 0x16,
|
|
49
|
+
CBOR_NO_INPUT = 0x17,
|
|
50
|
+
CBOR_INVALID_START_BYTE = 0x18,
|
|
51
|
+
CBOR_UNEXPECTED_EOF_EXPECTED_VALUE = 0x19,
|
|
52
|
+
CBOR_UNEXPECTED_EOF_IN_ARRAY = 0x1a,
|
|
53
|
+
CBOR_UNEXPECTED_EOF_IN_MAP = 0x1b,
|
|
54
|
+
CBOR_INVALID_MAP_KEY = 0x1c,
|
|
55
|
+
CBOR_DUPLICATE_MAP_KEY = 0x1d,
|
|
56
|
+
CBOR_STACK_LIMIT_EXCEEDED = 0x1e,
|
|
57
|
+
CBOR_TRAILING_JUNK = 0x1f,
|
|
58
|
+
CBOR_MAP_START_EXPECTED = 0x20,
|
|
59
|
+
CBOR_MAP_STOP_EXPECTED = 0x21,
|
|
60
|
+
CBOR_ARRAY_START_EXPECTED = 0x22,
|
|
61
|
+
CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED = 0x23,
|
|
62
|
+
|
|
63
|
+
// Message errors are constraints we place on protocol messages coming
|
|
64
|
+
// from a protocol client; these are checked in crdtp::Dispatchable
|
|
65
|
+
// (see dispatch.h) as it performs a shallow parse.
|
|
66
|
+
MESSAGE_MUST_BE_AN_OBJECT = 0x24,
|
|
67
|
+
MESSAGE_MUST_HAVE_INTEGER_ID_PROPERTY = 0x25,
|
|
68
|
+
MESSAGE_MUST_HAVE_STRING_METHOD_PROPERTY = 0x26,
|
|
69
|
+
MESSAGE_MAY_HAVE_STRING_SESSION_ID_PROPERTY = 0x27,
|
|
70
|
+
MESSAGE_MAY_HAVE_OBJECT_PARAMS_PROPERTY = 0x28,
|
|
71
|
+
MESSAGE_HAS_UNKNOWN_PROPERTY = 0x29,
|
|
72
|
+
|
|
73
|
+
BINDINGS_MANDATORY_FIELD_MISSING = 0x30,
|
|
74
|
+
BINDINGS_BOOL_VALUE_EXPECTED = 0x31,
|
|
75
|
+
BINDINGS_INT32_VALUE_EXPECTED = 0x32,
|
|
76
|
+
BINDINGS_DOUBLE_VALUE_EXPECTED = 0x33,
|
|
77
|
+
BINDINGS_STRING_VALUE_EXPECTED = 0x34,
|
|
78
|
+
BINDINGS_STRING8_VALUE_EXPECTED = 0x35,
|
|
79
|
+
BINDINGS_BINARY_VALUE_EXPECTED = 0x36,
|
|
80
|
+
BINDINGS_DICTIONARY_VALUE_EXPECTED = 0x37,
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
// A status value with position that can be copied. The default status
|
|
84
|
+
// is OK. Usually, error status values should come with a valid position.
|
|
85
|
+
struct Status {
|
|
86
|
+
static constexpr size_t npos() { return std::numeric_limits<size_t>::max(); }
|
|
87
|
+
|
|
88
|
+
bool ok() const { return error == Error::OK; }
|
|
89
|
+
|
|
90
|
+
Error error = Error::OK;
|
|
91
|
+
size_t pos = npos();
|
|
92
|
+
Status(Error error, size_t pos) : error(error), pos(pos) {}
|
|
93
|
+
Status() = default;
|
|
94
|
+
|
|
95
|
+
bool IsMessageError() const {
|
|
96
|
+
return error >= Error::MESSAGE_MUST_BE_AN_OBJECT &&
|
|
97
|
+
error <= Error::MESSAGE_HAS_UNKNOWN_PROPERTY;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Returns 7 bit US-ASCII string, either "OK" or an error message without
|
|
101
|
+
// position.
|
|
102
|
+
std::string Message() const;
|
|
103
|
+
|
|
104
|
+
// Returns a 7 bit US-ASCII string, either "OK" or an error message that
|
|
105
|
+
// includes the position.
|
|
106
|
+
std::string ToASCIIString() const;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
template <typename T>
|
|
110
|
+
class StatusOr {
|
|
111
|
+
public:
|
|
112
|
+
explicit StatusOr(const T& value) : value_(value) {}
|
|
113
|
+
explicit StatusOr(T&& value) : value_(std::move(value)) {}
|
|
114
|
+
explicit StatusOr(const Status& status) : status_(status) {}
|
|
115
|
+
|
|
116
|
+
bool ok() const { return status_.ok(); }
|
|
117
|
+
T& operator*() & {
|
|
118
|
+
assert(ok());
|
|
119
|
+
return value_;
|
|
120
|
+
}
|
|
121
|
+
const T& operator*() const& { return value(); }
|
|
122
|
+
T&& operator*() && { return value(); }
|
|
123
|
+
const Status& status() const { return status_; }
|
|
124
|
+
|
|
125
|
+
T& value() & { return *this; }
|
|
126
|
+
T&& value() && {
|
|
127
|
+
assert(ok());
|
|
128
|
+
return std::move(value_);
|
|
129
|
+
}
|
|
130
|
+
const T& value() const& { return *this; }
|
|
131
|
+
|
|
132
|
+
private:
|
|
133
|
+
Status status_;
|
|
134
|
+
T value_;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
} // namespace v8_crdtp
|
|
138
|
+
|
|
139
|
+
#endif // V8_CRDTP_STATUS_H_
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#ifndef utils_h
|
|
2
|
+
#define utils_h
|
|
3
|
+
|
|
4
|
+
#include "include/v8-inspector.h"
|
|
5
|
+
|
|
6
|
+
namespace v8_inspector {
|
|
7
|
+
|
|
8
|
+
std::string GetMIMEType(std::string filePath);
|
|
9
|
+
std::string ToStdString(const v8_inspector::StringView& value);
|
|
10
|
+
v8::Local<v8::Function> GetDebuggerFunction(v8::Local<v8::Context> context, std::string domain, std::string functionName, v8::Local<v8::Object>& domainDebugger);
|
|
11
|
+
std::string GetDomainMethod(v8::Isolate* isolate, const v8::Local<v8::Object>& arg, std::string domain);
|
|
12
|
+
|
|
13
|
+
class NetworkRequestData {
|
|
14
|
+
public:
|
|
15
|
+
NetworkRequestData(std::u16string data, bool hasTextContent): data_(data), hasTextContent_(hasTextContent) {
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const char16_t* GetData() {
|
|
19
|
+
return this->data_.data();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const bool HasTextContent() {
|
|
23
|
+
return this->hasTextContent_;
|
|
24
|
+
}
|
|
25
|
+
private:
|
|
26
|
+
std::u16string data_;
|
|
27
|
+
bool hasTextContent_;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#endif /* utils_h */
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#ifndef v8_inspector_platform_h
|
|
2
|
+
#define v8_inspector_platform_h
|
|
3
|
+
|
|
4
|
+
using namespace std;
|
|
5
|
+
using namespace v8;
|
|
6
|
+
using namespace platform;
|
|
7
|
+
|
|
8
|
+
#include "include/v8-platform.h"
|
|
9
|
+
#include "src/base/platform/mutex.h"
|
|
10
|
+
#include "src/libplatform/default-platform.h"
|
|
11
|
+
|
|
12
|
+
#ifdef DEBUG
|
|
13
|
+
[[noreturn]]
|
|
14
|
+
void V8_Fatal(const char* file, int line, const char* format, ...) {
|
|
15
|
+
printf("FATAL ERROR");
|
|
16
|
+
throw;
|
|
17
|
+
}
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
namespace v8_inspector {
|
|
21
|
+
|
|
22
|
+
class V8InspectorPlatform: public DefaultPlatform {
|
|
23
|
+
public:
|
|
24
|
+
explicit V8InspectorPlatform(int thread_pool_size = 0, v8::platform::IdleTaskSupport idle_task_support = IdleTaskSupport::kDisabled, unique_ptr<TracingController> tracing_controller = {}) {
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
void CallDelayedOnWorkerThread(unique_ptr<Task> task, double delay_in_seconds) override {
|
|
28
|
+
DefaultPlatform::CallDelayedOnWorkerThread(move(task), 0);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static std::unique_ptr<Platform> CreateDefaultPlatform() {
|
|
32
|
+
return NewDefaultPlatform();
|
|
33
|
+
}
|
|
34
|
+
private:
|
|
35
|
+
static unique_ptr<Platform> NewDefaultPlatform() {
|
|
36
|
+
unique_ptr<DefaultPlatform> platform(new V8InspectorPlatform());
|
|
37
|
+
platform->EnsureBackgroundTaskRunnerInitialized();
|
|
38
|
+
return move(platform);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
#endif /* v8_inspector_platform_h */
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#ifndef ArgConverter_h
|
|
2
|
+
#define ArgConverter_h
|
|
3
|
+
|
|
4
|
+
#include <vector>
|
|
5
|
+
#include "libffi.h"
|
|
6
|
+
#include "Common.h"
|
|
7
|
+
#include "Caches.h"
|
|
8
|
+
#include "DataWrapper.h"
|
|
9
|
+
|
|
10
|
+
namespace tns {
|
|
11
|
+
|
|
12
|
+
class ArgConverter;
|
|
13
|
+
|
|
14
|
+
struct MethodCallbackWrapper {
|
|
15
|
+
public:
|
|
16
|
+
MethodCallbackWrapper(v8::Isolate* isolate, std::shared_ptr<v8::Persistent<v8::Value>> callback, const uint8_t initialParamIndex, const uint8_t paramsCount, const TypeEncoding* typeEncoding)
|
|
17
|
+
: isolate_(isolate),
|
|
18
|
+
callback_(callback),
|
|
19
|
+
initialParamIndex_(initialParamIndex),
|
|
20
|
+
paramsCount_(paramsCount),
|
|
21
|
+
typeEncoding_(typeEncoding) {
|
|
22
|
+
}
|
|
23
|
+
v8::Isolate* isolate_;
|
|
24
|
+
std::shared_ptr<v8::Persistent<v8::Value>> callback_;
|
|
25
|
+
const uint8_t initialParamIndex_;
|
|
26
|
+
const uint8_t paramsCount_;
|
|
27
|
+
const TypeEncoding* typeEncoding_;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
class ArgConverter {
|
|
31
|
+
public:
|
|
32
|
+
static void Init(v8::Local<v8::Context> context, v8::GenericNamedPropertyGetterCallback structPropertyGetter, v8::GenericNamedPropertySetterCallback structPropertySetter);
|
|
33
|
+
static v8::Local<v8::Value> Invoke(v8::Local<v8::Context> context, Class klass, v8::Local<v8::Object> receiver, V8Args& args, const MethodMeta* meta, bool isMethodCallback);
|
|
34
|
+
static v8::Local<v8::Value> ConvertArgument(v8::Local<v8::Context> context, BaseDataWrapper* wrapper, bool skipGCRegistration = false, const std::vector<std::string>& additionalProtocols = std::vector<std::string>());
|
|
35
|
+
static v8::Local<v8::Value> CreateJsWrapper(v8::Local<v8::Context> context, BaseDataWrapper* wrapper, v8::Local<v8::Object> receiver, bool skipGCRegistration = false, const std::vector<std::string>& additionalProtocols = std::vector<std::string>());
|
|
36
|
+
static std::shared_ptr<v8::Persistent<v8::Value>> CreateEmptyObject(v8::Local<v8::Context> context, bool skipGCRegistration = false);
|
|
37
|
+
static std::shared_ptr<v8::Persistent<v8::Value>> CreateEmptyStruct(v8::Local<v8::Context> context);
|
|
38
|
+
static const Meta* FindMeta(Class klass, const TypeEncoding* typeEncoding = nullptr);
|
|
39
|
+
static const Meta* GetMeta(std::string name);
|
|
40
|
+
static const ProtocolMeta* FindProtocolMeta(Protocol* protocol);
|
|
41
|
+
static void MethodCallback(ffi_cif* cif, void* retValue, void** argValues, void* userData);
|
|
42
|
+
static void SetValue(v8::Local<v8::Context> context, void* retValue, v8::Local<v8::Value> value, const TypeEncoding* typeEncoding);
|
|
43
|
+
static void ConstructObject(v8::Local<v8::Context> context, const v8::FunctionCallbackInfo<v8::Value>& info, Class klass, const InterfaceMeta* interfaceMeta = nullptr);
|
|
44
|
+
private:
|
|
45
|
+
static v8::Local<v8::Function> CreateEmptyInstanceFunction(v8::Local<v8::Context> context, v8::GenericNamedPropertyGetterCallback propertyGetter = nullptr, v8::GenericNamedPropertySetterCallback propertySetter = nullptr);
|
|
46
|
+
static std::shared_ptr<v8::Persistent<v8::Value>> CreateEmptyInstance(v8::Local<v8::Context> context, v8::Persistent<v8::Function>* ctorFunc, bool skipGCRegistration = false);
|
|
47
|
+
static void FindMethodOverloads(Class klass, std::string methodName, MemberType type, std::vector<const MethodMeta*>& overloads);
|
|
48
|
+
static const MethodMeta* FindInitializer(v8::Local<v8::Context> context, Class klass, const InterfaceMeta* interfaceMeta, const v8::FunctionCallbackInfo<v8::Value>& info, std::vector<v8::Local<v8::Value>>& args);
|
|
49
|
+
static bool CanInvoke(v8::Local<v8::Context> context, const TypeEncoding* typeEncoding, v8::Local<v8::Value> arg);
|
|
50
|
+
static bool CanInvoke(v8::Local<v8::Context> context, const MethodMeta* candidate, const v8::FunctionCallbackInfo<v8::Value>& info);
|
|
51
|
+
static std::vector<v8::Local<v8::Value>> GetInitializerArgs(v8::Local<v8::Object> obj, std::string& constructorTokens);
|
|
52
|
+
static void IndexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& args);
|
|
53
|
+
static void IndexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& args);
|
|
54
|
+
static bool IsErrorOutParameter(const TypeEncoding* typeEncoding);
|
|
55
|
+
static std::vector<const MethodMeta*> GetInitializers(Caches* cache, Class klass, const InterfaceMeta* interfaceMeta);
|
|
56
|
+
static void MethodCallbackInternal(ffi_cif* cif, void* retValue, void** argValues, void* userData);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#endif /* ArgConverter_h */
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#ifndef ArrayAdapter_h
|
|
2
|
+
#define ArrayAdapter_h
|
|
3
|
+
|
|
4
|
+
#import <Foundation/NSArray.h>
|
|
5
|
+
#include "Common.h"
|
|
6
|
+
|
|
7
|
+
@interface ArrayAdapter : NSArray
|
|
8
|
+
|
|
9
|
+
-(instancetype)initWithJSObject:(v8::Local<v8::Object>)jsObject isolate:(v8::Isolate*)isolate;
|
|
10
|
+
|
|
11
|
+
@end
|
|
12
|
+
|
|
13
|
+
#endif /* ArrayAdapter_h */
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
#ifndef Caches_h
|
|
2
|
+
#define Caches_h
|
|
3
|
+
|
|
4
|
+
#include <string>
|
|
5
|
+
#include <vector>
|
|
6
|
+
#include "ConcurrentMap.h"
|
|
7
|
+
#include "robin_hood.h"
|
|
8
|
+
#include "Common.h"
|
|
9
|
+
#include "Metadata.h"
|
|
10
|
+
|
|
11
|
+
namespace tns {
|
|
12
|
+
|
|
13
|
+
struct StructInfo;
|
|
14
|
+
|
|
15
|
+
struct pair_hash {
|
|
16
|
+
template <class T1, class T2>
|
|
17
|
+
std::size_t operator() (const std::pair<T1, T2> &pair) const {
|
|
18
|
+
return std::hash<T1>()(pair.first) ^ std::hash<T2>()(pair.second);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
class Caches {
|
|
23
|
+
public:
|
|
24
|
+
class WorkerState {
|
|
25
|
+
public:
|
|
26
|
+
WorkerState(v8::Isolate* isolate, std::shared_ptr<v8::Persistent<v8::Value>> poWorker, void* userData)
|
|
27
|
+
: isolate_(isolate),
|
|
28
|
+
poWorker_(poWorker),
|
|
29
|
+
userData_(userData) {
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
v8::Isolate* GetIsolate() {
|
|
33
|
+
return this->isolate_;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
std::shared_ptr<v8::Persistent<v8::Value>> GetWorker() {
|
|
37
|
+
return this->poWorker_;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
void* UserData() {
|
|
41
|
+
return this->userData_;
|
|
42
|
+
}
|
|
43
|
+
private:
|
|
44
|
+
v8::Isolate* isolate_;
|
|
45
|
+
std::shared_ptr<v8::Persistent<v8::Value>> poWorker_;
|
|
46
|
+
void* userData_;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
Caches(v8::Isolate* isolate);
|
|
50
|
+
~Caches();
|
|
51
|
+
|
|
52
|
+
static std::shared_ptr<ConcurrentMap<std::string, const Meta*>> Metadata;
|
|
53
|
+
static std::shared_ptr<ConcurrentMap<int, std::shared_ptr<Caches::WorkerState>>> Workers;
|
|
54
|
+
|
|
55
|
+
static std::shared_ptr<Caches> Get(v8::Isolate* isolate);
|
|
56
|
+
static void Remove(v8::Isolate* isolate);
|
|
57
|
+
|
|
58
|
+
void SetContext(v8::Local<v8::Context> context);
|
|
59
|
+
v8::Local<v8::Context> GetContext();
|
|
60
|
+
|
|
61
|
+
robin_hood::unordered_map<const Meta*, std::unique_ptr<v8::Persistent<v8::Value>>> Prototypes;
|
|
62
|
+
robin_hood::unordered_map<std::string, std::unique_ptr<v8::Persistent<v8::Object>>> ClassPrototypes;
|
|
63
|
+
robin_hood::unordered_map<const BaseClassMeta*, std::unique_ptr<v8::Persistent<v8::FunctionTemplate>>> CtorFuncTemplates;
|
|
64
|
+
robin_hood::unordered_map<std::string, std::unique_ptr<v8::Persistent<v8::Function>>> CtorFuncs;
|
|
65
|
+
robin_hood::unordered_map<std::string, std::unique_ptr<v8::Persistent<v8::Function>>> ProtocolCtorFuncs;
|
|
66
|
+
robin_hood::unordered_map<std::string, std::unique_ptr<v8::Persistent<v8::Function>>> StructConstructorFunctions;
|
|
67
|
+
robin_hood::unordered_map<BinaryTypeEncodingType, std::unique_ptr<v8::Persistent<v8::Object>>> PrimitiveInteropTypes;
|
|
68
|
+
robin_hood::unordered_map<std::string, std::unique_ptr<v8::Persistent<v8::Function>>> CFunctions;
|
|
69
|
+
|
|
70
|
+
robin_hood::unordered_map<id, std::shared_ptr<v8::Persistent<v8::Value>>> Instances;
|
|
71
|
+
robin_hood::unordered_map<std::pair<void*, std::string>, std::shared_ptr<v8::Persistent<v8::Value>>, pair_hash> StructInstances;
|
|
72
|
+
robin_hood::unordered_map<const void*, std::shared_ptr<v8::Persistent<v8::Object>>> PointerInstances;
|
|
73
|
+
|
|
74
|
+
std::function<v8::Local<v8::FunctionTemplate>(v8::Local<v8::Context>, const BaseClassMeta*, KnownUnknownClassPair, const std::vector<std::string>&)> ObjectCtorInitializer;
|
|
75
|
+
std::function<v8::Local<v8::Function>(v8::Local<v8::Context>, StructInfo)> StructCtorInitializer;
|
|
76
|
+
robin_hood::unordered_map<std::string, double> Timers;
|
|
77
|
+
robin_hood::unordered_map<const InterfaceMeta*, std::vector<const MethodMeta*>> Initializers;
|
|
78
|
+
|
|
79
|
+
std::unique_ptr<v8::Persistent<v8::Function>> EmptyObjCtorFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
80
|
+
std::unique_ptr<v8::Persistent<v8::Function>> EmptyStructCtorFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
81
|
+
std::unique_ptr<v8::Persistent<v8::Function>> SliceFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
82
|
+
std::unique_ptr<v8::Persistent<v8::Function>> OriginalExtendsFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
83
|
+
std::unique_ptr<v8::Persistent<v8::Function>> WeakRefGetterFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
84
|
+
std::unique_ptr<v8::Persistent<v8::Function>> WeakRefClearFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
85
|
+
std::unique_ptr<v8::Persistent<v8::Function>> SmartJSONStringifyFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
86
|
+
std::unique_ptr<v8::Persistent<v8::Function>> InteropReferenceCtorFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
87
|
+
std::unique_ptr<v8::Persistent<v8::Function>> PointerCtorFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
88
|
+
std::unique_ptr<v8::Persistent<v8::Function>> FunctionReferenceCtorFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
89
|
+
std::unique_ptr<v8::Persistent<v8::Function>> UnmanagedTypeCtorFunc = std::unique_ptr<v8::Persistent<v8::Function>>(nullptr);
|
|
90
|
+
private:
|
|
91
|
+
static std::shared_ptr<ConcurrentMap<v8::Isolate*, std::shared_ptr<Caches>>> perIsolateCaches_;
|
|
92
|
+
v8::Isolate* isolate_;
|
|
93
|
+
std::shared_ptr<v8::Persistent<v8::Context>> context_;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
#endif /* Caches_h */
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#ifndef ClassBuilder_h
|
|
2
|
+
#define ClassBuilder_h
|
|
3
|
+
|
|
4
|
+
#include "Common.h"
|
|
5
|
+
#include "Metadata.h"
|
|
6
|
+
|
|
7
|
+
namespace tns {
|
|
8
|
+
|
|
9
|
+
struct PropertyCallbackContext {
|
|
10
|
+
public:
|
|
11
|
+
PropertyCallbackContext(v8::Isolate* isolate, std::shared_ptr<v8::Persistent<v8::Function>> callback, std::shared_ptr<v8::Persistent<v8::Object>> implementationObject, const PropertyMeta* meta)
|
|
12
|
+
: isolate_(isolate),
|
|
13
|
+
callback_(callback),
|
|
14
|
+
implementationObject_(implementationObject),
|
|
15
|
+
meta_(meta) {
|
|
16
|
+
}
|
|
17
|
+
v8::Isolate* isolate_;
|
|
18
|
+
std::shared_ptr<v8::Persistent<v8::Function>> callback_;
|
|
19
|
+
std::shared_ptr<v8::Persistent<v8::Object>> implementationObject_;
|
|
20
|
+
const PropertyMeta* meta_;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
class ClassBuilder {
|
|
24
|
+
public:
|
|
25
|
+
static v8::Local<v8::FunctionTemplate> GetExtendFunction(v8::Isolate* isolate, const InterfaceMeta* interfaceMeta);
|
|
26
|
+
static Class GetExtendedClass(std::string baseClassName, std::string staticClassName);
|
|
27
|
+
|
|
28
|
+
static void RegisterBaseTypeScriptExtendsFunction(v8::Local<v8::Context> context);
|
|
29
|
+
static void RegisterNativeTypeScriptExtendsFunction(v8::Local<v8::Context> context);
|
|
30
|
+
static std::string GetTypeEncoding(const TypeEncoding* typeEncoding, int argsCount);
|
|
31
|
+
private:
|
|
32
|
+
static unsigned long long classNameCounter_;
|
|
33
|
+
|
|
34
|
+
static void ExtendCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
|
|
35
|
+
static void SuperAccessorGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info);
|
|
36
|
+
static void ExtendedClassConstructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info);
|
|
37
|
+
|
|
38
|
+
static void ExposeDynamicMethods(v8::Local<v8::Context> context, Class extendedClass, v8::Local<v8::Value> exposedMethods, v8::Local<v8::Value> exposedProtocols, v8::Local<v8::Object> implementationObject);
|
|
39
|
+
static void ExposeDynamicMembers(v8::Local<v8::Context> context, Class extendedClass, v8::Local<v8::Object> implementationObject, v8::Local<v8::Object> nativeSignature);
|
|
40
|
+
static void VisitMethods(Class extendedClass, std::string methodName, const BaseClassMeta* meta, std::vector<const MethodMeta*>& methodMetas, std::vector<const ProtocolMeta*> exposedProtocols);
|
|
41
|
+
static void VisitProperties(std::string propertyName, const BaseClassMeta* meta, std::vector<const PropertyMeta*>& propertyMetas, std::vector<const ProtocolMeta*> exposedProtocols);
|
|
42
|
+
static void ExposeProperties(v8::Isolate* isolate, Class extendedClass, std::vector<const PropertyMeta*> propertyMetas, v8::Local<v8::Object> implementationObject, v8::Local<v8::Value> getter, v8::Local<v8::Value> setter);
|
|
43
|
+
static std::string GetTypeEncoding(const TypeEncoding* typeEncoding);
|
|
44
|
+
static BinaryTypeEncodingType GetTypeEncodingType(v8::Isolate* isolate, v8::Local<v8::Value> value);
|
|
45
|
+
static IMP FindNotOverridenMethod(Class klass, SEL method);
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
struct CacheItem {
|
|
49
|
+
public:
|
|
50
|
+
CacheItem(const InterfaceMeta* meta, id data)
|
|
51
|
+
: meta_(meta),
|
|
52
|
+
data_(data) {
|
|
53
|
+
}
|
|
54
|
+
const InterfaceMeta* meta_;
|
|
55
|
+
id data_;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#endif /* ClassBuilder_h */
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#ifndef ConcurrentMap_h
|
|
2
|
+
#define ConcurrentMap_h
|
|
3
|
+
|
|
4
|
+
#include <shared_mutex>
|
|
5
|
+
#include "robin_hood.h"
|
|
6
|
+
|
|
7
|
+
namespace tns {
|
|
8
|
+
|
|
9
|
+
template<class TKey, class TValue>
|
|
10
|
+
class ConcurrentMap {
|
|
11
|
+
public:
|
|
12
|
+
void Insert(TKey& key, TValue value) {
|
|
13
|
+
std::lock_guard<std::mutex> writerLock(this->containerMutex_);
|
|
14
|
+
this->container_[key] = value;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
TValue Get(TKey& key) {
|
|
18
|
+
bool found;
|
|
19
|
+
return this->Get(key, found);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
TValue Get(TKey& key, bool& found) {
|
|
23
|
+
// std::shared_lock<std::shared_timed_mutex> readerLock(this->containerMutex_);
|
|
24
|
+
std::lock_guard<std::mutex> writerLock(this->containerMutex_);
|
|
25
|
+
auto it = this->container_.find(key);
|
|
26
|
+
found = it != this->container_.end();
|
|
27
|
+
if (found) {
|
|
28
|
+
return it->second;
|
|
29
|
+
}
|
|
30
|
+
return nullptr;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
bool ContainsKey(TKey& key) {
|
|
34
|
+
// std::shared_lock<std::shared_timed_mutex> readerLock(this->containerMutex_);
|
|
35
|
+
std::lock_guard<std::mutex> writerLock(this->containerMutex_);
|
|
36
|
+
auto it = this->container_.find(key);
|
|
37
|
+
return it != this->container_.end();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
void Remove(TKey& key) {
|
|
41
|
+
std::lock_guard<std::mutex> writerLock(this->containerMutex_);
|
|
42
|
+
this->container_.erase(key);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
ConcurrentMap() = default;
|
|
46
|
+
ConcurrentMap(const ConcurrentMap&) = delete;
|
|
47
|
+
ConcurrentMap& operator=(const ConcurrentMap&) = delete;
|
|
48
|
+
private:
|
|
49
|
+
std::mutex containerMutex_;
|
|
50
|
+
robin_hood::unordered_map<TKey, TValue> container_;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#endif /* ConcurrentMap_h */
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#ifndef ConcurrentQueue_h
|
|
2
|
+
#define ConcurrentQueue_h
|
|
3
|
+
|
|
4
|
+
#include <CoreFoundation/CoreFoundation.h>
|
|
5
|
+
#include <vector>
|
|
6
|
+
#include <string>
|
|
7
|
+
#include <queue>
|
|
8
|
+
#include <mutex>
|
|
9
|
+
|
|
10
|
+
namespace tns {
|
|
11
|
+
|
|
12
|
+
struct ConcurrentQueue {
|
|
13
|
+
public:
|
|
14
|
+
void Initialize(CFRunLoopRef runLoop, void (*performWork)(void*), void* info);
|
|
15
|
+
void Push(std::string message);
|
|
16
|
+
std::vector<std::string> PopAll();
|
|
17
|
+
void Terminate();
|
|
18
|
+
private:
|
|
19
|
+
std::queue<std::string> messagesQueue_;
|
|
20
|
+
CFRunLoopSourceRef runLoopTasksSource_ = nullptr;
|
|
21
|
+
CFRunLoopRef runLoop_ = nullptr;
|
|
22
|
+
std::mutex mutex_;
|
|
23
|
+
void SignalAndWakeUp();
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
#endif /* ConcurrentQueue_h */
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#ifndef Console_h
|
|
2
|
+
#define Console_h
|
|
3
|
+
|
|
4
|
+
#include "Common.h"
|
|
5
|
+
#include <string>
|
|
6
|
+
|
|
7
|
+
namespace tns {
|
|
8
|
+
|
|
9
|
+
class Console {
|
|
10
|
+
public:
|
|
11
|
+
static void Init(v8::Local<v8::Context> context);
|
|
12
|
+
private:
|
|
13
|
+
static void AttachLogFunction(v8::Local<v8::Context> context, v8::Local<v8::Object> console, const std::string name, v8::FunctionCallback callback = Console::LogCallback);
|
|
14
|
+
static void LogCallback(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
15
|
+
static void AssertCallback(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
16
|
+
static void DirCallback(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
17
|
+
static void TimeCallback(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
18
|
+
static void TimeEndCallback(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
19
|
+
static std::string BuildStringFromArgs(const v8::FunctionCallbackInfo<v8::Value>& args, int startingIndex = 0);
|
|
20
|
+
static const v8::Local<v8::String> BuildStringFromArg(v8::Local<v8::Context> context, const v8::Local<v8::Value>& val);
|
|
21
|
+
static const v8::Local<v8::String> TransformJSObject(v8::Local<v8::Object> object);
|
|
22
|
+
static const std::string VerbosityToInspectorVerbosity(const std::string level);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#endif /* Console_h */
|