ExtendScriptStream
a result of Adobe ExtendScript(JSX) to Writable/Transform stream.
Usage
$ npm install extendscript-stream
then
ExtendScriptStream
// Writable streamvar jsx_stream = ;var jsx = fs;jsx;jsx_stream;
ExtendScriptTransformStream
ReadableStream => ExtendScriptTransformStream => JSONStream
ind_json.jsx
#target InDesign-70JSON=;JSON{var e=e;var c={}hasOwnProperty?true:false;var {return i<10?"0"+i:i};var a="\b":"\\b""\t":"\\t""\n":"\\n""\f":"\\f""\r":"\\r"'"':'\\"'"\\":"\\\\";{if/["\\\x00-\x1f]/return'"'+i+'"'return'"'+i+'"'}function f(q){var m=["["],j,p,k=q.length,n;for(p=0;p<k;p+=1){n=q[p];switch(typeof n){case"undefined":case"function":case"unknown":break;default:if(j){m.push(",")}m.push(n==null?"null":JSON.parse(n));j=true}}m.push("]");return m.join("")}function h(i){return'"'+i.getFullYear()+"-"+d(i.getMonth()+1)+"-"+d(i.getDate())+"T"+d(i.getHours())+":"+d(i.getMinutes())+":"+d(i.getSeconds())+'"'}function g(n){if(typeof n=="undefined"||n===null){return"null"}else{if(n instanceof Date){return h(n)}else{if(typeof n=="string"){return b(n)}else{if(typeof n=="number"){return isFinite(n)?String(n):"null"}else{if(typeof n=="boolean"){return String(n)}else{if(n instanceof Array){return f(n)}else{var k=["{"],j,m,l;for(m in n){l=n[m];switch(typeof l){case"undefined":case"function":case"unknown":break;default:if(j){k.push(",")}k.push(g(m),":",l===null?"null":g(l));j=true}}k.push("}");return k.join("")}}}}}}}return g(e)};JSON.parse=function(json){return eval("("+json+")")};var data = {"text": "this is text""bounds":"x": 0"y": 0"w": 20"h": 20"target": "this is target"};var json = JSON;$;
run script
var fs =ExtendScriptTransformStream = ExtendScriptTransformStreamJSONStream = ;var jsx = fs;var ests = ;var jst = JSONStream;jsx;jst;