@flyyer/flyyer-lite
Version:
Flyyer.io helper classes and methods to generate smart URL to render images.
48 lines (47 loc) • 2.16 kB
TypeScript
import type { FlyyerExtension } from "./ext";
import type { FlyyerMetaVariables } from "./meta";
import type { FlyyerVariables } from "./variables";
export interface FlyyerCommonParams<T extends FlyyerVariables> {
/**
* Optional. Leave empty `""` or as `_` to always grab the latest version.
*/
version?: string | number | undefined | null;
/**
* Supported extensions are: `"jpeg" | "jpg" | "png" | "webp"`
*/
extension?: FlyyerExtension | undefined | null;
/**
* JS serializable variables.
* @example
* const flyyerRender = new FlyyerRender({ variables: { title: "Hello world", image: "https://example.com/logo.png" } })
* console.log(flyyerRender.href())
* // https://cdn.flyyer.io/r/v2/TENANT/DECK/TEMPLATE.jpeg?title=Hello+world&image=https%3A%2F%2Fexample.com%2Flogo.png
* @example
* const flyyer = new Flyyer({ variables: { title: "Hello world", image: "https://example.com/logo.png" } })
* console.log(flyyer.href())
* // https://cdn.flyyer.io/v2/flyyer-com/_/title=Hello+world&image=https%3A%2F%2Fexample.com%2Flogo.png/
*/
variables?: T | undefined | null;
/**
* Meta variables usually have values assigned by Flyyer depending on how and where images are rendered.
*
* You can force these values here.
* @example
* const meta: FlyyerMetaVariables ={
* width: 1080, // in pixels
* height: 1080, // in pixels
* v: null, // disable cache-burst
* id: "my-id", // analytics id
* }
* const flyyerRender = new FlyyerRender({ meta });
* const flyyer = new Flyyer({ meta });
* @example
* `https://cdn.flyyer.io/r/v2/flyyer/default/main.jpeg?__v=disabled`
* `https://cdn.flyyer.io/r/v2/flyyer/default/main.jpeg?_w=1080&_h=1080`
* `https://cdn.flyyer.io/v2/flyyer-com/_/_/?__v=disabled`
* `https://cdn.flyyer.io/v2/flyyer-com/_/_w=1080&_h=1080/marketplace`
*/
meta?: FlyyerMetaVariables | undefined | null;
secret?: string | undefined | undefined | null;
strategy?: "JWT" | "HMAC" | undefined | null;
}