UNPKG

@altostra/core

Version:

Core library for shared types and logic

1 lines 1.24 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fileExtensionByRuntime=exports.getFunctionUtilities=void 0;const path_1=require("path"),Path_1=require("../../../../common/CustomTypes/Path"),common_1=require("./common");function getFunctionUtilities(e,t){return Object.assign(Object.assign({},(0,common_1.getEnvironmentVarsUtility)(e,t,e=>{var t;return null===(t=e.environment)||void 0===t?void 0:t.variables},getParametrizedEnvironment)),{getEntryPointPath(){if("image"===t.resource.packageType||t.resource.code)return;const e=fileExtensionByRuntime(t.resource.runtime);if(!e)return;const n=t.resource.entryPoint,i=(0,path_1.dirname)(n),o=(0,path_1.basename)(n),r=(0,path_1.extname)(o),s=`${o.substring(0,o.length-r.length)}${e}`;return(0,Path_1.path)((0,path_1.join)(i,s))}})}function getParametrizedEnvironment(e){var t;return null===(t=e.getParameterizedResource().environment)||void 0===t?void 0:t.variables}exports.getFunctionUtilities=getFunctionUtilities;const nodejsRuntimeRX=/^nodejs\d+\.(?:x|\d+)$/,pythonRuntimeRX=/^python\d+\.\d+$/;function fileExtensionByRuntime(e){return nodejsRuntimeRX.test(e)?".js":pythonRuntimeRX.test(e)?".py":void 0}exports.fileExtensionByRuntime=fileExtensionByRuntime;