demo/amd/rjs/output/unified/marionette-build.js
function getTemplateData ( templateProp, view, viewOptions ) {
        var data;

        if ( templateProp && _.isString( templateProp ) ) {
            data = templateCache[ templateProp ];
            if ( ! data ) data = _createTemplateCache( templateProp, view, viewOptions );

            if ( data.invalid ) data = undefined;
            if ( data ) data = _copyCacheEntry( data );
        }

        return data;
    }
function getTemplateData ( templateProp, view, viewOptions ) {
        var data;

        if ( templateProp && _.isString( templateProp ) ) {
            data = templateCache[ templateProp ];
            if ( ! data ) data = _createTemplateCache( templateProp, view, viewOptions );

            if ( data.invalid ) data = undefined;
            if ( data ) data = _copyCacheEntry( data );
        }

        return data;
    }
Cache management ---------------- 
Returns the template data associated with a template property string. Caches it in the process, or retrieves it
from the cache if already available. Returns undefined if there is no cacheable template data.

When retrieved from the cache, a copy of the cache entry is returned. It protects the cache entry from
modification in case the data is manipulated later on. The protection also extends to the nested `attributes`
hash. The `_pluginData` property, however, must remain writable, and is returned as is.

The template data is returned as a hash. For a list of properties, see readme.

@param   {string}        templateProp   template selector, or raw template HTML, identifying the cache entry
@param   {Backbone.View} [view]         the view which requested the template
@param   {Object}        [viewOptions]  the options passed to the view during instantiation. For availability,
see getViewTemplateData()
@returns {CachedTemplateData|undefined}