Socket
Book a DemoInstallSign in
Socket

directus-lite-sdk

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

directus-lite-sdk

Alternative <1Kb Directus SDK (TypeScript)

1.1.0
latest
Source
npmnpm
Version published
Maintainers
1
Created
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

directus

FAQs

Package last updated on 01 May 2022

Did you know?

Socket

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

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.