File tree 1 file changed +40
-0
lines changed
packages/jsondiffpatch/src
1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change @@ -51,3 +51,43 @@ export interface Filter<TContext extends Context<any>> {
51
51
( context : TContext ) : void ;
52
52
filterName : string ;
53
53
}
54
+
55
+ export function isAddedDelta ( delta : Delta ) : delta is AddedDelta {
56
+ return Array . isArray ( delta ) && delta . length === 1 ;
57
+ }
58
+
59
+ export function isModifiedDelta ( delta : Delta ) : delta is ModifiedDelta {
60
+ return Array . isArray ( delta ) && delta . length === 2 ;
61
+ }
62
+
63
+ export function isDeletedDelta ( delta : Delta ) : delta is DeletedDelta {
64
+ return (
65
+ Array . isArray ( delta ) &&
66
+ delta . length === 3 &&
67
+ delta [ 1 ] === 0 &&
68
+ delta [ 2 ] === 0
69
+ ) ;
70
+ }
71
+
72
+ export function isObjectDelta ( delta : Delta ) : delta is ObjectDelta {
73
+ return (
74
+ delta !== undefined && typeof delta === 'object' && ! Array . isArray ( delta )
75
+ ) ;
76
+ }
77
+
78
+ export function isArrayDelta ( delta : Delta ) : delta is ArrayDelta {
79
+ return (
80
+ delta !== undefined &&
81
+ typeof delta === 'object' &&
82
+ '_t' in delta &&
83
+ delta . _t === 'a'
84
+ ) ;
85
+ }
86
+
87
+ export function isMovedDelta ( delta : Delta ) : delta is MovedDelta {
88
+ return Array . isArray ( delta ) && delta . length === 3 && delta [ 2 ] === 3 ;
89
+ }
90
+
91
+ export function isTextDiffDelta ( delta : Delta ) : delta is TextDiffDelta {
92
+ return Array . isArray ( delta ) && delta . length === 3 && delta [ 2 ] === 2 ;
93
+ }
You can’t perform that action at this time.
0 commit comments