demo/amd/rjs/output/unified/marionette-build.js
function clearCachedTemplate ( templateProp ) {

        var fromMarionette = false,
            args = _.toArray( arguments ),
            lastArg = _.last( args );

        // When called from Marionette, or called recursively, the last argument is a "fromMarionette" boolean. Splice
        // it off before proceeding.
        if ( args.length && _.isBoolean( lastArg ) ) fromMarionette = args.pop();

        // Handle multiple template props passed in as a varargs list, or as an array, with recursive calls for each
        // template property.
        if ( args.length > 1 ) {
            _.each( args, function ( singleProp ) { clearCachedTemplate( singleProp, fromMarionette ); } );
        } else if ( _.isArray( templateProp ) || _.isArguments( templateProp ) ) {
            _.each( templateProp, function ( singleProp ) { clearCachedTemplate( singleProp, fromMarionette ); } );
        } else {

            if ( ! templateProp ) throw new GenericError( "Missing argument: string identifying the template. The string should be a template selector or the raw HTML of a template, as provided to the template property of a view when the cache entry was created" );

            // Dealing with a single templateProp argument.
            //
            // Delete the corresponding cache entry. Try to clear it from the Marionette cache as well. The
            // templateProp must be a string - non-string arguments are quietly ignored.
            if ( _.isString( templateProp ) ) {

                _clearCachedTemplate( templateProp );

                if ( ! fromMarionette && Backbone.Marionette && Backbone.Marionette.TemplateCache ) {
                    try {
                        Backbone.Marionette.TemplateCache.clear( templateProp );
                    } catch ( err ) {}
                }

            }

        }

    }
function clearCachedTemplate ( templateProp ) {

        var fromMarionette = false,
            args = _.toArray( arguments ),
            lastArg = _.last( args );

        // When called from Marionette, or called recursively, the last argument is a "fromMarionette" boolean. Splice
        // it off before proceeding.
        if ( args.length && _.isBoolean( lastArg ) ) fromMarionette = args.pop();

        // Handle multiple template props passed in as a varargs list, or as an array, with recursive calls for each
        // template property.
        if ( args.length > 1 ) {
            _.each( args, function ( singleProp ) { clearCachedTemplate( singleProp, fromMarionette ); } );
        } else if ( _.isArray( templateProp ) || _.isArguments( templateProp ) ) {
            _.each( templateProp, function ( singleProp ) { clearCachedTemplate( singleProp, fromMarionette ); } );
        } else {

            if ( ! templateProp ) throw new GenericError( "Missing argument: string identifying the template. The string should be a template selector or the raw HTML of a template, as provided to the template property of a view when the cache entry was created" );

            // Dealing with a single templateProp argument.
            //
            // Delete the corresponding cache entry. Try to clear it from the Marionette cache as well. The
            // templateProp must be a string - non-string arguments are quietly ignored.
            if ( _.isString( templateProp ) ) {

                _clearCachedTemplate( templateProp );

                if ( ! fromMarionette && Backbone.Marionette && Backbone.Marionette.TemplateCache ) {
                    try {
                        Backbone.Marionette.TemplateCache.clear( templateProp );
                    } catch ( err ) {}
                }

            }

        }

    }
function clearCachedTemplate ( templateProp ) { var fromMarionette = false , args = _ . toArray ( arguments ) , lastArg = _ . last ( args ) ; // When called from Marionette, or called recursively, the last argument is a "fromMarionette" boolean. Splice // it off before proceeding. if ( args . length && _ . isBoolean ( lastArg ) ) fromMarionette = args . pop ( ) ; // Handle multiple template props passed in as a varargs list, or as an array, with recursive calls for each // template property. if ( args . length > 1 ) { _ . each ( args , function ( singleProp ) { clearCachedTemplate ( singleProp , fromMarionette ) ; } ) ; } else if ( _ . isArray ( templateProp ) || _ . isArguments ( templateProp ) ) { _ . each ( templateProp , function ( singleProp ) { clearCachedTemplate ( singleProp , fromMarionette ) ; } ) ; } else { if ( ! templateProp ) throw new GenericError ( "Missing argument: string identifying the template. The string should be a template selector or the raw HTML of a template, as provided to the template property of a view when the cache entry was created" ) ; // Dealing with a single templateProp argument. // // Delete the corresponding cache entry. Try to clear it from the Marionette cache as well. The // templateProp must be a string - non-string arguments are quietly ignored. if ( _ . isString ( templateProp ) ) { _clearCachedTemplate ( templateProp ) ; if ( ! fromMarionette && Backbone . Marionette && Backbone . Marionette . TemplateCache ) { try { Backbone . Marionette . TemplateCache . clear ( templateProp ) ; } catch ( err ) { } } } } }
Removes one or more cache entries.

Arguments
---------

The strings identifying the cache entries can be passed in as individual arguments (prop1, prop2, ...), or as an
array. Each string must be

- a template selector
- raw HTML of a template, if that's what the template property held when a view made use of it.

A template selector must be identical to the one which was used when creating the cache entry, ie the selector
specified in the template property or template option of a view. Mere selector equivalence (e.g. "#template" and
"script#template") won't match the cache.

Strings not matching a cache entry are ignored, as are non-string arguments.

Marionette.TemplateCache
------------------------

When templates are cleared here, they are removed from the Marionette template cache as well (if Marionette is
loaded).

@param {...string|string[]} [templateProp]  template selector(s), or raw template HTML, identifying the cache
entry. NB The last argument can also be an internal "fromMarionette"
flag to prevent circular calls to and from Marionette
Removes one or more cache entries .