Ninja Pumpkin Mutants

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

    0.2.1 • Public • Published

    MIT License Issues


    DynaMoco + MocoQuery

    Like a Carebear giving DyanmoDB a hug

    Documnetation »

    Codepen Demo

    Report Bug

    Request Feature

    DyanMoCo + MoCoQuery

    Product Name Screen Shot

    DynamoDB is great but the way you interact with it is not really great. DynaMoco is small but mighty, wrapper that is strong enough to get what you want out of DynamoDB and gentle enough to act like bowling with bumpers on.

    Writeen in Typescript it should help you with auto-complete etc - if that is of interest.

    The DynaMoco Problem

    1. The API of Dyanmo has a steep learning curve.
    2. Its flexibiltiy creates too much complexity to comprehend at thge outset.
    3. Dynamoco optimizes for a few use-cases that seem noramtive, making those very easy.
    4. If you need to do the more complicated parts, it attempts to move out of the way.

    The DynaMoco Solution

    Use this package if:

    • You need to just get going with DynamoDB
    • You find the Dynamo API difficult and seemingly optimzed for AWS engineers and not it's users.
    • You enjoy flexible streamlined modules.


    npm install dynamoco
    # or
    yarn add dynamoco


    There are two independent functions that work nicely together in dynamoco.

    The first is the gentle wrapper - dynamoco

    The second is a nice query builder - mocoquery

    Each of them cover some ground on the API surface area exposed by Dyanmo.

    Get Item (Full Monty)

    import {Dynamo} from 'aws-sdk'
    import {dynamoco} from 'dynamoco'
    import {credentials} from './credentials'
    ;(async ()=>{
        const d = new Dyanmo({credentials})
        const moco = dynamoco(d)
        // using a table that is already available
        const resutls = await moco.getItem('MyTable', {MyKey: 'SomeValue'})
            /* {    
                    MyKey: 'SomeValue', 
                    numberValues: 1,
                    stringValues: 'strings are strings'

    Using The Query Builder

    import {Dynamo} from 'aws-sdk'
    import {mocoquery} from 'dynamoco'
    import {credentials} from './credentials'
    ;(async ()=>{
        const d = new Dyanmo({credentials})
        const queryParams = mocoquery('MyTable')
        // using the regular Dyanmo Client 
        const regularResults = await d.query(queryParams)
        console.log('regularResults', regularResults.Items)
        // using the regular Dyanmo Client 
        const ezResults = await dynamoco(d).query(queryParams)
        console.log('ezResults', ezResults._Items)

    For more examples, please refer to the Documentation


    Single dependency

    By design, this module has a single, external, run-time dependency (aws-sdk). And it uses a few other packages while running tests. It is a stated goal of the project to keep the dependencies as small as reasonable. (different than as small as possible)



    This is a Typescript codebase, and aims to be relatively up to date with the latest version. Adopting new typescript version will likely comence after some hardening period, but hastened if a new language feature has been added that substantially supports this project.


    See the open issues for a list of proposed features (and known issues).


    Have a question? Ask it in an issue! We'd love to hear from you.

    Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

    1. Fork the Project
    2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
    3. Commit your Changes (git commit -m 'Add some AmazingFeature')
    4. Push to the Branch (git push origin feature/AmazingFeature)
    5. Open a Pull Request


    See the Community Standards and Code of Conduct


    Eric D Moore

    Project Link:

    Acknowledgements & Credits


    Distributed under the MIT License. See LICENSE for more information.


    npm i dyna-moco

    DownloadsWeekly Downloads






    Unpacked Size

    40.9 kB

    Total Files


    Last publish


    • mooreed