3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/scripting/quickjs/NativeObjectOwnership.h"
7#include "mc/external/quickjs/JSTypedArrayEnum.h"
13namespace Scripting {
class LifetimeRegistry; }
14namespace Scripting {
class StrongObjectHandle; }
15namespace Scripting {
struct ClassBinding; }
16namespace Scripting {
struct FunctionBinding; }
17namespace Scripting {
struct InterfaceBinding; }
18namespace Scripting {
struct IteratorBinding; }
19namespace Scripting {
struct ObjectFactory; }
20namespace Scripting {
struct ObjectHandle; }
21namespace Scripting::QuickJS {
class ContextUserData; }
22namespace Scripting::QuickJS {
class RegisteredClass; }
23namespace Scripting::QuickJS {
class RegisteredEnum; }
24namespace Scripting::QuickJS {
class RegisteredInterface; }
25namespace Scripting::QuickJS {
class RuntimeUserData; }
26namespace Scripting::QuickJS {
struct ArgConversionResult; }
27namespace Scripting::QuickJS {
struct ArrayProxy; }
28namespace Scripting::QuickJS {
struct PropertyGetSet; }
29namespace Scripting::Reflection {
class IFunction; }
32namespace Scripting::QuickJS {
35MCNAPI ::JSValue ConvertJSValueArgsToNativeAnys(
40 ::std::array<::entt::meta_any, 16>& outArgsAsAnys
43MCNAPI ::JSValue CopyJSValueArrayToNativeSequenceContainer(
46 ::entt::meta_sequence_container& view,
47 ::entt::meta_type
const& type
50MCNAPI ::JSValue CopyJSValueObjectToNativeAssociativeContainer(
53 ::entt::meta_associative_container& view,
54 ::entt::meta_type
const& type
57MCNAPI ::Scripting::QuickJS::ArrayProxy CreateArrayProxy(
::JSContext*
ctx);
61MCNAPI ::std::unique_ptr<::Scripting::ClassBinding>
66MCNAPI ::JSValue GenericFreeFunctionCaller(
75MCNAPI ::JSValue GenericObjectFunctionCaller(
87MCNAPI ::JSValue GenericReflectionPropertyGetter(
96MCNAPI ::JSValue GenericReflectionPropertySetter(
109MCNAPI ::Scripting::ObjectHandle GetNativeObjectHandleFromJSValue(
::JSValue jsValue);
111MCNAPI ::Scripting::QuickJS::PropertyGetSet
const&
114MCNAPI ::Scripting::QuickJS::RuntimeUserData* GetRuntimeUserDataFromContext(
::JSContext*
ctx);
116MCNAPI
bool HasNativeObjectHandle(
::JSValue jsValue);
118MCNAPI
void InitializeBakedProperties(
126MCNAPI ::std::string JSAtomCStringToString(
::JSContext*
ctx, uint jsAtom);
132MCNAPI
bool JSValueIsInfinite(
::JSValue const& value);
134MCNAPI
bool JSValueIsNan(
::JSValue const& value);
136MCNAPI ::std::variant<::entt::meta_any, ::JSValue>
139MCNAPI ::std::variant<::entt::meta_any, ::JSValue> JSValueToNativeInterface(
143 ::entt::meta_type
const& type,
147MCNAPI ::JSValue NativeAnyToJSProtoClass(
150 ::entt::meta_any& any,
155MCNAPI ::Scripting::QuickJS::ArgConversionResult
156NativeAnyToJSValue(
::JSContext*
ctx, ::entt::meta_any& any,
bool addRef,
bool allowCopy);
158MCNAPI ::Scripting::QuickJS::ArgConversionResult
159NativeEnumToJSValue(
::JSContext*
ctx, ::entt::meta_any& any,
bool addRef,
bool allowCopy);
161MCNAPI ::JSValue NativeErrorToJSValue(
::JSContext*
ctx, ::entt::meta_any& any);
163MCNAPI ::JSValue NativeErrorToJSValueInternal(
166 ::entt::meta_any& any,
171MCNAPI ::Scripting::QuickJS::ArgConversionResult NativeInterfaceToJSValue(
173 ::entt::meta_any& any,
179MCNAPI ::JSValue NativeObjectHandleToJSProtoClass(
187MCNAPI ::JSValue NativeObjectHandleToJSValue(
192 ::Scripting::QuickJS::NativeObjectOwnership ownership
195MCNAPI ::Scripting::QuickJS::ArgConversionResult NativeRegisteredEnumToJSValue(
197 ::entt::meta_any& any,
207MCNAPI ::JSValue ThrowEngineErrorToJS(
::JSContext*
ctx, ::std::string
const& msg);
211MCNAPI ::JSTypedArrayEnum ToJSTypedArrayEnum(::entt::meta_type
const& type);
217MCNAPI
double anyToDouble(::entt::meta_any
const& any);
219MCNAPI ::std::string anyToString(::entt::meta_any
const& any);
221MCNAPI ::Scripting::StrongObjectHandle getHandleFromObjectFactory(
Definition LifetimeRegistry.h:16
Definition ContextUserData.h:17
Definition RegisteredClass.h:7
Definition RegisteredEnum.h:7
Definition RegisteredInterface.h:7
Definition IFunction.h:12
Definition InterfaceBinding.h:16
Definition IteratorBinding.h:15
Definition ObjectFactory.h:17
Definition ObjectHandle.h:7