npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@exportsdk/client

v0.5.0

Published

JavaScript/TypeScript API client for exportsdk

Downloads

249

Readme

exportsdk-js

A JavaScript/TypeScript API client for ExportSDK.

Table of contents

Obtain an API key

Visit the ExportSDK dashboard, select the appropriate organization and grab an existing API key or generate a new one.

Install package

npm install @exportsdk/client

Basic Usage

Import the client class and instantiate it with an API key. Both the ES module syntax and CommonJS module syntax are supported.

// ES Module
import { ExportSdkClient } from '@exportsdk/client';

// CommonJS module
const { ExportSdkClient } = require('@exportsdk/client');

const client = new ExportSdkClient(process.env.EXPORTSDK_API_KEY);

Begin rendering PDFs by providing a template ID (obtained from the ExportSDK dashboard) and the data required for that template. PDFs can be generated as NodeJS readable streams (convenient for sending as HTTP responses) or binary data.

const templateId = 'eea2644c-9110-453f-a558-b0541664fb52';
const templateData = {
  firstName: 'Jon',
  middleName: 'Bon',
  lastName: 'Jovi',
};

const binary = await client.renderPdf(templateId, templateData);
const stream = await client.renderPdfToStream(templateId, templateData);

Example Application

An example Express.js application demonstrating the use of ExportSdkClient can be found here.

ExportSdkClient API reference

The following sections document the public properties, methods and types of the ExportSdkClient object.

Properties

get apiKey: string

Returns the API key that was used to initialize the client object, or that was last used to call ExportSdkClient.prototype.setApiKey.

Methods

ExportSdkClient.prototype.renderPdf

renderPdf<TemplateData extends Record<string, unknown>>(
  templateId: string,
  templateData?: TemplateData,
  partialOptions: Partial<RenderPdfOptions> = {}
) : Promise<Response<Uint8Array>>

Renders the template associated with the provided template ID using the provided data. Returns the rendered template to binary data.

ExportSdkClient.prototype.renderPdfToStream

renderPdfToStream<TemplateData extends Record<string, unknown>>(
  templateId: string,
  templateData?: TemplateData,
  partialOptions: Partial<RenderPdfToStreamOptions> = {}
): Promise<Response<NodeJS.ReadableStream>>

Renders the template associated with the provided template ID using the provided data. Returns the rendered template as a NodeJS ReadableStream, which is convenient for returning the PDF file as an HTTP response.

ExportSdkClient.prototype.setApiKey

setApiKey(apiKey: string): void

Sets the API key used to authenticate the HTTP requests to the ExportSDK REST API.

Types

CommonPdfOptions

interface CommonPdfOptions {
  debug?: boolean;
  filename?: string;
}

PdfEncoding

type PdfEncoding = 
  | 'ascii'
  | 'utf8'
  | 'utf16le'
  | 'ucs2'
  | 'base64'
  | 'latin1'
  | 'binary'
  | 'hex';

RenderPdfOptions

interface RenderPdfOptions extends CommonPdfOptions {
  encoding: PdfEncoding;
}

RenderPdfToStreamOptions

type RenderPdfToStreamOptions = CommonPdfOptions;

Response<DataType>

interface Response<DataType> {
  data: DataType;
  status: number;
}