TypeScript 지원
Appify SDK는 TypeScript로 작성되었으며, 모든 API에 대해 강력한 타입 정의를 기본으로 제공합니다.
타입 활용하기
SDK를 import 하면 자동으로 타입 힌트와 자동 완성을 사용할 수 있습니다.
주요 타입 정의 예시
import {
appify,
DeviceInfo,
AuthResult,
PermissionType,
PermissionStatus
} from '@nolraunsoft/appify-sdk';
// 타입 지정 사용
const myInfo: DeviceInfo = await appify.device.getInfo();
// 제네릭 사용 (Storage)
interface UserConfig {
theme: 'light' | 'dark';
notifications: boolean;
}
const config = await appify.storage.getItem<UserConfig>('config');
if (config) {
console.log(config.theme); // 타입 추론 지원
}
에러 타입
SDK에서 발생하는 모든 에러는 타입이 정의되어 있습니다.
import {
appify,
AppifyError,
TimeoutError,
BridgeNotAvailableError,
NotInitializedError,
SDKDestroyedError,
ConcurrentRequestError,
PermissionDeniedError,
NativeError
} from '@nolraunsoft/appify-sdk';
try {
await appify.device.getInfo();
} catch (error) {
if (error instanceof NotInitializedError) {
// error.code === 'NOT_INITIALIZED'
} else if (error instanceof TimeoutError) {
// error.code === 'TIMEOUT'
}
}
장점
- 자동 완성: IDE(VS Code 등)에서 메서드와 속성에 대한 자동 완성을 지원합니다.
- 정적 검사: 컴파일 타임에 잘못된 파라미터나 오타를 방지할 수 있습니다.
- 문서화: 코드 자체가 문서의 역할을 하여 API 스펙을 쉽게 파악할 수 있습니다.