lr-i18n
Version:
Allows to connect your `Laravel` Framework localization files with `React`.
50 lines (49 loc) • 1.74 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const helper_1 = require("./helper");
exports.default = {
/**
*
* @param dirname
*/
getJsonLocale: (dirname) => {
const sanitizedDirname = (0, helper_1.dirnameSanitize)(dirname);
if (!fs_1.default.existsSync(sanitizedDirname)) {
return [];
}
return fs_1.default
.readdirSync(sanitizedDirname)
.filter((basename) => {
const fullPath = path_1.default.join(sanitizedDirname, basename);
return fs_1.default.statSync(fullPath).isFile() && !basename.startsWith('php_');
})
.map((basename) => basename.replace(/\.json$/, ''))
.sort();
},
/**
*
* @param dirname
*/
getPhpLocale: (dirname) => {
const sanitizedDirname = (0, helper_1.dirnameSanitize)(dirname);
if (!fs_1.default.existsSync(sanitizedDirname)) {
return [];
}
return fs_1.default
.readdirSync(sanitizedDirname)
.filter((folder) => {
const fullPath = path_1.default.join(sanitizedDirname, folder);
return fs_1.default.statSync(fullPath).isDirectory();
})
.filter((folder) => {
const phpFiles = fs_1.default.readdirSync(path_1.default.join(sanitizedDirname, folder));
return phpFiles.some((basename) => /\.php$/.test(basename));
})
.sort();
}
};