@cloudinary/url-gen
Version:
You are invited to influence our new SDK [Click here to view github discussion](https://github.com/cloudinary/js-url-gen/discussions/602) =========================
186 lines (182 loc) • 6.81 kB
JavaScript
;
var DeliveryFormatAction = require('./DeliveryFormatAction-54638930.cjs');
var DeliveryQualityAction = require('./DeliveryQualityAction-975cd776.cjs');
var DeliveryColorSpaceFromICCAction = require('./DeliveryColorSpaceFromICCAction-fb5a3a16.cjs');
var DeliveryAction = require('./DeliveryAction-9cae8595.cjs');
var DeliveryColorSpaceAction = require('./DeliveryColorSpaceAction-3bb1e736.cjs');
var DeliveryDPRAction = require('./DeliveryDPRAction-983168be.cjs');
/**
* @description Defines transformations for delivering your assets without changing the visual or audio experience for the end user.
* @memberOf Actions
* @namespace Delivery
* @example
* See the examples under every method
*/
/**
* @summary action
* @description Defines the format of the delivered asset.
*
* <b>Learn more:</b>
* {@link https://cloudinary.com/documentation/image_transformations#image_format_support|Image formats}
* {@link https://cloudinary.com/documentation/video_manipulation_and_delivery#transcoding_video_to_other_formats|Video formats}
*
* @memberOf Actions.Delivery
* @param {string} format The file format. For a list of supported format types see {@link Qualifiers.Format| format types} for
* possible values
* @return {Actions.Delivery.DeliveryFormat}
* @example
* import {Cloudinary} from "@cloudinary/url-gen";
* import {format} from "@cloudinary/url-gen/actions/delivery";
*
* const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});
* const image = yourCldInstance.image('woman');
* image.delivery(
* format('jpg'),
* );
*
*/
function format(format) {
return new DeliveryFormatAction.DeliveryFormatAction('f', format);
}
/**
* @summary action
* @description Deliver the image in the specified device pixel ratio.
* @memberOf Actions.Delivery
* @param {string} dpr The DPR (Device Pixel Ratio). Any positive float value.
* @return {Actions.Delivery.DeliveryAction}
* @example
* import {Cloudinary} from "@cloudinary/url-gen";
* import {dpr} from "@cloudinary/url-gen/actions/delivery";
*
* const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});
* const image = yourCldInstance.image('woman');
* image.delivery(
* dpr('2.0'),
* );
*/
function dpr(dpr) {
return new DeliveryDPRAction.DeliveryDPRAction(dpr);
}
/**
* @summary action
* @description Controls the quality of the delivered image or video.
*
* <b>Learn more:</b> {@link https://cloudinary.com/documentation/image_optimization#how_to_optimize_image_quality|Image quality}
* {@link https://cloudinary.com/documentation/video_optimization#how_to_optimize_video_quality|Video quality}
* @memberOf Actions.Delivery
* @param {QualityTypes | string | number | Qualifiers.Quality} qualityType For a list of supported quality types see
* {@link Qualifiers.Quality| quality types} for
* possible values.
* @return {Actions.Delivery.DeliveryQualityAction}
* @example
* import {Cloudinary} from "@cloudinary/url-gen";
* import {quality} from "@cloudinary/url-gen/actions/delivery";
* import {quality} from "@cloudinary/url-gen/qualifiers/quantity";
*
* const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});
* const image = yourCldInstance.image('woman');
* image.delivery(
* quality('auto'),
* );
*/
function quality(qualityType) {
return new DeliveryQualityAction.DeliveryQualityAction(qualityType);
}
/**
* @summary action
* @description Controls the density to use when delivering an image or when converting a vector file such as a PDF or EPS
* document to a web image delivery format.
* @memberOf Actions.Delivery
* @param {number | string} value The density in dpi.
* @return {Actions.Delivery.DeliveryAction}
* @example
* import {Cloudinary} from "@cloudinary/url-gen";
* import {density} from "@cloudinary/url-gen/actions/delivery";
*
* const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});
* const image = yourCldInstance.image('woman');
* image.delivery(
* density(150),
* );
*/
function density(value) {
return new DeliveryAction.DeliveryAction('dn', value, 'density');
}
/**
* @summary action
* @description Default images can be used in the case that a requested image does not exist.
* @memberOf Actions.Delivery
* @param {string} publicIdWithExtension Default image public ID
* @return {Actions.Delivery.DeliveryAction}
* @example
* import {Cloudinary} from "@cloudinary/url-gen";
* import {defaultImage} from "@cloudinary/url-gen/actions/delivery";
*
* const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});
* const image = yourCldInstance.image('woman');
* image.delivery(
* defaultImage('sample'),
* );
*/
function defaultImage(publicIdWithExtension) {
return new DeliveryAction.DeliveryAction('d', publicIdWithExtension, 'defaultImage');
}
/**
* @summary action
* @description Controls the color space used for the delivered image.
* @memberOf Actions.Delivery
* @param {string | Qualifiers.ColorSpace} mode The color space.
* @return {Actions.Delivery.DeliveryAction}
* @example
* import {Cloudinary} from "@cloudinary/url-gen";
* import {colorSpace} from "@cloudinary/url-gen/actions/delivery";
* import {trueColor} from "@cloudinary/url-gen/qualifiers/colorSpace";
*
* const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});
* const image = yourCldInstance.image('woman');
* image.delivery(
* colorSpace(trueColor()),
* );
*/
function colorSpace(mode) {
return new DeliveryColorSpaceAction.DeliveryColorSpaceAction(mode);
}
/**
* @summary action
* @description Specifies the ICC profile to use for the color space.
* The ICC file must be uploaded to your account as a raw, authenticated file.
* @memberOf Actions.Delivery
* @param {string} publicId The public ID (including the file extension) of the ICC profile that defines the
* color space.
* @return {Actions.Delivery.DeliveryColorSpaceFromICC}
* @example
* import {Cloudinary} from "@cloudinary/url-gen";
* import {colorSpaceFromICC} from "@cloudinary/url-gen/actions/delivery";
* import {trueColor} from "@cloudinary/url-gen/qualifiers/colorSpace";
*
* const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});
* const image = yourCldInstance.image('woman');
* image.delivery(
* colorSpaceFromICC('sample.icc'),
* );
*/
function colorSpaceFromICC(publicId) {
return new DeliveryColorSpaceFromICCAction.DeliveryColorSpaceFromICCAction(publicId);
}
const Delivery = {
format,
dpr,
density,
defaultImage,
colorSpace,
colorSpaceFromICC,
quality
};
exports.Delivery = Delivery;
exports.colorSpace = colorSpace;
exports.colorSpaceFromICC = colorSpaceFromICC;
exports.defaultImage = defaultImage;
exports.density = density;
exports.dpr = dpr;
exports.format = format;
exports.quality = quality;