@ batterii/ 编码对象
此模块包含编码和解码的功能 JSON 可串行对象 基数64url,允许安全发送 作为 HTTP 头和 URI 组件.
已经有很多这样的模块了 但是在Batterii我们写了另一个 最终想打开一些依赖它的东西 所以我们 这个也是开源的 随便用吧,没什么特别的 关于它.
注意,虽然被编码的物体通常不能被人类读取,但这不能 他们被加密或签字 从他们那里读取数据是 简单如反转编码过程, 篡改它们同样简单 以不同的数据重复.
制作签名的代币,防止篡改、使用 符号 换句话说.
使用量
import { decodeObject, encodeObject } from '@batterii/encode-object';
const str = encodeObject({ foo: 'bar' } );
console.log(str);
// eyJmb28iOiJiYXIifQ
const obj = decodeObject(str);
console.log(obj);
// { foo: 'bar' }
除了平面对象和阵列外,顶层的JSON原始人也是 支持:
console.log(decodeObject(encodeObject('some string')));
// some string
console.log(decodeObject(encodeObject(true)));
// true
console.log(decodeObject(encodeObject(false)));
// false
console.log(decodeObject(encodeObject(null)));
// null
处理错误
此软件包使用 纳尼 以定义以下错误类别:
-
EncodeObjectError: 这是所有其它错误的基准类 包,用于命名间隔. -
InvalidJsonError: 如果编码的文本连接无效的 JSON 是 发送给decodeObject。 。 。 .