columbus-base-x
TypeScript icon, indicating that this package has built-in type declarations

1.1.3 • Public • Published

columbus-base-x

提供安全的base64的快速编解码方案

# use yarn 
yarn add columbus-base-x
 
# use npm 
npm i columbus-base-x -S

CHANGELOG

API

encode

encode(url, params, include)

入参

属性 类型 默认值 说明
url string - url地址
params object - url需要携带的参数(会与原url携带的参数比较并增量更新)
include string[] ['connect'] params对象中需要编码的key

params.key的值为对象类型, 务必将使include包含key

返回值

返回编码后的url

string

example

import { encode } from 'columbus-base-x';
 
const t1 = encode('https://example.com', { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }, ['connect', 'to']);
// https://example.com?connect=eyJpZCI6IjEyMyIsIm5hbWUiOiJ0ZXN0IiwiaG9va3MiOnsiaG9va3MxIjoiaG9va3MxIn19&from=wechat&to=cXFfYnJvd3Nlcg
 
const t2 = encode('https//example.com?from=baidu', { from: 'qq'});
// https://example.com?from=qq

encodeStringify

encodeStringify(params)

入参

属性 类型 默认值 说明
params object - 需要编码的对象

返回值

返回编码后的字符串

string

example

import { encodeStringify } from 'columbus-base-x';
 
const t = encodeStringify({ connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' });
// eyJjb25uZWN0Ijp7ImlkIjoiMTIzIiwibmFtZSI6InRlc3QiLCJob29rcyI6eyJob29rczEiOiJob29rczEifX0sImZyb20iOiJ3ZWNoYXQiLCJ0byI6InFxX2Jyb3dzZXIifQ

decode

decode(url, include)

入参

属性 类型 默认值 说明
url string - url地址
include string[] ['connect'] 若存在在include,则解码,否则返回原值

返回值

url中携带的参数

object

example

import { encode, decode } from 'columbus-base-x';
 
const t1 = encode('https://example.com', { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }, ['connect', 'to']);
 
const t2 = decode(t1);
// { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'cXFfYnJvd3Nlcg' }
 
const t3 = decode(t1, ['connect', 'to']);
// { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }

decodeParse

decodeParse(str)

入参

属性 类型 默认值 说明
str string - 字符串

返回值

object | string

example

import { encodeStringify, decodeParse } from 'columbus-base-x';
 
const t1 = encodeStringify({ connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' });
 
const t2 = decodeParse(t1);
// { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }

decodeWithReturnPathUrl

decodeWithReturnPathUrl(url, include)

入参

属性 类型 默认值 说明
url string - url地址
include string[] ['connect'] 若存在在include,则解码,否则返回原值

返回值

属性 类型 说明
pathUrl string 不含query的url地址
params object url中携带的参数

example

import { encode, decodeWithReturnPathUrl } from 'columbus-base-x';
 
const t1 = encode('https://example.com', { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }, ['connect', 'to']);
 
const t2 = decodeWithReturnPathUrl(t1, ['connect', 'to']);
// {pathUrl: 'https://example.com', params: { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }}

Readme

Keywords

none

Package Sidebar

Install

npm i columbus-base-x

Weekly Downloads

4

Version

1.1.3

License

MIT

Unpacked Size

15.9 kB

Total Files

7

Last publish

Collaborators

  • vdfor