lib/compiler.js
function normalizeIdentifier(identifier) {
    if (identifier === ".") {
      // '.' might be referencing either the root or a locally scoped variable
      // called '.'. So try for the locally scoped variable first and then
      // default to the root
      return "(data['.'] || data)";
    }

    return "data" + identifier.split(".").map(function(property) {
      return property ? "['" + property + "']" : "";
    }).join("");
  }
function normalizeIdentifier(identifier) {
    if (identifier === ".") {
      // '.' might be referencing either the root or a locally scoped variable
      // called '.'. So try for the locally scoped variable first and then
      // default to the root
      return "(data['.'] || data)";
    }

    return "data" + identifier.split(".").map(function(property) {
      return property ? "['" + property + "']" : "";
    }).join("");
  }
function normalizeIdentifier ( identifier ) { if ( identifier === "." ) { // '.' might be referencing either the root or a locally scoped variable // called '.'. So try for the locally scoped variable first and then // default to the root return "(data['.'] || data)" ; } return "data" + identifier . split ( "." ) . map ( function ( property ) { return property ? "['" + property + "']" : "" ; } ) . join ( "" ) ; }
Normalizes properties in the identifier to be looked up via hash-style
instead of dot-notation.

@private
@param {string} identifier - The identifier to normalize.
@returns {string} The identifier normalized.
Normalizes properties in the identifier to be looked up via hash - style instead of dot - notation .