I am trying to write below UDF in snowflake.But it doesnt allow to use sql functions like TO_DATE,DATE_ADD,dayofweek . Any alternative idea would be helpful. Thanks.
CREATE OR REPLACE FUNCTION getShippingDate(deliveryDate varchar,deliveryCountryCode varchar, holidayList varchar,deliveryDays varchar) 
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
AS $$
    deliveryPeriod = 0
    weekDay = 0
    deliveryDate= TO_DATE(deliveryDate)
    if(deliveryCountryCode != 'IN') {
        deliveryPeriod = 2
    }
    else {
        deliveryPeriod = deliveryDays + 1
    }   
    if(deliveryPeriod <= 0) {
        deliveryPeriod = 1
    }
    /* substract delivery period from delivery date */
    deliveryDate = DATEADD(Day ,-deliveryPeriod, to_date(deliveryDate))  
    weekDay = dayofweek(deliveryDate) 
    /* if shipping date falls on sunday then substract 2 days */
    if (weekDay == 0) {
         deliveryDate =  DATEADD(Day ,-2, to_date(deliveryDate)) 
     }    
    /* if shipping date falls on saturday then substract 1 days */ 
    if(weekDay == 6){
        deliveryDate = DATEADD(Day ,-1, to_date(deliveryDate)) 
    }
    /* check if shipping date falls on holiday then substract 1 */
    if(charindex(deliveryDate , holidayList) > 0) {
        deliveryDate = DATEADD(Day ,-1, to_date(deliveryDate)) 
    }
    return deliveryDate
$$```
 
     
     
    