From 63e3b492e69c823dae87e0efcb4aa7da1f82bbf0 Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Wed, 17 Apr 2024 20:33:24 +0200 Subject: [PATCH] fix(core): update --- ts/00_commitinfo_data.ts | 2 +- ts/index.ts | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index d073c8f..7097884 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@push.rocks/smartbuffer', - version: '3.0.0', + version: '3.0.1', description: 'A library for managing ArrayBufferLike structures including conversion between Base64 and Uint8Array, and buffer validation.' } diff --git a/ts/index.ts b/ts/index.ts index 764bdf8..6cd46a7 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -12,4 +12,18 @@ export function base64ToUint8Array(base64: string): Uint8Array { export const isUint8Array = (obj: any): obj is Uint8Array => { return plugins.uInt8ArrayExtras.isUint8Array(obj); +} + +export function isBufferLike(obj: any): obj is ArrayBufferLike | Buffer { + // Check for ArrayBufferLike objects in any environment + if (obj && typeof obj.byteLength === 'number') { + return true; + } + + // Additional check specific to Node.js environment for Buffer objects + if (typeof Buffer !== 'undefined' && Buffer.isBuffer) { + return Buffer.isBuffer(obj); + } + + return false; } \ No newline at end of file