https://github.com/turbokirichenko/sequence-rpg
generates professional random sequences
https://github.com/turbokirichenko/sequence-rpg
Last synced: 3 months ago
JSON representation
generates professional random sequences
- Host: GitHub
- URL: https://github.com/turbokirichenko/sequence-rpg
- Owner: turbokirichenko
- Created: 2022-05-19T11:48:59.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-21T18:55:57.000Z (about 3 years ago)
- Last Synced: 2024-11-02T04:02:15.488Z (7 months ago)
- Language: JavaScript
- Size: 38.1 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sequence-rpg
# DEPRECATED!!!
---
## [visit-new-project](https://www.npmjs.com/package/sequence-maker)
---
## Getting Started
```
$ npm i sequence-rpg --save-dev```
## NodeJS
```js
const generator = require('sequence-rpg');
```## Simple example
```js
const generator = require('sequence-rpg');const sequences = new generator({ minNumber: 1, maxNumber: 10 }) // config object
const result = sequences.make({ // schema as object
level: Number // type for key: "level"
}, 3); // size of sequenceconsole.log(result);
// *console*
//
// [
// { level: 2 },
// { level: 1 },
// { level: 5 }
// ]
//
```## Commonly example
```js
// create array from object
const result = sequences.make({
name: "SuperMan123", //constant value
age: { //custom type
type: Number, //type
max: 99, //opts
min: 18 //opts
},
friends: [{ //random array
name: String, //type
age: { //custom type
type: Number,
max: 99,
min: 18,
}
}]
}, 2);console.log(result);
// *console*
//
// [
// {
// name: 'SuperMan123',
// age: 23,
// friends: [
// {
// name: ,
// age: 87
// },
// {
// name: ,
// age: 55
// }
// ]
// },
// {
// name: "SuperMan123",
// ...
// }
//]
```## Extremely example
```js
//your custom type:
const MyCustomType = (opts) => { //opts param required!!!
const race = opts.race(); //getter!!!
const name = opts.name();
return `name: ${name}, race: ${race}`;
}//special Linker type
const Linker = sequences.Linker;//special RandomValueFromList type
const List = sequences.RandomValueFromList;const result = sequences.make({
unit: {
id: String,
race: List("Orc", "Elf", "Human", "Dwarf", "Unicorn"),
},
info: {
type: MyCustomType,
name: "Admin",
race: Linker("unit.race") //copy value from .unit.race
},
copy: Linker("info.race") //return undefined, because info.race is option property
}, 2);// *console*
//
// [
// {
// unit: { id: "122f1ac271279127ffa", race: 'Human' },
// info: 'name: Admin, race: Human',
// copy: undefined
// },
// {
// unit: { id: "47628facd21de12a189", race: 'Orc' },
// info: 'name: Admin, race: Orc',
// copy: undefined
// }
//]
```
---## More Example
* [docs](https://github.com/turbokirichenko/sequence-rpg/blob/main/index.test.js)
* [issues](https://github.com/turbokirichenko/sequence-rpg/issues)
* [open code](https://github.com/turbokirichenko/sequence-rpg)