Newlyweds Proposing Marriage

    @plattar/plattar-api
    TypeScript icon, indicating that this package has built-in type declarations

    1.120.1 • Public • Published

    Plattar Logo

    install size Minified MinZipped NPM Codacy Badge License

    plattar-api allows interfacing with the Plattar API.

    Quick Use

    // Minified Version ES2015 & ES2019 (Latest)
    https://cdn.jsdelivr.net/npm/@plattar/plattar-api/build/es2015/plattar-api.min.js
    https://cdn.jsdelivr.net/npm/@plattar/plattar-api/build/es2019/plattar-api.min.js
    
    // Standard Version ES2015 & ES2019 (Latest)
    https://cdn.jsdelivr.net/npm/@plattar/plattar-api/build/es2015/plattar-api.js
    https://cdn.jsdelivr.net/npm/@plattar/plattar-api/build/es2019/plattar-api.js

    Installation

    • Install using npm
    npm install @plattar/plattar-api

    Building For Browsers

    • Generate ES6 minified JS
    cd plattar-api
    npm install
    npm run build

    How to Use

    • Fetch a project from the Plattar API.
    const {
        Project
    } = require('@plattar/plattar-api');
    
    const project = new Project('your-project-id');
    
    project.get().then((proj) => {
        // do something with a project
    }).catch((error) => {
        console.error(error);
    });
    • Plattar API supports relationship chaining using a single request. Fetch a project from the Plattar API that includes scenes and pages. The Relationships component has a number of useful queries that can be performed.
    const {
        Project,
        Scene,
        Page
    } = require('@plattar/plattar-api');
    
    const project = new Project('your-project-id');
    
    // Tell the Plattar API to fetch your Scenes and Pages
    // as part of the Project request
    project.include(Scene, Page);
    
    project.get().then((proj) => {
        // get a list of all scenes that belong to your project
        const scenes = proj.relationships.filter(Scene);
        // get a list of all pages that belong to your project
        const pages = proj.relationships.filter(Page);
        // get a specific scene that belongs to your project
        const myScene = proj.relationships.find(Scene, 'your-scene-id');
        // get a specific page that belongs to your project
        const myPage = proj.relationships.find(Page, 'your-page-id');
    }).catch((error) => {
        console.error(error);
    });
    • Plattar API also supports multiple relationship chaining using a single request. In this example we fetch a Project with Scenes and Pages aswell as SceneImage that belongs to a Scene.
    const {
        Project,
        Scene,
        Page,
        SceneImage
    } = require('@plattar/plattar-api');
    
    const project = new Project('your-project-id');
    
    // Tell the Plattar API to fetch your Scenes, Pages and
    // to include SceneImage as part of Scenes
    project.include(Page, Scene.include(SceneImage));
    
    project.get().then((proj) => {
        // get a list of all scenes that belong to your project
        const scenes = proj.relationships.filter(Scene);
    
        scenes.forEach((scene) => {
            // grab the SceneImage that belongs to a Scene
            const sceneImages = scene.relationships.filter(SceneImage);
        });
    }).catch((error) => {
        console.error(error);
    });
    • Sometimes, we don't want to include everything as part of a single request. We can chain requests based on logic.
    const {
        Project,
        Scene,
        SceneImage
    } = require('@plattar/plattar-api');
    
    const project = new Project('your-project-id');
    
    // Tell the Plattar API to fetch your scenes.
    project.include(Scene);
    
    project.get().then((proj) => {
        // get a list of all scenes that belong to your project
        const scenes = proj.relationships.filter(Scene);
    
        scenes.forEach((scene) => {
            // grab the SceneImage that belongs to a Scene
            const sceneImage = scene.relationships.find(SceneImage);
    
            // at this point, since SceneImage data was not fetched, we
            // can grab it directly
            sceneImage.get().then((sceneImage) => {
                // do something with sceneImage
            }).catch((error) => {
                console.error(error);
            });
        });
    }).catch((error) => {
        console.error(error);
    });

    Install

    npm i @plattar/plattar-api

    DownloadsWeekly Downloads

    8

    Version

    1.120.1

    License

    Apache-2.0

    Unpacked Size

    396 kB

    Total Files

    133

    Last publish

    Collaborators

    • plattar-dev