Socket
Socket
Sign inDemoInstall

directus-lite-sdk

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    directus-lite-sdk

Alternative <1Kb Directus SDK (TypeScript)


Version published
Weekly downloads
14
increased by7.69%
Maintainers
1
Install size
7.90 kB
Created
Weekly downloads
 

Readme

Source

directus-lite-sdk

The unofficial Directus Lite SDK in less than 1Kb

  • ~750 bytes
  • It works on the browser, Deno and Node.js
  • Bring your own fetch

Install

Node.js: npm i directus-lite-sdk

Deno: -- just import it on your file

Usage

Create a new instance of the SDK passing the URL of your Directus API:

// Deno
import DirectusLiteSdk from "https://deno.land/x/directus_lite_sdk/lite-sdk.ts";
// Node
import DirectusLiteSdk from "directus-lite-sdk";

const sdk = new DirectusLiteSdk("your-api-url.com");

This instance exposes 2 methods: query and fileUrl.

query

Accepts 2 arguments: the path of your request, and an optional object containing the global params, and the access_token:

fetch(
  sdk.query("items/articles", {
    fields: [
      "id",
      "title",
      "author.name",
    ],
    search: "text",
    limit: 30,
    page: 4,
    filter: {
      project: {
        _eq: "lite-sdk",
      },
      "year(pubdate)": 2022,
    },
  }),
);

Query options:

interface QueryOptions {
  access_token?: string;
  filter?: DeepParam;
  fields?: string | string[];
  sort?: string | string[];
  search?: string;
  limit?: number;
  offset?: number;
  page?: number;
  aggregate?: Record<string, string>;
  deep?: DeepParam;
  alias?: Record<string, string>;
  export?: "json" | "csv" | "xml";
  meta?: "total_count" | "filter_count" | "*";
}

interface DeepParam {
  [key: string]: string | number | DeepParam;
}

Check Global Query Parameters on Directus docs for more info

fileUrl

Get the full path of a file. Receives the id of the file, and optionally 2 more arguments, the first one is an object containing the access_token and custom transformations; the second is an array containing the advanced transformations.

const imageUrl = fileUrl(
  "1234-abcd",
  {
    fit: "cover",
    width: 100,
    format: "jpg",
  },
  [
    ["blur", 45],
    ["tint", "rgba(255, 0, 0)"],
    ["expand", { "right": 200, "bottom": 150 }],
  ],
);

FileUrl options:

{
  access_token?: string;
  key?: string;
  fit?: "cover" | "contain" | "inside" | "outside";
  width?: number;
  height?: number;
  quality?: number;
  withoutEnlargement?: boolean;
  format?: "jpg" | "png" | "webp" | "tiff";
}

Check Requesting a Thumbnail on the Directus docs for more info about custom and advanced transformations

Test

Use Deno

deno test

© 2022 Jacobo Tabernero Rey - Released under MIT License

Keywords

FAQs

Last updated on 01 May 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc