a result of Adobe ExtendScript(JSX) to Writable/Transform stream.
npm install extendscript-streama result of Adobe ExtendScript(JSX) to Writable/Transform stream.
$ npm install extendscript-stream
then
`` js`
// Writable stream
var jsx_stream = new ExtendScriptStream;
var jsx = fs.createReadStream('./test.jsx');
jsx.pipe(jsx_stream);
jsx_stream.on('finish',function(){
console.log(this.output);
});
ReadableStream => ExtendScriptTransformStream => JSONStream
ind_json.jsx
` js
#target InDesign-7.0
JSON=new Object();JSON.stringify=function(e){var e=e;var c={}.hasOwnProperty?true:false;var d=function(i){return i<10?"0"+i:i};var a={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function b(i){if(/["\\\x00-\x1f]/.test(i)){return'"'+i.replace(/([\x00-\x1f\\"])/g,function(k,j){var l=a[j];if(l){return l}return j})+'"'}return'"'+i+'"'}function f(q){var m=["["],j,p,k=q.length,n;for(p=0;p var data = { var json = JSON.stringify(data); run script `
"text": "this is text",
"bounds": {
"x": 0,
"y": 0,
"w": 20,
"h": 20,
"target": "this is target"
}
};
$.write(json);
` js``
var fs = require('fs'),
ExtendScriptTransformStream = require('extendscript-stream').ExtendScriptTransformStream,
JSONStream = require('JSONStream');
var jsx = fs.createReadStream('./ind_json.jsx');
var ests = new ExtendScriptTransformStream;
var jst = JSONStream.parse('bounds.target');
jsx.pipe(ests).pipe(jst);
jst.on('data',function(data){
// ExtendScript to Nodejs!!
console.log(data);
});