From 62586a174a0b7ee73e171a2d87c6ec444cf39ac9 Mon Sep 17 00:00:00 2001 From: Michael Cornell Date: Mon, 10 Aug 2015 18:11:46 -0400 Subject: [PATCH] use ejecta.import to avoid re-including files --- Source/Ejecta/EJBindingEjectaCore.m | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Source/Ejecta/EJBindingEjectaCore.m b/Source/Ejecta/EJBindingEjectaCore.m index 38bc02e0..c1481b34 100644 --- a/Source/Ejecta/EJBindingEjectaCore.m +++ b/Source/Ejecta/EJBindingEjectaCore.m @@ -75,6 +75,21 @@ - (void)dealloc { return NULL; } +EJ_BIND_FUNCTION(import, ctx, argc, argv ) { + static dispatch_once_t onceToken; + static NSMutableSet *_ejImports; + dispatch_once(&onceToken, ^{ + _ejImports = [NSMutableSet new]; + }); + if( argc < 1 ) { return NULL; } + NSString *importName = JSValueToNSString(ctx, argv[0]); + if (![_ejImports containsObject:importName]){ + [_ejImports addObject:importName]; + [scriptView loadScriptAtPath:importName]; + } + return NULL; +} + EJ_BIND_FUNCTION(loadFont, ctx, argc, argv ) { if( argc < 1 ) { return NULL; }