UNPKG

@cloudinary/url-gen

Version:

Cloudinary URL-Gen SDK ========================= [![Build Status](https://api.travis-ci.com/cloudinary/js-url-gen.svg?branch=master)](https://app.travis-ci.com/github/cloudinary/js-url-gen) ## About The Cloudinary URL-Gen SDK allows you to quickly and eas

470 lines (465 loc) 16.2 kB
'use strict'; var FlagQualifier = require('./FlagQualifier-0e14a6c3.cjs'); /** * @description Defines flags that you can use to alter the default transformation behavior. * @namespace Flag * @memberOf Qualifiers */ /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Used when delivering a video file as an image format that supports animation, such as animated WebP. * Plays all frames rather than just delivering the first one as a static image. * Use this flag in addition to the flag or parameter controlling the delivery format, * for example f_auto or fl_awebp. * Note: When delivering a video in GIF format, it is delivered as an animated GIF by default and this flag is not * necessary. To deliver a single frame of a video in GIF format, use the page parameter. * @return {Qualifiers.Flag.FlagQualifier} */ function animated() { return new FlagQualifier.FlagQualifier('animated'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description When converting animated images to WebP format, generate an animated WebP from all the frames in the * original * animated file instead of only from the first still frame. * * Note that animated WebPs are not supported in all browsers and versions. * @return {Qualifiers.Flag.FlagQualifier} */ function animatedWebP() { return new FlagQualifier.FlagQualifier('awebp'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description When used together with automatic quality (q_auto): * allow switching to PNG8 encoding if the quality algorithm decides that it's more efficient. * @return {Qualifiers.Flag.FlagQualifier} */ function anyFormat() { return new FlagQualifier.FlagQualifier('any_format'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description When converting animated images to PNG format, generates an animated PNG from all the frames in the * original * animated file instead of only from the first still frame. * * Note that animated PNGs are not supported in all browsers and versions. * @return {Qualifiers.Flag.FlagQualifier} */ function animatedPng() { return new FlagQualifier.FlagQualifier('apng'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Trims pixels according to a clipping path included in the original image * (e.g., manually created using PhotoShop). * @return {Qualifiers.Flag.FlagQualifier} */ function clip() { return new FlagQualifier.FlagQualifier('clip'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Trims pixels according to a clipping path included in the original image (e.g., manually created * using PhotoShop) * using an evenodd clipping rule. * @return {Qualifiers.Flag.FlagQualifier} */ function clipEvenOdd() { return new FlagQualifier.FlagQualifier('clip_evenodd'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Instructs Cloudinary to clear all image meta-data (IPTC, Exif and XMP) while applying an incoming * transformation. * @return {Qualifiers.Flag.FlagQualifier} */ function forceStrip() { return new FlagQualifier.FlagQualifier('force_strip'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Allows custom flag * @return {Qualifiers.Flag.FlagQualifier} */ function custom(value) { return new FlagQualifier.FlagQualifier(value); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Adds ICC color space metadata to the image, even when the original image doesn't contain any ICC data. * @return {Qualifiers.Flag.FlagQualifier} */ function forceIcc() { return new FlagQualifier.FlagQualifier('force_icc'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Delivers the image as an attachment. * @param {string} filename The attachment's filename * @return {Qualifiers.Flag.FlagQualifier} */ function attachment(filename) { return new FlagQualifier.FlagQualifier('attachment', filename); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Returns metadata of the input asset and of the transformed output asset in JSON instead of the * transformed image. * @return {Qualifiers.Flag.FlagQualifier} */ function getInfo() { return new FlagQualifier.FlagQualifier('getinfo'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Deliver an HLS adaptive bitrate streaming file as HLS v3 instead of the default version (HLS v4). * Delivering in this format requires a private CDN configuration. * @return {Qualifiers.Flag.FlagQualifier} */ function hlsv3() { return new FlagQualifier.FlagQualifier('hlsv3'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Sets the cache-control to immutable for the asset. * @return {Qualifiers.Flag.FlagQualifier} */ function immutableCache() { return new FlagQualifier.FlagQualifier('immutable_cache'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description * Allows specifying only either width or height so the value of the second axis remains as is, and is not * recalculated to maintain the aspect ratio of the original image. * @return {Qualifiers.Flag.FlagQualifier} */ function ignoreInitialAspectRatio() { return new FlagQualifier.FlagQualifier('ignore_aspect_ratio'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Keeps the copyright related fields when stripping meta-data. * @return {Qualifiers.Flag.FlagQualifier} */ function keepAttribution() { return new FlagQualifier.FlagQualifier('keep_attribution'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * Keep the Display Aspect Ratio metadata of the uploaded video (if it’s different from the current video * dimensions). * @return {Qualifiers.Flag.FlagQualifier} */ function keepDar() { return new FlagQualifier.FlagQualifier('keep_dar'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Keeps all meta-data. * @return {Qualifiers.Flag.FlagQualifier} */ function keepIptc() { return new FlagQualifier.FlagQualifier('keep_iptc'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Applies all chained transformations, until a transformation component that includes this flag, on the last added * overlay or underlay instead of applying on the containing image. * @return {Qualifiers.Flag.FlagQualifier} */ function layerApply() { return new FlagQualifier.FlagQualifier('layer_apply'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Automatically use lossy compression when delivering animated GIF files. * * This flag can also be used as a conditional flag for delivering PNG files: it tells Cloudinary to deliver the * image in PNG format (as requested) unless there is no transparency channel - in which case deliver in JPEG * format. * @return {Qualifiers.Flag.FlagQualifier} */ function lossy() { return new FlagQualifier.FlagQualifier('lossy'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Convert the audio channel to mono * @return {Qualifiers.Flag.FlagQualifier} */ function mono() { return new FlagQualifier.FlagQualifier('mono'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Used internally by Position within an Overlay, this flag will tile the overlay across your image. * * <b>Learn more:</b> {@link https://cloudinary.com/documentation/transformation_reference#fl_no_overflow|Overflow in overlays} * @return {Qualifiers.Flag.FlagQualifier} */ function noOverflow() { return new FlagQualifier.FlagQualifier('no_overflow'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Don't stream a video that is currently being generated on the fly. Wait until the video is fully generated. * @return {Qualifiers.Flag.FlagQualifier} */ function noStream() { return new FlagQualifier.FlagQualifier('no_stream'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Generate PNG images in the png24 format. * @return {Qualifiers.Flag.FlagQualifier} */ function png24() { return new FlagQualifier.FlagQualifier('png24'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Generate PNG images in the png32 format. * @return {Qualifiers.Flag.FlagQualifier} */ function png32() { return new FlagQualifier.FlagQualifier('png32'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Generate PNG images in the PNG8 format. * @return {Qualifiers.Flag.FlagQualifier} */ function png8() { return new FlagQualifier.FlagQualifier('png8'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description When used with automatic fetch_format (f_auto): ensures that images with a transparency channel will be * delivered in PNG format. * @return {Qualifiers.Flag.FlagQualifier} */ function preserveTransparency() { return new FlagQualifier.FlagQualifier('preserve_transparency'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Generates a JPG image using the progressive (interlaced) JPG format. * * This format allows the browser to quickly show a low-quality rendering of the image until the full-quality * image is loaded. * * @param {string} mode? The mode to determine a specific progressive outcome as follows: * * semi - A smart optimization of the decoding time, compression level and progressive rendering * (less iterations). This is the default mode when using q_auto. * * steep - Delivers a preview very quickly, and in a single later phase improves the image to * the required resolution. * * none - Use this to deliver a non-progressive image. This is the default mode when setting * a specific value for quality. * @return {Qualifiers.Flag.FlagQualifier} */ function progressive(mode) { return new FlagQualifier.FlagQualifier('progressive', mode); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the overlaid region * @return {Qualifiers.Flag.FlagQualifier} */ function regionRelative() { return new FlagQualifier.FlagQualifier('region_relative'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Reduces the image to one flat pixelated layer (as opposed to the default vector based graphic) in * order to enable * PDF resizing and overlay manipulations. * @return {Qualifiers.Flag.FlagQualifier} */ function rasterize() { return new FlagQualifier.FlagQualifier('rasterize'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the containing image instead of the added layer. * @return {Qualifiers.Flag.FlagQualifier} */ function relative() { return new FlagQualifier.FlagQualifier('relative'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Instructs Cloudinary to run a sanitizer on the image (relevant only for the SVG format). * @return {Qualifiers.Flag.FlagQualifier} */ function sanitize() { return new FlagQualifier.FlagQualifier('sanitize'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Splices the video stipulated as an overlay on to the end of the container video instead of adding it as an * overlay. * @return {Qualifiers.Flag.FlagQualifier} */ function splice() { return new FlagQualifier.FlagQualifier('splice'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Instructs Cloudinary to clear all ICC color profile data included with the image. * @return {Qualifiers.Flag.FlagQualifier} */ function stripProfile() { return new FlagQualifier.FlagQualifier('strip_profile'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description If the requested video transformation has already been generated, this flag works identically to * Flag::attachment. * * However, if the video transformation is being requested for the first time, this flag causes the video download * to begin immediately, streaming it as a fragmented video file. * * In contrast, if the regular fl_attachment flag is used when a user requests a new video transformation, * the download will begin only after the complete transformed video has been generated. * * Most standard video players successfully play fragmented video files without issue. * * @param {string} filename The attachment's filename * @return {Qualifiers.Flag.FlagQualifier} */ function streamingAttachment(filename) { return new FlagQualifier.FlagQualifier('streaming_attachment', filename); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Generates TIFF images using LZW compression and in the TIFF8 format. * @return {Qualifiers.Flag.FlagQualifier} */ function tiff8Lzw() { return new FlagQualifier.FlagQualifier('tiff8_lzw'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Used internally by Position within an Overlay, this flag will tile the overlay across your image. * * <b>Learn more:</b> {@link https://cloudinary.com/documentation/layers#automatic_tiling|Tiling overlay} * @return {Qualifiers.Flag.FlagQualifier} */ function tiled() { return new FlagQualifier.FlagQualifier('tiled'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Truncate (trim) a video file based on the start time defined in the metadata (relevant only where the metadata * includes a directive to play only a section of the video). * @return {Qualifiers.Flag.FlagQualifier} */ function truncateTS() { return new FlagQualifier.FlagQualifier('truncate_ts'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description Create a waveform image (in the format specified by the file extension) from the audio or video file. * @return {Qualifiers.Flag.FlagQualifier} */ function waveform() { return new FlagQualifier.FlagQualifier('waveform'); } /** * @summary qualifier * @memberOf Qualifiers.Flag * @description A qualifier that ensures that an alpha channel is not applied to a TIFF image if it is a mask channel. * @return {Qualifiers.Flag.FlagQualifier} */ function ignoreMaskChannels() { return new FlagQualifier.FlagQualifier('ignore_mask_channels'); } const Flag = { animated, anyFormat, animatedPng, animatedWebP, clipEvenOdd, lossy, preserveTransparency, png8, png24, png32, progressive, rasterize, sanitize, stripProfile, tiff8Lzw, attachment, forceIcc, forceStrip, getInfo, immutableCache, keepAttribution, keepIptc, custom, streamingAttachment, hlsv3, keepDar, noStream, mono, layerApply, relative, regionRelative, splice, truncateTS, waveform, ignoreInitialAspectRatio, clip, tiled, noOverflow, ignoreMaskChannels }; exports.Flag = Flag; exports.animated = animated; exports.animatedPng = animatedPng; exports.animatedWebP = animatedWebP; exports.anyFormat = anyFormat; exports.attachment = attachment; exports.clip = clip; exports.clipEvenOdd = clipEvenOdd; exports.custom = custom; exports.forceIcc = forceIcc; exports.forceStrip = forceStrip; exports.getInfo = getInfo; exports.hlsv3 = hlsv3; exports.ignoreInitialAspectRatio = ignoreInitialAspectRatio; exports.ignoreMaskChannels = ignoreMaskChannels; exports.immutableCache = immutableCache; exports.keepAttribution = keepAttribution; exports.keepDar = keepDar; exports.keepIptc = keepIptc; exports.layerApply = layerApply; exports.lossy = lossy; exports.mono = mono; exports.noOverflow = noOverflow; exports.noStream = noStream; exports.png24 = png24; exports.png32 = png32; exports.png8 = png8; exports.preserveTransparency = preserveTransparency; exports.progressive = progressive; exports.rasterize = rasterize; exports.regionRelative = regionRelative; exports.relative = relative; exports.sanitize = sanitize; exports.splice = splice; exports.streamingAttachment = streamingAttachment; exports.stripProfile = stripProfile; exports.tiff8Lzw = tiff8Lzw; exports.tiled = tiled; exports.truncateTS = truncateTS; exports.waveform = waveform;