Toshihiko
    検索インデックスを準備しています...

    インターフェイス Yukari<Name, Schema, AdapterInstance>

    1 個の Model に属する、変更可能なデータ行です。

    schema のフィールドは、インスタンスの enumerable なプロパティとして公開されます。新しいデータ行は Model.build で作成します。検索済みのデータ行は Query.find、Query.findOne、または Query.findById から取得します。

    build したデータ行は insert できます。検索済みのデータ行は update または delete できます。検索済みのデータ行の特定と比較に使用する元の値は、private に保持されます。

    interface Yukari<
        Name extends string,
        Schema extends SchemaDefinition,
        AdapterInstance extends AdapterLike = Adapter,
    > {
        delete(
            connection?: AdapterConnection<AdapterInstance> | null,
        ): Promise<true>;
        insert(
            connection?:
                | Exclude<Parameters<AdapterInstance["insert"]>[1], null>
                | null,
        ): Promise<Yukari<Name, Schema, AdapterInstance>>;
        save(
            connection?:
                | Exclude<Parameters<AdapterInstance["insert"]>[1], null>
                | null,
        ): Promise<Yukari<Name, Schema, AdapterInstance>>;
        toJSON(useOriginalData?: boolean): Partial<JsonRowFromSchema<Schema>>;
        update(
            connection?:
                | Exclude<Parameters<AdapterInstance["insert"]>[1], null>
                | null,
        ): Promise<Yukari<Name, Schema, AdapterInstance>>;
        validateAll(): Promise<void>;
        validateOne<Field extends string>(
            name: Field,
            value: RowFromSchema<Schema>[Field],
        ): Promise<void>;
    }

    型パラメーター

    インデックス
    • データベースから読み込んだデータ行を削除します。

      delete の条件には元の主キー値を使用します。Model に主キーがない場合は、元のすべてのフィールドを特定条件に使用します。Adapter に要求するデータ行は最大 1 行です。

      パラメータ

      戻り値 Promise<true>

      Adapter が削除成功を報告した後の true です。

      新しく構築したデータ行で呼び出した場合、または Adapter が偽と評価される結果を返した場合です。

    • Model.build で作成したデータ行を検証して insert します。

      自動インクリメントされた主キーなど、Adapter が返した値は同じ Yukari インスタンスへコピーされます。

      パラメータ

      • connection: Exclude<Parameters<AdapterInstance["insert"]>[1], null> | null = null

        任意の Adapter トランザクション接続です。

      戻り値 Promise<Yukari<Name, Schema, AdapterInstance>>

      書き込み完了後の、この Yukari インスタンスです。

      データベースから読み込んだデータ行で呼び出した場合、検証に失敗した場合、または Adapter の実行に失敗した場合です。

    • 新しく構築したデータ行を insert するか、データベースから読み込んだデータ行を update します。

      パラメータ

      • connection: Exclude<Parameters<AdapterInstance["insert"]>[1], null> | null = null

        任意の Adapter トランザクション接続です。

      戻り値 Promise<Yukari<Name, Schema, AdapterInstance>>

      選択された書き込みの完了後の、この Yukari インスタンスです。

    • 各 Field Type の toJSON() 実装を使用して、対応付け済みのフィールドをシリアライズします。

      パラメータ

      • useOriginalData: boolean = false

        現在の列挙可能なプロパティではなく、データベースから取得した元のスナップショットをシリアライズします。

      戻り値 Partial<JsonRowFromSchema<Schema>>

      論理 schema フィールド名をキーとする通常のオブジェクトです。

      const current = user.toJSON();
      const beforeChanges = user.toJSON(true);
    • データベースから読み込んだデータ行を更新します。

      変更されたフィールドは、private に保持された元の値の snapshot と比較して検出します。データ行の特定には元の主キー値を使用するため、主キープロパティを変更しても元の特定条件は失われません。値が変更されていない場合は、v1 と互換の挙動として map 済みの完全なデータ行を送ります。

      パラメータ

      • connection: Exclude<Parameters<AdapterInstance["insert"]>[1], null> | null = null

        任意の Adapter トランザクション接続です。

      戻り値 Promise<Yukari<Name, Schema, AdapterInstance>>

      元の値のスナップショットを更新した、この Yukari インスタンスです。

      新しく構築したデータ行で呼び出した場合、検証に失敗した場合、または Adapter の実行に失敗した場合です。

    • schema のフィールドに対応する、列挙可能なすべてのプロパティを検証します。

      関数、名前が $ で始まる互換プロパティ、schema に存在しないプロパティは無視します。同時に検証するフィールドは最大 10 個です。

      戻り値 Promise<void>

      validateOne が生成した最初の検証エラーです。

    • schema の 1 フィールドに対して validator を実行します。

      nullable なフィールドでは、カスタム validator を実行せずに null を受け付けます。各 validator の this は、データ行の Model に bind されます。

      型パラメーター

      • Field extends string

      パラメータ

      • name: Field

        Model の schema に含まれる論理フィールド名です。

      • value: RowFromSchema<Schema>[Field]

        検証するアプリケーション値です。

      戻り値 Promise<void>

      フィールドが存在しない場合、null を許可しないフィールドに null が渡された場合、または Validator が空ではないエラーメッセージを返した場合です。