delegable-proxy

    1.1.4 • Public • Published

    delegable-proxy

    Multi-level deepened proxy, works sync.

    Build Status npm version Maintainability Test Coverage

    Main purpose

    For convenience sake we want to work with common lists and objects but keep track of every change to commit them to the underlying storage. Object.observe() and Array.observe() are pretty much the exact thing we want, but both work async via polling.

    The proxy returns the type of mutation (add, del, mod) and which position (in root object) is affected.

    Example

    import DelegableProxy from 'delegable-proxy'
     
    const example = [{'message': 'hello world'}]
    const data = DelegableProxy.wire(example, (action, pos) => {
      console.log(action, pos)
    })
    data.push({'message': 'hi there!'})
    data.push({'message': 'knock knock!'})

    RunKit

    https://runkit.com/586ca4b68acd620014d54362/586ca4b68acd620014d54363

    Known issues

    • The way Array.splice works, leads to a lot of mutations on inner arrays. Better use the slow delete foo[42].bar.stuff[0].
    • We do not recommend to use this library in a production environment. This was just a fun project, some kind of PoC for us. We still use it in a dev environment which is only used internally.

    Usage

    # add the library 
    yarn add delegable-proxy
     
    # build the library 
    yarn build
     
    # run the tests 
    yarn test

    Keywords

    none

    Install

    npm i delegable-proxy

    DownloadsWeekly Downloads

    1

    Version

    1.1.4

    License

    MIT

    Unpacked Size

    10.3 kB

    Total Files

    5

    Last publish

    Collaborators

    • benjohnde
    • guidoschmidt