UNPKG

@orbit/records

Version:

A flexible data access and synchronization layer.

38 lines (37 loc) 3.93 kB
import { OperationTerm } from '@orbit/data'; import { AddRecordOperation, UpdateRecordOperation, RemoveRecordOperation, ReplaceAttributeOperation, ReplaceKeyOperation, AddToRelatedRecordsOperation, RemoveFromRelatedRecordsOperation, ReplaceRelatedRecordsOperation, ReplaceRelatedRecordOperation, RecordOperation } from './record-operation'; import { InitializedRecord, RecordIdentity, UninitializedRecord } from './record'; import { RecordTransformBuilder } from './record-transform-builder'; export declare class BaseRecordOperationTerm<O extends RecordOperation, RT = string, RI = RecordIdentity, R = UninitializedRecord> extends OperationTerm<O> { $transformBuilder: RecordTransformBuilder<RT, RI, R>; constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, operation: O); toOperation(): O; } export declare class AddRecordTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> extends BaseRecordOperationTerm<AddRecordOperation, RT, RI, R> { constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, record: InitializedRecord); } export declare class UpdateRecordTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> extends BaseRecordOperationTerm<UpdateRecordOperation, RT, RI, R> { constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, record: InitializedRecord); } export declare class RemoveRecordTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> extends BaseRecordOperationTerm<RemoveRecordOperation, RT, RI, R> { constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, record: RecordIdentity); } export declare class ReplaceAttributeTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> extends BaseRecordOperationTerm<ReplaceAttributeOperation, RT, RI, R> { constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, record: RecordIdentity, attribute: string, value: unknown); } export declare class ReplaceKeyTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> extends BaseRecordOperationTerm<ReplaceKeyOperation, RT, RI, R> { constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, record: RecordIdentity, key: string, value: string); } export declare class AddToRelatedRecordsTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> extends BaseRecordOperationTerm<AddToRelatedRecordsOperation, RT, RI, R> { constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, record: RecordIdentity, relationship: string, relatedRecord: RecordIdentity); } export declare class RemoveFromRelatedRecordsTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> extends BaseRecordOperationTerm<RemoveFromRelatedRecordsOperation, RT, RI, R> { constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, record: RecordIdentity, relationship: string, relatedRecord: RecordIdentity); } export declare class ReplaceRelatedRecordsTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> extends BaseRecordOperationTerm<ReplaceRelatedRecordsOperation, RT, RI, R> { constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, record: RecordIdentity, relationship: string, relatedRecords: RecordIdentity[]); } export declare class ReplaceRelatedRecordTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> extends BaseRecordOperationTerm<ReplaceRelatedRecordOperation, RT, RI, R> { constructor(transformBuilder: RecordTransformBuilder<RT, RI, R>, record: RecordIdentity, relationship: string, relatedRecord: RecordIdentity | null); } export declare type RecordOperationTerm<RT = string, RI = RecordIdentity, R = UninitializedRecord> = AddRecordTerm<RT, RI, R> | UpdateRecordTerm<RT, RI, R> | RemoveRecordTerm<RT, RI, R> | ReplaceKeyTerm<RT, RI, R> | ReplaceAttributeTerm<RT, RI, R> | AddToRelatedRecordsTerm<RT, RI, R> | RemoveFromRelatedRecordsTerm<RT, RI, R> | ReplaceRelatedRecordsTerm<RT, RI, R> | ReplaceRelatedRecordTerm<RT, RI, R>;