12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- const fs = require('fs');
- const path = require('path');
- let utils = {
- parseLine: (line) => {
- if (line.startsWith('$') && line.endsWith('!default')) {
- const colon_index = line.indexOf(':');
- const variable_name = line.substring(0, colon_index).trim();
- const default_index = line.indexOf('!default');
- const variable_value = line.substring(colon_index + 1, default_index).trim();
- return variable = {
- name: variable_name,
- value: variable_value,
- type: utils.getVariableType(variable_name, variable_value),
- };
- }
- return false;
- },
- getLines: (files, file_path) => {
- const file = files[file_path];
- const slash_index = file_path.lastIndexOf('/');
- const dot_index = file_path.lastIndexOf('.');
- const file_name = file_path.substring(slash_index + 1, dot_index);
- return {
- file_name,
- lines: file.contents.toString().split(/(?:\r\n|\r|\n)/g),
- }
- },
- ensureDirectoryExistence: (file_path) => {
- var dirname = path.dirname(file_path);
- if (fs.existsSync(dirname)) {
- return true;
- }
- utils.ensureDirectoryExistence(dirname);
- fs.mkdirSync(dirname);
- }
- }
- utils.files = {};
- module.exports = utils;
|