PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@vechain/sdk-core/src/vcdm/encoding/rlp/kind
Просмотр файла: BufferKind.ts
import { ScalarKind } from './ScalarKind';
import { type BufferOutput, type DataOutput, type RLPInput } from '../types';
import { InvalidRLP } from '@vechain/sdk-errors';
/**
* Represents a scalar kind with Buffer functionality.
* This class extends the {@link ScalarKind} class.
*/
class BufferKind extends ScalarKind {
/**
* Encodes the input data into buffer format.
*
* @param {RLPInput} data The data to encode, expected to be of Uint8Array type.
* @param {string} context Descriptive context for error messages
* @returns {DataOutput} Object with an encode function.
* @throws {InvalidRLP}
*/
public data(data: RLPInput, context: string): DataOutput {
// Ensure that the data is indeed a Buffer before encoding.
// ArrayBuffer.isView so we support https://github.com/vitest-dev/vitest/issues/5183
if (!ArrayBuffer.isView(data)) {
throw new InvalidRLP(
'BufferKind.data()',
`Validation error: Expected a Uint8Array type in ${context}.`,
{
context,
data: {
data
}
}
);
}
return {
encode: () => data // Data is already a Buffer, so return as-is.
};
}
/**
* Decodes the input buffer.
*
* @param {Uint8Array} buffer - The buffer to decode, expected to be of buffer type.
* @returns BufferOutput object with a decode function.
* @throws {InvalidRLP}
*/
public buffer(buffer: Uint8Array): BufferOutput {
return {
decode: () => buffer // Buffer is already in the correct format, so return as-is.
};
}
}
export { BufferKind };
Выполнить команду
Для локальной разработки. Не используйте в интернете!