클래스 객체<T, RequiredProperties>

Realm 객체의 기본 클래스입니다.

예시

필수 nameage 속성이 있는 Person 클래스를 정의하려면 static schema 을(를) 정의합니다.

class Person extends Realm.Object<Person> {
_id!: Realm.BSON.ObjectId;
name!: string;
age!: number;
static schema: Realm.ObjectSchema = {
name: "Person",
primaryKey: "_id",
properties: {
_id: "objectId",
name: "string",
age: "int",
},
};
}

예시

@realm/babell-plugin 을 사용하는 경우: 필수 nameage 속성이 있는 클래스 Person 를 정의하려면 타입스크립트(Typescript) 전용 모델 정의를 허용하도록 구성할 때 유형 인수에 해당 속성을 지정해야 합니다. :

class Person extends Realm.Object<Person, "name" | "age"> {
_id = new Realm.Types.ObjectId();
name: Realm.Types.String;
age: Realm.Types.Int;
static primaryKey = "_id";
}

~를 참조하세요.

객체 스키마

매개변수 유형

T - 이 클래스의 유형(예: 클래스가 Person 인 경우 TPerson 이어야 합니다. 이 중복은 TypeScript의 작동 방식 때문에 필요합니다)

매개변수 유형

RequiredProperties - new 을(를) 사용하여 인스턴스를 구성할 때 필요한 이 클래스의 모든 속성 이름입니다. 지정되지 않은 속성은 선택 사항이며, 다른 곳에서 기본값이 지정되지 않은 경우 합리적인 null 값이 기본값으로 사용됩니다.

유형 매개변수

  • T = DefaultObject

  • RequiredProperties 확장 keyof OmittedRealmTypes<t> = 절대로

생성자

속성

배열허용: 부울
비대칭?: 부울

선택적으로 @realm/babell-plugin 을 사용할 때 Flexible Sync를 사용하는 경우 스키마가 단방향으로 동기화되도록 지정합니다.

임베디드?: 부울

선택적으로 @realm/babell-plugin 을 사용할 때 스키마가 내장된 스키마임을 지정합니다.

기본?: 문자열

선택적으로 @realm/babel-plugin 을 사용할 때 스키마의 프라이머리 키를 지정합니다.

방법

  • 문자열반환

    더 이상 사용되지 않습니다.

    TODO: 유형 테스트가 중단되면 완전히 제거합니다.

  • 동일한 유형의 모든 객체에서 객체를 고유하게 식별하는 문자열입니다.

    문자열반환

  • 라이브 객체 인스턴스가 변경될 때 호출될 리스너 callback 를 추가합니다.

    매개변수

    • 콜백: ObjectChangeCallback<T>

      변경 사항이 발생할 때 호출되는 함수입니다.

    • Optional keyPaths : 문자열 | 문자열 []

      리스너와 관련된 변경 사항의 하한을 나타냅니다. 여러 수신기가 추가되는 경우 (각각 고유한 keyPaths 가 있음) 이러한 키 경로의 결합이 객체에 등록된 모든 수신기와 관련이 있는 것으로 간주되는 변경 사항을 결정하기 때문에 이는 하한입니다. 다시 말해, 다른 키 경로를 가진 다른 리스너가 있는 경우 리스너가 키 경로가 지정한 것보다 더 많이 실행할 수 있습니다.

    반환 값 void

    스로우

    callback 이(가) 함수가 아닌 경우 TypeAssertionError 가 발생합니다.

    예시

    wine.addListener((obj, changes) => {
    // obj === wine
    console.log(`object is deleted: ${changes.deleted}`);
    console.log(`${changes.changedProperties.length} properties have been changed:`);
    changes.changedProperties.forEach(prop => {
    console.log(` ${prop}`);
    });
    })

    예시

    wine.addListener((obj, changes) => {
    console.log("The wine got deleted or its brand might have changed");
    }, ["brand"])

    참고

    리스너 추가는 비동기 작업이므로 리스너가 추가되면 호출자에게 알리기 위해 콜백이 처음 호출됩니다. 따라서 콜백이 처음 호출되면 changes.changedProperties 에 대한 빈 배열이 포함됩니다.

  • 반환값 [문자열, 알 수 없음][]

    객체 속성의 키/값 쌍 배열입니다.

    더 이상 사용되지 않습니다.

    Object.entries()를 사용하세요.

  • 속성 값의 기본 유형을 가져옵니다.

    매개변수

    • 속성 이름: 문자열

      유형을 검색할 속성의 이름입니다.

    문자열반환

    속성 값의 기본 형식입니다.

    스로우

    속성이 존재하지 않으면 오류가 발생합니다.

  • 이 객체가 삭제되지 않았으며 유효한 Realm의 일부인지 확인합니다.

    반환 부울

    true 객체에 안전하게 액세스할 수 있으면 false 을 반환합니다.

  • 문자열[]반환

    객체 속성 이름의 배열입니다.

    더 이상 사용되지 않습니다.

    Object.keys()를사용하세요.

  • 지정된 관계에서 이 객체에 연결되는 모든 객체를 반환합니다.

    유형 매개변수

    • T = DefaultObject

    매개변수

    • objectType : 문자열

      이 객체의 유형에 연결되는 객체의 유형입니다.

    • 속성 이름: 문자열

      이 객체 유형의 객체를 참고하는 속성의 이름입니다.

    반환 결과<객체<T, 절대> & T>

    이 객체에 연결된 결과 입니다.

    스로우

    관계가 유효하지 않은 경우 AssertionError 가 발생합니다.

  • 유형 매개변수

    매개변수

    • objectType: 생성자<T>
    • 속성 이름: 문자열

    반환 결과<T>

  • 이 객체로 유입되는 링크의 총 개수를 반환합니다.

    숫자반환

    이 객체에 대한 링크 수입니다.

  • 이 객체에서 모든 리스너를 제거합니다.

    반환 값 void

  • 이 객체에서 리스너 callback 를 제거합니다.

    매개변수

    반환 값 void

    스로우

    callback 이(가) 함수가 아닌 경우 TypeAssertionError 가 발생합니다.

  • JSON 직렬화를 위한 일반 객체 표현입니다. @ungap/구조화된 클론flatted 와 같은 순환 JSON 직렬화 라이브러리를 사용하여 순환 구조가 있는 Realm 엔터티를 문자열화합니다.

    매개변수

    • Optional _: 문자열
    • Optional 캐시: 알 수 없음

    DefaultObject반환

    일반 객체입니다.

TypeDoc을 사용하여 생성됨