Skip to content

Commit

Permalink
feat: deserialize plain objects
Browse files Browse the repository at this point in the history
  • Loading branch information
ilteoood committed Dec 19, 2023
1 parent c34184d commit 8958f1a
Showing 1 changed file with 32 additions and 11 deletions.
43 changes: 32 additions & 11 deletions test/deserializer.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,8 @@ describe("deserializer", () => {
const ser = createSer();
ser[testData.deserializeFn.slice(2)](testData.example);

const des = createDes(ser.getBuffer());

const result = deserializer(createDes(ser.getBuffer()));
expect(result).toStrictEqual(
des[testData.deserializeFn](testData.example),
);
expect(result).toStrictEqual(testData.example);
});
});

Expand All @@ -58,10 +54,8 @@ describe("deserializer", () => {
const ser = createSer();
ser.serializeUInt32(toSerialize);

const des = createDes(ser.getBuffer());

const result = deserializer(createDes(ser.getBuffer()));
expect(result).toStrictEqual(des.deserializeUInt32());
expect(result).toStrictEqual(toSerialize);
},
);

Expand All @@ -79,11 +73,38 @@ describe("deserializer", () => {
const ser = createSer();
ser.serializeNumber(toSerialize);

const des = createDes(ser.getBuffer());

const result = deserializer(createDes(ser.getBuffer()));
expect(result).toStrictEqual(des.deserializeNumber());
expect(result).toStrictEqual(toSerialize);
},
);
});

describe("object serialization", () => {
it("should deserialize plain object", () => {
const jsonSchema = {
type: "object",
properties: {
name: {
type: "string",
},
age: {
type: "integer",
},
},
} as const;

const toSerialize = {
age: 1,
name: "test",
};

const ser = createSer();
ser.serializeString(toSerialize.name);
ser.serializeNumber(toSerialize.age);

const result = deserialize(jsonSchema)(createDes(ser.getBuffer()));

expect(result).toStrictEqual(toSerialize);
});
});
});

0 comments on commit 8958f1a

Please sign in to comment.