Narnia's Psychedelic Mushrooms

    @oada/oadaify
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.0 • Public • Published

    @OADA/oadaify

    A library to make working with OADA data in JavaScript/TypeScript less annoying.

    I was always writing loops with checks to skip _ keys, or forgetting to add the check and my code did something weird. This makes loops etc. do what one expects and wants 99% of the time. The library exports Symbols which can be used to access the OADA keys.

    The OADAified objects still function correctly with JSON.stringify and ajv. There is a deoadaify function in the case you need to put it back.

    Be warned though, TypeScript is... quirky about Symbol keys in objects. You should mostly be fine, but sometimes it will get dumb on you.

    Example

    import {
      oadaify,
      // Symbol for accessing `_id`
      _id,
    } from '@oada/oadaify';
    
    // Some data from an OADA API
    const data = {
      _id: 'resources/123',
      _rev: 1,
      _type: 'application/foo+json',
      foo: 'bar',
      baz: 7,
    };
    
    // OADAify the data
    const oadaified = oadaify(data);
    
    // Makes loops etc only get non OADA keys
    console.log(Object.entries(oadaified)); // [['foo', 'bar'], ['baz', 7]]
    
    // The OADA keys are not gone
    console.log(oadaified[_id]); // 'resources/123'
    
    // JSON is still original OADA data
    console.log(JSON.stringify(oadaified, null, 2));
    /*
    {
      "_id": "resources/123",
      "_rev": 1,
      "_type": "application/foo+json",
      "foo": "bar",
      "baz": 7,
    }
    */

    Install

    npm i @oada/oadaify

    DownloadsWeekly Downloads

    10

    Version

    2.1.0

    License

    MIT

    Unpacked Size

    57.1 kB

    Total Files

    34

    Last publish

    Collaborators

    • sanoel
    • serviopalacios
    • aultac
    • awlayton
    • oadao
    • tarakawa
    • cyrusbowman
    • abalmos