Skip to content

V1RE/propr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

65bc9a0 · Feb 23, 2023

History

37 Commits
Feb 23, 2023
Feb 22, 2023
Feb 22, 2023
Feb 22, 2023
Feb 23, 2023
Feb 23, 2023
Feb 21, 2023
Feb 22, 2023
Feb 23, 2023
Feb 22, 2023
Feb 22, 2023
Feb 22, 2023

Repository files navigation

propr

A proper way to interface with the Prepr API. This package provides an easy-to-use interface for fetching data from Prepr and supports GraphQL queries.

Installation

To install the package, run:

pnpm install propr

Usage

To use propr, import the createPreprClient function from the package and call it with the options for your Prepr account:

import { createPreprClient } from "propr";

const client = createPreprClient({
  token: "your_token_here",
});

Once you have created the client, you can use it to fetch data from Prepr:

const articles = await client.fetch("/articles");

You can also chain various methods to the client to specify additional options:

const articles = await client.sort("publishedAt").limit(10).fetch("/articles");

The client also supports GraphQL queries:

const query = `query ($slug: String!) {
  article(slug: $slug) {
    id
    title
    publishedAt
  }
}`;

const variables = { slug: "your-article-slug" };

const article = await client
  .graphqlQuery(query)
  .graphqlVariables(variables)
  .fetch();

API

createPreprClient(options: PreprClientOptions) => PreprClient

Creates a new instance of the Prepr client.

Options

  • token (required): The access token for your Prepr account.
  • baseUrl: The base URL for the Prepr API (default: https://cdn.prepr.io).
  • timeout: The timeout for API requests, in milliseconds (default: 4000).
  • userId: The user ID for A/B testing.

PreprClient

The Prepr client class.

Methods

userId(userId: string | number): PreprClient

Sets the user ID for A/B testing.

timeout(milliseconds: number): PreprClient

Sets the timeout for API requests, in milliseconds.

sort(field: string): PreprClient

Sets the field to sort the results by.

limit(limit: number): PreprClient

Sets the maximum number of results to return.

skip(skip: number): PreprClient

Sets the number of results to skip.

path(path: string): PreprClient

Sets the path for the API request.

token(token: string): PreprClient

Sets the access token for the Prepr account.

graphqlQuery(graphqlQuery: string): PreprClient

Sets the GraphQL query for the API request.

graphqlVariables(graphqlVariables: object): PreprClient

Sets the variables for the GraphQL query.

fetch<T = any>(request?: RequestInfo, options?: FetchOptions<"json">): Promise<T>

Fetches data from the Prepr API.

Properties

query: URLSearchParams

The URL search parameters for the API request.