# @ts-check

import uniq_isString from './isString'
import uniq_join from './join'
import uniq_split from './split'

###* @type import('./uniq').Uniq ###
export default (list) ->

  uniq_hasString = false
  for uniq_item in list
    if uniq_isString uniq_item
      uniq_hasString = true
      break

  uniq_string = uniq_join list, ','

  if uniq_hasString then Native 'Sort, uniq_string, C U D,'
  else Native 'Sort, uniq_string, N U D,'

  return uniq_split uniq_string, ','