Skip to content

Commit 13420e6

Browse files
committed
feat(json-crdt): 🎸 use latest node opcodes
1 parent 0f8a041 commit 13420e6

File tree

3 files changed

+23
-56
lines changed

3 files changed

+23
-56
lines changed

src/json-crdt-patch/codec/compact/constants.ts

Lines changed: 0 additions & 32 deletions
This file was deleted.

src/json-crdt/codec/structural/compact/Decoder.ts

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ import * as nodes from '../../../nodes';
22
import {ClockDecoder} from '../../../../json-crdt-patch/codec/clock/ClockDecoder';
33
import {ITimestampStruct, Timestamp} from '../../../../json-crdt-patch/clock';
44
import {Model, UNDEFINED} from '../../../model/Model';
5-
import {ORIGIN, SESSION} from '../../../../json-crdt-patch/constants';
6-
import {Code} from '../../../../json-crdt-patch/codec/compact/constants';
5+
import {JsonCrdtDataType, ORIGIN, SESSION} from '../../../../json-crdt-patch/constants';
76

87
export class Decoder {
98
protected time?: number;
@@ -47,22 +46,22 @@ export class Decoder {
4746
protected decodeNode(doc: Model, data: unknown): nodes.JsonNode {
4847
if (data instanceof Array) {
4948
switch (data[0]) {
50-
case Code.MakeObject:
51-
return this.decodeObj(doc, data);
52-
case Code.MakeArray:
53-
return this.decodeArr(doc, data);
54-
case Code.MakeString:
55-
return this.decodeStr(doc, data);
56-
case Code.MakeValue:
57-
return this.decodeVal(doc, data);
58-
case Code.MakeConst:
49+
case JsonCrdtDataType.con:
5950
return this.decodeConst(doc, data);
60-
case Code.MakeConstId:
51+
case JsonCrdtDataType.con + 10:
6152
return this.decodeConstId(doc, data);
62-
case Code.MakeBinary:
63-
return this.decodeBin(doc, data);
64-
case Code.MakeTuple:
53+
case JsonCrdtDataType.val:
54+
return this.decodeVal(doc, data);
55+
case JsonCrdtDataType.obj:
56+
return this.decodeObj(doc, data);
57+
case JsonCrdtDataType.vec:
6558
return this.decodeTup(doc, data);
59+
case JsonCrdtDataType.str:
60+
return this.decodeStr(doc, data);
61+
case JsonCrdtDataType.bin:
62+
return this.decodeBin(doc, data);
63+
case JsonCrdtDataType.arr:
64+
return this.decodeArr(doc, data);
6665
}
6766
}
6867
throw new Error('UNKNOWN_NODE');

src/json-crdt/codec/structural/compact/Encoder.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import * as nodes from '../../../nodes';
22
import {ClockEncoder} from '../../../../json-crdt-patch/codec/clock/ClockEncoder';
33
import {ITimestampStruct, Timestamp} from '../../../../json-crdt-patch/clock';
4+
import {JsonCrdtDataType} from '../../../../json-crdt-patch/constants';
45
import {SESSION} from '../../../../json-crdt-patch/constants';
5-
import {Code} from '../../../../json-crdt-patch/codec/compact/constants';
66
import type {Model} from '../../../model';
77

88
export class Encoder {
@@ -61,7 +61,7 @@ export class Encoder {
6161
}
6262

6363
protected encodeObj(arr: unknown[], obj: nodes.ObjNode): void {
64-
const res: unknown[] = [Code.MakeObject];
64+
const res: unknown[] = [JsonCrdtDataType.obj];
6565
arr.push(res);
6666
this.ts(res, obj.id);
6767
obj.nodes((node, key) => {
@@ -71,7 +71,7 @@ export class Encoder {
7171
}
7272

7373
protected cTup(arr: unknown[], obj: nodes.VecNode): void {
74-
const res: unknown[] = [Code.MakeTuple];
74+
const res: unknown[] = [JsonCrdtDataType.vec];
7575
arr.push(res);
7676
this.ts(res, obj.id);
7777
const elements = obj.elements;
@@ -88,7 +88,7 @@ export class Encoder {
8888
}
8989

9090
protected encodeArr(arr: unknown[], obj: nodes.ArrNode): void {
91-
const res: unknown[] = [Code.MakeArray, obj.size()];
91+
const res: unknown[] = [JsonCrdtDataType.arr, obj.size()];
9292
arr.push(res);
9393
this.ts(res, obj.id);
9494
const iterator = obj.iterator();
@@ -108,7 +108,7 @@ export class Encoder {
108108
}
109109

110110
protected encodeStr(arr: unknown[], obj: nodes.StrNode): void {
111-
const res: unknown[] = [Code.MakeString, obj.size()];
111+
const res: unknown[] = [JsonCrdtDataType.str, obj.size()];
112112
arr.push(res);
113113
this.ts(res, obj.id);
114114
const iterator = obj.iterator();
@@ -122,7 +122,7 @@ export class Encoder {
122122
}
123123

124124
protected encodeBin(arr: unknown[], obj: nodes.BinNode): void {
125-
const res: unknown[] = [Code.MakeBinary, obj.size()];
125+
const res: unknown[] = [JsonCrdtDataType.bin, obj.size()];
126126
arr.push(res);
127127
this.ts(res, obj.id);
128128
const iterator = obj.iterator();
@@ -136,7 +136,7 @@ export class Encoder {
136136
}
137137

138138
protected cVal(arr: unknown[], obj: nodes.ValNode): void {
139-
const res: unknown[] = [Code.MakeValue];
139+
const res: unknown[] = [JsonCrdtDataType.val];
140140
arr.push(res);
141141
this.ts(res, obj.id);
142142
this.cNode(res, obj.node());
@@ -146,11 +146,11 @@ export class Encoder {
146146
const val = obj.val;
147147
const res: unknown[] = [];
148148
if (val instanceof Timestamp) {
149-
res.push(Code.MakeConstId);
149+
res.push(JsonCrdtDataType.con + 10);
150150
this.ts(res, obj.id);
151151
this.ts(res, val);
152152
} else {
153-
res.push(Code.MakeConst);
153+
res.push(JsonCrdtDataType.con);
154154
this.ts(res, obj.id);
155155
if (val !== undefined) res.push(val);
156156
}

0 commit comments

Comments
 (0)