Repository URL to install this package:
|
Version:
0.8.2 ▾
|
// (c) Copyright 2023 Supertenant Ltd. - all rights reserved.
// See LICENSE file in project root for license terms.
"use strict";const fs=require("fs");let logger;logger=require("../logger").getLogger("actions/source",newLogger=>{logger=newLogger});const validFileRequests=/\.(js|ts|jsx)$|(^|\/)package\.json$/i;function readFile(request,multiCb){fs.readFile(request.args.file,{encoding:"utf8"},(error,content)=>{error?(logger.debug("Failed to retrieve source file for user request: %s.",request.args.file,{error:error}),multiCb({error:"Could not load file. Error: "+error.message})):multiCb({data:content})})}exports.getSourceFile=(request,multiCb)=>{request.args.file.match(validFileRequests)?readFile(request,multiCb):multiCb({error:"File does not seem to be a JavaScript file."})};