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(
107MCNAPI ::Scripting::ObjectHandle GetNativeObjectHandleFromJSValue(
::JSValue jsValue);
109MCNAPI ::Scripting::QuickJS::PropertyGetSet
const&
112MCNAPI ::Scripting::QuickJS::RuntimeUserData* GetRuntimeUserDataFromContext(
::JSContext*
ctx);
114MCNAPI
bool HasNativeObjectHandle(
::JSValue jsValue);
116MCNAPI
void InitializeBakedProperties(
124MCNAPI ::std::string JSAtomCStringToString(
::JSContext*
ctx, uint jsAtom);
130MCNAPI
bool JSValueIsInfinite(
::JSValue const& value);
132MCNAPI
bool JSValueIsNan(
::JSValue const& value);
134MCNAPI ::std::variant<::entt::meta_any, ::JSValue>
137MCNAPI ::std::variant<::entt::meta_any, ::JSValue> JSValueToNativeInterface(
141 ::entt::meta_type
const& type,
145MCNAPI ::JSValue NativeAnyToJSProtoClass(
148 ::entt::meta_any& any,
153MCNAPI ::Scripting::QuickJS::ArgConversionResult
154NativeAnyToJSValue(
::JSContext*
ctx, ::entt::meta_any& any,
bool addRef,
bool allowCopy);
156MCNAPI ::Scripting::QuickJS::ArgConversionResult
157NativeEnumToJSValue(
::JSContext*
ctx, ::entt::meta_any& any,
bool addRef,
bool allowCopy);
159MCNAPI ::JSValue NativeErrorToJSValue(
::JSContext*
ctx, ::entt::meta_any& any);
161MCNAPI ::JSValue NativeErrorToJSValueInternal(
164 ::entt::meta_any& any,
169MCNAPI ::Scripting::QuickJS::ArgConversionResult NativeInterfaceToJSValue(
171 ::entt::meta_any& any,
177MCNAPI ::JSValue NativeObjectHandleToJSProtoClass(
185MCNAPI ::JSValue NativeObjectHandleToJSValue(
190 ::Scripting::QuickJS::NativeObjectOwnership ownership
193MCNAPI ::Scripting::QuickJS::ArgConversionResult NativeRegisteredEnumToJSValue(
195 ::entt::meta_any& any,
205MCNAPI ::JSValue ThrowEngineErrorToJS(
::JSContext*
ctx, ::std::string
const& msg);
209MCNAPI ::JSTypedArrayEnum ToJSTypedArrayEnum(::entt::meta_type
const& type);
215MCNAPI
double anyToDouble(::entt::meta_any
const& any);
217MCNAPI ::std::string anyToString(::entt::meta_any
const& any);
219MCNAPI ::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