UNPKG

@daiso-tech/core

Version:

The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.

39 lines 1.12 kB
/** * @module Serde */ import { DeserializationSerdeError, SerializationSerdeError, } from "../../../../serde/contracts/_module-exports.js"; /** * @internal */ export class SqlSerde { serde; constructor(serde) { this.serde = serde; } serialize(value) { try { if (typeof value === "number" && !Number.isNaN(value) && isFinite(value)) { return String(value); } return this.serde.serialize(value); } catch (error) { throw new SerializationSerdeError(`Serialization error "${String(error)}" occured`, error); } } deserialize(value) { try { const isNumberRegex = /^(-?([0-9]+)(\.[0-5]+)?)$/g; if (isNumberRegex.test(value)) { return Number(value); } return this.serde.deserialize(value); } catch (error) { throw new DeserializationSerdeError(`Deserialization error "${String(error)}" occured`, error); } } } //# sourceMappingURL=sql-serde.js.map