fix(build): migrate filesystem access to smartfs and tighten TypeScript compatibility
This commit is contained in:
@@ -27,7 +27,8 @@ export let findVarsInHbsString = async (hbsStringArg: string) => {
|
||||
|
||||
// make sure we are clean from curly brackets
|
||||
varNameArray = varNameArray.map((x) => {
|
||||
return x.match(nameInCurlsRegex)[0];
|
||||
const match = x.match(nameInCurlsRegex);
|
||||
return match ? match[0] : '';
|
||||
});
|
||||
|
||||
// make sure are uniq
|
||||
@@ -44,7 +45,7 @@ export let findVarsInHbsString = async (hbsStringArg: string) => {
|
||||
* @param varObjectArg
|
||||
* @return string array with missing variable names
|
||||
*/
|
||||
export let checkVarsSatisfaction = async (hbsStringArg: string, varObjectArg: any) => {
|
||||
export let checkVarsSatisfaction = async (hbsStringArg: string, varObjectArg: Record<string, unknown>) => {
|
||||
// required vars as combined deep string with . notation
|
||||
let requiredVarStrings = await findVarsInHbsString(hbsStringArg);
|
||||
|
||||
@@ -55,14 +56,17 @@ export let checkVarsSatisfaction = async (hbsStringArg: string, varObjectArg: an
|
||||
// building the
|
||||
for (let stringVar of requiredVarStrings) {
|
||||
let splittedVars = stringVar.split('.');
|
||||
let requiredPointer = suppliedVarsObject;
|
||||
let requiredPointer: unknown = suppliedVarsObject;
|
||||
for (let i = 0; i < splittedVars.length; i++) {
|
||||
let splitVar = splittedVars[i];
|
||||
let varAvailable = requiredPointer[splitVar] !== undefined;
|
||||
const pointerObject = requiredPointer && typeof requiredPointer === 'object'
|
||||
? requiredPointer as Record<string, unknown>
|
||||
: {};
|
||||
let varAvailable = pointerObject[splitVar] !== undefined;
|
||||
if (varAvailable && splittedVars.length === i + 1) {
|
||||
// ok
|
||||
} else if (varAvailable) {
|
||||
requiredPointer = requiredPointer[splitVar];
|
||||
requiredPointer = pointerObject[splitVar];
|
||||
} else {
|
||||
missingVarsObject.push(stringVar);
|
||||
i = splittedVars.length;
|
||||
|
||||
Reference in New Issue
Block a user