Notorious Penguin Magicians

    serialize-to-js

    3.1.2 • Public • Published

    serialize-to-js

    serialize objects to javascript

    NPM version Build Status

    Serialize objects into a string while checking circular structures and respecting references.

    The following Objects are supported

    • String
    • Number
    • Boolean
    • Object
    • Array
    • RegExp
    • Error
    • Date
    • Buffer
    • Int8Array, Uint8Array, Uint8ClampedArray
    • Int16Array, Uint16Array
    • Int32Array, Uint32Array, Float32Array
    • Float64Array
    • Set
    • Map

    Table of Contents

    Methods

    serialize

    serialize(source, opts, opts.ignoreCircular, opts.reference)

    serializes an object to javascript

    Example - serializing regex, date, buffer, ...

    const serialize = require('serialize-to-js')
    const obj = {
      str: '<script>var a = 0 > 1</script>',
      num: 3.1415,
      bool: true,
      nil: null,
      undef: undefined,
      obj: { foo: 'bar' },
      arr: [1, '2'],
      regexp: /^test?$/,
      date: new Date(),
      buffer: new Buffer('data'),
      set: new Set([1, 2, 3]),
      map: new Map([['a': 1],['b': 2]])
    }
    console.log(serialize(obj))
    //> '{str: "\u003Cscript\u003Evar a = 0 \u003E 1\u003C\u002Fscript\u003E",
    //>   num: 3.1415, bool: true, nil: null, undef: undefined,
    //>   obj: {foo: "bar"}, arr: [1, "2"], regexp: new RegExp("^test?$", ""),
    //>   date: new Date("2019-12-29T10:37:36.613Z"),
    //>   buffer: Buffer.from("ZGF0YQ==", "base64"), set: new Set([1, 2, 3]),
    //>   map: new Map([["a", 1], ["b", 2]])}'

    Example - serializing while respecting references

    var serialize = require('serialize-to-js')
    var obj = { object: { regexp: /^test?$/ } };
    obj.reference = obj.object;
    var opts = { reference: true };
    console.log(serialize(obj, opts));
    //> {object: {regexp: /^test?$/}}
    console.log(opts.references);
    //> [ [ '.reference', '.object' ] ]

    Parameters

    source: Object | Array | function | Any, source to serialize
    opts: Object, options
    opts.ignoreCircular: Boolean, ignore circular objects
    opts.reference: Boolean, reference instead of a copy (requires post-processing of opts.references)
    opts.unsafe: Boolean, do not escape chars <>/
    Returns: String, serialized representation of source

    Contribution and License Agreement

    If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work or correctly attributed with the source of its origin and licence.

    License

    Copyright (c) 2016- commenthol (MIT License)

    See LICENSE for more info.

    Install

    npm i serialize-to-js

    DownloadsWeekly Downloads

    107,019

    Version

    3.1.2

    License

    MIT

    Unpacked Size

    25.7 kB

    Total Files

    9

    Last publish

    Collaborators

    • commenthol