{"version":3,"sources":["jsdelivr-header.js","/npm/react-templates@0.6.3/dist/cli.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,IAAI,EAAI,QAAQ,UACZ,KAAO,QAAQ,QAEf,IAAM,QAAQ,SACd,QAAU,QAAQ,aAClB,MAAQ,QAAQ,WAChB,IAAM,QAAQ,mBACd,QAAU,QAAQ,aAClB,gBAAkB,QAAQ,qBAC1B,eAAiB,QAAQ,oBACzB,QAAU,QAAQ,aAClB,KAAO,QAAQ,QAMnB,SAAS,eAAe,GACpB,IAAI,EAAM,EACN,EAAQ,EAAe,EAG3B,GAFA,QAAQ,QAAQ,OAAS,EAAe,QAAU,UAE9C,EAAe,QACf,QAAQ,IAAI,IAAM,IAAI,cACnB,GAAI,EAAe,KAClB,EAAM,OACN,QAAQ,IAAI,QAAQ,sBAAsB,EAAM,KAEhD,QAAQ,IAAI,QAAQ,qBAErB,GAAI,EAAe,kBACtB,cAAc,QACX,GAAI,EAAM,OAAQ,CAWrB,IAAI,EAAW,EAAE,QAAQ,GAAO,SAAU,GACtC,OAAO,KAAK,KAAK,EAAG,CAAE,IAAK,QAAQ,KACvC,IAEA,EAAE,QAAQ,EAAU,iBAAiB,KAAK,KAAM,IAChD,EAAM,MAAM,aAAa,QAC7B,MACI,QAAQ,IAAI,QAAQ,gBAExB,OAAO,CACX,CAEA,SAAS,cAAc,GACnB,IAAI,EAAM,OAAO,KAAK,iBACQ,SAA1B,EAAe,OACf,QAAQ,IAAI,KAAK,UAAU,OAAK,EAAW,IAE3C,QAAQ,IAAI,EAAI,KAAK,MAE7B,CAMA,SAAS,iBAAiB,EAAgB,GACtC,IACI,IAAI,EAAY,KAAK,QAAQ,GACzB,OAAiB,EACrB,GAAkB,QAAd,EACA,EAAiB,GAAuC,eAA3B,EAAe,QAA2B,MAAQ,YAC5E,GAAkB,UAAd,EACP,EAAiB,EAAS,QAAQ,UAAW,OAC7C,EAAiB,EAAE,OAAO,CAAC,EAAG,EAAgB,CAAE,QAAS,aACtD,IAAkB,SAAd,EAKP,YADA,QAAQ,MAAM,0CAA2C,GAHzD,EAAiB,EAAW,MAC5B,EAAiB,EAAE,OAAO,CAAC,EAAG,EAAgB,CAAE,QAAS,OAI7D,CACA,IAAI,YAAY,EAAU,EAAgB,EAAgB,QAC9D,CAAE,MAAO,GACL,QAAQ,MAAM,EAAE,QAAS,EAAU,EAAE,KAAM,EAAE,OAAQ,EAAE,YAAa,EAAE,UAC1E,CACJ,CAOA,SAAS,QAAQ,GACb,IAEI,OAAO,eADc,QAAQ,MAAM,GAEvC,CAAE,MAAO,GAEL,OADA,QAAQ,MAAM,EAAM,SACb,CACX,CACJ,CAEA,OAAO,QAAU,CACb,QAAS,QACT,QAAS,QACT,eAAgB,eAChB,iBAAkB,iBAClB,uBAAwB,eAAe,uBACvC,aAAc,QAAQ","file":"/npm/react-templates@0.6.3/dist/cli.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-templates@0.6.3/dist/cli.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nvar _ = require('lodash');\nvar path = require('path');\n// const fs = require('fs');\nvar api = require('./api');\nvar context = require('./context');\nvar shell = require('./shell');\nvar pkg = require('../package.json');\nvar options = require('./options');\nvar reactDOMSupport = require('./reactDOMSupport');\nvar reactTemplates = require('./reactTemplates');\nvar rtStyle = require('./rtStyle');\nvar glob = require('glob');\n\n/**\n * @param {Options} currentOptions\n * @return {number}\n */\nfunction executeOptions(currentOptions) {\n    var ret = 0;\n    var files = currentOptions._;\n    context.options.format = currentOptions.format || 'stylish';\n\n    if (currentOptions.version) {\n        console.log('v' + pkg.version);\n    } else if (currentOptions.help) {\n        if (files.length) {\n            console.log(options.generateHelpForOption(files[0]));\n        } else {\n            console.log(options.generateHelp());\n        }\n    } else if (currentOptions.listTargetVersion) {\n        printVersions(currentOptions);\n    } else if (files.length) {\n        // console.log(files);\n        // console.log(files.length);\n        // const allFiles = _.flatMap(files, f => {\n        //     const fp = path.resolve(context.cwd, f);\n        //     if (fs.statSync(fp).isDirectory()) {\n        //         // TODO: consider removing glob and simply walk the directory\n        //         return glob.sync(`${fp}/**/*.rt`, {cwd: context.cwd});\n        //     }\n        //     return fp;\n        // });\n        var allFiles = _.flatMap(files, function (f) {\n            return glob.sync(f, { cwd: context.cwd });\n        });\n        // console.log(allFiles.length);\n        _.forEach(allFiles, handleSingleFile.bind(this, currentOptions));\n        ret = shell.printResults(context);\n    } else {\n        console.log(options.generateHelp());\n    }\n    return ret;\n}\n\nfunction printVersions(currentOptions) {\n    var ret = Object.keys(reactDOMSupport);\n    if (currentOptions.format === 'json') {\n        console.log(JSON.stringify(ret, undefined, 2));\n    } else {\n        console.log(ret.join(', '));\n    }\n}\n\n/**\n * @param {Options} currentOptions\n * @param {string} filename file name to process\n */\nfunction handleSingleFile(currentOptions, filename) {\n    try {\n        var sourceExt = path.extname(filename);\n        var outputFilename = void 0;\n        if (sourceExt === '.rt') {\n            outputFilename = filename + (currentOptions.modules === 'typescript' ? '.ts' : '.js');\n        } else if (sourceExt === '.jsrt') {\n            outputFilename = filename.replace(/\\.jsrt$/, '.js');\n            currentOptions = _.assign({}, currentOptions, { modules: 'jsrt' });\n        } else if (sourceExt === '.rts') {\n            outputFilename = filename + '.js';\n            currentOptions = _.assign({}, currentOptions, { modules: 'rts' });\n        } else {\n            context.error('invalid file, only handle rt/jsrt files', filename);\n            return;\n        }\n        api.convertFile(filename, outputFilename, currentOptions, context);\n    } catch (e) {\n        context.error(e.message, filename, e.line, e.column, e.startOffset, e.endOffset);\n    }\n}\n\n/**\n * Executes the CLI based on an array of arguments that is passed in.\n * @param {string|Array|Object} args The arguments to process.\n * @returns {int} The exit code for the operation.\n */\nfunction execute(args) {\n    try {\n        var currentOptions = options.parse(args);\n        return executeOptions(currentOptions);\n    } catch (error) {\n        console.error(error.message);\n        return 1;\n    }\n}\n\nmodule.exports = {\n    context: context,\n    execute: execute,\n    executeOptions: executeOptions,\n    handleSingleFile: handleSingleFile,\n    convertTemplateToReact: reactTemplates.convertTemplateToReact,\n    convertStyle: rtStyle.convert\n};"]}