code: function compile(input) {
    var res = input.match(REGEX);
    if (!res) throw new Error('Invalid expression: "' + input + '"');
  
    var range = res[3];
    var parsedRange;
    if (range) {
      parsedRange = parser(range);
      if (parsedRange === null) throw new Error('Invalid range expression: "' + range + '" in "' + input + '"');
    }
  
    var path = res[2];
    var source = path.split('.');
  
    // TODO support ranges
    if (parsedRange) console.warn('data-hyper-repeat ranges are not supported at this time');
  
    return {
      target: res[1],
      path: path,
      source: source[source.length - 1],
      range: parsedRange
    };
  }
docs: Compile a 'hyper-repeat' expression