This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

tree-json-generator
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

Tree JSON Generator

version

More than 150 000 nodes per second! Simple library for generating JSON trees No external dependency, highly customizable

Installation

You can install it using yarn or npm

npm install tree-json-generator
# or
yarn add tree-json-generator

Usage

NodeJS:

const TreeGen = require("tree-json-generator");

WebPack:

import * as TreeGen from "tree-json-generator";

Use generate(config) for generating tree

const config = {
  node: { // Node fields, required
    id: "@id()", // Pipes
    parent: "@parent()",
    level: "@level()",
    name: "@randomName()", 
    age: "@randomInteger(14,99)",
    email: "@randomEmail()",
    registered: "@randomBoolean(0.79)",
    child: "@child()" // Child field pointer (not required, if children are not needed)
  },
  rootNodesNumber: 7, // Number of root nodes
  childNodesNumber: [2, 5], // Number of children nodes (from 2 to 5)
  hasChildRate: 0.4, // Probability of children
  maxLevel: 3 // Max nesting
}

let tree = TreeGen.generate(config);

Pipes

This allows you to generate fields values for the nodes.

Warning: custom user functions only assign the same value to all nodes

Remember: Pipes are strings

Prebuilded pipes:

"@id()"

Random node ID

"@child()"

Child field pointer

"@parent()"

Field with parent node ID. (For this field, a field with an "@id" pipe before required.

"@level()"

Node level

"@randomName()"

Random name

"@randomFruit()"

Random fruit

"@randomEmail()"

Random E-Mail

"@randomInteger(min, max)"

Random Integer from range

"@randomBoolean(value = 0.5)"

Random Boolean (value - coefficient)

Config API

node: {}

Required. Contains node fields with pipes.

rootNodesNumber:

Not required. Number (5) or array range ([1, 40]). Default is 1.

childNodesNumber:

Not required. Number (9) or array range ([1, 15]). Default is 1.

maxLevel:

Not required. Max node level. Number (3). Default is 3.

hasChildRate:

Not required. The probability that the node has children. From 0 to 1. Default is 1.

Package Sidebar

Install

npm i tree-json-generator

Weekly Downloads

13

Version

0.1.1

License

MIT

Unpacked Size

10.7 kB

Total Files

14

Last publish

Collaborators

  • kanitelk