UNPKG

@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) =========================

69 lines (65 loc) 1.95 kB
'use strict'; var Action = require('./Action-0ed405c1.cjs'); var Qualifier = require('./Qualifier-6633a22f.cjs'); /** * @description Uses generative AI to replace parts of your image with something else. * @extends SDK.Action * @memberOf Actions.Effect * @see Visit {@link Actions.Effect|Effect} for an example */ class GenerativeReplace extends Action.Action { constructor() { super(); this._preserveGeometry = false; this._detectMultiple = false; this._actionModel.actionType = "generativeReplace"; } from(value) { this._from = value; this._actionModel.from = value; return this; } to(value) { this._to = value; this._actionModel.to = value; return this; } preserveGeometry(value = true) { this._preserveGeometry = value; if (value) { this._actionModel.preserveGeometry = true; } return this; } detectMultiple(value = true) { this._detectMultiple = value; if (this._detectMultiple) { this._actionModel.detectMultiple = this._detectMultiple; } return this; } prepareQualifiers() { let str = `gen_replace:from_${this._from};to_${this._to}`; if (this._preserveGeometry) { str += `;preserve-geometry_true`; } if (this._detectMultiple) { str += `;multiple_true`; } this.addQualifier(new Qualifier.Qualifier("e", str)); } static fromJson(actionModel) { const { from, to, preserveGeometry, detectMultiple } = actionModel; const result = new this(); result.from(from); result.to(to); if (preserveGeometry) { result.preserveGeometry(); } if (detectMultiple) { result.detectMultiple(); } return result; } } exports.GenerativeReplace = GenerativeReplace;