UNPKG

@haystacks/async

Version:

A framework to build any number or any kind of native application or automation solution.

443 lines (412 loc) 40.9 kB
/** * @file rulesLibrary.js * @module rulesLibrary * @description Contains all of the system defined business rules as a map between function names and function calls. * @requires module:auxiliaryArrayParsing * @requires module:characterArrayParsing * @requires module:commandArrayParsing * @requires module:constantArrayParsing * @requires module:constantArrayParsing * @requires module:dataArrayParsing * @requires module:pathArrayParsing * @requires module:wordArrayParsing * @requires module:auxiliaryStringParsing * @requires module:characterStringParsing * @requires module:commandStringParsing * @requires module:constantStringParsing * @requires module:dataStringParsing * @requires module:fileStringParsing * @requires module:wordStringParsing * @requires module:characterGeneration * @requires module:fileOperations * @requires module:languageParsing * @requires module:lexicalAnalyzer * @requires module:mathOperations * @requires module:promptOperations * @requires module:ruleParsing * @requires module:stringGeneration * @requires module:stringParsingUtilities * @requires module:timeComputation * @requires module:data * @requires {@link https://www.npmjs.com/package/@haystacks/constants|@haystacks/constants} * @requires {@link https://www.npmjs.com/package/path|path} * @author Seth Hollingsead * @date 2021/10/27 * @copyright Copyright © 2022-… by Seth Hollingsead. All rights reserved */ // Internal imports // import arrayParsing from './rules/arrayParsing.js'; import auxiliaryArrayParsing from './rules/arrayParsing/auxiliaryArrayParsing.js'; import characterArrayParsing from './rules/arrayParsing/characterArrayParsing.js'; import commandArrayParsing from './rules/arrayParsing/commandArrayParsing.js'; import constantArrayParsing from './rules/arrayParsing/constantArrayParsing.js'; import dataArrayParsing from './rules/arrayParsing/dataArrayParsing.js'; import pathArrayParsing from './rules/arrayParsing/pathArrayParsing.js'; import wordArrayParsing from './rules/arrayParsing/wordArrayParsing.js'; // import auxiliaryStringParsing from './rules/stringParsing/auxiliaryStringParsing.js'; import characterStringParsing from './rules/stringParsing/characterStringParsing.js'; import commandStringParsing from './rules/stringParsing/commandStringParsing.js'; import constantStringParsing from './rules/stringParsing/constantStringParsing.js'; import dataStringParsing from './rules/stringParsing/dataStringParsing.js'; import fileStringParsing from './rules/stringParsing/fileStringParsing.js'; import wordStringParsing from './rules/stringParsing/wordStringParsing.js'; import characterGeneration from './rules/characterGeneration.js'; import fileOperations from './rules/fileOperations.js'; import languageParsing from './rules/languageParsing.js'; import lexicalAnalyzer from './rules/lexicalAnalyzer.js'; import mathOperations from './rules/mathOperations.js'; import promptOperations from './rules/promptOperations.js'; import ruleParsing from './rules/ruleParsing.js'; import stringGeneration from './rules/stringGeneration.js'; import stringParsingUtilities from './rules/stringParsingUtilities.js'; import timeComputation from './rules/timeComputation.js'; import D from '../structures/data.js'; // External imports import hayConst from '@haystacks/constants'; import path from 'path'; const {bas, biz, sys, wrd} = hayConst; const baseFileName = path.basename(import.meta.url, path.extname(import.meta.url)); // framework.businessRules.rulesLibrary. // eslint-disable-next-line no-unused-vars const namespacePrefix = wrd.cframework + bas.cDot + sys.cbusinessRules + bas.cDot + baseFileName + bas.cDot; /** * @function clearRulesLibrary * @description Clears out the business rules data structure on D. Useful so that it can be re-initialized. * @return {void} * @author Seth Hollingsead * @date 2023/02/12 */ async function clearRulesLibrary() { // let functionName = clearRulesLibrary.name; // console.log(`BEGIN ${namespacePrefix}${functionName} function`); D[sys.cbusinessRules] = {}; // console.log(`END ${namespacePrefix}${functionName} function`); } /** * @function initRulesLibrary * @description Initializes the business rules function data structure on D. * @return {void} * @author Seth Hollingsead * @date 2021/10/27 * @NOTE Please be aware that the Commands and BusinessRules data fields in the * D-data structure are going to display as empty when printing out the D-data structure even when using JSON.stringify(). * This is because the functions cannot really be serialized in any way. It actually kind of makes sense, * but could be really confusing if you are struggling, trying to debug commands or business rules that do not appear to exist. */ async function initRulesLibrary() { // let functionName = initRulesLibrary.name; // console.log(`BEGIN ${namespacePrefix}${functionName} function`); D[sys.cbusinessRules] = {}; D[sys.cbusinessRules] = { // eslint-disable-next-line no-unused-vars [biz.cecho]: (inputData, inputMetaData) => console.log(JSON.stringify(inputData)), // Business Rules // *********************************************************************** // BEGIN ArrayParsing category // *********************************************************************** // *********************************************** // auxiliaryArrayParsing rules in order // *********************************************** [biz.cparseColorRangeInputs]: (inputData, inputMetaData) => auxiliaryArrayParsing.parseColorRangeInputs(inputData, inputMetaData), [biz.cgetNamedColorDataArray]: (inputData, inputMetaData) => auxiliaryArrayParsing.getNamedColorDataArray(inputData, inputMetaData), [biz.cdoesArrayContainValue]: (inputData, inputMetaData) => auxiliaryArrayParsing.doesArrayContainValue(inputData, inputMetaData), // *********************************************** // characterArrayParsing rules in order // *********************************************** [biz.creplaceCharacterWithCharacter]: (inputData, inputMetaData) => characterArrayParsing.replaceCharacterWithCharacter(inputData, inputMetaData), [biz.cdoesArrayContainCharacter]: (inputData, inputMetaData) => characterArrayParsing.doesArrayContainCharacter(inputData, inputMetaData), [biz.cremoveCharacterFromArray]: (inputData, inputMetaData) => characterArrayParsing.removeCharacterFromArray(inputData, inputMetaData), [biz.creplaceCharacterAtIndex]: (inputData, inputMetaData) => characterArrayParsing.replaceCharacterAtIndex(inputData, inputMetaData), // *********************************************** // commandArrayParsing rules in order // *********************************************** [biz.csolveLehmerCode]: (inputData, inputMetaData) => commandArrayParsing.solveLehmerCode(inputData, inputMetaData), [biz.crecursiveArrayExpansion]: (inputData, inputMetaData) => commandArrayParsing.recursiveArrayExpansion(inputData, inputMetaData), [biz.cgetLehmerCodeValue]: (inputData, inputMetaData) => commandArrayParsing.getLehmerCodeValue(inputData, inputMetaData), [biz.cgenerateCommandAliases]: (inputData, inputMetaData) => commandArrayParsing.generateCommandAliases(inputData, inputMetaData), [biz.caggregateCommandArguments]: (inputData, inputMetaData) => commandArrayParsing.aggregateCommandArguments(inputData, inputMetaData), // *********************************************** // constantArrayParsing rules in order // *********************************************** [biz.cgetLengthOfLongestStringInArray]: (inputData, inputMetaData) => constantArrayParsing.getLengthOfLongestStringInArray(inputData, inputMetaData), [biz.csearchForPatternsInStringArray]: (inputData, inputMetaData) => constantArrayParsing.searchForPatternsInStringArray(inputData, inputMetaData), [biz.cvalidatePatternsThatNeedImplementation]: (inputData, inputMetaData) => constantArrayParsing.validatePatternsThatNeedImplementation(inputData, inputMetaData), // *********************************************** // dataArrayParsing rules in order // *********************************************** [biz.carraysAreEqual]: (inputData, inputMetaData) => dataArrayParsing.arraysAreEqual(inputData, inputMetaData), [biz.cstoreData]: (inputData, inputMetaData) => dataArrayParsing.storeData(inputData, inputMetaData), [biz.cgetStoredData]: (inputData, inputMetaData) => dataArrayParsing.getStoredData(inputData, inputMetaData), [biz.cisObjectEmpty]: (inputData, inputMetaData) => dataArrayParsing.isObjectEmpty(inputData, inputMetaData), [biz.cisArrayEmpty]: (inputData, inputMetaData) => dataArrayParsing.isArrayEmpty(inputData, inputMetaData), [biz.cisObject]: (inputData, inputMetaData) => dataArrayParsing.isObject(inputData, inputMetaData), [biz.cisArray]: (inputData, inputMetaData) => dataArrayParsing.isArray(inputData, inputMetaData), [biz.cisArrayOrObject]: (inputData, inputMetaData) => dataArrayParsing.isArrayOrObject(inputData, inputMetaData), [biz.cisNonZeroLengthArray]: (inputData, inputMetaData) => dataArrayParsing.isNonZeroLengthArray(inputData, inputMetaData), [biz.carrayDeepClone]: (inputData, inputMetaData) => dataArrayParsing.arrayDeepClone(inputData, inputMetaData), [biz.cobjectDeepClone]: (inputData, inputMetaData) => dataArrayParsing.objectDeepClone(inputData, inputMetaData), [biz.cobjectDeepMerge]: (inputData, inputMetaData) => dataArrayParsing.objectDeepMerge(inputData, inputMetaData), [biz.cgetNamespacedDataObject]: (inputData, inputMetaData) => dataArrayParsing.getNamespacedDataObject(inputData, inputMetaData), [biz.csetNamespacedDataObject]: (inputData, inputMetaData) => dataArrayParsing.setNamespacedDataObject(inputData, inputMetaData), // *********************************************** // pathArrayParsing rules in order // *********************************************** [biz.cdoesArrayContainFilename]: (inputData, inputMetaData) => pathArrayParsing.doesArrayContainFilename(inputData, inputMetaData), [biz.cgetFileAndPathListForPath]: (inputData, inputMetaData) => pathArrayParsing.getFileAndPathListForPath(inputData, inputMetaData), // *********************************************** // wordArrayParsing rules in order // *********************************************** [biz.cconvertCamelCaseStringToArray]: (inputData, inputMetaData) => wordArrayParsing.convertCamelCaseStringToArray(inputData, inputMetaData), [biz.cgetWordsArrayFromString]: (inputData, inputMetaData) => wordArrayParsing.getWordsArrayFromString(inputData, inputMetaData), [biz.crecombineStringArrayWithSpaces]: (inputData, inputMetaData) => wordArrayParsing.recombineStringArrayWithSpaces(inputData, inputMetaData), [biz.cconvertArrayToCamelCaseString]: (inputData, inputMetaData) => wordArrayParsing.convertArrayToCamelCaseString(inputData, inputMetaData), [biz.cdoesArrayContainLowerCaseConsolidatedString]: (inputData, inputMetaData) => wordArrayParsing.doesArrayContainLowerCaseConsolidatedString(inputData, inputMetaData), [biz.cascertainMatchingElements]: (inputData, inputMetaData) => wordArrayParsing.ascertainMatchingElements(inputData, inputMetaData), // *********************************************************************** // END ArrayParsing category // *********************************************************************** // *********************************************************************** // BEGIN StringParsing category // *********************************************************************** // *********************************************** // auxiliaryStringParsing rules in order // *********************************************** // NONE - getNowMoment was here, but it was a wrapper function, so it was removed. // I am going to leave this here as a landing place for future auxiliaryStringParsing utility business rules. // *********************************************** // characterStringParsing rules in order // *********************************************** [biz.csingleQuoteSwapAfterEquals]: (inputData, inputMetaData) => characterStringParsing.singleQuoteSwapAfterEquals(inputData, inputMetaData), [biz.cswapForwardSlashToBackSlash]: (inputData, inputMetaData) => characterStringParsing.swapForwardSlashToBackSlash(inputData, inputMetaData), [biz.cswapBackSlashToForwardSlash]: (inputData, inputMetaData) => characterStringParsing.swapBackSlashToForwardSlash(inputData, inputMetaData), [biz.cswapDoubleForwardSlashToSingleForwardSlash]: (inputData, inputMetaData) => characterStringParsing.swapDoubleForwardSlashToSingleForwardSlash(inputData, inputMetaData), [biz.cswapDoubleBackSlashToSingleBackSlash]: (inputData, inputMetaData) => characterStringParsing.swapDoubleBackSlashToSingleBackSlash(inputData, inputMetaData), [biz.creplaceSpacesWithPlus]: (inputData, inputMetaData) => characterStringParsing.replaceSpacesWithPlus(inputData, inputMetaData), [biz.creplaceColonWithUnderscore]: (inputData, inputMetaData) => characterStringParsing.replaceColonWithUnderscore(inputData, inputMetaData), [biz.ccleanCarriageReturnFromString]: (inputData, inputMetaData) => characterStringParsing.cleanCarriageReturnFromString(inputData, inputMetaData), [biz.cconvertStringToLowerCase]: (inputData, inputMetaData) => characterStringParsing.convertStringToLowerCase(inputData, inputMetaData), [biz.cconvertStringToUpperCase]: (inputData, inputMetaData) => characterStringParsing.convertStringToUpperCase(inputData, inputMetaData), [biz.cdoesStringContainUpperCaseCharacter]: (inputData, inputMetaData) => characterStringParsing.doesStringContainUpperCaseCharacter(inputData, inputMetaData), [biz.cdoesStringContainLowerCaseCharacter]: (inputData, inputMetaData) => characterStringParsing.doesStringContainLowerCaseCharacter(inputData, inputMetaData), [biz.cisFirstCharacterLowerCase]: (inputData, inputMetaData) => characterStringParsing.isFirstCharacterLowerCase(inputData, inputMetaData), [biz.cisFirstCharacterUpperCase]: (inputData, inputMetaData) => characterStringParsing.isFirstCharacterUpperCase(inputData, inputMetaData), [biz.creplaceCharacterAtIndexOfString]: (inputData, inputMetaData) => characterStringParsing.replaceCharacterAtIndexOfString(inputData, inputMetaData), // *********************************************** // commandStringParsing rules in order // *********************************************** [biz.ccleanCommandInput]: (inputData, inputMetaData) => commandStringParsing.cleanCommandInput(inputData, inputMetaData), [biz.cisValidCommandNameString]: (inputData, inputMetaData) => commandStringParsing.isValidCommandNameString(inputData, inputMetaData), // *********************************************** // constantStringParsing rules in order // *********************************************** [biz.cvalidateConstantsDataValidation]: (inputData, inputMetaData) => constantStringParsing.validateConstantsDataValidation(inputData, inputMetaData), [biz.cdetermineConstantsContextQualifiedPrefix]: (inputData, inputMetaData) => constantStringParsing.determineConstantsContextQualifiedPrefix(inputData, inputMetaData), [biz.cdetermineSuggestedConstantsValidationLineOfCode]: (inputData, inputMetaData) => constantStringParsing.determineSuggestedConstantsValidationLineOfCode(inputData, inputMetaData), [biz.cvalidateConstantsDataValidationLineItemName]: (inputData, inputMetaData) => constantStringParsing.validateConstantsDataValidationLineItemName(inputData, inputMetaData), [biz.cgetConstantsValidationNamespaceParentObject]: (inputData, inputMetaData) => constantStringParsing.getConstantsValidationNamespaceParentObject(inputData, inputMetaData), [biz.cgetConstantsValidationNamespaceObject]: (inputData, inputMetaData) => constantStringParsing.getConstantsValidationNamespaceObject(inputData, inputMetaData), [biz.cdoesConstantNamespaceExist]: (inputData, inputMetaData) => constantStringParsing.doesConstantNamespaceExist(inputData, inputMetaData), [biz.cdoesConstantExist]: (inputData, inputMetaData) => constantStringParsing.doesConstantExist(inputData, inputMetaData), [biz.cdoesConstantExistInConstantLibraryObject]: (inputData, inputMetaData) => constantStringParsing.doesConstantExistInConstantLibraryObject(inputData, inputMetaData), [biz.cgetConstantTypeInConstantLibraryObject]: (inputData, inputMetaData) => constantStringParsing.getConstantTypeInConstantLibraryObject(inputData, inputMetaData), [biz.cgetConstantNameInConstantLibraryObject]: (inputData, inputMetaData) => constantStringParsing.getConstantNameInConstantLibraryObject(inputData, inputMetaData), [biz.cgetConstantActualValueInConstantLibraryObject]: (inputData, inputMetaData) => constantStringParsing.getConstantActualValueInConstantLibraryObject(inputData, inputMetaData), [biz.cdoesConstantExistInConstantNamespaceObject]: (inputData, inputMetaData) => constantStringParsing.doesConstantExistInConstantNamespaceObject(inputData, inputMetaData), [biz.cgetConstantNameInConstantNamespaceObject]: (inputData, inputMetaData) => constantStringParsing.getConstantNameInConstantNamespaceObject(inputData, inputMetaData), [biz.cgetConstantActualValueInConstantNamespaceObject]: (inputData, inputMetaData) => constantStringParsing.getConstantActualValueInConstantNamespaceObject(inputData, inputMetaData), [biz.cgetConstantType]: (inputData, inputMetaData) => constantStringParsing.getConstantType(inputData, inputMetaData), [biz.cgetConstantActualValue]: (inputData, inputMetaData) => constantStringParsing.getConstantActualValue(inputData, inputMetaData), [biz.cgetConstantName]: (inputData, inputMetaData) => constantStringParsing.getConstantName(inputData, inputMetaData), [biz.cfindConstantName]: (inputData, inputMetaData) => constantStringParsing.findConstantName(inputData, inputMetaData), [biz.cisConstantTypeValid]: (inputData, inputMetaData) => constantStringParsing.isConstantTypeValid(inputData, inputMetaData), [biz.cconvertConstantTypeToConstantPrefix]: (inputData, inputMetaData) => constantStringParsing.convertConstantTypeToConstantPrefix(inputData, inputMetaData), [biz.cconstantsOptimizedFulfillmentSystem]: (inputData, inputMetaData) => constantStringParsing.constantsOptimizedFulfillmentSystem(inputData, inputMetaData), [biz.cconstantsFulfillmentSystem]: (inputData, inputMetaData) => constantStringParsing.constantsFulfillmentSystem(inputData, inputMetaData), [biz.cvalidateConstantsDataValues]: (inputData, inputMetaData) => constantStringParsing.validateConstantsDataValues(inputData, inputMetaData), [biz.cisConstantValid]: (inputData, inputMetaData) => constantStringParsing.isConstantValid(inputData, inputMetaData), // *********************************************** // dataStringParsing rules in order // *********************************************** [biz.cgetAttributeName]: (inputData, inputMetaData) => dataStringParsing.getAttributeName(inputData, inputMetaData), [biz.cgetAttributeValue]: (inputData, inputMetaData) => dataStringParsing.getAttributeValue(inputData, inputMetaData), [biz.cgetValueFromAssignmentOperationString]: (inputData, inputMetaData) => dataStringParsing.getValueFromAssignmentOperationString(inputData, inputMetaData), [biz.cgetDataCategoryFromDataContextName]: (inputData, inputMetaData) => dataStringParsing.getDataCategoryFromDataContextName(inputData, inputMetaData), [biz.cgetDataCategoryDetailNameFromDataContextName]: (inputData, inputMetaData) => dataStringParsing.getDataCategoryDetailNameFromDataContextName(inputData, inputMetaData), [biz.cgetKeywordNameFromDataContextName]: (inputData, inputMetaData) => dataStringParsing.getKeywordNameFromDataContextName(inputData, inputMetaData), [biz.cloadDataFile]: (inputData, inputMetaData) => dataStringParsing.loadDataFile(inputData, inputMetaData), [biz.csaveDataFile]: (inputData, inputMetaData) => dataStringParsing.saveDataFile(inputData, inputMetaData), [biz.cgetUserNameFromEmail]: (inputData, inputMetaData) => dataStringParsing.getUserNameFromEmail(inputData, inputMetaData), [biz.cencryptStringAes256]: (inputData, inputMetaData) => dataStringParsing.encryptStringAes256(inputData, inputMetaData), [biz.cdecryptStringAes256]: (inputData, inputMetaData) => dataStringParsing.decryptStringAes256(inputData, inputMetaData), [biz.cobfuscateString]: (inputData, inputMetaData) => dataStringParsing.obfuscateString(inputData, inputMetaData), // *********************************************** // fileStringParsing rules in order // *********************************************** [biz.cgetFileNameFromPath]: (inputData, inputMetaData) => fileStringParsing.getFileNameFromPath(inputData, inputMetaData), [biz.cremoveFileNameFromPath]: (inputData, inputMetaData) => fileStringParsing.removeFileNameFromPath(inputData, inputMetaData), [biz.cgetFileExtension]: (inputData, inputMetaData) => fileStringParsing.getFileExtension(inputData, inputMetaData), [biz.cremoveDotFromFileExtension]: (inputData, inputMetaData) => fileStringParsing.removeDotFromFileExtension(inputData, inputMetaData), [biz.cremoveFileExtensionFromFileName]: (inputData, inputMetaData) => fileStringParsing.removeFileExtensionFromFileName(inputData, inputMetaData), [biz.cascertainMatchingFilenames]: (inputData, inputMetaData) => fileStringParsing.ascertainMatchingFilenames(inputData, inputMetaData), [biz.csupportedFileFormatsAre]: (inputData, inputMetaData) => fileStringParsing.supportedFileFormatsAre(inputData, inputMetaData), [biz.cremoveXnumberOfFoldersFromEndOfPath]: (inputData, inputMetaData) => fileStringParsing.removeXnumberOfFoldersFromEndOfPath(inputData, inputMetaData), [biz.cgetFirstTopLevelFolderFromPath]: (inputData, inputMetaData) => fileStringParsing.getFirstTopLevelFolderFromPath(inputData, inputMetaData), // *********************************************** // wordStringParsing rules in order // *********************************************** [biz.cisStringCamelCase]: (inputData, inputMetaData) => wordStringParsing.isStringCamelCase(inputData, inputMetaData), [biz.cmapWordToCamelCaseWord]: (inputData, inputMetaData) => wordStringParsing.mapWordToCamelCaseWord(inputData, inputMetaData), [biz.csimplifyAndConsolidateString]: (inputData, inputMetaData) => wordStringParsing.simplifyAndConsolidateString(inputData, inputMetaData), [biz.ccompareSimplifiedAndConsolidatedStrings]: (inputData, inputMetaData) => wordStringParsing.compareSimplifiedAndConsolidatedStrings(inputData, inputMetaData), [biz.ccountCamelCaseWords]: (inputData, inputMetaData) => wordStringParsing.countCamelCaseWords(inputData, inputMetaData), [biz.cdoesStringContainAcronym]: (inputData, inputMetaData) => wordStringParsing.doesStringContainAcronym(inputData, inputMetaData), [biz.cdetermineWordDelimiter]: (inputData, inputMetaData) => wordStringParsing.determineWordDelimiter(inputData, inputMetaData), [biz.ccountDelimiterInString]: (inputData, inputMetaData) => wordStringParsing.countDelimiterInString(inputData, inputMetaData), [biz.cgetWordCountInString]: (inputData, inputMetaData) => wordStringParsing.getWordCountInString(inputData, inputMetaData), [biz.cisStringList]: (inputData, inputMetaData) => wordStringParsing.isStringList(inputData, inputMetaData), [biz.caggregateNumericalDifferenceBetweenTwoStrings]: (inputData, inputMetaData) => wordStringParsing.aggregateNumericalDifferenceBetweenTwoStrings(inputData, inputMetaData), // *********************************************************************** // END StringParsing category // *********************************************************************** // *********************************************** // characterGeneration rules in order // *********************************************** [biz.crandomlyGenerateMixedCaseLetterOrSpecialCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateMixedCaseLetterOrSpecialCharacter(inputData, inputMetaData), [biz.crandomlyGenerateUpperCaseLetterOrSpecialCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateUpperCaseLetterOrSpecialCharacter(inputData, inputMetaData), [biz.crandomlyGenerateLowerCaseLetterOrSpecialCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateLowerCaseLetterOrSpecialCharacter(inputData, inputMetaData), [biz.crandomlyGenerateEitherMixedCaseLetterOrNumberOrSpecialCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateEitherMixedCaseLetterOrNumberOrSpecialCharacter(inputData, inputMetaData), [biz.crandomlyGenerateEitherUpperCaseLetterOrNumberOrSpecialCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateEitherUpperCaseLetterOrNumberOrSpecialCharacter(inputData, inputMetaData), [biz.crandomlyGenerateEitherLowerCaseLetterOrNumberOrSpecialCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateEitherLowerCaseLetterOrNumberOrSpecialCharacter(inputData, inputMetaData), [biz.crandomlyGenerateMixedCaseAlphaNumericCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateMixedCaseAlphaNumericCharacter(inputData, inputMetaData), [biz.crandomlyGenerateUpperCaseAlphaNumericCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateUpperCaseAlphaNumericCharacter(inputData, inputMetaData), [biz.crandomlyGenerateLowerCaseAlphaNumericCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateLowerCaseAlphaNumericCharacter(inputData, inputMetaData), [biz.crandomlyGenerateNumericCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateNumericCharacter(inputData, inputMetaData), [biz.crandomlyGenerateSpecialCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateSpecialCharacter(inputData, inputMetaData), [biz.crandomlyGenerateNumberInRange]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateNumberInRange(inputData, inputMetaData), [biz.crandomlyGenerateBooleanValue]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateBooleanValue(inputData, inputMetaData), [biz.crandomlyGenerateMixedCaseAlphabeticCharacter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateMixedCaseAlphabeticCharacter(inputData, inputMetaData), [biz.crandomlyGenerateLowerCaseLetter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateLowerCaseLetter(inputData, inputMetaData), [biz.crandomlyGenerateUpperCaseLetter]: (inputData, inputMetaData) => characterGeneration.randomlyGenerateUpperCaseLetter(inputData, inputMetaData), [biz.cconvertNumberToUpperCaseLetter]: (inputData, inputMetaData) => characterGeneration.convertNumberToUpperCaseLetter(inputData, inputMetaData), [biz.cconvertNumberToLowerCaseLetter]: (inputData, inputMetaData) => characterGeneration.convertNumberToLowerCaseLetter(inputData, inputMetaData), // *********************************************** // fileOperations rules in order // *********************************************** [biz.cgetXmlData]: (inputData, inputMetaData) => fileOperations.getXmlData(inputData, inputMetaData), [biz.cgetCsvData]: (inputData, inputMetaData) => fileOperations.getCsvData(inputData, inputMetaData), [biz.cgetJsonData]: (inputData, inputMetaData) => fileOperations.getJsonData(inputData, inputMetaData), [biz.cwriteJsonData]: (inputData, inputMetaData) => fileOperations.writeJsonData(inputData, inputMetaData), [biz.cwriteAsciiData]: (inputData, inputMetaData) => fileOperations.writeAsciiData(inputData, inputMetaData), [biz.cloadAsciiFileFromPath]: (inputData, inputMetaData) => fileOperations.loadAsciiFileFromPath(inputData, inputMetaData), [biz.creadDirectoryContents]: (inputData, inputMetaData) => fileOperations.readDirectoryContents(inputData, inputMetaData), [biz.cscanDirectoryContents]: (inputData, inputMetaData) => fileOperations.scanDirectoryContents(inputData, inputMetaData), [biz.cgetDirectoryList]: (inputData, inputMetaData) => fileOperations.getDirectoryList(inputData, inputMetaData), [biz.creadDirectorySynchronously]: (inputData, inputMetaData) => fileOperations.readDirectorySynchronously(inputData, inputMetaData), [biz.ccopyAllFilesAndFoldersFromFolderToFolder]: (inputData, inputMetaData) => fileOperations.copyAllFilesAndFoldersFromFolderToFolder(inputData, inputMetaData), [biz.cbuildReleasePackage]: (inputData, inputMetaData) => fileOperations.buildReleasePackage(inputData, inputMetaData), [biz.ccreateZipArchive]: (inputData, inputMetaData) => fileOperations.createZipArchive(inputData, inputMetaData), [biz.ccleanRootPath]: (inputData, inputMetaData) => fileOperations.cleanRootPath(inputData, inputMetaData), [biz.ccopyFileSync]: (inputData, inputMetaData) => fileOperations.copyFileSync(inputData, inputMetaData), [biz.ccopyFolderRecursiveSync]: (inputData, inputMetaData) => fileOperations.copyFolderRecursiveSync(inputData, inputMetaData), [biz.cdeleteFile]: (inputData, inputMetaData) => fileOperations.deleteFile(inputData, inputMetaData), [biz.cappendMessageToFile]: (inputData, inputMetaData) => fileOperations.appendMessageToFile(inputData, inputMetaData), // *********************************************** // language Parsing rules in order // *********************************************** [biz.clanguageToAlphabet]: (inputData, inputMetaData) => languageParsing.languageToAlphabet(inputData, inputMetaData), [biz.cgetEnglishAlphabet]: (inputData, inputMetaData) => languageParsing.getEnglishAlphabet(inputData, inputMetaData), [biz.cgetChineseSimplifiedAlphabet]: (inputData, inputMetaData) => languageParsing.getChineseSimplifiedAlphabet(inputData, inputMetaData), [biz.cgetChineseTraditionalAlphabet]: (inputData, inputMetaData) => languageParsing.getChineseTraditionalAlphabet(inputData, inputMetaData), [biz.cgetCzechAlphabet]: (inputData, inputMetaData) => languageParsing.getCzechAlphabet(inputData, inputMetaData), [biz.cgetFrenchAlphabet]: (inputData, inputMetaData) => languageParsing.getFrenchAlphabet(inputData, inputMetaData), [biz.cgetGermanAlphabet]: (inputData, inputMetaData) => languageParsing.getGermanAlphabet(inputData, inputMetaData), [biz.cgetHungarianAlphabet]: (inputData, inputMetaData) => languageParsing.getHungarianAlphabet(inputData, inputMetaData), [biz.cgetItalianAlphabet]: (inputData, inputMetaData) => languageParsing.getItalianAlphabet(inputData, inputMetaData), [biz.cgetJapaneseAlphabet]: (inputData, inputMetaData) => languageParsing.getJapaneseAlphabet(inputData, inputMetaData), [biz.cgetKoreanAlphabet]: (inputData, inputMetaData) => languageParsing.getKoreanAlphabet(inputData, inputMetaData), [biz.cgetMiscellaneousAlphabet]: (inputData, inputMetaData) => languageParsing.getMiscellaneousAlphabet(inputData, inputMetaData), [biz.cgetPolishAlphabet]: (inputData, inputMetaData) => languageParsing.getPolishAlphabet(inputData, inputMetaData), [biz.cgetPortugueseAlphabet]: (inputData, inputMetaData) => languageParsing.getPortugueseAlphabet(inputData, inputMetaData), [biz.cgetRussianAlphabet]: (inputData, inputMetaData) => languageParsing.getRussianAlphabet(inputData, inputMetaData), [biz.cgetSpanishAlphabet]: (inputData, inputMetaData) => languageParsing.getSpanishAlphabet(inputData, inputMetaData), // *********************************************** // lexicalAnalyzer rules in order // *********************************************** [biz.cparseBusinessRuleArgument]: (inputData, inputMetaData) => lexicalAnalyzer.parseBusinessRuleArgument(inputData, inputMetaData), [biz.canalyzeArgument]: (inputData, inputMetaData) => lexicalAnalyzer.analyzeArgument(inputData, inputMetaData), [biz.canalyzeForRegularExpression]: (inputData, inputMetaData) => lexicalAnalyzer.analyzeForRegularExpression(inputData, inputMetaData), [biz.cparseArumentAsRegularExpression]: (inputData, inputMetaData) => lexicalAnalyzer.parseArumentAsRegularExpression(inputData, inputMetaData), [biz.cparseArgumentAsArray]: (inputData, inputMetaData) => lexicalAnalyzer.parseArgumentAsArray(inputData, inputMetaData), [biz.cremoveStringLiteralTagsFromArray]: (inputData, inputMetaData) => lexicalAnalyzer.removeStringLiteralTagsFromArray(inputData, inputMetaData), // *********************************************** // mathOperations rules in order // *********************************************** [biz.chex2rgbConversion]: (inputData, inputMetaData) => mathOperations.hex2rgbConversion(inputData, inputMetaData), [biz.cisOdd]: (inputData, inputMetaData) => mathOperations.isOdd(inputData, inputMetaData), [biz.cisEven]: (inputData, inputMetaData) => mathOperations.isEven(inputData, inputMetaData), // *********************************************** // promptOperations rules in order // *********************************************** [biz.cprompt]: (inputData, inputMetaData) => promptOperations.prompt(inputData, inputMetaData), [biz.cpromptRaw]: (inputData, inputMetaData) =>promptOperations.promptRaw(inputData, inputMetaData), // *********************************************** // ruleParsing rules in order // *********************************************** [biz.cdoAllRulesExist]: (inputData, inputMetaData) => ruleParsing.doAllRulesExist(inputData, inputMetaData), [biz.cdoesRuleExist]: (inputData, inputMetaData) => ruleParsing.doesRuleExist(inputData, inputMetaData), [biz.cgetRule]: (inputData, inputMetaData) => ruleParsing.getRule(inputData, inputMetaData), [biz.cprocessRulesInternal]: (inputData, inputMetaData) => ruleParsing.processRulesInternal(inputData, inputMetaData), // *********************************************** // stringGeneration rules in order // *********************************************** [biz.cgenerateRandomMixedCaseTextByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomMixedCaseTextByLength(inputData, inputMetaData), [biz.cgenerateRandomUpperCaseTextByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomUpperCaseTextByLength(inputData, inputMetaData), [biz.cgenerateRandomLowerCaseTextByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomLowerCaseTextByLength(inputData, inputMetaData), [biz.cgenerateRandomMixedCaseTextWithSpecialCharactersByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomMixedCaseTextWithSpecialCharactersByLength(inputData, inputMetaData), [biz.cgenerateRandomUpperCaseTextWithSpecialCharactersByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomUpperCaseTextWithSpecialCharactersByLength(inputData, inputMetaData), [biz.cgenerateRandomLowerCaseTextWithSpecialCharactersByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomLowerCaseTextWithSpecialCharactersByLength(inputData, inputMetaData), [biz.cgenerateRandomMixedCaseAlphaNumericCodeByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomMixedCaseAlphaNumericCodeByLength(inputData, inputMetaData), [biz.cgenerateRandomUpperCaseAlphaNumericCodeByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomUpperCaseAlphaNumericCodeByLength(inputData, inputMetaData), [biz.cgenerateRandomLowerCaseAlphaNumericCodeByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomLowerCaseAlphaNumericCodeByLength(inputData, inputMetaData), [biz.cgenerateRandomNumericCodeByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomNumericCodeByLength(inputData, inputMetaData), [biz.cgenerateRandomMixedCaseAlphaNumericCodeWithSpecialCharactersByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomMixedCaseAlphaNumericCodeWithSpecialCharactersByLength(inputData, inputMetaData), [biz.cgenerateRandomUpperCaseAlphaNumericCodeWithSpecialCharactersByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomUpperCaseAlphaNumericCodeWithSpecialCharactersByLength(inputData, inputMetaData), [biz.cgenerateRandomLowerCaseAlphaNumericCodeWithSpecialCharactersByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomLowerCaseAlphaNumericCodeWithSpecialCharactersByLength(inputData, inputMetaData), [biz.cgenerateRandomSpecialCharacterCodeByLength]: (inputData, inputMetaData) => stringGeneration.generateRandomSpecialCharacterCodeByLength(inputData, inputMetaData), [biz.cgenerateValidEmail]: (inputData, inputMetaData) => stringGeneration.generateValidEmail(inputData, inputMetaData), [biz.cgenerateInvalidEmail]: (inputData, inputMetaData) => stringGeneration.generateInvalidEmail(inputData, inputMetaData), [biz.cgenerateValidEmailWithSpecificSuffixAndDomainName]: (inputData, inputMetaData) => stringGeneration.generateValidEmailWithSpecificSuffixAndDomainName(inputData, inputMetaData), [biz.cgenerateRandomValidEmail]: (inputData, inputMetaData) => stringGeneration.generateRandomValidEmail(inputData, inputMetaData), [biz.cgenerateInvalidEmailWithSpecificSuffixAndDomainName]: (inputData, inputMetaData) => stringGeneration.generateInvalidEmailWithSpecificSuffixAndDomainName(inputData, inputMetaData), [biz.cgenerateRandomInvalidEmail]: (inputData, inputMetaData) => stringGeneration.generateRandomInvalidEmail(inputData, inputMetaData), [biz.cgenerateRandomBrightColor]: (inputData, inputMetaData) => stringGeneration.generateRandomBrightColor(inputData, inputMetaData), [biz.cgenerateRandomDarkColor]: (inputData, inputMetaData) => stringGeneration.generateRandomDarkColor(inputData, inputMetaData), [biz.cgenerateRandomColor]: (inputData, inputMetaData) => stringGeneration.generateRandomColor(inputData, inputMetaData), // *********************************************** // stringParsingutilities rules in order // *********************************************** [biz.cparseSystemRootPath]: (inputData, inputMetaData) => stringParsingUtilities.parseSystemRootPath(inputData, inputMetaData), [biz.cparseSystemRootPathApplicationName]: (inputData, inputMetaData) => stringParsingUtilities.parseSystemRootPathApplicationName(inputData, inputMetaData), [biz.cstringToDataType]: (inputData, inputMetaData) => stringParsingUtilities.stringToDataType(inputData, inputMetaData), [biz.cstringToBoolean]: (inputData, inputMetaData) => stringParsingUtilities.stringToBoolean(inputData, inputMetaData), [biz.cdetermineObjectDataType]: (inputData, inputMetaData) => stringParsingUtilities.determineObjectDataType(inputData, inputMetaData), [biz.cisBoolean]: (inputData, inputMetaData) => stringParsingUtilities.isBoolean(inputData, inputMetaData), [biz.cisInteger]: (inputData, inputMetaData) => stringParsingUtilities.isInteger(inputData, inputMetaData), [biz.cisFloat]: (inputData, inputMetaData) => stringParsingUtilities.isFloat(inputData, inputMetaData), [biz.cisString]: (inputData, inputMetaData) => stringParsingUtilities.isString(inputData, inputMetaData), [biz.creplaceDoublePercentWithMessage]: (inputData, inputMetaData) => stringParsingUtilities.replaceDoublePercentWithMessage(inputData, inputMetaData), [biz.cutilitiesReplaceCharacterWithCharacter]: (inputData, inputMetaData) => stringParsingUtilities.utilitiesReplaceCharacterWithCharacter(inputData, inputMetaData), // *********************************************** // timeComputation rules in order // *********************************************** [biz.cgetNowMoment]: (inputData, inputMetaData) => timeComputation.getNowMoment(inputData, inputMetaData), [biz.ccomputeDeltaTime]: (inputData, inputMetaData) => timeComputation.computeDeltaTime(inputData, inputMetaData), [biz.creformatDeltaTime]: (inputData, inputMetaData) => timeComputation.reformatDeltaTime(inputData, inputMetaData), [biz.csleep]: (inputData, inputMetaData) => timeComputation.sleep(inputData, inputMetaData), } // console.log(`END ${namespacePrefix}${functionName} function`); } export default { clearRulesLibrary, initRulesLibrary };