@cobuildlab/8base-utils
    TypeScript icon, indicating that this package has built-in type declarations

    0.5.6 • Public • Published

    8base utils

    This is a package for functions that are use full in common cases of working with the 8base.com platform.

    Install

    npm i --save @cobuildlab/8base-utils

    API

    Function Description
    normalize8baseReferenceConnect Updates an object to change a property with a 8base connect operation.
    normalize8baseDocumentCreate Updates an object to change a property with a 8base create operation for a file object.
    normalize8baseDocumentsCreate Updates an object to change a property with a 8base create operation for a list of files objects.
    normalize8baseDocumentDeleteAndUpdate Updates an object to change a property with a 8base create and/or disconnect operation for a list of files objects.
    normalize8baseDocumentsDeleteAndUpdate Updates an object to change a property with a 8base create and/or disconnect operation for a list of files objects.

    normalize8baseReferenceConnect(data, key)

    • Updates an object to change a property with a 8base connect operation.
    • If the value of the key is undefined or null, the property gets deleted from the object.
    • This function mutates the data object to reflect the change.
    • This function assumes that all 8base IDs are of type string.

    Example:

    import {normalize8baseReferenceConnect} from "@cobuildlab/8base-utils";
    
    const issue = {name :"Issues Name", project: "<Project ID>"   };
    
    normalize8baseReferenceConnect(issue, "project");
    
    console.log(issue);
    // {name :"Issues Name", project: {connect:{id: "<Project ID>"}}};

    normalize8baseDocumentCreate(data, key)

    • Updates an object to change a property with a 8base create operation.
    • If the value of the key is undefined or null, the property gets deleted from the object.
    • This function mutates the data object to reflect the change.

    Example:

    import {normalize8baseDocumentCreate} from "@cobuildlab/8base-utils";
    
    const issue = {name :"Issues Name", document: {fileId: "<FILE-ID>", filename:"<FILENAME>"}  };
    
    normalize8baseDocumentCreate(issue, "document");
    
    console.log(issue);
    // {name :"Issues Name", document: {create:{fileId: "<FILE-ID>", filename:"<FILENAME>"}}};

    normalize8baseDocumentsCreate(data, key)

    • Updates an object to change a property with a 8base create operation.
    • If the value of the key is undefined, null, or an empty array, the property gets deleted from the object.
    • This function mutates the data object to reflect the change.

    Example:

    import {normalize8baseDocumentsCreate} from "@cobuildlab/8base-utils";
    
    const issue = {name :"Issues Name", document: [{fileId: "<FILE-ID1>", filename:"<FILENAME1>"},{fileId: "<FILE-ID2>", filename:"<FILENAME2>"}]  };
    
    normalize8baseDocumentsCreate(issue, "document");
    
    console.log(issue);
    // {name :"Issues Name", document: {create:[{fileId: "<FILE-ID1>",, filename:"<FILENAME1>"},{fileId: "<FILE-ID2>",, filename:"<FILENAME2>"}]}};

    normalize8baseDocumentDeleteAndUpdate(data, key, oldData)

    • Helper to update or delete one document key from an Object.
    • Updates an object to change a property with a 8base create and/or disconnect operation.
    • If the value of the key is undefined, null, or an empty array, the property gets deleted from the object.
    • This function mutates the data object to reflect the change.

    Example:

    import {normalize8baseDocumentDeleteAndUpdate} from "@cobuildlab/8base-utils";
    
    const new12 = { a: { fileId: "FILE-ID1", filename:"<FILENAME>" } };
    const old12 = {};
    normalize8baseDocumentDeleteAndUpdate(new12, "a", old12);
    expect(new12).toEqual({ a: { create: { fileId: "FILE-ID1", filename:"<FILENAME>" } } });

    normalize8baseDocumentsDeleteAndUpdate(data, key, oldData)

    • Helper to change non null keys to 8base 'delete & create' reference for Documents Lists
    • Updates an object to change a property with a 8base create and/or disconnect operation.
    • If the value of the key is undefined, null, or an empty array, the property gets deleted from the object.
    • This function mutates the data object to reflect the change.

    Example:

    import {normalize8baseDocumentsDeleteAndUpdate} from "@cobuildlab/8base-utils";
    
    const new15 = { a: [{ fileId: "FILE-ID1", filename:"<FILENAME1>" }, { id: "ID2", fileId: "FILE-ID2", filename:"<FILENAME2>" }] };
    const old15 = { a: [{ id: "FILE-ID2" }, { id: "ID2" }] };
    normalize8baseDocumentsDeleteAndUpdate(new15, "a", old15);
    expect(new15).toEqual({ a: { create: [{ fileId: "FILE-ID1", filename:"<FILENAME1>" }], disconnect: [{ id: "FILE-ID2" }] } });

    Keywords

    Install

    npm i @cobuildlab/8base-utils

    DownloadsWeekly Downloads

    88

    Version

    0.5.6

    License

    ISC

    Unpacked Size

    29.9 kB

    Total Files

    16

    Last publish

    Collaborators

    • alacret
    • nodejose
    • lesha12012
    • galue99