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 InterfaceBinding; }
17namespace Scripting {
struct IteratorBinding; }
18namespace Scripting {
struct ObjectFactory; }
19namespace Scripting {
struct ObjectHandle; }
20namespace Scripting::QuickJS {
class ContextUserData; }
21namespace Scripting::QuickJS {
class RegisteredClass; }
22namespace Scripting::QuickJS {
class RegisteredEnum; }
23namespace Scripting::QuickJS {
class RegisteredInterface; }
24namespace Scripting::QuickJS {
class RuntimeUserData; }
25namespace Scripting::QuickJS {
struct ArgConversionResult; }
26namespace Scripting::QuickJS {
struct ArrayProxy; }
27namespace Scripting::QuickJS {
struct PropertyGetSet; }
28namespace Scripting::Reflection {
class IFunction; }
31namespace Scripting::QuickJS {
34MCNAPI ::JSValue ConvertJSValueArgsToNativeAnys(
39 ::std::array<::entt::meta_any, 16>& outArgsAsAnys
42MCNAPI ::JSValue CopyJSValueArrayToNativeSequenceContainer(
45 ::entt::meta_sequence_container& view,
46 ::entt::meta_type
const& type
49MCNAPI ::JSValue CopyJSValueObjectToNativeAssociativeContainer(
52 ::entt::meta_associative_container& view,
53 ::entt::meta_type
const& type
56MCNAPI ::Scripting::QuickJS::ArrayProxy CreateArrayProxy(
::JSContext*
ctx);
58MCNAPI ::std::unique_ptr<::Scripting::ClassBinding>
63MCNAPI ::JSValue GenericFreeFunctionCaller(
72MCNAPI ::JSValue GenericObjectFunctionCaller(
84MCNAPI ::JSValue GenericReflectionPropertyGetter(
93MCNAPI ::JSValue GenericReflectionPropertySetter(
104MCNAPI ::Scripting::ObjectHandle GetNativeObjectHandleFromJSValue(
::JSValue jsValue);
106MCNAPI ::Scripting::QuickJS::PropertyGetSet
const&
109MCNAPI ::Scripting::QuickJS::RuntimeUserData* GetRuntimeUserDataFromContext(
::JSContext*
ctx);
111MCNAPI
bool HasNativeObjectHandle(
::JSValue jsValue);
113MCNAPI
void InitializeBakedProperties(
121MCNAPI ::std::string JSAtomCStringToString(
::JSContext*
ctx, uint jsAtom);
127MCNAPI
bool JSValueIsInfinite(
::JSValue const& value);
129MCNAPI
bool JSValueIsNan(
::JSValue const& value);
133MCNAPI ::std::variant<::entt::meta_any, ::JSValue>
136MCNAPI ::std::variant<::entt::meta_any, ::JSValue> JSValueToNativeInterface(
140 ::entt::meta_type
const& type,
144MCNAPI ::JSValue NativeAnyToJSProtoClass(
147 ::entt::meta_any& any,
152MCNAPI ::Scripting::QuickJS::ArgConversionResult
153NativeAnyToJSValue(
::JSContext*
ctx, ::entt::meta_any& any,
bool addRef,
bool allowCopy);
155MCNAPI ::Scripting::QuickJS::ArgConversionResult
156NativeEnumToJSValue(
::JSContext*
ctx, ::entt::meta_any& any,
bool addRef,
bool allowCopy);
158MCNAPI ::JSValue NativeErrorToJSValue(
::JSContext*
ctx, ::entt::meta_any& any);
160MCNAPI ::JSValue NativeErrorToJSValueInternal(
163 ::entt::meta_any& any,
168MCNAPI ::Scripting::QuickJS::ArgConversionResult NativeInterfaceToJSValue(
170 ::entt::meta_any& any,
176MCNAPI ::JSValue NativeObjectHandleToJSProtoClass(
184MCNAPI ::JSValue NativeObjectHandleToJSValue(
189 ::Scripting::QuickJS::NativeObjectOwnership ownership
192MCNAPI ::Scripting::QuickJS::ArgConversionResult NativeRegisteredEnumToJSValue(
194 ::entt::meta_any& any,
204MCNAPI ::JSValue ThrowEngineErrorToJS(
::JSContext*
ctx, ::std::string
const& msg);
208MCNAPI ::JSTypedArrayEnum ToJSTypedArrayEnum(::entt::meta_type
const& type);
212MCNAPI ::Scripting::StrongObjectHandle getHandleFromObjectFactory(
Definition LifetimeRegistry.h:16
Definition ContextUserData.h:18
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