2 Commits

Author SHA1 Message Date
066dac4bdc 1.0.7 2024-02-29 22:43:37 +01:00
e1faf34660 fix(core): update 2024-02-29 22:43:37 +01:00
4 changed files with 17 additions and 7 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@push.rocks/smartbuffer",
"version": "1.0.6",
"version": "1.0.7",
"private": false,
"description": "handle ArrayBufferLike structures",
"main": "dist_ts/index.js",

View File

@ -6,14 +6,14 @@ tap.test('first test', async () => {
});
tap.test('should recognize different buffer like objects', async () => {
const testBuffer = Buffer.from('test');
// const testBuffer = Buffer.from('test');
const testArrayBuffer = new ArrayBuffer(4);
const testUint8Array = new Uint8Array(testArrayBuffer);
testUint8Array[0] = 116;
testUint8Array[1] = 101;
testUint8Array[2] = 115;
testUint8Array[3] = 116;
expect(smartbuffer.isBufferLike(testBuffer)).toBeTrue();
// expect(smartbuffer.isBufferLike(testBuffer)).toBeTrue();
expect(smartbuffer.isBufferLike(testArrayBuffer)).toBeTrue();
expect(smartbuffer.isBufferLike(testUint8Array)).toBeTrue();
});

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@push.rocks/smartbuffer',
version: '1.0.6',
version: '1.0.7',
description: 'handle ArrayBufferLike structures'
}

View File

@ -62,6 +62,16 @@ export function base64ToArrayBuffer(base64: string): Uint8Array {
return arrayBuffer;
}
export function isBufferLike(obj: any): obj is ArrayBufferLike {
return obj && typeof obj.byteLength === 'number';
}
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;
}