xrfragment-haxe/doc/url.md

1.2 KiB

URI Value types

type info format example
vector x,y,z comma-separated #pos=1,2,3
string color FFFFFF (hex) #fog=5m,FFAACC
string #q=-sun
int [-]x[xxxxx] #price:>=100
float [-]x[.xxxx] (ieee) #prio=-20
array mixed |-separated #pos=0,0,0

rule for thumb: type-limitations will piggyback JSON limitations (IEEE floatsize e.g.)

Url parser (the gist of it)

  1. fragment URI starts with #
  2. fragments are split by &
  3. fragment-values are urlencoded ( becomes + and so on)
  4. = is used to indicate fragmentvalues
  5. | is used to indicate multiple/fallback values
  6. hex colors are detected using regex /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/
  7. integers are detected using regex /^[0-9]+$/
  8. floats are detected using regex /^[0-9]+\.[0-9]+$/
  9. , is used to detect vector 1D/2D/3D values like x[,y[,z]]
  10. anything else will be treated as string-value
  11. last resort: inappropriate string values will be converted using parseInt/parseFloat