From babf043eb3a092533a76d9ce378990597e31d431 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Thu, 5 Aug 2021 17:19:24 -0300 Subject: [PATCH] new(basic.gblib): new TOLIST and FIND now works with hour intervals. --- packages/basic.gblib/services/GBVMService.ts | 7 ++++--- packages/basic.gblib/services/SystemKeywords.ts | 11 +++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/basic.gblib/services/GBVMService.ts b/packages/basic.gblib/services/GBVMService.ts index 87a3bae9..10b5400c 100644 --- a/packages/basic.gblib/services/GBVMService.ts +++ b/packages/basic.gblib/services/GBVMService.ts @@ -80,7 +80,7 @@ export class GBVMService extends GBService { const vbsFile = filename.substr(0, filename.indexOf('docx')) + 'vbs'; const fullVbsFile = urlJoin(folder, vbsFile); const docxStat = fs.statSync(urlJoin(folder, wordFile)); - const interval = 30000; // If compiled is older 30 seconds, then recompile. + const interval = 1000; // If compiled is older 30 seconds, then recompile. let writeVBS = true; if (fs.existsSync(fullVbsFile)) { const vbsStat = fs.statSync(fullVbsFile); @@ -502,7 +502,8 @@ export class GBVMService extends GBService { code = code.replace('hour = await', 'hour ='); // TODO: Improve this. code = code.replace('weekday = await', 'weekday ='); // TODO: Improve this. code = code.replace('tolist = await', 'tolist ='); // TODO: Improve this. - code = code.replace('isArray = async', 'isArray ='); // TODO: Waiting for a compiler. + code = code.replace('isarray = async', 'isarray ='); // TODO: Waiting for a compiler. + code = code.replace('isArray = async', 'isarray ='); // TODO: Waiting for a compiler. return code; } @@ -788,7 +789,7 @@ export class GBVMService extends GBService { ret = await sandbox[mainMethod](step); } catch (error) { - throw new Error(`BASIC ERROR: ${error.message} ${error.stack}`); + throw new Error(`BASIC ERROR: ${error.message ? error.message : error}\n Stack:${error.stack}`); } return ret; } diff --git a/packages/basic.gblib/services/SystemKeywords.ts b/packages/basic.gblib/services/SystemKeywords.ts index 5f842e8b..c1eb55f6 100644 --- a/packages/basic.gblib/services/SystemKeywords.ts +++ b/packages/basic.gblib/services/SystemKeywords.ts @@ -75,11 +75,14 @@ export class SystemKeywords { } public async append(...args) { - return [].concat(...args); + let array = [].concat(...args); + return array.filter(function (item, pos) { return item; }); } public async sortBy(array, memberName) { - return array ? [].sort(p => p[memberName]) : null; + return array ? array.sort(p => + { if (p) { return p[memberName]; } }) : + null; } /** @@ -312,7 +315,7 @@ export class SystemKeywords { let getFilter = async (text) => { let filter; - const operators = [/\<\=/, /\>\=/, /\/, /\bnot in\b/,/\bin\b/, /\=/]; + const operators = [/\<\=/, /\>\=/, /\/, /\bnot in\b/, /\bin\b/, /\=/]; let done = false; await CollectionUtil.asyncForEach(operators, async op => { var re = new RegExp(op, "gi"); @@ -350,7 +353,7 @@ export class SystemKeywords { function isValidNumber(number) { return !isNaN(number); } - + function isValidHour(value) { return /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/.test(value); }