UNPKG

imagekit-javascript

Version:
46 lines (42 loc) 1.83 kB
import supportedTransforms from "../constants/supportedTransforms"; import { ImageKitOptions, TransformationPosition } from "../interfaces"; const QUERY_TRANSFORMATION_POSITION: TransformationPosition = "query"; const PATH_TRANSFORMATION_POSITION: TransformationPosition = "path"; const DEFAULT_TRANSFORMATION_POSITION: TransformationPosition = QUERY_TRANSFORMATION_POSITION; const VALID_TRANSFORMATION_POSITIONS = [PATH_TRANSFORMATION_POSITION, QUERY_TRANSFORMATION_POSITION]; const CHAIN_TRANSFORM_DELIMITER: string = ":"; const TRANSFORM_DELIMITER: string = ","; const TRANSFORM_KEY_VALUE_DELIMITER: string = "-"; export default { getDefault: (): TransformationPosition => { return DEFAULT_TRANSFORMATION_POSITION; }, addAsQueryParameter: (options: ImageKitOptions) => { return options.transformationPosition === QUERY_TRANSFORMATION_POSITION; }, validParameters: (options: ImageKitOptions) => { if (typeof options.transformationPosition == "undefined") return false; return VALID_TRANSFORMATION_POSITIONS.indexOf(options.transformationPosition) != -1; }, getTransformKey: function (transform: string) { if (!transform) { return ""; } return supportedTransforms[transform] || supportedTransforms[transform.toLowerCase()] || ""; }, getChainTransformDelimiter: function () { return CHAIN_TRANSFORM_DELIMITER; }, getTransformDelimiter: function () { return TRANSFORM_DELIMITER; }, getTransformKeyValueDelimiter: function () { return TRANSFORM_KEY_VALUE_DELIMITER; } } export const safeBtoa = function (str: string): string { if (typeof window !== "undefined") { return btoa(str); } else { // Node fallback return Buffer.from(str, "utf8").toString("base64"); } }