@@ -6,14 +6,14 @@ import {SESSION} from '../../../../json-crdt-patch/constants';
66import * as types from './types' ;
77
88export class Decoder {
9- public decode ( { time, root} : types . JsonCrdtSnapshot ) : Model {
9+ public decode ( { time, root} : types . JsonCrdtVerboseDocument ) : Model {
1010 const isServerClock = typeof time === 'number' ;
1111 const doc = isServerClock ? Model . withServerClock ( time ) : Model . withLogicalClock ( this . cClock ( time ) ) ;
1212 this . cRoot ( doc , root ) ;
1313 return doc ;
1414 }
1515
16- protected cClock ( timestamps : types . JsonCrdtLogicalTimestamp [ ] ) : VectorClock {
16+ protected cClock ( timestamps : types . JsonCrdtVerboseLogicalTimestamp [ ] ) : VectorClock {
1717 const [ stamp ] = timestamps ;
1818 const vectorClock = new VectorClock ( stamp [ 0 ] , stamp [ 1 ] ) ;
1919 const length = timestamps . length ;
@@ -25,12 +25,12 @@ export class Decoder {
2525 return vectorClock ;
2626 }
2727
28- protected cTs ( stamp : types . JsonCrdtTimestamp ) : ITimestampStruct {
28+ protected cTs ( stamp : types . JsonCrdtVerboseTimestamp ) : ITimestampStruct {
2929 const isServerClock = typeof stamp === 'number' ;
3030 return isServerClock ? ts ( SESSION . SERVER , stamp ) : ts ( stamp [ 0 ] , stamp [ 1 ] ) ;
3131 }
3232
33- protected cRoot ( doc : Model , { value} : types . ValueJsonCrdtNode ) : void {
33+ protected cRoot ( doc : Model , { value} : types . JsonCrdtVerboseVal ) : void {
3434 const val = value ? this . cNode ( doc , value ) : new nodes . ConNode ( doc . clock . tick ( 0 ) , null ) ;
3535 const root = new nodes . RootNode ( doc , val . id ) ;
3636 doc . root = root ;
@@ -56,7 +56,7 @@ export class Decoder {
5656 throw new Error ( 'UNKNOWN_NODE' ) ;
5757 }
5858
59- protected cObj ( doc : Model , node : types . ObjectJsonCrdtNode ) : nodes . ObjNode {
59+ protected cObj ( doc : Model , node : types . JsonCrdtVerboseObj ) : nodes . ObjNode {
6060 const id = this . cTs ( node . id ) ;
6161 const obj = new nodes . ObjNode ( doc , id ) ;
6262 const map = node . map ;
@@ -69,7 +69,7 @@ export class Decoder {
6969 return obj ;
7070 }
7171
72- protected cVec ( doc : Model , node : types . VectorJsonCrdtNode ) : nodes . VecNode {
72+ protected cVec ( doc : Model , node : types . JsonCrdtVerboseVec ) : nodes . VecNode {
7373 const id = this . cTs ( node . id ) ;
7474 const obj = new nodes . VecNode ( doc , id ) ;
7575 const elements = obj . elements ;
@@ -84,7 +84,7 @@ export class Decoder {
8484 return obj ;
8585 }
8686
87- protected cArr ( doc : Model , node : types . ArrayJsonCrdtNode ) : nodes . ArrNode {
87+ protected cArr ( doc : Model , node : types . JsonCrdtVerboseArr ) : nodes . ArrNode {
8888 const id = this . cTs ( node . id ) ;
8989 const rga = new nodes . ArrNode ( doc , id ) ;
9090 const chunks = node . chunks ;
@@ -95,10 +95,10 @@ export class Decoder {
9595 rga . ingest ( length , ( ) => {
9696 const c = chunks [ i ++ ] ;
9797 const id = self . cTs ( c . id ) ;
98- if ( typeof ( c as types . JsonCrdtRgaTombstone ) . span === 'number' )
99- return new nodes . ArrChunk ( id , ( c as types . JsonCrdtRgaTombstone ) . span , undefined ) ;
98+ if ( typeof ( c as types . JsonCrdtVerboseTombstone ) . span === 'number' )
99+ return new nodes . ArrChunk ( id , ( c as types . JsonCrdtVerboseTombstone ) . span , undefined ) ;
100100 else {
101- const ids = ( c as types . ArrayJsonCrdtChunk ) . value . map ( ( n ) => this . cNode ( doc , n ) . id ) ;
101+ const ids = ( c as types . JsonCrdtVerboseArrChunk ) . value . map ( ( n ) => this . cNode ( doc , n ) . id ) ;
102102 return new nodes . ArrChunk ( id , ids . length , ids ) ;
103103 }
104104 } ) ;
@@ -107,7 +107,7 @@ export class Decoder {
107107 return rga ;
108108 }
109109
110- protected cStr ( doc : Model , node : types . StringJsonCrdtNode ) : nodes . StrNode {
110+ protected cStr ( doc : Model , node : types . JsonCrdtVerboseStr ) : nodes . StrNode {
111111 const id = this . cTs ( node . id ) ;
112112 const rga = new nodes . StrNode ( id ) ;
113113 const chunks = node . chunks ;
@@ -118,10 +118,10 @@ export class Decoder {
118118 rga . ingest ( length , ( ) => {
119119 const c = chunks [ i ++ ] ;
120120 const id = self . cTs ( c . id ) ;
121- if ( typeof ( c as types . JsonCrdtRgaTombstone ) . span === 'number' )
122- return new nodes . StrChunk ( id , ( c as types . JsonCrdtRgaTombstone ) . span , '' ) ;
121+ if ( typeof ( c as types . JsonCrdtVerboseTombstone ) . span === 'number' )
122+ return new nodes . StrChunk ( id , ( c as types . JsonCrdtVerboseTombstone ) . span , '' ) ;
123123 else {
124- const value = ( c as types . StringJsonCrdtChunk ) . value ;
124+ const value = ( c as types . JsonCrdtVerboseStrChunk ) . value ;
125125 return new nodes . StrChunk ( id , value . length , value ) ;
126126 }
127127 } ) ;
@@ -130,7 +130,7 @@ export class Decoder {
130130 return rga ;
131131 }
132132
133- protected cBin ( doc : Model , node : types . BinaryJsonCrdtNode ) : nodes . BinNode {
133+ protected cBin ( doc : Model , node : types . JsonCrdtVerboseBin ) : nodes . BinNode {
134134 const id = this . cTs ( node . id ) ;
135135 const rga = new nodes . BinNode ( id ) ;
136136 const chunks = node . chunks ;
@@ -141,10 +141,10 @@ export class Decoder {
141141 rga . ingest ( length , ( ) => {
142142 const c = chunks [ i ++ ] ;
143143 const id = self . cTs ( c . id ) ;
144- if ( typeof ( c as types . JsonCrdtRgaTombstone ) . span === 'number' )
145- return new nodes . BinChunk ( id , ( c as types . JsonCrdtRgaTombstone ) . span , undefined ) ;
144+ if ( typeof ( c as types . JsonCrdtVerboseTombstone ) . span === 'number' )
145+ return new nodes . BinChunk ( id , ( c as types . JsonCrdtVerboseTombstone ) . span , undefined ) ;
146146 else {
147- const value = ( c as types . BinaryJsonCrdtChunk ) . value ;
147+ const value = ( c as types . JsonCrdtVerboseBinChunk ) . value ;
148148 const buf = fromBase64 ( value ) ;
149149 return new nodes . BinChunk ( id , buf . length , buf ) ;
150150 }
@@ -154,17 +154,17 @@ export class Decoder {
154154 return rga ;
155155 }
156156
157- protected cVal ( doc : Model , node : types . ValueJsonCrdtNode ) : nodes . ValNode {
157+ protected cVal ( doc : Model , node : types . JsonCrdtVerboseVal ) : nodes . ValNode {
158158 const id = this . cTs ( node . id ) ;
159159 const val = this . cNode ( doc , node . value ) ;
160160 const obj = new nodes . ValNode ( doc , id , val . id ) ;
161161 doc . index . set ( id , obj ) ;
162162 return obj ;
163163 }
164164
165- protected cCon ( doc : Model , node : types . ConstantJsonCrdtNode ) : nodes . ConNode {
165+ protected cCon ( doc : Model , node : types . JsonCrdtVerboseCon ) : nodes . ConNode {
166166 const id = this . cTs ( node . id ) ;
167- const val = node . timestamp ? this . cTs ( node . value as types . JsonCrdtLogicalTimestamp ) : node . value ;
167+ const val = node . timestamp ? this . cTs ( node . value as types . JsonCrdtVerboseLogicalTimestamp ) : node . value ;
168168 const obj = new nodes . ConNode ( id , val ) ;
169169 doc . index . set ( id , obj ) ;
170170 return obj ;
0 commit comments