guardia-messenger/node_modules/expo-modules-core/ios/JSI/EXJavaScriptObject.h
DESKTOP-TKLFCPRython f29f525c77 refactor: 101.79.17.164 → zioinfo.co.kr 전체 도메인 변환 + Manager UI 배포
- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스)
- Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포
- 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 10:09:17 +09:00

96 lines
2.9 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright 2022-present 650 Industries. All rights reserved.
#import <Foundation/Foundation.h>
#ifdef __cplusplus
#import <jsi/jsi.h>
namespace jsi = facebook::jsi;
#endif // __cplusplus
@class EXJavaScriptRuntime;
@class EXJavaScriptValue;
@class EXJavaScriptWeakObject;
/**
The property descriptor options for the property being defined or modified.
*/
typedef NS_OPTIONS(NSInteger, EXJavaScriptObjectPropertyDescriptor) {
/**
If set, the type of this property descriptor may be changed and if the property may be deleted from the corresponding object.
*/
EXJavaScriptObjectPropertyDescriptorConfigurable = 1 << 0,
/**
If set, the property shows up during enumeration of the properties on the corresponding object.
*/
EXJavaScriptObjectPropertyDescriptorEnumerable = 1 << 1,
/**
If set, the value associated with the property may be changed with an assignment operator.
*/
EXJavaScriptObjectPropertyDescriptorWritable = 1 << 2,
} NS_SWIFT_NAME(JavaScriptObjectPropertyDescriptor);
NS_SWIFT_NAME(JavaScriptObject)
@interface EXJavaScriptObject : NSObject
// Some parts of the interface must be hidden for Swift it can't import any C++ code.
#ifdef __cplusplus
- (nonnull instancetype)initWith:(std::shared_ptr<jsi::Object>)jsObjectPtr
runtime:(nonnull EXJavaScriptRuntime *)runtime;
/**
Returns the pointer to the underlying object.
*/
- (nonnull jsi::Object *)get;
/**
Returns the shared pointer to the underlying object.
*/
- (std::shared_ptr<jsi::Object>)getShared;
#endif // __cplusplus
#pragma mark - Accessing object properties
/**
\return a bool whether the object has a property with the given name.
*/
- (BOOL)hasProperty:(nonnull NSString *)name;
/**
\return the property of the object with the given name.
If the name isn't a property on the object, returns the `undefined` value.
*/
- (nonnull EXJavaScriptValue *)getProperty:(nonnull NSString *)name;
/**
\return an array consisting of all enumerable property names in the object and its prototype chain.
*/
- (nonnull NSArray<NSString *> *)getPropertyNames;
#pragma mark - Modifying object properties
/**
Sets the value for the property with the given name.
*/
- (void)setProperty:(nonnull NSString *)name value:(nullable id)value;
/**
Defines a new property or modifies an existing property on the object using the property descriptor.
*/
- (void)defineProperty:(nonnull NSString *)name descriptor:(nonnull EXJavaScriptObject *)descriptor;
/**
Defines a new property or modifies an existing property on the object. Calls `Object.defineProperty` under the hood.
*/
- (void)defineProperty:(nonnull NSString *)name value:(nullable id)value options:(EXJavaScriptObjectPropertyDescriptor)options;
#pragma mark - WeakObject
- (nonnull EXJavaScriptWeakObject *)createWeak;
#pragma mark - Deallocator
- (void)setObjectDeallocator:(void (^ _Nonnull)(void))deallocatorBlock;
@end