UNPKG

4.09 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/repl-cli.js"],"names":["serialize","realm","res","Value","ThrowCompletion","context","ExecutionContext","pushContext","err","value","ObjectValue","intrinsics","Error","FatalError","To","ToStringPartial","stack","popContext","reactEnabled","reactOutput","repl","start","prompt","input","process","stdin","output","stdout","eval","code","filename","callback","$GlobalEnv","execute","console","error"],"mappings":";;AAWA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AApBA;;;;;;;;AAsBA,SAASA,SAAT,CAAmBC,KAAnB,EAAiCC,GAAjC,EAAqE;AACnE,MAAIA,OAAOA,eAAeC,aAA1B,EAAiC;AAC/B,WAAOD,IAAIF,SAAJ,EAAP;AACD;;AAED,MAAIE,OAAOA,eAAeE,4BAA1B,EAA2C;AACzC,QAAIC,UAAU,IAAIC,uBAAJ,EAAd;AACAL,UAAMM,WAAN,CAAkBF,OAAlB;AACA,QAAIG,GAAJ;;AACA,QAAI;AACF,UAAIC,QAAQP,IAAIO,KAAhB;;AACA,UAAIA,iBAAiBC,mBAAjB,IAAgC,+BAAmBT,KAAnB,EAA0BQ,KAA1B,EAAiCR,MAAMU,UAAN,CAAiBC,KAAlD,CAApC,EAA8F;AAC5FJ,cAAM,IAAIK,kBAAJ,CAAeC,eAAGC,eAAH,CAAmBd,KAAnB,EAA0B,gBAAIA,KAAJ,EAAWQ,KAAX,EAAkB,SAAlB,CAA1B,CAAf,CAAN;AACAD,YAAIQ,KAAJ,GAAYF,eAAGC,eAAH,CAAmBd,KAAnB,EAA0B,gBAAIA,KAAJ,EAAWQ,KAAX,EAAkB,OAAlB,CAA1B,CAAZ;AACD,OAHD,MAGO;AACLD,cAAM,IAAIK,kBAAJ,CAAeC,eAAGC,eAAH,CAAmBd,KAAnB,EAA0BQ,KAA1B,CAAf,CAAN;AACD;AACF,KARD,SAQU;AACRR,YAAMgB,UAAN,CAAiBZ,OAAjB;AACD;;AACD,WAAOG,GAAP;AACD;;AAED,SAAON,GAAP;AACD;;AAED,IAAID,QAAQ,8BAAgB;AAC1BiB,gBAAc,IADY;AAE1BC,eAAa;AAFa,CAAhB,CAAZ;AAIA,sBAAkBlB,KAAlB;;AAEAmB,cAAKC,KAAL,CAAW;AACTC,UAAQ,IADC;AAETC,SAAOC,QAAQC,KAFN;AAGTC,UAAQF,QAAQG,MAHP;;AAITC,OAAKC,IAAL,EAAWxB,OAAX,EAAoByB,QAApB,EAA8BC,QAA9B,EAAwC;AACtC,QAAI;AACF,UAAI7B,MAAMD,MAAM+B,UAAN,CAAiBC,OAAjB,CAAyBJ,IAAzB,EAA+B,MAA/B,CAAV;AACA3B,YAAMF,UAAUC,KAAV,EAAiBC,GAAjB,CAAN;;AACA,UAAIA,eAAeU,KAAnB,EAA0B;AACxBmB,iBAAS7B,GAAT;AACD,OAFD,MAEO;AACL6B,iBAAS,IAAT,EAAe7B,GAAf;AACD;AACF,KARD,CAQE,OAAOM,GAAP,EAAY;AACZ0B,cAAQC,KAAR,CAAc3B,GAAd;AACAuB,eAASvB,GAAT;AACD;AACF;;AAjBQ,CAAX","sourcesContent":["/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n/* @flow */\n\nimport { Realm, ExecutionContext } from \"./realm.js\";\nimport { FatalError } from \"./errors.js\";\nimport { Get } from \"./methods/index.js\";\nimport { InstanceofOperator } from \"./methods/index.js\";\nimport { AbruptCompletion, ThrowCompletion } from \"./completions.js\";\nimport { Value, ObjectValue } from \"./values/index.js\";\nimport { To } from \"./singletons.js\";\nimport construct_realm from \"./construct_realm.js\";\nimport initializeGlobals from \"./globals.js\";\nimport repl from \"repl\";\n\nfunction serialize(realm: Realm, res: Value | AbruptCompletion): any {\n if (res && res instanceof Value) {\n return res.serialize();\n }\n\n if (res && res instanceof ThrowCompletion) {\n let context = new ExecutionContext();\n realm.pushContext(context);\n let err;\n try {\n let value = res.value;\n if (value instanceof ObjectValue && InstanceofOperator(realm, value, realm.intrinsics.Error)) {\n err = new FatalError(To.ToStringPartial(realm, Get(realm, value, \"message\")));\n err.stack = To.ToStringPartial(realm, Get(realm, value, \"stack\"));\n } else {\n err = new FatalError(To.ToStringPartial(realm, value));\n }\n } finally {\n realm.popContext(context);\n }\n return err;\n }\n\n return res;\n}\n\nlet realm = construct_realm({\n reactEnabled: true,\n reactOutput: \"jsx\",\n});\ninitializeGlobals(realm);\n\nrepl.start({\n prompt: \"> \",\n input: process.stdin,\n output: process.stdout,\n eval(code, context, filename, callback) {\n try {\n let res = realm.$GlobalEnv.execute(code, \"repl\");\n res = serialize(realm, res);\n if (res instanceof Error) {\n callback(res);\n } else {\n callback(null, res);\n }\n } catch (err) {\n console.error(err);\n callback(err);\n }\n },\n});\n"],"file":"repl-cli.js"}
\No newline at end of file