UNPKG

jdoodle-client

Version:
1 lines 4.65 kB
{"version":3,"file":"jdoodle-client.node.mjs","sources":["../src/universal/base.js","../src/node/jdoodle-client.js"],"sourcesContent":["import {\n name as LIB_NAME,\n version as LIB_VERSION\n} from '../../package.json';\n\nconst jdoodle = {\n get [Symbol.toStringTag]() {\n return LIB_NAME;\n },\n version: LIB_VERSION,\n defaultExecutePath: '/jdoodleExecute',\n defaultCreditSpentPath: '/jdoodleCreditSpent'\n};\n\nexport default jdoodle;\n","import jdoodle from '../universal/base';\n\nimport https from 'https';\n\nfunction _callAPI(url, opts) {\n return new Promise((resolve, reject) => {\n let content = JSON.stringify(opts);\n let req = https.request(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Content-Length': content.length\n }\n }, res => {\n let received = [];\n res.\n on('data', data => received.push(String(data))).\n on('end', () => {\n // Wrap in a try-catch because JSON.parse might throw and\n // we're in an unprotected callback after the promise is created\n try { resolve(JSON.parse(received.join(''))); }\n catch (err) { reject(err); }\n }).\n on('error', err => reject(err));\n }).on('error', err => reject(err));\n req.write(content);\n req.end();\n });\n}\n\nfunction callExecuteAPI({\n endpoint = process.env.JDOODLE_ENDPOINT_EXECUTE ||\n 'https://api.jdoodle.com/v1/execute',\n clientId = process.env.JDOODLE_CLIENT_ID,\n clientSecret = process.env.JDOODLE_CLIENT_SECRET,\n language = 'ruby',\n versionIndex = 2,\n stdin = 'Hi',\n script = 'puts \"ruby \\#{RUBY_VERSION}: \\#{ARGF.read}\"'\n} = {}) {\n return _callAPI(endpoint, {\n clientId,\n clientSecret,\n language,\n versionIndex,\n stdin,\n script\n });\n}\n\nfunction callCreditSpentAPI({\n endpoint = process.env.JDOODLE_ENDPOINT_CREDIT_SPENT ||\n 'https://api.jdoodle.com/v1/credit-spent',\n clientId = process.env.JDOODLE_CLIENT_ID,\n clientSecret = process.env.JDOODLE_CLIENT_SECRET\n} = {}) {\n return _callAPI(endpoint, {\n clientId,\n clientSecret\n });\n}\n\nconst execute = opts => callExecuteAPI(opts).\n catch(err => ({error: `${err}`, statusCode: 500}));\n\nconst creditSpent = opts => callCreditSpentAPI(opts).\n catch(err => ({error: `${err}`, statusCode: 500}));\n\nObject.assign(jdoodle, {\n callExecuteAPI,\n callCreditSpentAPI,\n execute,\n creditSpent\n});\n\nexport default jdoodle;\n"],"names":["LIB_NAME","LIB_VERSION"],"mappings":"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"}