micromark-util-chunked
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    micromark-util-chunked

    Build Coverage Downloads Size Sponsors Backers Chat

    micromark utility to splice and push with giant arrays.

    Contents

    Install

    npm:

    npm install micromark-util-chunked

    Use

    import {push, splice} from 'micromark-util-chunked'
    
    // …
    
    nextEvents = push(nextEvents, [
      ['enter', events[open][1], context],
      ['exit', events[open][1], context]
    ])
    
    // …
    
    splice(events, open - 1, index - open + 3, nextEvents)
    
    // …

    API

    This module exports the following identifiers: push, splice. There is no default export.

    push(list, items)

    Append items (an array) at the end of list (another array). When list was empty, returns items instead.

    This prevents a potentially expensive operation when list is empty, and adds items in batches to prevent V8 from hanging.

    Parameters
    • list (unknown[]) — List to operate on
    • items (unknown[]) — Items to add to list
    Returns

    list or items

    splice(list, start, remove, items)

    Like Array#splice, but smarter for giant arrays.

    Array#splice takes all items to be inserted as individual argument which causes a stack overflow in V8 when trying to insert 100k items for instance.

    Otherwise, this does not return the removed items, and takes items as an array instead of rest parameters.

    Parameters
    • list (unknown[]) — List to operate on
    • start (number) — Index to remove/insert at (can be negative)
    • remove (number) — Number of items to remove
    • items (unknown[]) — Items to inject into list
    Returns

    void

    Security

    See security.md in micromark/.github for how to submit a security report.

    Contribute

    See contributing.md in micromark/.github for ways to get started. See support.md for ways to get help.

    This project has a code of conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.

    License

    MIT © Titus Wormer

    Install

    npm i micromark-util-chunked

    DownloadsWeekly Downloads

    3,580

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    11.6 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar