
Security News
Socket Releases Free Certified Patches for Critical vm2 Sandbox Escape
A critical vm2 sandbox escape can allow untrusted JavaScript to break isolation and execute commands on the host Node.js process.
@observ33r/object-generator
Advanced tools
High-performance, customizable dummy object generator for testing and benchmarking.
High-performance, customizable dummy object generator for testing and benchmarking.
Install the package via npm:
npm install @observ33r/object-generator
options {Object} Optional configuration for the generator.
preffix {string|false} A prefix to prepend to generated keys/strings. Must be a non-empty string or false. Default: false.type {Function} The type of object to generate. Must be one of Object, Array, Set, Map, or Uint8Array. Default: Object.size {number} The size of the top-level object. Must be an integer. Default: 16.nestedSize {number} The size of nested objects. Must be an integer. Default: 16.depth {number} The maximum depth for nested structures. Must be an integer. Default: 0.valueTypes {Array<Function|NaN|undefined|null>}> Array of value types to include in the generated object. Valid types are Boolean, Number, String, Date, RegExp, Uint8Array, Object, Array, Set, Map, NaN, undefined, or null. Default: [String].globalIndex {boolean} Whether to include a global index in generated keys/values. Default: true.circular {boolean} Whether to allow circular references in the generated object. Default: false.shuffle {boolean} Whether to shuffle the order of elements or keys. Default: false.seed {number} Seed for randomization when shuffle is enabled. If not provided, a random seed is generated. Default: Random value if shuffle is true, otherwise 0.import { objectGenerator } from '@observ33r/object-generator';
const obj = objectGenerator({
preffix: 'data',
type: Object,
size: 4,
nestedSize: 4,
depth: 1,
valueTypes: [String, Number, Boolean, Object]
});
console.log(obj);
{
'data-string-4-0-0-0': 'data-value-4-0-0-0',
'data-number-4-0-1-1': 1,
'data-boolean-4-0-2-2': true,
'data-object-4-0-3-3': {
'data-string-4-1-4-0': 'data-value-4-1-4-0',
'data-number-4-1-5-1': 1,
'data-boolean-4-1-6-2': true,
'data-string-4-1-7-3': 'data-value-4-1-7-3'
}
}
import { objectGenerator } from '@observ33r/object-generator';
const arr = objectGenerator({
type: Array,
size: 16,
valueTypes: [Number],
shuffle: true,
seed: 42
});
console.log(arr);
[
4, 1, 9, 3, 6, 0,
7, 13, 15, 10, 2, 14,
8, 11, 12, 5
]
import { objectGenerator } from '@observ33r/object-generator';
const set = objectGenerator({
type: Set,
size: 2,
nestedSize: 2,
depth: 2,
valueTypes: [Set],
globalIndex: false,
shuffle: true,
seed: 42
});
console.log(set);
Set(2) {
Set(2) {
Set(2) { 'value-2-2-1', 'value-2-2-0' },
Set(2) { 'value-2-2-0', 'value-2-2-1' }
},
Set(2) {
Set(2) { 'value-2-2-0', 'value-2-2-1' },
Set(2) { 'value-2-2-1', 'value-2-2-0' }
}
}
Run the included tests with Jest:
npm test
Feel free to open issues or submit pull requests on GitHub.
This project is licensed under the MIT License.
FAQs
High-performance, customizable dummy object generator for testing and benchmarking.
The npm package @observ33r/object-generator receives a total of 2 weekly downloads. As such, @observ33r/object-generator popularity was classified as not popular.
We found that @observ33r/object-generator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
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.

Security News
A critical vm2 sandbox escape can allow untrusted JavaScript to break isolation and execute commands on the host Node.js process.

Research
Five malicious NuGet packages impersonate Chinese .NET libraries to deploy a stealer targeting browser credentials, crypto wallets, SSH keys, and local files.

Security News
pnpm 11 turns on a 1-day Minimum Release Age and blocks exotic subdeps by default, adding safeguards against fast-moving supply chain attacks.