/*! * Jodit Editor (https://xdsoft.net/jodit/) * License GNU General Public License version 2 or later; * Copyright 2013-2019 Valeriy Chupurnov https://xdsoft.net */ import { isURL } from './checker/isURL'; import { parseQuery } from './parseQuery'; /** * Javascript url pattern converter replace youtube/vimeo url in embed code. * * @param {string} url * @param {int} [width=400] * @param {int} [height=345] * return {string} embed code */ export const convertMediaURLToVideoEmbed = ( url: string, width: number = 400, height: number = 345 ): string => { if (!isURL(url)) { return url; } const parser: HTMLAnchorElement = document.createElement('a'), pattern1: RegExp = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g; parser.href = url; if (!width) { width = 400; } if (!height) { height = 345; } const protocol: string = parser.protocol || ''; switch (parser.hostname) { case 'www.vimeo.com': case 'vimeo.com': return pattern1.test(url) ? url.replace( pattern1, '' ) : url; case 'youtube.com': case 'www.youtube.com': case 'youtu.be': case 'www.youtu.be': const query: any = parser.search ? parseQuery(parser.search) : { v: parser.pathname.substr(1) }; return query.v ? '' : url; } return url; };