Tengo una función if que verifica si el enlace no rompe las reglas:
const file = data.file.toLowerCase() if(!file.startsWith('https://') || !file.endsWith('.gif') || !file.endsWith('.png') || !file.endsWith('.jpg') || !file.endsWith('mp4') || !file.endsWith('mp3') || !file.endsWith('.webm') ) returnEsto hace que no se ejecute otro código, incluso si el enlace no infringe las reglas. ¿Alguien puede ayudar?
!file.endsWith('.gif') || !file.endsWith('.png') ... Esto siempre devolverá true ya que una cadena puede terminar con .gif (que coincide con !file.endsWith('.png') ), .png (que coincide con !file.endsWith('.gif') ), u otras cosas que emparejar ambos. Por lo tanto la return correrá siempre.
En su lugar, puede necesitar &&