1.0.1 • Published 2 years ago

soatic v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Soatic


📀 Object and number iterators 📀

⚠️ This package edits prototypes of Object and Number classes to implement iterators.

🚀 Installation

# using npm
npm install soatic

# or using yarn
yarn add soatic

💻 Import

// if you want to use the `iter` function
import { iter } from "soatic";

// or if you want to just use the object and number iterators
import _ from "soatic";

🐱‍🏍 Usage

  • Iterate with for loop

    import _ from "soatic";
    
    /* NUMBER ITERATOR */
    
    // Prints 0 - 9
    for (let num of 10) console.log(num);
    
    /* OBJECT ITERATOR */
    
    // Prints ["a", 1] and ["b", 2]
    for (let kv of { a: 1, b: 2 }) console.log(kv);
    
    // Prints `A -> B` and `B -> C`
    for (let kv of { A: "B", B: "C" }[Symbol.iterator]((key, value) => `${key} -> ${value}`)) {
      console.log(kv);
    }
  • Iterate manually

    import _ from "soatic";
    
    /* Creating a `user` object */
    let user = {
      Harry: { food: "sandwich", drink: "orange juice" },
      Lacy: { food: "burger", drink: "lemonade" },
      Troy: { food: "pizza", drink: "mango juice" },
    };
    
    /* Creating a description function that expands the string */
    let desc = (name, { food, drink }) => `${name} likes to eat ${food}, and likes to drink ${drink}.`;
    
    /* Creating the iter of the `user` object */
    let iter = user[Symbol.iterator](desc);
    
    /* Iterating over it manually */
    
    console.log(iter.next().value); // Harry likes to eat sandwich, and likes to drink orange juice.
    
    console.log(iter.next().value); // Lacy likes to eat burger, and likes to drink lemonade.
    
    console.log(iter.next().value); // Troy likes to eat pizza, and likes to drink mango juice.
    
    console.log(iter.next().value); // undefined

💖 Made with love by squik.

1.0.1

2 years ago

1.0.0

2 years ago