4 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
031f6449bd 1.0.6 2024-02-25 01:45:49 +01:00
4f5282e5cd fix(core): update 2024-02-25 01:45:48 +01:00
5 changed files with 36 additions and 13 deletions

View File

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

21
test/test.both.ts Normal file
View File

@ -0,0 +1,21 @@
import { expect, expectAsync, tap } from '@push.rocks/tapbundle';
import * as smartbuffer from '../ts/index.js';
tap.test('first test', async () => {
console.log(smartbuffer);
});
tap.test('should recognize different buffer like objects', async () => {
// 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(testArrayBuffer)).toBeTrue();
expect(smartbuffer.isBufferLike(testUint8Array)).toBeTrue();
});
tap.start();

View File

@ -1,8 +0,0 @@
import { expect, expectAsync, tap } from '@pushrocks/tapbundle';
import * as smartbuffer from '../ts/index.js';
tap.test('first test', async () => {
console.log(smartbuffer);
});
tap.start();

View File

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

View File

@ -62,6 +62,16 @@ export function base64ToArrayBuffer(base64: string): Uint8Array {
return arrayBuffer;
}
export function isArrayBufferLike(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;
}