@cloudinary/url-gen
Version:
Cloudinary URL-Gen SDK ========================= [](https://app.travis-ci.com/github/cloudinary/js-url-gen) ## About The Cloudinary URL-Gen SDK allows you to quickly and eas
74 lines (70 loc) • 2.44 kB
JavaScript
;
var Action = require('./Action-34aa7481.cjs');
var Qualifier = require('./Qualifier-6633a22f.cjs');
var QualifierValue = require('./QualifierValue-e770d619.cjs');
/**
* @description Delivers an animated GIF that contains additional loops of the GIF.
* The total number of iterations is the number of additional loops plus one.
* You can also specify the loop effect without a numeric value to instruct it to loop the GIF infinitely.
*
* @memberOf Actions
* @namespace Animated
* @example
* import {Cloudinary} from "@cloudinary/url-gen";
* import {animated} from "@cloudinary/url-gen/actions/animated";
*
* const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});
* const image = yourCldInstance.image('woman');
* image.animated(edit().delay(200).loop(3)));
*/
/**
* @memberOf Actions.Animated
* @see Actions.Animated
* @example
* // Used through a builder function Animated.edit(), and not by creating a new instance
* import {Cloudinary} from "@cloudinary/url-gen";
* import {edit} from "@cloudinary/url-gen/actions/animated";
*
* const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});
* const image = yourCldInstance.image('woman');
* image.animated(edit().delay(200).loop(3)));
*/
class AnimatedAction extends Action.Action {
constructor() {
super();
}
/**
* @description Controls the time delay between the frames of an animated image, in milliseconds.
* @param {number} delayValue The delay in milliseconds
* @return {this}
*/
delay(delayValue) {
this.addQualifier(new Qualifier.Qualifier('dl', delayValue));
return this;
}
/**
* @description Delivers an animated GIF that contains additional loops of the GIF.
* @param {number} additionalLoops The additional number of times to play the animated GIF.
* @return {this}
*/
loop(additionalLoops) {
const qualifierValue = new QualifierValue.QualifierValue(['loop', additionalLoops]).setDelimiter(':');
this.addQualifier(new Qualifier.Qualifier('e', qualifierValue));
return this;
}
}
/**
* @summary action
* @memberOf Actions.Animated
* @description Delivers an animated GIF.
* @return {Actions.Animated.AnimatedAction}
*/
function edit() {
return new AnimatedAction();
}
const Animated = {
edit
};
exports.Animated = Animated;
exports.AnimatedAction = AnimatedAction;
exports.edit = edit;