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; }