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

53 lines (46 loc) 1.42 kB
'use strict'; var ImageSource = require('./ImageSource-2890c2e5.cjs'); var FetchSource = require('./FetchSource-b49b90bf.cjs'); var VideoSource = require('./VideoSource-c3c76a47.cjs'); var TextSource = require('./TextSource-eeb0f305.cjs'); /** * Validates that given obj is an IImageSourceModel * @param obj */ function isIImageSourceModel(obj) { return obj && obj.sourceType === 'image'; } /** * Validates that given obj is an IFetchSourceModel * @param obj */ function isIFetchSourceModel(obj) { return obj && obj.sourceType === 'fetch'; } /** * Validates that given obj is an IImageSourceModel * @param obj */ function isITextSourceModel(obj) { return obj && obj.sourceType === 'text'; } /** * Create Source from given model json * @param source * @param transformationFromJson */ function createSourceFromModel(source, transformationFromJson) { if (isITextSourceModel(source)) { return TextSource.TextSource.fromJson(source, transformationFromJson); } else if (isIImageSourceModel(source)) { return ImageSource.ImageSource.fromJson(source, transformationFromJson); } else if (isIFetchSourceModel(source)) { return FetchSource.FetchSource.fromJson(source, transformationFromJson); } else { return VideoSource.VideoSource.fromJson(source, transformationFromJson); } } exports.createSourceFromModel = createSourceFromModel;