This package has been deprecated

Author message:

This package was renamed to @dreipol/interfaces, please remember to update it in your package.json file

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

0.3.4 • Public • Published

default-api-interfaces

This repo shows some default data structure for the APIs.

Folder Structure

src/interfaces/api API for data that is coming from the CMS

src/interfaces/cms Interfaces that represent data coming from the backend/cms

src/interfaces/app Some global interface used by the app structure

src/interfaces/router All Vue routing related interfaces

Guide for adding a new interface

Definitions

Extend framework interface

If you have to extends for example the IRouteData interface that is already given from the framework you can do it like this

export {IData} from '@dreipol/default-api-interfaces';

export interface IAppRouteData extends IData {
    isHeaderColorPrimary: boolean;
}

Group properties

Group properties together. Seperate primitives and non-primitives props for better readability

DO

export interface IProduct {
    name: string;
    color: string;
    abstract: string;
    
    product_image: IImage;
    product_logo: IImage;
    specs: IProductSpecs
    link: ILink;
}

DON'T

export interface IProduct {
    name: string;
    product_logo: IImage;
    specs: IProductSpecs
    color: string;
    product_image: IImage;
    abstract: string;
    link: ILink;
}

Use primitive types

DO Use primitve types like string, or number

export interface IImage {
    url: string;
    alt: string;
}

DON'T - Do not use the type String or Number

export interface IImage {
    url: String;
    alt: String;
}

What a default response should look like

Interface

{
    "data": {
        "containers": {
            "main": {
                "type": "cmp-main",
                "plugins": [...]
            }
        },
        "meta": {
            "title": "Cas Study #2",
            "description": ""
        }
    }
}

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i @dreipol/default-api-interfaces

    Weekly Downloads

    0

    Version

    0.3.4

    License

    MIT

    Unpacked Size

    12.5 kB

    Total Files

    45

    Last publish

    Collaborators

    • hannahku
    • philipplaeubli
    • fabricetobler
    • thibi