From c0d402b234926da276834e19a8ab2cf8db0ff8b5 Mon Sep 17 00:00:00 2001 From: Sosthene Date: Sun, 15 Jun 2025 22:07:23 +0200 Subject: [PATCH] Add `service.utils` with `splitPrivateData` and `isValid32ByteHex` --- src/utils/service.utils.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/utils/service.utils.ts diff --git a/src/utils/service.utils.ts b/src/utils/service.utils.ts new file mode 100644 index 0000000..8f84400 --- /dev/null +++ b/src/utils/service.utils.ts @@ -0,0 +1,24 @@ +export function splitPrivateData(data: Record, privateFields: string[]): { privateData: Record, publicData: Record } { + const privateData: Record = {}; + const publicData: Record = {}; + + for (const [key, value] of Object.entries(data)) { + if (privateFields.includes(key)) { + privateData[key] = value; + } else { + publicData[key] = value; + } + } + + return { privateData, publicData }; +} + +export function isValid32ByteHex(value: string): boolean { + // Check if string is exactly 64 characters (32 bytes in hex) + if (value.length !== 64) { + return false; + } + + // Check if string only contains valid hex characters + return /^[0-9a-fA-F]{64}$/.test(value); +}