All files / libs/vendors/carbone/src/lib carbone-sdk.ts

0% Statements 0/20
0% Branches 0/1
0% Functions 0/1
0% Lines 0/20

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21                                         
/// <reference path="../carbone-sdk.d.ts" />

// carbone-sdk is CommonJS-only and does not ship types, so we added a basic declaration file for it in this project.
// We keep the typing here minimal and local to avoid leaking SDK details.
import carboneSDK from 'carbone-sdk';

type CarboneSdkRenderResult = {
  content: Buffer;
  filename: string;
};

export type CarboneClient = {
  renderPromise: (template: Buffer, data: Record<string, unknown>) => Promise<CarboneSdkRenderResult>;
  setApiVersion: (apiVersion: number) => void;
  setOptions: (options: { carboneUrl: string }) => void;
};

const carboneSDKFactory = carboneSDK as (apiToken?: string) => CarboneClient;

export const createCarboneClient = (): CarboneClient => carboneSDKFactory();