Procházet zdrojové kódy

loaded as worker detection and support

starting at line 567, detect if running as worker, if so add message listener
pull/347/head
Eric před 12 roky
rodič
revize
6c655599dd
1 změnil soubory, kde provedl 29 přidání a 0 odebrání
  1. +29
    -0
      mustache.js

+ 29
- 0
mustache.js Zobrazit soubor

@@ -564,4 +564,33 @@
mustache.Context = Context; mustache.Context = Context;
mustache.Writer = Writer; mustache.Writer = Writer;


// Worker bee, conditional load as Worker support
if ( self.WorkerGlobalScope && self instanceof WorkerGlobalScope ) {
var _Partials = {};
self.addEventListener( 'message', function( evt ) {
var data = evt.data,
t, tokens, template,
result = { };

if ( data.clearPartials )
_Partials = {};

if ( ( t = data.partials ) )
for ( var i in t )
_Partials[i] = t[i];

if ( data.clearCache )
defaultWriter.clearCache();

if ( ( template = data.template ) && ( tokens = defaultWriter.parse( template, data.tags ) ) ) {
if ( ( t = data.view ) )
result.content = defaultWriter.render( template, t, ( t = data.partials ) === true ? _Partials : t );
else
result.tokens = tokens;
}

self.postMessage( result );
}, false );
}

})); }));

Načítá se…
Zrušit
Uložit