package reddit_api_kernel
Source file subreddit_name.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21open! Core_kernel type t = string include Identifiable.Make (struct include String.Caseless let module_name = "Subreddit_name" let to_string = ident let of_string string = let try_prefix = List.find_map ~f:(fun prefix -> String.chop_prefix string ~prefix) in match try_prefix [ "u/"; "/u/" ] with | Some username -> "u_" ^ username | None -> try_prefix [ "r/"; "/r/" ] |> Option.value ~default:string ;; end) let user_subreddit username = of_string ("u_" ^ Username.to_string username) let all = "all" let combine = String.concat ~sep:"+"