PubNub FunctionsCodec Module

The code module provides codec-related helper methods.

To generate basic authentication header for use in XHR requests, use the basic() method.

Usage: basic(username, password), where:

  • username: username to use for the basic auth.
  • password: password to use for the basic auth.
const basicAuth = require('codec/auth');
console.log(basicAuth.basic('many', 'blocks')); // Basic: bWFueTpibG9ja3M=

To convert a text string into a base64 compliant string, use the btoa() method.

usage: btoa(unencoded), where:

  • unencoded: input string to be encoded.
const base64Codec = require('codec/base64');
console.log(base64Codec.btoa('hello')); // aGVsbG8=

To convert a base64 string into a text string, use the decode() method.

usage: atob(encoded), where:

  • encoded: input string to be decoded.
const base64Codec = require('codec/base64');
console.log(base64Codec.atob('aGVsbG8=')); // hello

To encode string to be url-safe, use the encodeString() method.

usage: encodeString(input), where:

  • input: string to be url-encoded.
const base64Codec = require('codec/base64');
console.log(base64Codec.encodeString('+')); // _

To convert a stringified parameters list to a JavaScript object, use the parse() method.

usage: parse(query_string, defaults), where:

  • query_string: input query string.
  • defaults: default values to be used if the value is missing in the query_string.
const queryStringCodec = require('codec/query_string');
console.log(queryStringCodec.parse('a=5&b=10', {c: 15})); // {a: 5, b: 10, c: 15}

To stringify a query string, use the stringify() method.

usage: stringify(params), where:

  • params: object of key/value items to stringify as query string.
const queryStringCodec = require('codec/query_string');
console.log(queryStringCodec.stringify({ a: 10, b: 15 })); // a=10&b=15
 
PubNub Functions provides a rich set of tools, and this documentation does not cover all of the potential situations you may encounter. If you need help with a situation not covered by the documentation, please contact PubNub Support.