UNPKG

3.2 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/native-to-interp.js"],"names":["convert","realm","val","NumberValue","StringValue","intrinsics","null","undefined","true","false","Array","isArray","Create","CreateArrayFromList","map","item","obj","ObjectValue","ObjectPrototype","key","$DefineOwnProperty","enumerable","writable","configurable","value","FatalError"],"mappings":";;;;;;;AAYA;;AACA;;AACA;;AAdA;;;;;;;;AAgBe,SAASA,OAAT,CAAiBC,KAAjB,EAA+BC,GAA/B,EAAgD;AAC7D,MAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B,WAAO,IAAIC,kBAAJ,CAAgBF,KAAhB,EAAuBC,GAAvB,CAAP;AACD,GAFD,MAEO,IAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAClC,WAAO,IAAIE,kBAAJ,CAAgBH,KAAhB,EAAuBC,GAAvB,CAAP;AACD,GAFM,MAEA,IAAIA,QAAQ,IAAZ,EAAkB;AACvB,WAAOD,MAAMI,UAAN,CAAiBC,IAAxB;AACD,GAFM,MAEA,IAAIJ,QAAQK,SAAZ,EAAuB;AAC5B,WAAON,MAAMI,UAAN,CAAiBE,SAAxB;AACD,GAFM,MAEA,IAAIL,QAAQ,IAAZ,EAAkB;AACvB,WAAOD,MAAMI,UAAN,CAAiBG,IAAxB;AACD,GAFM,MAEA,IAAIN,QAAQ,KAAZ,EAAmB;AACxB,WAAOD,MAAMI,UAAN,CAAiBI,KAAxB;AACD,GAFM,MAEA,IAAIC,MAAMC,OAAN,CAAcT,GAAd,CAAJ,EAAwB;AAC7B,WAAOU,mBAAOC,mBAAP,CAA2BZ,KAA3B,EAAkCC,IAAIY,GAAJ,CAAQC,QAAQf,QAAQC,KAAR,EAAec,IAAf,CAAhB,CAAlC,CAAP;AACD,GAFM,MAEA,IAAI,OAAOb,GAAP,KAAe,QAAnB,EAA6B;AAClC,QAAIc,MAAM,IAAIC,kBAAJ,CAAgBhB,KAAhB,EAAuBA,MAAMI,UAAN,CAAiBa,eAAxC,CAAV;;AAEA,SAAK,IAAIC,GAAT,IAAgBjB,GAAhB,EAAqB;AACnBc,UAAII,kBAAJ,CAAuBD,GAAvB,EAA4B;AAC1BE,oBAAY,IADc;AAE1BC,kBAAU,IAFgB;AAG1BC,sBAAc,IAHY;AAI1BC,eAAOxB,QAAQC,KAAR,EAAeC,IAAIiB,GAAJ,CAAf;AAJmB,OAA5B;AAMD;;AAED,WAAOH,GAAP;AACD,GAbM,MAaA;AACL,UAAM,IAAIS,kBAAJ,CAAe,mCAAmC,OAAOvB,GAAzD,CAAN;AACD;AACF","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 type { Realm } from \"../realm.js\";\nimport { FatalError } from \"../errors.js\";\nimport { Value, StringValue, NumberValue, ObjectValue } from \"../values/index.js\";\nimport { Create } from \"../singletons.js\";\n\nexport default function convert(realm: Realm, val: any): Value {\n if (typeof val === \"number\") {\n return new NumberValue(realm, val);\n } else if (typeof val === \"string\") {\n return new StringValue(realm, val);\n } else if (val === null) {\n return realm.intrinsics.null;\n } else if (val === undefined) {\n return realm.intrinsics.undefined;\n } else if (val === true) {\n return realm.intrinsics.true;\n } else if (val === false) {\n return realm.intrinsics.false;\n } else if (Array.isArray(val)) {\n return Create.CreateArrayFromList(realm, val.map(item => convert(realm, item)));\n } else if (typeof val === \"object\") {\n let obj = new ObjectValue(realm, realm.intrinsics.ObjectPrototype);\n\n for (let key in val) {\n obj.$DefineOwnProperty(key, {\n enumerable: true,\n writable: true,\n configurable: true,\n value: convert(realm, val[key]),\n });\n }\n\n return obj;\n } else {\n throw new FatalError(\"need to convert value of type \" + typeof val);\n }\n}\n"],"file":"native-to-interp.js"}
\No newline at end of file