aboutsummaryrefslogtreecommitdiff
path: root/src/fields/FieldUpdatedArgs.ts
blob: 23ccf2a5af49a379668912c164e61923a400fbb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { Field, Opt } from "./Field";
import { Document } from "./Document";
import { Key } from "./Key";

export enum FieldUpdatedAction {
    Add,
    Remove,
    Replace,
    Update
}

export interface FieldUpdatedArgs {
    field: Field;
    action: FieldUpdatedAction;
}

export interface DocumentUpdatedArgs {
    field: Document;
    key: Key;

    oldValue: Opt<Field>;
    newValue: Opt<Field>;

    fieldArgs?: FieldUpdatedArgs;

    action: FieldUpdatedAction;
}