txt: ## uniparse.md
  uniparse
  
  Combined from primary sources listed below.
  
  # [In Str](#___top "go to top of document")[§](#(Str)_routine_uniparse "direct link")
  
  See primary documentation
  [in context](/type/Str#routine_uniparse)
  for **routine uniparse**.
  
  ```raku
  sub    uniparse(Str:D $names  --> Str:D)
  method uniparse(Str:D $names: --> Str:D)
  ```
  
  Takes string with comma-separated Unicode names of characters and returns a string composed of those characters. Will [`fail`](/routine/fail) if any of the characters' names are empty or not recognized. Whitespace around character names is ignored.
  
  ```raku
  say "I {uniparse 'TWO HEARTS'} Raku"; # OUTPUT: «I 💕 Raku␤»
  'TWO HEARTS, BUTTERFLY'.uniparse.say; # OUTPUT: «💕🦋␤»
  ```
  
  See [uniname](/routine/uniname) and [uninames](/routine/uninames) for routines that work in the opposite direction with a single codepoint and multiple codepoints respectively.
  
  Note that unlike `\c[...]` construct available in string interpolation, `uniparse` does not accept decimal numerical values. Use [chr](/routine/chr) routine to convert those:
  
  ```raku
  say "\c[1337]"; # OUTPUT: «Թ␤»
  say '1337'.chr; # OUTPUT: «Թ␤»
  ```
  
  *Note:* before being standardized in 2017.12, this routine was known under its working name of [parse-names](/routine/parse-names). This denomination will be removed in the 6.e version.
  
  # [In Cool](#___top "go to top of document")[§](#(Cool)_method_uniparse "direct link")
  
  See primary documentation
  [in context](/type/Cool#method_uniparse)
  for **method uniparse**.
  
  ```raku
  method uniparse(Cool:D: --> Str:D)
  ```
  
  Available as of the 2021.04 release of the Rakudo compiler.
  
  Coerces the invocant to a [`Str`](/type/Str) and then calls the [uniparse](/type/Str#routine_uniparse) on that. This mostly only makes sense for [`Match`](/type/Match) objects.
  