From 8ad98bce9fd1571dc41a8c924433e936536fff6e Mon Sep 17 00:00:00 2001 From: Bart Blast Date: Fri, 18 Oct 2024 20:11:04 +0200 Subject: [PATCH] Remove old deserializer --- assets/js/deserializer.mjs | 27 ---------- test/javascript/deserializer_test.mjs | 72 --------------------------- 2 files changed, 99 deletions(-) delete mode 100644 assets/js/deserializer.mjs delete mode 100644 test/javascript/deserializer_test.mjs diff --git a/assets/js/deserializer.mjs b/assets/js/deserializer.mjs deleted file mode 100644 index b14f1d17c..000000000 --- a/assets/js/deserializer.mjs +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; - -import Type from "./type.mjs"; - -export default class Deserializer { - static deserialize(data) { - return typeof data === "string" ? $.#parseJson(data) : data; - } - - static #parseJson(json) { - return JSON.parse(json, (_key, value) => { - if (typeof value === "string") { - if (value.startsWith("__integer__:")) { - return Type.integer(BigInt(value.slice(12))); - } - - if (value.startsWith("__binary__:")) { - return Type.bitstring(value.slice(11)); - } - } - - return value; - }); - } -} - -const $ = Deserializer; diff --git a/test/javascript/deserializer_test.mjs b/test/javascript/deserializer_test.mjs deleted file mode 100644 index 95116ab3f..000000000 --- a/test/javascript/deserializer_test.mjs +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; - -import { - assert, - defineGlobalErlangAndElixirModules, -} from "./support/helpers.mjs"; - -import Deserializer from "../../assets/js/deserializer.mjs"; -import JsonEncoder from "../../assets/js/json_encoder.mjs"; -import Type from "../../assets/js/type.mjs"; - -defineGlobalErlangAndElixirModules(); - -describe("Deserializer", () => { - describe("deserialize()", () => { - it("JS object", () => { - const obj = {a: 1, b: 2}; - const data = JsonEncoder.encode(obj); - const result = Deserializer.deserialize(data); - - assert.deepStrictEqual(result, obj); - }); - - it("boxed bitstring that is a binary", () => { - const term = Type.bitstring("abc"); - const data = JsonEncoder.encode(term); - const result = Deserializer.deserialize(data); - - assert.deepStrictEqual(result, term); - }); - - it("boxed atom", () => { - const term = Type.atom("abc"); - const data = JsonEncoder.encode(term); - const result = Deserializer.deserialize(data); - - assert.deepStrictEqual(result, term); - }); - - it("boxed boolean", () => { - const term = Type.boolean(true); - const data = JsonEncoder.encode(term); - const result = Deserializer.deserialize(data); - - assert.deepStrictEqual(result, term); - }); - - it("boxed float", () => { - const term = Type.float(1.23); - const data = JsonEncoder.encode(term); - const result = Deserializer.deserialize(data); - - assert.deepStrictEqual(result, term); - }); - - it("boxed integer", () => { - const term = Type.integer(123); - const data = JsonEncoder.encode(term); - const result = Deserializer.deserialize(data); - - assert.deepStrictEqual(result, term); - }); - - it("boxed nil", () => { - const term = Type.nil(); - const data = JsonEncoder.encode(term); - const result = Deserializer.deserialize(data); - - assert.deepStrictEqual(result, term); - }); - }); -});