import type com from '../../proto/index.js'; import { ConverterSet, ConverterType } from '../domain.js'; const KNOWN_PROTOCOLS = ['http://', 'https://']; export const pageUrl: ConverterSet = { types: ['wix.common.PageUrl'], [ConverterType.FROM_JSON]: { transform: (val: com.wix.common.PageUrl) => { if (!val) { return; } if (KNOWN_PROTOCOLS.some((protocol) => val.base?.startsWith(protocol))) { return `${val.base}${val.path}`; } return `http://${val.base}${val.path}`; }, }, [ConverterType.TO_JSON]: { transform: (val: string): com.wix.common.PageUrl | undefined => { if (!val) { return; } const { host, pathname } = new URL(val); return { base: host, // (e.g mysite.wixsite.com/mysite) path: pathname, // (e.g /product-page/a-product) }; }, }, };