Skip to content

siuying/EvalJS

Repository files navigation

EvalJS

EvalJS lets you run JavaScript code from your iOS app. It is based on JavaScriptCore and Ejecta, but does not contain any DOM or Canvas/Audio objects.

Status

Experimental. This has not been used in production yet and should be considered as a proof of concept.

Usage

Evaulate Javascript

EvalJS* js = [[EvalJS alloc] init];
[js eval:@"function test(a, b) {return a + b; }"];

id result = [js eval:@"test(3, 2)"];
NSLog(@"result: %@", result);

Create Javascript function that invoke Objective-C block

EvalJS* js = [[EvalJS alloc] init];
[js createFunction:@"hello" callback:^id(NSUInteger argc, NSArray *argv) {
    NSLog(@"hello: %@", [argv objectAtIndex:0]);
    return @"world";
}];

NSString* result = [js eval:@"hello(3)"];

The output would be:

hello: 3

License

Copyright (c) 2013 Francis Chong francis@ignition.hk.

Released under the MIT license. See LICENSE for details.

About

EvalJS lets you run JavaScript code from your iOS app.

Resources

License

Stars

Watchers

Forks

Packages

No packages published