Socket
Socket
Sign inDemoInstall

basura

Package Overview
Dependencies
3
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    basura

Generate random JavaScript


Version published
Weekly downloads
5
increased by150%
Maintainers
1
Install size
1.21 MB
Created
Weekly downloads
 

Readme

Source

Basura

Generate trash JavaScript. This is useful for testing libraries and APIs.

The strings that are generated are random, but every string comes from a single Unicode script, so they at least look vaguely interesting.

Install

npm install basura

Command line

Usage: basura [options]

Generate a random JavaScript object

Options:
  -V, --version                output the version number
  -a, --arrayLength <number>   Maximum array/object size (default: 10)
  -b, --noBoxed                Do not generate boxed types, like String.
  -c, --cborSafe               Do not generate types that break CBOR.
  -d, --depth <number>         Maximum depth. (default: 5)
  -e, --edgeFreq <number>      Edge case frequency. (default: 0.1)
  -i, --import <file>          Import the given file, and use its default
                               export as an additional type generator.  Can be
                               specified multiple times. (default: [])
  -j, --json                   Output JSON, not generating any types that will
                               not fit.
  -o, --output <file>          File to output.
  -s, --stringLength <number>  Maximum string length. (default: 20)
  -t, --type <type>            Generate this specific type.
  -T, --listTypes              List all supported types, then exit.
  -h, --help                   display help for command

Examples:
  $ basura -t object
  $ basura -t Array -o array.js

Supported Types

  • AggregateError
  • Array
  • ArrayBuffer
  • BigInt64Array
  • BigUint64Array
  • Boolean
  • Buffer
  • DataView
  • Date
  • Error
  • EvalError
  • Float32Array
  • Float64Array
  • Generator
  • Int16Array
  • Int32Array
  • Int8Array
  • Map
  • Number
  • Object
  • Promise
  • Proxy
  • RangeError
  • ReferenceError
  • RegExp
  • Set
  • SharedArrayBuffer
  • String
  • SyntaxError
  • TypeError
  • URIError
  • URL
  • Uint16Array
  • Uint32Array
  • Uint8Array
  • Uint8ClampedArray
  • WeakMap
  • WeakRef
  • WeakSet
  • bigint
  • boolean
  • function
  • integer
  • number
  • string
  • symbol
  • undefined

Adding new types

Pass new types in the types option, or from the command line, use --import <moduleFile>. See an example.

API

Full API docs are available.

import {Basura} from 'basura'

// The default options.  No need to pass anything in if you like these
const opts = {
  arrayLength: 10,  // maximum size of arrays and objects
  cborSafe: false,  // generate only CBOR-safe types?
  depth: 5,         // How deep to go
  edgeFreq: 0.1,    // How often to prefer edge cases?
  jsonSafe: false,  // generate only JSON-safe types?
  noBoxed: false,   // ignore boxed types, like String?
  output: false,    // add custom inspect functions that make output parseable JS?
  scripts: [],      // Array of script names to limit output to.  Defaults to all
  stringLength: 20, // Maximum string and Buffer length, in codepoints
  types: {},        // Extra types to generate.  Pass in `{Date: null}` to not generate Dates
}
const b = new Basura(opts)
console.log(b.generate_Date()) // Example output: 2011-02-16T11:28:41.539Z
console.log(b.generate()) // Some possibly-large chunk of JS

See some example output in the examples directory.


Tests Coverage Status

Keywords

FAQs

Last updated on 16 Mar 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc