📅 You're Invited: Meet the Socket team at RSAC (April 28 – May 1).RSVP
Socket
Sign inDemoInstall
Socket

basura

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

basura

Generate random JavaScript

3.0.2
latest
Source
npm
Version published
Weekly downloads
5
-44.44%
Maintainers
1
Weekly downloads
 
Created
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 codecov

Keywords

test

FAQs

Package last updated on 11 Sep 2024

Did you know?

Socket

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