stencila-mini-core v0.1.0
Mini Core Library functions implemented in Javascript
Install
npm installCreate
Each function needs an XML file in the ../xml folder. If necessary, create a new function using ../xml/.fun.xml as a template. 
Implement
In the revelant .fun.xml file (an existing one, or one which you created above) add a <implem language="js"> element under <implems>. This registers the implementation with the Stencila execution engine.
Create the Javascript function in the relevant ./src/*.js file with the same name as the Mini function e.g. function sum(x)... for sum.fun.xml.
If your implementation overloads parameter types then you need to add those type names to the function signature. e.g. function sum_arraynumber(x), function sum_matrixnumber(x)
Currently, the following are available in the global environment:
Test
Run all tests in Node.js:
npm testRun all tests in the browser:
npm run test-browserthen open test/index.html.
Try
You can try out functions in the browser developer console by building the distribution:
npm run buildthen open index.html.
Check
Check that the Javascript functions the you have implemented match the XML definitions:
npm run checkThis will also produce build/func.js : A dictionary of XML Function definitions to be loaded into stencila/stencila for function documentation, reflection (e.g. function call tips) and dispatching. Currently, this file contains the entire XML file for each function.
8 years ago