Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shysolocup/stews
Stews is a Node.JS package meant to make storing data easier by mixing parts from common data types.
https://github.com/shysolocup/stews
aepl array arrays data datatypes html javascript js json map maps nodejs object objects package set sets stews
Last synced: about 1 month ago
JSON representation
Stews is a Node.JS package meant to make storing data easier by mixing parts from common data types.
- Host: GitHub
- URL: https://github.com/shysolocup/stews
- Owner: shysolocup
- License: mit
- Created: 2023-02-27T16:50:41.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-30T15:40:05.000Z (3 months ago)
- Last Synced: 2024-11-22T13:39:55.478Z (about 1 month ago)
- Topics: aepl, array, arrays, data, datatypes, html, javascript, js, json, map, maps, nodejs, object, objects, package, set, sets, stews
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/stews
- Size: 948 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**Stews is a [Node.JS](https://nodejs.org/en/) package meant to make storing data easier by mixing parts from common data types.**
- Fully open source
- Fully customizable w/ modding support
- Built in random number and choice functions
- Easy to use index & entry systems
- Built in JSON parse & dump
- Detailed documentation
```console
npm i stews
```
```console
npm i shysolocup/stews
```
---
## Parts
- **[Stew:](https://npmjs.com/package/@stews/stew)** built off of [Sets](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) and [Maps](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) so they **DON'T** allow duplicate entries
- **[Soup:](https://npmjs.com/package/@stews/soup)** built off of [Arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) and [Objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) so they **DO** allow duplicate entries
- **[Bean:](https://npmjs.com/package/@stews/bean)** built off of [Numbers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) and [Floats](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float) and includes many of their features
- **[Noodle:](https://npmjs.com/package/@stews/noodle)** built off of [Strings](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) and includes a majority of their features
- **[random:](https://npmjs.com/package/@stews/random)** a built in random class that works with most types
## Usage
```js
const { Stew, Soup, Noodle, Bean, random } = require('stews');let array = new Stew(["a", "b", "c"]); // list type
let obj = new Soup({ key1: "val1", key2: "val2" }); // pair type
let str = new Noodle("abc 123"); // string stuff
let int = new Bean(1234); // int stuffdelete array[1];
console.log(array); // Stew(2) [ 'a', 'c' ]
console.log(obj); // Soup(2) { key1: 'val1', key2: 'val2' }
console.log(str); // Noodle(7) "abc 123"
console.log(int); // Bean(4) 1234console.log(obj.length); // 2
console.log(obj.keys); // [ 'key1', 'key2' ]
console.log(obj.values); // [ 'val1', 'val2' ]console.log(str.wordCount); // 2
console.log(str.toUpperCase(0)); // Noodle(7) "Abc 123"console.log(int.format({ currency: "$", roundTo: 2 })); // "$1,234.00"
console.log(int.even); // true
console.log(int.odd); // falseconsole.log(random.int(1, 5)); // 4
console.log(array.random.choice()); // 'b'
console.log(obj.random.choice()); // [ 'key1', 'val1' ]
console.log(str.random.choice()); // '1'
```