Skip to content

Repository files navigation

AsyncTask for CocoaScript

A simple wrapper to allow CocoaScript to execute NSTask (Process) asynchronously.

API

execWithLaunchPath_arguments(launchPath: String, Arguments:[String])

Same arguments as Process

onData(data: String)

[Delegate] Executed when command receives data

onEnd

[Delegate] Executed when command ends

Usage

@import"Debug/MochaJSDelegate.js"COScript.currentCOScript().setShouldKeepAround_(true)functionloadFramework(pluginRoot,pluginName,className){className=className ? `${pluginName}.${className}` : pluginNameif(NSClassFromString(className)==null){letmocha=Mocha.sharedRuntime()returnmocha.loadFrameworkWithName_inDirectory(pluginName,pluginRoot)}else{returntrue}}letresult=loadFramework("./","MochaAsyncTask","AsyncTask")if(result==0)log("Failed to load framework...")letAsyncTask=NSClassFromString("MochaAsyncTask.AsyncTask")lettask=AsyncTask.alloc().init()letdelegate=newMochaJSDelegate()delegate.setHandlerForSelector("onData:",(data)=>{log(data)})delegate.setHandlerForSelector("onEnd",(data)=>{log("ENDED")})task.setDelegate(delegate.getClassInstance())task.execWithLaunchPath_arguments("/usr/bin/curl",["https://google.com"])

Development

Make sure you pull its submodules first.

$ git submodule update --init

About

A simple wrapper to allow CocoaScript to execute NSTask / Process asynchronously.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages