@nodescript/stdlib
Version:
Standard Node Definitions
39 lines (38 loc) • 1.05 kB
JavaScript
import { bufferToBinaryString } from '@nodescript/binary-utils';
export const module = {
version: '1.1.4',
moduleName: 'String / From Bytes',
description: 'Converts an ArrayBuffer into a string in specified encoding.',
keywords: ['buffer'],
params: {
buffer: {
schema: {
type: 'any',
},
},
encoding: {
schema: {
type: 'string',
enum: ['utf-8', 'binary', 'iso-8859-1', 'utf-16le'],
default: 'utf-8',
},
}
},
result: {
schema: { type: 'string' },
},
};
export const compute = params => {
const { buffer, encoding } = params;
switch (encoding) {
case 'binary':
return bufferToBinaryString(buffer);
case 'utf-8':
case 'iso-8859-1':
case 'utf-16le': {
return new TextDecoder(encoding).decode(buffer);
}
default:
throw new Error(`Unsupported encoding: ${encoding}`);
}
};