UNPKG

2.31 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/createObjectExpression.js"],"names":["createObjectExpression","t","object","properties","name","Object","keys","value","newValue","isAnyTypeAnnotation","stringLiteral","booleanLiteral","TypeError","push","objectProperty","objectExpression"],"mappings":";;;;;;;AAEA;;;;AAQA;;;AAGA,MAAMA,sBAAsB,GAAG,CAACC,CAAD,EAAgBC,MAAhB,KAA8D;AAC3F,QAAMC,UAAU,GAAG,EAAnB;;AAEA,OAAK,MAAMC,IAAX,IAAmBC,MAAM,CAACC,IAAP,CAAYJ,MAAZ,CAAnB,EAAwC;AACtC,UAAMK,KAAK,GAAGL,MAAM,CAACE,IAAD,CAApB;AAEA,QAAII,QAAJ,CAHsC,CAKtC;;AACA,QAAIP,CAAC,CAACQ,mBAAF,CAAsBF,KAAtB,CAAJ,EAAkC,CAEjC,CAFD,MAEO,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AACpCC,MAAAA,QAAQ,GAAGP,CAAC,CAACS,aAAF,CAAgBH,KAAhB,CAAX;AACD,KAFM,MAEA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AACpCC,MAAAA,QAAQ,GAAGR,sBAAsB,CAACC,CAAD,EAAIM,KAAJ,CAAjC;AACD,KAFM,MAEA,IAAI,OAAOA,KAAP,KAAiB,SAArB,EAAgC;AACrCC,MAAAA,QAAQ,GAAGP,CAAC,CAACU,cAAF,CAAiBJ,KAAjB,CAAX;AACD,KAFM,MAEA;AACL,YAAM,IAAIK,SAAJ,CAAc,sBAAsB,OAAOL,KAA3C,CAAN;AACD;;AAEDJ,IAAAA,UAAU,CAACU,IAAX,CACEZ,CAAC,CAACa,cAAF,CACEb,CAAC,CAACS,aAAF,CAAgBN,IAAhB,CADF,EAEEI,QAFF,CADF;AAMD;;AAED,SAAOP,CAAC,CAACc,gBAAF,CAAmBZ,UAAnB,CAAP;AACD,CA9BD;;eAgCeH,sB","sourcesContent":["// @flow\n\nimport BabelTypes, {\n ObjectExpression\n} from '@babel/types';\n\ntype InputObjectType = {\n [key: string]: *\n};\n\n/**\n * Creates an AST representation of an InputObjectType shape object.\n */\nconst createObjectExpression = (t: BabelTypes, object: InputObjectType): ObjectExpression => {\n const properties = [];\n\n for (const name of Object.keys(object)) {\n const value = object[name];\n\n let newValue;\n\n // eslint-disable-next-line no-empty\n if (t.isAnyTypeAnnotation(value)) {\n\n } else if (typeof value === 'string') {\n newValue = t.stringLiteral(value);\n } else if (typeof value === 'object') {\n newValue = createObjectExpression(t, value);\n } else if (typeof value === 'boolean') {\n newValue = t.booleanLiteral(value);\n } else {\n throw new TypeError('Unexpected type: ' + typeof value);\n }\n\n properties.push(\n t.objectProperty(\n t.stringLiteral(name),\n newValue\n )\n );\n }\n\n return t.objectExpression(properties);\n};\n\nexport default createObjectExpression;\n"],"file":"createObjectExpression.js"}
\No newline at end of file