@mchp-mcc/scf-pic8-osc-v1 4.4.0 → 4.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Changelog.md +7 -10
- package/Readme.md +7 -10
- package/output/autoCreator.js +1 -1
- package/output/autoCreator.js.map +1 -1
- package/output/autoProcessor.js +1 -1
- package/output/autoProcessor.js.map +1 -1
- package/output/clock.c.ftl +2 -2
- package/output/clock.h.ftl +1 -1
- package/output/creator.js +1 -1
- package/output/creator.js.map +1 -1
- package/output/processor.js +1 -1
- package/output/processor.js.map +1 -1
- package/package.json +12 -12
package/output/processor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","mappings":"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","sources":["webpack://processor/./node_modules/@microchip/melody-automodule-interface/lib/src/DerivedFunctions.js","webpack://processor/./node_modules/@microchip/melody-automodule-interface/lib/src/Tables.js","webpack://processor/./node_modules/@microchip/pins-interface/lib/types.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/Analytics/AnalyticsHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/App/AppModel.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/Utils.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleAppModel.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleHardware.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleHelpers.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleTemplates.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/ContextualHelp.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/FrequencyComponentHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/RegisterFilterMode.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/TimeComponentHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/getConfigData.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/registerEditor/RegisterEditorHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/autoModuleView.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/autoModuleViewHelpers.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/formData.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/scfUiSchema.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/schema.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/uiSchema.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/creator.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/index.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/createPrototypeExports.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/createPrototypeImports.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/exports.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/imports.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interrupts/InterruptActions.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/pins/PCPHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/pins/PCPStateActionBuilder.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/processor.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/tables/UidMapBuilder.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/tables/tables.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/node_modules/@microchip/scf-register-view-helper/lib/CreateRegisterView.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/node_modules/@microchip/scf-register-view-helper/lib/Model.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/node_modules/@microchip/scf-register-view-helper/lib/ViewSchemaBuilder.js","webpack://processor/./node_modules/@microchip/scf-common/lib/Processor.js","webpack://processor/./node_modules/@microchip/scf-device/lib/CalculateRegisterValue.js","webpack://processor/./node_modules/@microchip/scf-device/lib/Register.js","webpack://processor/./node_modules/@microchip/scf-device/lib/Setting.js","webpack://processor/./node_modules/@microchip/scf-device/lib/util/Arrays.js","webpack://processor/./node_modules/@microchip/scf-interface/lib/c-function-types.js","webpack://processor/./node_modules/@microchip/scf-interface/lib/helpers.js","webpack://processor/./node_modules/@microchip/scf-interface/lib/index.js","webpack://processor/./node_modules/@microchip/sys-init-basic-interface/lib/api.js","webpack://processor/./node_modules/@microchip/sys-init-basic-interface/lib/index.js","webpack://processor/./node_modules/@microchip/sys-init-basic-interface/lib/mock.js","webpack://processor/./node_modules/@microchip/sys-init-basic-interface/lib/sys-init-basic-interface.js","webpack://processor/./src/PinsLogic.ts","webpack://processor/webpack/bootstrap","webpack://processor/webpack/runtime/define property getters","webpack://processor/webpack/runtime/hasOwnProperty shorthand","webpack://processor/webpack/runtime/make namespace object","webpack://processor/./src/StringConstants.ts","webpack://processor/./src/ClockCalculator.ts","webpack://processor/./generated_module/src/pins/PCPHelper.ts","webpack://processor/./src/DerivedData.ts","webpack://processor/./generated_module/src/getUserData.ts","webpack://processor/./generated_module/src/processor.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TABID = exports.COMPTYPE = void 0;\n/**\n * This interface contains function prototypes\n * @interface DerivedFunctions\n */\nvar COMPTYPE;\n(function (COMPTYPE) {\n COMPTYPE[\"SOFTWARE\"] = \"SW\";\n COMPTYPE[\"REGISTER\"] = \"REG\";\n COMPTYPE[\"INTERRUPT\"] = \"INT\";\n COMPTYPE[\"SETTING\"] = \"SET\";\n})(COMPTYPE = exports.COMPTYPE || (exports.COMPTYPE = {}));\nvar TABID;\n(function (TABID) {\n TABID[\"MAIN\"] = \"main\";\n TABID[\"REGISTER\"] = \"register\";\n})(TABID = exports.TABID || (exports.TABID = {}));\n//# sourceMappingURL=DerivedFunctions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RowPrefix = void 0;\nvar RowPrefix;\n(function (RowPrefix) {\n RowPrefix[\"Default\"] = \"defaultRow_\";\n RowPrefix[\"Dynamic\"] = \"dynamicRow_\";\n})(RowPrefix = exports.RowPrefix || (exports.RowPrefix = {}));\n//# sourceMappingURL=Tables.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.data_schema = exports.PIN_ARCH = exports.behaviour = exports.direction = exports.actiontype = exports.pin_attribs_enum = exports.pin_interrupts_enum = exports.pin_state = exports.QueryAdapterKey = void 0;\nvar QueryAdapterKey;\n(function (QueryAdapterKey) {\n QueryAdapterKey[\"ALLPINS\"] = \"allpins\";\n QueryAdapterKey[\"ALLPINS_FOR_ATTRIBS\"] = \"allpins_for_attribs\";\n QueryAdapterKey[\"PPS\"] = \"pps\";\n QueryAdapterKey[\"APFCON\"] = \"apfcon\";\n QueryAdapterKey[\"PORTMUX\"] = \"portmux\";\n QueryAdapterKey[\"HASPPS\"] = \"hasPPS\";\n})(QueryAdapterKey = exports.QueryAdapterKey || (exports.QueryAdapterKey = {}));\nvar pin_state;\n(function (pin_state) {\n pin_state[\"EMPTY\"] = \"E\";\n pin_state[\"LOCKED\"] = \"L\";\n pin_state[\"UNLOCK\"] = \"UL\";\n pin_state[\"DiSABLE_LOCK\"] = \"DL\";\n pin_state[\"UNLOCKED_DISABLED\"] = \"DUL\";\n pin_state[\"LOCKED_LINK\"] = \"LL\";\n pin_state[\"UNLOCKED_MUX\"] = \"MUL\";\n pin_state[\"LOCKED_CONFLICT\"] = \"CL\";\n})(pin_state = exports.pin_state || (exports.pin_state = {}));\nvar pin_interrupts_enum;\n(function (pin_interrupts_enum) {\n pin_interrupts_enum[\"INTDIS_BUFFEN\"] = \"INTDIS_BUFFEN\";\n pin_interrupts_enum[\"BOTH_EDGES\"] = \"BOTH_EDGES\";\n pin_interrupts_enum[\"RISING_EDGE\"] = \"RISING_EDGE\";\n pin_interrupts_enum[\"FALLING_EDGE\"] = \"FALLING_EDGE\";\n pin_interrupts_enum[\"NONE\"] = \"NONE\";\n pin_interrupts_enum[\"LOW_LEVEL\"] = \"LOW_LEVEL\";\n})(pin_interrupts_enum = exports.pin_interrupts_enum || (exports.pin_interrupts_enum = {}));\nvar pin_attribs_enum;\n(function (pin_attribs_enum) {\n pin_attribs_enum[\"aliasReEx\"] = \"aliasReEx\";\n pin_attribs_enum[\"cname\"] = \"cname\";\n pin_attribs_enum[\"high\"] = \"high\";\n pin_attribs_enum[\"inv\"] = \"inv\";\n pin_attribs_enum[\"wpu\"] = \"wpu\";\n pin_attribs_enum[\"wpd\"] = \"wpd\";\n pin_attribs_enum[\"od\"] = \"od\";\n pin_attribs_enum[\"analog\"] = \"analog\";\n pin_attribs_enum[\"ioc\"] = \"ioc\";\n pin_attribs_enum[\"intcallback\"] = \"intcallback\";\n pin_attribs_enum[\"alias\"] = \"alias\";\n pin_attribs_enum[\"advInpBuff\"] = \"advInpBuff\";\n})(pin_attribs_enum = exports.pin_attribs_enum || (exports.pin_attribs_enum = {}));\nvar actiontype;\n(function (actiontype) {\n actiontype[\"SETACTION\"] = \"SETACTION\";\n actiontype[\"ATTRIBACTION\"] = \"ATTRIBACTION\";\n})(actiontype = exports.actiontype || (exports.actiontype = {}));\nvar direction;\n(function (direction) {\n direction[\"output\"] = \"output\";\n direction[\"input\"] = \"input\";\n direction[\"bidirectional\"] = \"bidirectional\";\n})(direction = exports.direction || (exports.direction = {}));\nvar behaviour;\n(function (behaviour) {\n behaviour[\"LOCK_UNLOCK\"] = \"LOCK_UNLOCK\";\n behaviour[\"ALWAYS_LOCKED\"] = \"ALWAYS_LOCKED\";\n behaviour[\"SINGLE_PIN_MUX\"] = \"SINGLE_PIN_MUX\";\n behaviour[\"OPTIONAL_PIN_MUX\"] = \"OPTIONAL_PIN_MUX\";\n behaviour[\"PPS\"] = \"PPS\";\n behaviour[\"APFCON\"] = \"APFCON\";\n behaviour[\"PORTMUX\"] = \"PORTMUX\";\n behaviour[\"EXCLUSIVE_LOCK\"] = \"EXCLUSIVE_LOCK\";\n behaviour[\"LOCKED_DISABLED\"] = \"LOCKED_DISABLED\";\n})(behaviour = exports.behaviour || (exports.behaviour = {}));\nvar PIN_ARCH;\n(function (PIN_ARCH) {\n PIN_ARCH[\"PIC18F\"] = \"PIC18F\";\n PIN_ARCH[\"AVR8\"] = \"AVR8\";\n PIN_ARCH[\"PIC16F\"] = \"PIC16F\";\n PIN_ARCH[\"PIC24F\"] = \"PIC24F\";\n})(PIN_ARCH = exports.PIN_ARCH || (exports.PIN_ARCH = {}));\n//------------------------------------ schema ------------------------------------//\nexports.data_schema = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $ref: \"#/definitions/intf_data\",\n definitions: {\n intf_data: {\n type: \"object\",\n properties: {\n rows: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_row\",\n },\n },\n },\n required: [\"rows\"],\n additionalProperties: false,\n },\n pin_row: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n module: {\n type: \"string\",\n },\n function: {\n type: \"string\",\n },\n direction: {\n $ref: \"#/definitions/direction\",\n },\n filter: {\n $ref: \"#/definitions/filter\",\n },\n behaviour: {\n $ref: \"#/definitions/behaviour\",\n },\n behaviourMeta: {\n $ref: \"#/definitions/behaviourMeta\",\n },\n attribs: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_attribs\",\n },\n },\n groupsdata: {\n $ref: \"#/definitions/pingroups_data\",\n },\n actions: {},\n },\n required: [\"name\", \"module\", \"function\", \"direction\", \"filter\", \"behaviour\"],\n additionalProperties: false,\n },\n direction: {\n type: \"string\",\n enum: [\"output\", \"input\", \"bidirectional\"],\n },\n filter: {\n type: \"object\",\n properties: {\n module: {\n type: \"string\",\n },\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"module\", \"aliasReEx\"],\n additionalProperties: false,\n },\n behaviour: {\n type: \"string\",\n enum: [\n \"LOCK_UNLOCK\",\n \"ALWAYS_LOCKED\",\n \"SINGLE_PIN_MUX\",\n \"OPTIONAL_PIN_MUX\",\n \"PPS\",\n \"PORTMUX\",\n \"EXCLUSIVE_LOCK\",\n \"LOCKED_DISABLED\",\n ],\n },\n behaviourMeta: {\n type: \"object\",\n properties: {\n lockPinRegEx: {\n type: \"string\",\n },\n },\n required: [\"lockPinRegEx\"],\n additionalProperties: false,\n },\n pin_attribs: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n cname: {\n type: \"string\",\n },\n high: {\n type: \"boolean\",\n },\n inv: {\n type: \"boolean\",\n },\n wpu: {\n type: \"boolean\",\n },\n wpd: {\n type: \"boolean\",\n },\n od: {\n type: \"boolean\",\n },\n analog: {\n type: \"boolean\",\n },\n ioc: {\n $ref: \"#/definitions/pin_interrupts_enum\",\n },\n bidirection_out: {\n type: \"boolean\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n pin_interrupts_enum: {\n type: \"string\",\n enum: [\n \"INTDIS_BUFFEN\",\n \"BOTH_EDGES\",\n \"RISING_EDGE\",\n \"FALLING_EDGE\",\n \"NONE\",\n \"LOW_LEVEL\",\n ],\n },\n pingroups_data: {\n type: \"object\",\n properties: {\n groups: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pins_group\",\n },\n },\n },\n required: [\"groups\"],\n additionalProperties: false,\n },\n pins_group: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n filter: {\n $ref: \"#/definitions/grpfilter\",\n },\n datapath: {\n type: \"string\",\n },\n },\n required: [\"name\", \"filter\"],\n additionalProperties: false,\n },\n grpfilter: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n },\n};\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logAnalytics = exports.getAnalyticsDefault = void 0;\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar getAnalyticsDefault = function (model) {\n var logAlwaysComps = [];\n var stateChangeComps = [];\n return (0, exports.logAnalytics)(model, stateChangeComps, logAlwaysComps);\n};\nexports.getAnalyticsDefault = getAnalyticsDefault;\nvar logAnalytics = function (model, logAlwaysComps, logOnChangeComps) {\n var _a, _b;\n var retData = {};\n var moduleconfig = (0, getConfigData_1.getConfigData)(model, true);\n var alwaysCompsDesired = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.logAlwaysComps.concat(logAlwaysComps !== null && logAlwaysComps !== void 0 ? logAlwaysComps : []);\n retData = logAlwaysStaticAndDynamicData(model, moduleconfig, alwaysCompsDesired);\n var onChangeCompsDesired = (_b = moduleconfig.analytics) === null || _b === void 0 ? void 0 : _b.logOnChangeComps.concat(logOnChangeComps !== null && logOnChangeComps !== void 0 ? logOnChangeComps : []);\n var moduleState = model.getState();\n retData = __assign(__assign({}, retData), logOnChangeStaticAndDynamicData(moduleconfig, model, moduleState, onChangeCompsDesired));\n return retData;\n};\nexports.logAnalytics = logAnalytics;\nvar logAlwaysStaticAndDynamicData = function (model, moduleconfig, alwaysCompsDesired) {\n var _a, _b, _c;\n var retData = {};\n for (var _i = 0, _d = alwaysCompsDesired !== null && alwaysCompsDesired !== void 0 ? alwaysCompsDesired : []; _i < _d.length; _i++) {\n var eachDesiredComp = _d[_i];\n var correctMapping = void 0;\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n var compObj = void 0;\n var resultantAnalyticsKey = void 0;\n if (eachDesiredComp !== \"*\") {\n compObj = (_a = allComps[eachDesiredComp]) === null || _a === void 0 ? void 0 : _a.component;\n if (compObj === undefined || !isCompCategoryAllowed(compObj))\n continue;\n correctMapping = (_b = moduleconfig.analytics) === null || _b === void 0 ? void 0 : _b.compMapping[eachDesiredComp];\n resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachDesiredComp\n : correctMapping;\n var value = (compObj.type === \"time\" || compObj.type === \"frequency\") ? JSON.stringify(model.getComponentValue(eachDesiredComp)) : model.getComponentValue(eachDesiredComp);\n if (value !== undefined) {\n retData[resultantAnalyticsKey] = value;\n }\n }\n else {\n for (var eachCompName in allComps) {\n correctMapping = (_c = moduleconfig.analytics) === null || _c === void 0 ? void 0 : _c.compMapping[eachCompName];\n compObj = allComps[eachCompName].component;\n if (!isCompCategoryAllowed(compObj))\n continue;\n resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachCompName\n : correctMapping;\n retData[resultantAnalyticsKey] = (compObj.type === \"time\" || compObj.type === \"frequency\") ? JSON.stringify(model.getComponentValue(eachCompName)) : model.getComponentValue(eachCompName);\n }\n break;\n }\n }\n return retData;\n};\nvar formRegUndercSettNameForComp = function (compObj) {\n var regUndcSettingName = \"\";\n var compCategory = compObj.category;\n var compSetting = compCategory === \"hardware\" ? compObj.setting : \"\";\n var regName = getRegNameFromCompSettName(compObj.name, compSetting);\n if (regName === \"\") {\n regUndcSettingName = compSetting;\n }\n else if (compSetting === \"\") {\n regUndcSettingName = regName;\n }\n else {\n regUndcSettingName = regName + \"_\" + compSetting;\n }\n return regUndcSettingName;\n};\nvar getRegNameFromCompSettName = function (compName, settingName) {\n var regNameCaps = \"\";\n var compNameCaps = compName.toUpperCase();\n var settingNameCaps = settingName.toUpperCase();\n regNameCaps = compNameCaps.replace(settingNameCaps, \"\");\n return regNameCaps;\n};\nvar logOnChangeStaticAndDynamicData = function (moduleconfig, model, moduleState, onChangeCompsDesired) {\n var _a, _b;\n if (!onChangeCompsDesired || onChangeCompsDesired.length === 0)\n return {};\n var retData = logOnChangeDependencyComps(onChangeCompsDesired, model, moduleconfig);\n for (var eachCategoryKey in moduleState) {\n for (var eachSubCategoryKey in moduleState[eachCategoryKey]) {\n for (var eachChangedCompKey in moduleState[eachCategoryKey][eachSubCategoryKey]) {\n if ((onChangeCompsDesired === null || onChangeCompsDesired === void 0 ? void 0 : onChangeCompsDesired.indexOf(eachChangedCompKey)) !== -1 ||\n (onChangeCompsDesired === null || onChangeCompsDesired === void 0 ? void 0 : onChangeCompsDesired.indexOf(\"*\")) !== -1) {\n var correctMapping = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.compMapping[eachChangedCompKey];\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n var compObj = (_b = allComps[eachChangedCompKey]) === null || _b === void 0 ? void 0 : _b.component;\n if (compObj === undefined || !isCompCategoryAllowed(compObj))\n continue;\n var resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachChangedCompKey\n : correctMapping;\n retData[resultantAnalyticsKey] =\n moduleState[eachCategoryKey][eachSubCategoryKey][eachChangedCompKey];\n }\n }\n }\n }\n return retData;\n};\nvar consolidateDependencyCompNames = function (onChangeCompsDesired, model) {\n var _a, _b;\n var consolidatedCompNames = [];\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n for (var _i = 0, _c = onChangeCompsDesired !== null && onChangeCompsDesired !== void 0 ? onChangeCompsDesired : []; _i < _c.length; _i++) {\n var eachDesCompName = _c[_i];\n var compObj = (_a = allComps[eachDesCompName]) === null || _a === void 0 ? void 0 : _a.component;\n if (eachDesCompName !== \"*\" && (compObj === null || compObj === void 0 ? void 0 : compObj.category) === \"import\") {\n consolidatedCompNames.push(eachDesCompName);\n }\n else if (eachDesCompName === \"*\") {\n consolidatedCompNames = [];\n for (var eachcompKey in allComps) {\n compObj = (_b = allComps[eachcompKey]) === null || _b === void 0 ? void 0 : _b.component;\n if ((compObj === null || compObj === void 0 ? void 0 : compObj.category) === \"import\") {\n consolidatedCompNames.push(compObj.name);\n }\n }\n break;\n }\n }\n return consolidatedCompNames;\n};\nvar logOnChangeDependencyComps = function (onChangeCompsDesired, model, moduleconfig) {\n var _a, _b, _c;\n var result = {};\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n //stage 1 - consolidating all desired comps\n var consolidatedCompNames = consolidateDependencyCompNames(onChangeCompsDesired, model);\n //stage 2 - populating the analytics data for consolidated dep comps - stage\n for (var _i = 0, consolidatedCompNames_1 = consolidatedCompNames; _i < consolidatedCompNames_1.length; _i++) {\n var eachCompName = consolidatedCompNames_1[_i];\n var correctMapping = (_b = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.compMapping[eachCompName]) !== null && _b !== void 0 ? _b : eachCompName;\n var compObj = (_c = allComps[eachCompName]) === null || _c === void 0 ? void 0 : _c.component;\n if ((compObj === null || compObj === void 0 ? void 0 : compObj.category) !== \"import\")\n continue;\n var value = getDependencyCompValueForOnChange(compObj, model);\n if (value)\n result[correctMapping] = value;\n }\n return result;\n};\nvar getDependencyCompValueForOnChange = function (compObj, model) {\n var _a;\n var result = (_a = model.getImports()[compObj.importId].handle) === null || _a === void 0 ? void 0 : _a.label;\n return result;\n};\nvar isCompCategoryAllowed = function (compObj) {\n return (compObj !== undefined &&\n (compObj.category === \"hardware\" ||\n compObj.category === \"software\" ||\n compObj.category === \"import\" ||\n compObj.category === \"table\"));\n};\n//# sourceMappingURL=AnalyticsHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getModel = void 0;\nvar Processor = __importStar(require(\"@microchip/scf-common/lib/Processor\"));\nvar AutoModuleAppModel_1 = require(\"../autoModule/AutoModuleAppModel\");\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar exports_1 = require(\"../interfaces/exports\");\nvar imports_1 = require(\"../interfaces/imports\");\nvar PCPHelper_1 = require(\"../pins/PCPHelper\");\nvar tables_1 = require(\"../tables/tables\");\nvar getModel = function (prototype, getDerivedData) {\n return new MyAppModel(prototype, getDerivedData);\n};\nexports.getModel = getModel;\nvar MyAppModel = /** @class */ (function () {\n function MyAppModel(prototype, getDerivedData) {\n var _this = this;\n this.getState = function () { return _this.prototype.state; };\n this.getPayload = function () { return _this.prototype.payload; };\n this.getImports = function () { return _this.prototype.imports; };\n this.getExports = function () { return _this.prototype.exports; };\n this.getName = function () {\n return _this.getAutoModuleAppModel().getModuleName();\n };\n this.getCategory = function () {\n return _this.getAutoModuleAppModel().getModuleCategory();\n };\n this.getActiveName = function () {\n var _a, _b, _c;\n return (_c = (_b = (_a = _this.getDerivedFunctions()).getActiveName) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : _this.getName();\n };\n this.getGlobalNames = function () {\n var _a, _b, _c;\n return (_c = (_b = (_a = _this.getDerivedFunctions()).getGlobalNames) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : [];\n };\n this.getAutoModuleAppModel = function () {\n if (_this.autoModuleAppModel)\n return _this.autoModuleAppModel;\n _this.autoModuleAppModel = (0, AutoModuleAppModel_1.createAutoModuleAppModel)(_this);\n return _this.autoModuleAppModel;\n };\n this.getPrototypeModule = function () {\n return _this.prototype;\n };\n this.getRegisterValues = function (interfaceName) {\n if (_this.registerValues)\n return _this.registerValues;\n _this.registerValues = (0, AutoModuleHelpers_1.getRegisterValues)(_this, interfaceName);\n return _this.registerValues;\n };\n this.getInterrupts = function () {\n var _a, _b;\n if (_this.interrupts)\n return _this.interrupts;\n _this.interrupts = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.interrupts;\n return _this.interrupts;\n };\n this.getProperties = function () {\n var _a, _b;\n if (_this.properties)\n return _this.properties;\n _this.properties = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.properties;\n return _this.properties;\n };\n this.getRegisters = function () {\n var _a, _b;\n if (_this.registers)\n return _this.registers;\n _this.registers = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.registers;\n return _this.registers;\n };\n this.getHardware = function (interfaceName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n interfaceName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(interfaceName);\n if (interfaceName) {\n var peripheral_1 = (_c = (_b = (_a = _this.getPrototypeModule()) === null || _a === void 0 ? void 0 : _a.imports) === null || _b === void 0 ? void 0 : _b[interfaceName]) === null || _c === void 0 ? void 0 : _c.payload;\n if (!peripheral_1)\n return undefined;\n return {\n getPeripheral: function () { return peripheral_1; },\n getName: function () { return peripheral_1.name; },\n instanceNumber: Number((_d = peripheral_1.instance) !== null && _d !== void 0 ? _d : peripheral_1.name.replace(peripheral_1.group, \"\")),\n };\n }\n if (!_this.defaultHardware) {\n var peripheralName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)((_g = (_f = (_e = (0, getConfigData_1.getConfigData)(_this)) === null || _e === void 0 ? void 0 : _e.peripherals) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.interfaceId.name);\n var peripheral_2 = (_k = (_j = (_h = _this.getPrototypeModule()) === null || _h === void 0 ? void 0 : _h.imports) === null || _j === void 0 ? void 0 : _j[peripheralName !== null && peripheralName !== void 0 ? peripheralName : \"\"]) === null || _k === void 0 ? void 0 : _k.payload;\n if (peripheral_2) {\n _this.defaultHardware = {\n getPeripheral: function () {\n return peripheral_2;\n },\n getName: function () { return peripheral_2.name; },\n instanceNumber: Number((_l = peripheral_2.instance) !== null && _l !== void 0 ? _l : peripheral_2.name.replace(peripheral_2.group, \"\")),\n };\n }\n }\n return _this.defaultHardware;\n };\n this.getPeripheralDescription = function () {\n var _a;\n return (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n };\n this.getDerivedData = function () {\n if (_this.derivedData)\n return _this.derivedData;\n _this.derivedData = _this.getDerivedDataFunction(_this);\n return _this.derivedData;\n };\n this.getDerivedFunctions = function () {\n return _this.getDerivedData().getMyFunctions();\n };\n this.getDerivedFunction = function (functionName) {\n var _a, _b;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return (_b = (_a = _this.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[functionName]) === null || _b === void 0 ? void 0 : _b.call.apply(_b, __spreadArray([_a], args, false));\n };\n this.getExportInterfaces = function () {\n if (_this.exportInterfaces)\n return _this.exportInterfaces;\n _this.exportInterfaces = (0, exports_1.createExportInterfaces)(_this.prototype.exports, _this);\n return _this.exportInterfaces;\n };\n this.getImportInterfaces = function () {\n if (_this.importInterfaces)\n return _this.importInterfaces;\n _this.importInterfaces = (0, imports_1.createImportInterfaces)(_this.prototype.imports, _this);\n return _this.importInterfaces;\n };\n this.isControlledByInterface = function (componentName) {\n var _a;\n return ((_a = _this.getExportInterfaces()) === null || _a === void 0 ? void 0 : _a.isControlledByInterface(componentName)) == true;\n };\n this.getAssignedImport = function (importName) {\n var _a;\n if (((_a = _this.prototype.imports) === null || _a === void 0 ? void 0 : _a[importName]) &&\n Processor.isAssigned(_this.prototype.imports[importName])) {\n return _this.prototype.imports[importName];\n }\n return undefined;\n };\n this.getImportValue = function (importName) {\n var _a;\n return (_a = _this.getAssignedImport(importName)) === null || _a === void 0 ? void 0 : _a.payload;\n };\n this.filterImportBySetting = function (populatedImports, importKey, optionFilter) {\n var _a;\n var filteredImports = __assign({}, populatedImports);\n if (populatedImports[importKey]) {\n filteredImports = __assign(__assign({}, filteredImports), (_a = {}, _a[importKey] = Processor.filterOptions(populatedImports[importKey], function (option) {\n return optionFilter(option);\n }), _a));\n }\n return filteredImports;\n };\n this.isComponentValue = function (componentName, componentMeta) {\n var _a;\n var value = _this.getComponentValue(componentName, componentMeta);\n var regex = new RegExp(\"enabled?\");\n var isValue = false;\n if (value) {\n if (typeof value === \"string\") {\n if (value === \"true\") {\n isValue = true;\n }\n else if (value === \"false\") {\n isValue = false;\n }\n else {\n isValue = regex.test((_a = String(value)) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n }\n }\n else if (typeof value === \"boolean\") {\n isValue = value;\n }\n else {\n isValue = false;\n }\n }\n else {\n isValue = false;\n }\n return isValue;\n };\n this.getComponent = function (componentName) {\n return _this.getAutoModuleAppModel().getComponent(componentName);\n };\n this.getPCPHelper = function () {\n if (!_this.pcpHelper) {\n _this.pcpHelper = new PCPHelper_1.PCPHelper();\n _this.pcpHelper.setCallbacks({\n getCompletePinData: function () { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getCompletePinData(_this); },\n getRowData: function (rowData) { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getRowData(_this, rowData); },\n getPinsData: function () { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getPinsData(); },\n });\n }\n return _this.pcpHelper;\n };\n this.getTableHelpers = tables_1.getTableHelpers;\n this.prototype = prototype;\n this.getDerivedDataFunction = getDerivedData;\n }\n MyAppModel.prototype.processDynamicComps = function () {\n this.getAutoModuleAppModel();\n this.autoModuleAppModel.processDynamicComps();\n };\n MyAppModel.prototype.getComponentValue = function (componentName, componentMeta) {\n return this.getAutoModuleAppModel().getComponentValue(componentName, componentMeta);\n };\n return MyAppModel;\n}());\n//# sourceMappingURL=AppModel.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toDictionary = exports.assertNotNull = exports.map = exports.forEach = exports.values = exports.getKeys = void 0;\n/** @returns the non-prototype keys of the given object */\nvar getKeys = function (obj) {\n return Object.getOwnPropertyNames(obj);\n};\nexports.getKeys = getKeys;\n/**\n * Gets the values of a map as a list\n * @param obj\n * @returns\n */\nvar values = function (obj) {\n return (0, exports.getKeys)(obj).map(function (key) { return obj[key]; });\n};\nexports.values = values;\nvar forEach = function (obj, action) {\n (0, exports.getKeys)(obj).forEach(function (key) { return action(key, obj[key]); });\n};\nexports.forEach = forEach;\nvar map = function (obj, mapper) {\n return (0, exports.getKeys)(obj).map(function (key) { return mapper(key, obj[key]); });\n};\nexports.map = map;\nvar assertNotNull = function (val, msg) {\n if (val == null) {\n throw new Error(msg);\n }\n};\nexports.assertNotNull = assertNotNull;\nvar toDictionary = function (arr, keyMapper, valueMapper) {\n var result = {};\n arr.forEach(function (entry) {\n result[keyMapper(entry)] = valueMapper(entry);\n });\n return result;\n};\nexports.toDictionary = toDictionary;\n//# sourceMappingURL=Utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyAutoModuleAppModel = exports.createAutoModuleAppModel = void 0;\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Utils_1 = require(\"../Utils\");\nvar AutoModuleHelper = __importStar(require(\"./AutoModuleHelpers\"));\nvar getConfigData_1 = require(\"./getConfigData\");\nvar RegisterEditorHelper_1 = require(\"./registerEditor/RegisterEditorHelper\");\nvar createAutoModuleAppModel = function (model, config) {\n return new MyAutoModuleAppModel(model, config);\n};\nexports.createAutoModuleAppModel = createAutoModuleAppModel;\nvar MyAutoModuleAppModel = /** @class */ (function () {\n function MyAutoModuleAppModel(model, config) {\n var _this = this;\n this.getModuleName = function () {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (_this.moduleName)\n return _this.moduleName;\n _this.moduleName =\n (_h = (_f = (_d = (_c = (_b = (_a = _this.model.getDerivedFunctions()).moduleName) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : _this.model.getComponentValue(\"componentName\")) !== null && _d !== void 0 ? _d : (_e = _this.model.getHardware()) === null || _e === void 0 ? void 0 : _e.getName()) !== null && _f !== void 0 ? _f : (_g = _this.config) === null || _g === void 0 ? void 0 : _g.moduleName) !== null && _h !== void 0 ? _h : \"Module\";\n return _this.moduleName;\n };\n this.getModuleCategory = function () {\n var _a, _b;\n return (_b = (_a = _this.model.getDerivedFunctions()).moduleCategory) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n this.createComponentList = function () {\n var componentList = {};\n var components = _this.getComponentList();\n var componentsWithDynamicDependencySelectors = __spreadArray(__spreadArray([], components, true), _this.getDefaultDependencySelectors(components), true);\n if (componentsWithDynamicDependencySelectors) {\n componentsWithDynamicDependencySelectors.forEach(function (component) {\n componentList[component.name] = {\n component: component,\n };\n });\n }\n return componentList;\n };\n this.getAllComponents = function () { return _this.componentList; };\n this.getComponentList = function () {\n var _a, _b, _c;\n var components = [];\n var config = _this.config;\n if (!config)\n return components;\n //Software Components\n (_b = (0, Utils_1.values)((_a = config.softwareData) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (entry) {\n components.push(entry);\n });\n //Hardware Components\n (_c = config.peripherals) === null || _c === void 0 ? void 0 : _c.forEach(function (peripheral) {\n var _a;\n if (peripheral.registers) {\n (_a = (0, Arrays_1.getKeys)(peripheral.registers)) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a, _b;\n (_b = (_a = peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName]) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n var _a, _b;\n //Only add hardware components that exist at runtime\n var hardwareRegister = (_b = (_a = _this.model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[registerName];\n if (!(hardwareRegister === null || hardwareRegister === void 0 ? void 0 : hardwareRegister.settings) ||\n hardwareRegister.settings[setting.setting] ||\n hardwareRegister.type === \"register\") {\n components.push(setting);\n }\n });\n });\n }\n });\n return components;\n };\n this.getActions = function (component) {\n var _a, _b, _c;\n return ((_c = (_b = (_a = _this.model.getDerivedFunctions()).getActions) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.actions);\n };\n this.getDefaultComponentAction = function (componentName) {\n var _a;\n var component = (_a = _this.getComponent(componentName)) === null || _a === void 0 ? void 0 : _a.component;\n return {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"main\",\n path: \"\".concat(component === null || component === void 0 ? void 0 : component.group, \".\").concat(component === null || component === void 0 ? void 0 : component.name),\n value: \"%v\",\n },\n };\n };\n this.getSoftwareComponentValue = function (tab, component) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined && (component.type === \"time\" || component.type === \"frequency\")) {\n if (overriddenValue.defaultValue) {\n return overriddenValue.defaultValue;\n }\n else {\n return ((_d = (_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) !== null && _d !== void 0 ? _d : component.defaultValue);\n }\n }\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n return processedArg.value;\n }\n }\n return ((_h = (_g = (_f = (_e = _this.state) === null || _e === void 0 ? void 0 : _e[tab]) === null || _f === void 0 ? void 0 : _f[component.group]) === null || _g === void 0 ? void 0 : _g[component.name]) !== null && _h !== void 0 ? _h : AutoModuleHelper.getDefaultValue(_this.model.getDerivedFunctions().overrideDefaultValues, component));\n };\n this.getHardwareComponentValue = function (tab, component, setting) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!_this.hardware)\n return undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n return processedArg.value;\n }\n }\n var overriddenCompValue = AutoModuleHelper.getOverrideDefaultValue(component, _this.model);\n var value; // value based on priority\n if (((_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) != null) {\n value = _this.state[tab][component.group][component.name];\n }\n else if (overriddenCompValue !== undefined) {\n value = overriddenCompValue;\n }\n else {\n value =\n setting !== undefined\n ? component.overrideDefaultValue\n ? component.overrideDefaultValue\n : _this.getDefaultValue(component.displayOptionSetting, setting)\n : (_d = component.overrideDefaultValue) !== null && _d !== void 0 ? _d : undefined;\n }\n //if filtered mode -> get options\n if (value != undefined && ((_e = component.mode) === null || _e === void 0 ? void 0 : _e.operation) === \"filterOptions\") {\n var options = AutoModuleHelper.getSettingOptionsIfPresent(component, setting, (_g = _this.model.getComponent((_f = component.mode) === null || _f === void 0 ? void 0 : _f.masterComponent)) === null || _g === void 0 ? void 0 : _g.value);\n if (options.indexOf(value) == -1) {\n value = options[0];\n }\n }\n return value;\n };\n this.getHardwareComponentBooleanValue = function (tab, component, setting) {\n var _a, _b, _c;\n if (!_this.hardware)\n return undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n if (setting &&\n setting.options &&\n typeof processedArg.value === \"boolean\") {\n var result_1 = \"\";\n if (processedArg.value === true) {\n var settingOptions = setting.options;\n settingOptions.forEach(function (eachOption) {\n if (eachOption.alias.toLowerCase().startsWith(\"enable\")) {\n result_1 = eachOption.alias;\n }\n });\n }\n else if (processedArg.value === false) {\n setting.options.forEach(function (eachOption) {\n if (eachOption.alias.toLowerCase().startsWith(\"disable\")) {\n result_1 = eachOption.alias;\n }\n });\n }\n return result_1;\n }\n return processedArg.value;\n }\n }\n var overriddenCompValue = AutoModuleHelper.getOverrideDefaultValue(component, _this.model);\n return ((_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) != null\n ? _this.state[tab][component.group][component.name]\n ? _this.config.booleanValues.true\n : _this.config.booleanValues.false\n : overriddenCompValue !== undefined\n ? overriddenCompValue\n : setting !== undefined\n ? component.overrideDefaultValue\n ? component.overrideDefaultValue\n : _this.getDefaultValue(component.displayOptionSetting, setting)\n : undefined;\n };\n this.getDependencyComponentValue = function (component) {\n var dependencySelector = new AutoModuleHelper.DependencySelector(_this.model, component);\n var imp = _this.model.getImports()[component.importId];\n if (imp === null || imp === void 0 ? void 0 : imp.handle) {\n return dependencySelector.createOptionLabel(imp.handle, imp.payload);\n }\n return \"None\";\n };\n this.getFileLoadComponentValue = function (component) {\n var _a;\n var fileContents;\n fileContents = (_a = _this.model.getPrototypeModule().loadedFiles) === null || _a === void 0 ? void 0 : _a[component.name];\n return fileContents;\n };\n this.getFileSaveComponentValue = function (component) {\n var _a;\n var fileContents = undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue !== undefined) {\n fileContents = overriddenValue;\n }\n else {\n fileContents = (_a = component.fileMeta) === null || _a === void 0 ? void 0 : _a.defaultContent;\n }\n return fileContents;\n };\n this.getDefaultValue = function (optionType, setting) {\n var _a;\n if (optionType == undefined)\n return setting.defaultValue;\n if (setting.defaultValue) {\n return (_a = (0, Setting_1.getOptionByName)(setting.defaultValue, setting)) === null || _a === void 0 ? void 0 : _a[optionType];\n }\n return undefined;\n };\n this.model = model;\n this.state = this.model.getState();\n this.hardware = this.model.getHardware();\n this.config = (0, getConfigData_1.getConfigData)(model);\n this.componentList = this.createComponentList();\n }\n MyAutoModuleAppModel.prototype.processDynamicComps = function () {\n var _a, _b;\n var updComponentList = this.componentList;\n var updComponents = [];\n (_b = (_a = this.model\n .getDerivedFunctions()).getDynamicComponents) === null || _b === void 0 ? void 0 : _b.call(_a).forEach(function (component) {\n updComponents.push(component);\n });\n updComponents.forEach(function (eachComponent) {\n updComponentList[eachComponent.name] = {\n component: eachComponent,\n };\n });\n this.componentList = updComponentList;\n };\n MyAutoModuleAppModel.prototype.getDefaultDependencySelectors = function (components) {\n var dynamicDependencySelectors = [];\n var defaultTab = \"main\";\n var defaultGroup = \"software\";\n if (components.length > 0) {\n defaultTab = components[0].tabs[0];\n defaultGroup = components[0].group;\n }\n var imports = this.model.getImports();\n if (imports) {\n var importedNames = Object.keys(imports);\n importedNames.forEach(function (name) {\n var _a;\n var dependencySelectors = components.filter(function (component) {\n return component[\"importId\"] && component[\"importId\"] === name;\n });\n if (dependencySelectors.length === 0) {\n dynamicDependencySelectors.push({\n name: name + \" dependency selector\",\n importId: name,\n category: \"import\",\n type: \"ComboBox\",\n description: name + \" dependency selector\",\n group: defaultGroup,\n tabs: [defaultTab],\n uiBehavior: (_a = {},\n _a[\"ui:widget\"] = \"hidden\",\n _a),\n });\n }\n });\n }\n return dynamicDependencySelectors;\n };\n MyAutoModuleAppModel.prototype.isComponent = function (componentName) {\n var _a;\n var component = (_a = this.componentList[componentName]) === null || _a === void 0 ? void 0 : _a.component;\n var componentValue = this.getComponentValue(componentName);\n if (component.category === \"software\") {\n if (component.type === \"boolean\") {\n return this.getComponentValue(componentName);\n }\n return componentValue !== undefined;\n }\n else if (component.category === \"hardware\") {\n return componentValue === this.config.booleanValues.true;\n }\n return undefined;\n };\n MyAutoModuleAppModel.prototype.getComponentValue = function (componentName, componentMeta) {\n var _a, _b, _c, _d;\n if (((_b = (_a = this.model.getState()) === null || _a === void 0 ? void 0 : _a.contentMeta) === null || _b === void 0 ? void 0 : _b.isUserEnRegRWMode) === true) {\n var value = (0, RegisterEditorHelper_1.getRegisterEditorComponentValue)(this.model, componentName, componentMeta);\n return value !== undefined ? value : (_c = this.getComponent(componentName)) === null || _c === void 0 ? void 0 : _c.value;\n }\n return (_d = this.getComponent(componentName)) === null || _d === void 0 ? void 0 : _d.value;\n };\n MyAutoModuleAppModel.prototype.getComponent = function (componentName) {\n var _this = this;\n var _a, _b;\n if (((_a = this.componentList[componentName]) === null || _a === void 0 ? void 0 : _a.value) != undefined)\n return this.componentList[componentName];\n var component = (_b = this.componentList[componentName]) === null || _b === void 0 ? void 0 : _b.component;\n component === null || component === void 0 ? void 0 : component.tabs.forEach(function (tab) {\n if (component) {\n if (component.category === \"software\") {\n _this.componentList[componentName].value =\n _this.getSoftwareComponentValue(tab, component);\n }\n else if (component.category === \"hardware\") {\n var setting = AutoModuleHelper.getSettingFromComponent(_this.model, component);\n if (component.type === \"boolean\") {\n _this.componentList[componentName].value =\n _this.getHardwareComponentBooleanValue(tab, component, setting);\n }\n else {\n _this.componentList[componentName].value =\n _this.getHardwareComponentValue(tab, component, setting);\n }\n }\n else if (component.category === \"import\") {\n _this.componentList[componentName].value =\n _this.getDependencyComponentValue(component);\n }\n else if (component.category === \"file_load\") {\n _this.componentList[componentName].value =\n _this.getFileLoadComponentValue(component);\n }\n else if (component.category === \"file_save\") {\n _this.componentList[componentName].value =\n _this.getFileSaveComponentValue(component);\n }\n _this.componentList[componentName].component.actions =\n _this.getActions(component);\n }\n });\n return this.componentList[componentName];\n };\n return MyAutoModuleAppModel;\n}());\nexports.MyAutoModuleAppModel = MyAutoModuleAppModel;\n//# sourceMappingURL=AutoModuleAppModel.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFullyAssigned = exports.createPrototypeImport = void 0;\nvar Processor_1 = require(\"@microchip/scf-common/lib/Processor\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar AutoModuleHelpers_1 = require(\"./AutoModuleHelpers\");\nvar createPrototypeImport = function (interfaceName, config) {\n var _a, _b;\n return (_b = (_a = config === null || config === void 0 ? void 0 : config.imports) === null || _a === void 0 ? void 0 : _a[interfaceName]) === null || _b === void 0 ? void 0 : _b.import;\n};\nexports.createPrototypeImport = createPrototypeImport;\nvar isFullyAssigned = function (imports, config) {\n var _a;\n //get peripheral interfaces.\n var interfaces = getHardwareInterfaces((_a = config === null || config === void 0 ? void 0 : config.peripherals) !== null && _a !== void 0 ? _a : []);\n for (var i = 0; i < interfaces.length; i++) {\n var imp = imports === null || imports === void 0 ? void 0 : imports[interfaces[i]];\n if (!imp || !(0, Processor_1.isAssigned)(imp)) {\n return false;\n }\n }\n return true;\n};\nexports.isFullyAssigned = isFullyAssigned;\n//Assumes hardware import keys are the same as the interface IDs\nvar getHardwareInterfaces = function (peripherals) {\n var interfaces = (0, Arrays_1.map)(peripherals, function (peripheral) {\n var _a;\n return (_a = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n });\n return interfaces;\n};\n//# sourceMappingURL=AutoModuleHardware.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFriendlyInterfaceId = exports.getModuleDefaultDescription = exports.DependencySelector = exports.populateLoadedFiles = exports.getProcessedHandle = exports.filterModeOptions = exports.getSettingOptionsIfPresent = exports.getOverrideDefaultValue = exports.getSettingDefaultIfPresent = exports.getOptionValueByName = exports.getSettingFromComponent = exports.getSettingBits = exports.sortComments = exports.getRegisterValues = exports.hasConfigBits = exports.getComboOptions = exports.getDefaultValue = exports.castComponent = void 0;\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Utils_1 = require(\"../Utils\");\nvar getConfigData_1 = require(\"./getConfigData\");\nvar RegisterEditorHelper_1 = require(\"./registerEditor/RegisterEditorHelper\");\nvar castComponent = function (component) {\n switch (component.category) {\n case \"software\":\n return component;\n case \"import\":\n return component;\n case \"hardware\":\n return component;\n default:\n throw Error(\"Unsupported Component Type\");\n }\n};\nexports.castComponent = castComponent;\nvar getDefaultValue = function (overrideDefaultValues, component) {\n var _a;\n return ((_a = overrideDefaultValues === null || overrideDefaultValues === void 0 ? void 0 : overrideDefaultValues(component.name)) !== null && _a !== void 0 ? _a : (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue));\n};\nexports.getDefaultValue = getDefaultValue;\nvar getComboOptions = function (overrideOptions, component) {\n var _a, _b;\n return (_a = overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions(component.name)) !== null && _a !== void 0 ? _a : (_b = component === null || component === void 0 ? void 0 : component.defaultValue) === null || _b === void 0 ? void 0 : _b[\"options\"];\n};\nexports.getComboOptions = getComboOptions;\nvar hasConfigBits = function (interfaceName) {\n var _a;\n return ((_a = (0, exports.getFriendlyInterfaceId)(interfaceName)) === null || _a === void 0 ? void 0 : _a.indexOf(\"configuration_bits\")) != -1;\n};\nexports.hasConfigBits = hasConfigBits;\nvar getRegisterValues = function (model, interfaceName) {\n var _a, _b, _c;\n if (((_b = (_a = model.getState()) === null || _a === void 0 ? void 0 : _a.contentMeta) === null || _b === void 0 ? void 0 : _b.isUserEnRegRWMode) === true) {\n return (0, RegisterEditorHelper_1.getRegisterEditorValues)(model, interfaceName);\n }\n var registers = {};\n var config = (0, getConfigData_1.getConfigData)(model);\n interfaceName = (0, exports.getFriendlyInterfaceId)(interfaceName);\n (_c = config === null || config === void 0 ? void 0 : config.peripherals) === null || _c === void 0 ? void 0 : _c.forEach(function (peripheral) {\n var _a, _b, _c;\n var peripheralName = (_a = (0, exports.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n if ((interfaceName != undefined && peripheralName !== interfaceName) ||\n !peripheral.registers)\n return;\n (_c = (0, Utils_1.getKeys)((_b = peripheral.registers) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (regName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var registerValue;\n var reg = (_b = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[regName];\n if (reg) {\n registerValue = {\n comment: \"\",\n value: 0,\n valueAsHex: \"0x00\",\n name: reg === null || reg === void 0 ? void 0 : reg.name,\n alias: (_c = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _c !== void 0 ? _c : reg === null || reg === void 0 ? void 0 : reg.name,\n por: reg.defaultValue,\n settings: {},\n };\n }\n else {\n return;\n }\n var registerVal = CalculateRegisterValue_1.default.for(reg);\n var comments = [];\n (_d = peripheral.registers) === null || _d === void 0 ? void 0 : _d[regName].forEach(function (set) {\n var _a, _b, _c, _d, _e;\n var setting = (_a = reg.settings) === null || _a === void 0 ? void 0 : _a[set.setting];\n if (setting) {\n if (setting.type !== \"R\") {\n //Add Comments\n comments.push(\"\".concat(set.setting, \" \").concat(model.getComponentValue(set.name), \"; \"));\n }\n if (registerValue === null || registerValue === void 0 ? void 0 : registerValue.settings) {\n registerValue.settings[setting.alias] = (0, exports.getSettingBits)(reg, setting, (_b = model.getComponent(set.name)) === null || _b === void 0 ? void 0 : _b.value, (_c = config === null || config === void 0 ? void 0 : config.deviceType) !== null && _c !== void 0 ? _c : \"PIC\");\n }\n switch (set.type) {\n case \"ComboBox\":\n case \"boolean\":\n registerVal.withNumberValue(setting, (_e = (0, exports.getOptionValueByName)(setting, (_d = model.getComponent(set.name)) === null || _d === void 0 ? void 0 : _d.value)) !== null && _e !== void 0 ? _e : 0);\n break;\n case \"number\":\n registerVal.withNumberValue(setting, model.getComponentValue(set.name));\n break;\n case \"register\":\n case \"string\":\n registerVal.withNumberValue(setting, Number(model.getComponentValue(set.name)));\n break;\n default:\n break;\n }\n }\n });\n if (reg.settings) {\n registerValue.value = registerVal.asNumber();\n }\n else {\n registerValue.value = Number((_j = model.getComponentValue((_h = (_g = (_f = (_e = peripheral.registers) === null || _e === void 0 ? void 0 : _e[regName]) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.name) !== null && _h !== void 0 ? _h : \"\")) !== null && _j !== void 0 ? _j : 0);\n comments.push(\"\".concat(registerValue.name, \" \").concat(registerValue.value, \"; \"));\n }\n registerValue.valueAsHex =\n \"0x\" + registerValue.value.toString(16).toUpperCase();\n registerValue.comment = (0, exports.sortComments)(comments, reg);\n registers[(_k = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _k !== void 0 ? _k : reg.name] = registerValue;\n });\n });\n return registers;\n};\nexports.getRegisterValues = getRegisterValues;\nvar sortComments = function (comments, register) {\n comments.sort(function (a, b) {\n var _a, _b, _c, _d;\n var settingA = (_a = register.settings) === null || _a === void 0 ? void 0 : _a[(_b = a.split[\" \"]) === null || _b === void 0 ? void 0 : _b[0]];\n var settingB = (_c = register.settings) === null || _c === void 0 ? void 0 : _c[(_d = b.split(\" \")) === null || _d === void 0 ? void 0 : _d[0]];\n return Number(settingB === null || settingB === void 0 ? void 0 : settingB.mask) - Number(settingA === null || settingA === void 0 ? void 0 : settingA.mask);\n });\n return comments.join(\"\");\n};\nexports.sortComments = sortComments;\nvar getSettingBits = function (register, setting, value, deviceType) {\n var _a;\n var setValNumber = 0;\n var valueAsDesc = \"\";\n var option = (0, Setting_1.getOptionByAlias)(value, setting);\n if (option) {\n setValNumber = Number((_a = option === null || option === void 0 ? void 0 : option.value) !== null && _a !== void 0 ? _a : 0);\n valueAsDesc = value;\n }\n else {\n setValNumber = Number(value);\n valueAsDesc = \"0x\" + Number(value).toString(16).toUpperCase();\n }\n var settingValue = {\n alias: setting.alias,\n name: setting.name,\n value: setValNumber !== null && setValNumber !== void 0 ? setValNumber : 0,\n valueAsHex: \"0x\" + setValNumber.toString(16).toUpperCase(),\n valueAsDescription: valueAsDesc,\n type: setting.type,\n optionName: option === null || option === void 0 ? void 0 : option.name,\n bitName: deviceType === \"PIC\"\n ? \"\".concat(register.name, \"bits.\").concat(setting.name)\n : \"\".concat(register.name, \".\").concat(setting.name),\n };\n return settingValue;\n};\nexports.getSettingBits = getSettingBits;\nvar getRegisterFromComponent = function (hardware, component) {\n var _a, _b, _c, _d, _e;\n var registerName = (_a = component.name\n .replace(component.setting.toLowerCase(), \"\")) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n var register = (_b = hardware === null || hardware === void 0 ? void 0 : hardware.registers) === null || _b === void 0 ? void 0 : _b[registerName];\n if (register) {\n return register;\n }\n else {\n var regName = (_c = component.name\n .replace(component.setting.toLowerCase(), \"\")) === null || _c === void 0 ? void 0 : _c.toUpperCase();\n var registers = (0, Utils_1.getKeys)((_d = hardware === null || hardware === void 0 ? void 0 : hardware.registers) !== null && _d !== void 0 ? _d : {});\n for (var _i = 0, _f = registers !== null && registers !== void 0 ? registers : []; _i < _f.length; _i++) {\n var reg = _f[_i];\n var modifiedRegName = reg.replace(/_/g, \"\");\n if (regName === modifiedRegName) {\n return (_e = hardware === null || hardware === void 0 ? void 0 : hardware.registers) === null || _e === void 0 ? void 0 : _e[reg];\n }\n }\n }\n};\nvar getSettingFromComponent = function (model, component) {\n var _a;\n var config = (0, getConfigData_1.getConfigData)(model);\n var setting;\n if (model) {\n (_a = config === null || config === void 0 ? void 0 : config.peripherals) === null || _a === void 0 ? void 0 : _a.forEach(function (peripheral) {\n var _a, _b, _c;\n if (setting)\n return;\n var peripheralName = (0, exports.getFriendlyInterfaceId)(peripheral.interfaceId.name);\n var hardware = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n var register = getRegisterFromComponent(hardware, component);\n if (register && !register.settings) {\n //No settings for this particular register. Create one\n setting = {\n alias: (_b = register.alias) !== null && _b !== void 0 ? _b : register.name,\n name: register.name,\n defaultValue: register.defaultValue,\n type: register.type,\n description: register.desc,\n porDefault: register.defaultValue,\n };\n }\n else {\n setting = (_c = register === null || register === void 0 ? void 0 : register.settings) === null || _c === void 0 ? void 0 : _c[component.setting];\n }\n });\n }\n return setting;\n};\nexports.getSettingFromComponent = getSettingFromComponent;\nvar getOptionValueByName = function (setting, optionName) {\n if (!setting)\n return undefined;\n var optionValue = setting.porDefault;\n if (setting.options) {\n setting.options.forEach(function (option) {\n if (option.name === optionName || option.description === optionName) {\n optionValue = option.value;\n }\n });\n }\n return Number(optionValue);\n};\nexports.getOptionValueByName = getOptionValueByName;\nvar getSettingDefaultIfPresent = function (component, setting, overrideDefaultValue) {\n var _a, _b;\n var defaultValue;\n if (overrideDefaultValue !== undefined) {\n return overrideDefaultValue;\n }\n if (component.overrideDefaultValue) {\n return component.overrideDefaultValue;\n }\n if (setting === null || setting === void 0 ? void 0 : setting.defaultValue) {\n var option = (0, Setting_1.getOptionByName)(setting.defaultValue, setting);\n defaultValue =\n (_b = option === null || option === void 0 ? void 0 : option[(_a = component.displayOptionSetting) !== null && _a !== void 0 ? _a : \"alias\"]) !== null && _b !== void 0 ? _b : setting.defaultValue;\n }\n return defaultValue;\n};\nexports.getSettingDefaultIfPresent = getSettingDefaultIfPresent;\nvar getOverrideDefaultValue = function (component, model) {\n var _a, _b;\n return (_b = (_a = model.getDerivedFunctions()).overrideDefaultValues) === null || _b === void 0 ? void 0 : _b.call(_a, component.name);\n};\nexports.getOverrideDefaultValue = getOverrideDefaultValue;\nvar getSettingOptionsIfPresent = function (component, setting, masterComponentValue) {\n var _a;\n var options = [\"\"];\n if (setting) {\n var filteredOptions = component.mode\n ? (0, exports.filterModeOptions)((_a = setting.options) !== null && _a !== void 0 ? _a : [], component, masterComponentValue)\n : setting.options;\n options = (0, Arrays_1.map)(filteredOptions !== null && filteredOptions !== void 0 ? filteredOptions : [], function (option) { var _a, _b; return (_b = option[(_a = component.displayOptionSetting) !== null && _a !== void 0 ? _a : \"alias\"]) !== null && _b !== void 0 ? _b : option.alias; });\n }\n return options;\n};\nexports.getSettingOptionsIfPresent = getSettingOptionsIfPresent;\nvar filterModeOptions = function (options, component, masterComponentValue) {\n var _a, _b, _c, _d;\n if (((_a = component.mode) === null || _a === void 0 ? void 0 : _a.operation) != \"filterOptions\" || masterComponentValue == undefined)\n return options;\n //Determine mode\n var mode = (0, Arrays_1.find)((_d = (0, Utils_1.getKeys)((_c = (_b = component.mode) === null || _b === void 0 ? void 0 : _b.optionModes) !== null && _c !== void 0 ? _c : {})) !== null && _d !== void 0 ? _d : [], function (mode) {\n var _a, _b, _c, _d;\n var match = (_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.optionModes) === null || _b === void 0 ? void 0 : _b[mode];\n if (match) {\n return ((_d = (_c = masterComponentValue === null || masterComponentValue === void 0 ? void 0 : masterComponentValue.match(match)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0;\n }\n return false;\n });\n // optionModes : when Key value are not same\n if (mode === undefined) {\n mode = masterComponentValue;\n }\n var filteredOptions = (0, Arrays_1.filter)(options !== null && options !== void 0 ? options : [], function (option) {\n var _a, _b, _c, _d;\n if (option.mode && mode) {\n var match = (_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.optionModes) === null || _b === void 0 ? void 0 : _b[mode];\n if (match) {\n return ((_d = (_c = option.mode.match(match)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0;\n }\n }\n return true;\n });\n return filteredOptions;\n};\nexports.filterModeOptions = filterModeOptions;\nvar getProcessedHandle = function (handle, payload) {\n var _a, _b, _c, _d;\n if (handle) {\n handle = __assign(__assign({}, handle), { label: (_d = (_c = (_b = (_a = handle === null || handle === void 0 ? void 0 : handle.label) !== null && _a !== void 0 ? _a : payload === null || payload === void 0 ? void 0 : payload.customName) !== null && _b !== void 0 ? _b : payload === null || payload === void 0 ? void 0 : payload.moduleName) !== null && _c !== void 0 ? _c : payload === null || payload === void 0 ? void 0 : payload.name) !== null && _d !== void 0 ? _d : handle.providerId + \" : \" + handle.exportId });\n }\n return handle;\n};\nexports.getProcessedHandle = getProcessedHandle;\nvar populateLoadedFiles = function (processedOutput) {\n var _a;\n var result = __assign({}, processedOutput);\n var consolidatedFiles = {};\n //pushing all the inmemory files provided from Melody\n if (result.loadedFiles !== undefined) {\n for (var eachFileId in result.loadedFiles) {\n var eachFile = result.loadedFiles[eachFileId];\n consolidatedFiles[eachFileId] = eachFile;\n }\n }\n //pushing all the instate files stored in state(project) - NOTE: if same fileId exists in state and memory then state will be given priority\n if (((_a = result.state) === null || _a === void 0 ? void 0 : _a.loadedFiles) !== undefined) {\n for (var eachFileId in result.state.loadedFiles) {\n var eachFile = result.state.loadedFiles[eachFileId];\n consolidatedFiles[eachFileId] = eachFile;\n }\n }\n result.loadedFiles = consolidatedFiles;\n return result;\n};\nexports.populateLoadedFiles = populateLoadedFiles;\nvar DependencySelector = /** @class */ (function () {\n function DependencySelector(model, component) {\n var _this = this;\n this.noneSelection = { label: \"None\" };\n this.createOptionEntry = function (option) {\n return {\n label: _this.createOptionLabel(option.handle, option.payload),\n value: option,\n };\n };\n this.createOptionLabel = function (handle, payload) {\n var _a, _b;\n return (_b = (_a = (0, exports.getProcessedHandle)(handle, payload)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : \"\";\n };\n this.model = model;\n this.component = component;\n }\n DependencySelector.prototype.generateDropdownOptions = function () {\n var dropdownOptions = [];\n var thisImport = this.model.getImports()[this.component.importId];\n var options = thisImport === null || thisImport === void 0 ? void 0 : thisImport.options;\n if (this.shouldAllowUnselectDependency(thisImport, options)) {\n dropdownOptions.push(this.noneSelection);\n }\n if (options !== undefined) {\n for (var option in options) {\n dropdownOptions.push(this.createOptionEntry(options[option]));\n }\n }\n return dropdownOptions;\n };\n DependencySelector.prototype.getDropdownOptionNames = function () {\n var names = [];\n this.generateDropdownOptions().forEach(function (option) { return names.push(option.label); });\n return names;\n };\n DependencySelector.prototype.shouldAllowUnselectDependency = function (thisImport, options) {\n return thisImport != undefined && thisImport.isUnassignable != false;\n };\n return DependencySelector;\n}());\nexports.DependencySelector = DependencySelector;\nfunction getModuleDefaultDescription() {\n //TODO: Need to refactor this so that gets it from the source.\n //Alternatively, we could get it during the automodule update process and fetch it from there...\n return undefined;\n}\nexports.getModuleDefaultDescription = getModuleDefaultDescription;\nvar getFriendlyInterfaceId = function (interfaceName) {\n interfaceName = interfaceName === null || interfaceName === void 0 ? void 0 : interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n return interfaceName;\n};\nexports.getFriendlyInterfaceId = getFriendlyInterfaceId;\n//# sourceMappingURL=AutoModuleHelpers.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigBits = exports.getTemplateSettings = exports.getTemplatePayload = exports.getTemplates = void 0;\nvar AutoModuleHelper = __importStar(require(\"./AutoModuleHelpers\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar getConfigData_1 = require(\"./getConfigData\");\nvar Utils_1 = require(\"../Utils\");\nvar AutoModuleHardware_1 = require(\"./AutoModuleHardware\");\nvar AutoModuleHelpers_1 = require(\"./AutoModuleHelpers\");\nvar getTemplates = function (model) {\n var _a;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var templates = [];\n (_a = config === null || config === void 0 ? void 0 : config.templates) === null || _a === void 0 ? void 0 : _a.forEach(function (template) {\n var _a, _b, _c;\n var newTemplate = __assign({}, template);\n if (!model)\n return;\n newTemplate.dest =\n (_c = (_b = (_a = model.getDerivedFunctions()).templateName) === null || _b === void 0 ? void 0 : _b.call(_a, newTemplate.src)) !== null && _c !== void 0 ? _c : newTemplate.dest;\n newTemplate.dest = newTemplate.dest.replace(\"${sourceFileName}\", model.getName().toLowerCase() + \".c\");\n newTemplate.dest = newTemplate.dest.replace(\"${headerFileName}\", model.getName().toLowerCase() + \".h\");\n if (shouldGenerate(newTemplate, model)) {\n templates.push(newTemplate);\n }\n });\n return templates;\n};\nexports.getTemplates = getTemplates;\nvar shouldGenerate = function (template, model) {\n var shouldGenerate = true;\n if (!model)\n return shouldGenerate;\n if (shouldGenerate &&\n template.generateWithHardware == true &&\n !(0, AutoModuleHardware_1.isFullyAssigned)(model.getPrototypeModule().imports, (0, getConfigData_1.getConfigData)(model, true))) {\n shouldGenerate = false;\n }\n if (shouldGenerate &&\n template.isGeneratableProperty &&\n model.getDerivedFunction(template.isGeneratableProperty) != true) {\n shouldGenerate = false;\n }\n return shouldGenerate;\n};\nvar getTemplatePayload = function (model) {\n var _a;\n if (!model)\n return undefined;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var moduleName = model.getName();\n var templatePayload = {\n name: {\n uppercase: moduleName.toUpperCase(),\n lowercase: moduleName.toLowerCase(),\n instance: moduleName,\n },\n filename: {\n source: \"\".concat(moduleName.toLowerCase(), \".c\"),\n header: \"\".concat(moduleName.toLowerCase(), \".h\"),\n },\n };\n var components = model\n .getAutoModuleAppModel()\n .getAllComponents();\n (_a = (0, Utils_1.values)(components)) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {\n templatePayload[entry.component.name] = getComponentPayload(entry.component, model);\n });\n templatePayload = __assign(__assign({}, templatePayload), (0, exports.getTemplateSettings)(model, config));\n return templatePayload;\n};\nexports.getTemplatePayload = getTemplatePayload;\nvar getTemplateSettings = function (model, config) {\n var _a, _b;\n if (!(model === null || model === void 0 ? void 0 : model.getHardware()))\n return undefined;\n return {\n registers: model.getRegisterValues(undefined),\n interrupts: (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().interrupts,\n properties: (_b = model.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral().properties,\n };\n};\nexports.getTemplateSettings = getTemplateSettings;\nvar getConfigBits = function (model) {\n var _a, _b, _c;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var configModule = (0, Arrays_1.find)((_a = config === null || config === void 0 ? void 0 : config.peripherals) !== null && _a !== void 0 ? _a : [], function (peripheral) {\n return AutoModuleHelper.hasConfigBits(peripheral.interfaceId.name);\n });\n if (configModule) {\n var interfaceName = AutoModuleHelper.getFriendlyInterfaceId(configModule.interfaceId.name);\n var templateConfigBits_1 = {};\n var registers_1 = (_b = model.getHardware(interfaceName)) === null || _b === void 0 ? void 0 : _b.getPeripheral().registers;\n (_c = (0, Utils_1.getKeys)(registers_1 !== null && registers_1 !== void 0 ? registers_1 : [])) === null || _c === void 0 ? void 0 : _c.forEach(function (configName) {\n var _a;\n var _b, _c, _d;\n var configBits = (_b = configModule.registers) === null || _b === void 0 ? void 0 : _b[configName];\n templateConfigBits_1 = __assign(__assign({}, templateConfigBits_1), (_a = {}, _a[configName] = {}, _a));\n if (((_d = (_c = model.getState()) === null || _c === void 0 ? void 0 : _c.contentMeta) === null || _d === void 0 ? void 0 : _d.isUserEnRegRWMode) === true) {\n configBits === null || configBits === void 0 ? void 0 : configBits.forEach(function (configBit) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var register = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName];\n var value;\n var description;\n if (register && !register.settings) {\n //missing settings for register\n value = model.getComponentValue(configBit.setting, { register: configName });\n description = model.getComponentValue(configBit.setting, { register: configName }).toString(16).toUpperCase();\n }\n else {\n var setting = (_b = (_a = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName]) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b[configBit.setting];\n value =\n (_g = (_f = (_e = (_d = (0, Arrays_1.find)((_c = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _c !== void 0 ? _c : [], function (option) {\n return option.description ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.alias ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.name === model.getComponentValue(configBit.setting, { register: configName });\n })) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : model.getComponentValue(configBit.setting, { register: configName })) !== null && _f !== void 0 ? _f : setting === null || setting === void 0 ? void 0 : setting.defaultValue) !== null && _g !== void 0 ? _g : \"\";\n description =\n (_k = (_j = (0, Arrays_1.find)((_h = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _h !== void 0 ? _h : [], function (option) {\n return option.description ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.alias ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.name === model.getComponentValue(configBit.setting, { register: configName });\n })) === null || _j === void 0 ? void 0 : _j.description) !== null && _k !== void 0 ? _k : \"\";\n }\n if (typeof value === \"number\") {\n if (!isNaN(value)) {\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: \"0x\" + value.toString(16).toUpperCase(),\n description: configBit.description,\n valueAsDescription: \"0x\" + value.toString(16).toUpperCase(),\n };\n }\n }\n else {\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: value,\n description: configBit.description,\n valueAsDescription: description,\n };\n }\n });\n }\n else {\n configBits === null || configBits === void 0 ? void 0 : configBits.forEach(function (configBit) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n var register = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName];\n var value;\n if (register && !register.settings) {\n //missing settings for register\n value = (_b = (_a = model.getComponent(configBit.name)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\";\n }\n else {\n var setting = (_d = (_c = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName]) === null || _c === void 0 ? void 0 : _c.settings) === null || _d === void 0 ? void 0 : _d[configBit.setting];\n value =\n (_k = (_j = (_g = (_f = (0, Arrays_1.find)((_e = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _e !== void 0 ? _e : [], function (option) {\n var _a, _b, _c;\n return option.description ===\n ((_a = model.getComponent(configBit.name)) === null || _a === void 0 ? void 0 : _a.value) ||\n option.alias ===\n ((_b = model.getComponent(configBit.name)) === null || _b === void 0 ? void 0 : _b.value) ||\n option.name === ((_c = model.getComponent(configBit.name)) === null || _c === void 0 ? void 0 : _c.value);\n })) === null || _f === void 0 ? void 0 : _f.name) !== null && _g !== void 0 ? _g : (_h = model.getComponent(configBit.name)) === null || _h === void 0 ? void 0 : _h.value) !== null && _j !== void 0 ? _j : setting === null || setting === void 0 ? void 0 : setting.defaultValue) !== null && _k !== void 0 ? _k : \"\";\n }\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: value,\n description: configBit.description,\n valueAsDescription: (_l = model.getComponent(configBit.name)) === null || _l === void 0 ? void 0 : _l.value,\n };\n });\n }\n });\n return templateConfigBits_1;\n }\n else {\n return {};\n }\n};\nexports.getConfigBits = getConfigBits;\nvar getComponentPayload = function (component, model) {\n var _a, _b;\n var componentValue = model.getComponentValue(component.name);\n switch (component.type) {\n case \"ComboBox\":\n if (component.category === \"hardware\") {\n var setting = AutoModuleHelper.getSettingFromComponent(model, component);\n return {\n value: componentValue,\n options: AutoModuleHelper.getSettingOptionsIfPresent(component, setting, model.getComponentValue((_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.masterComponent) !== null && _b !== void 0 ? _b : \"\")),\n };\n }\n else if (component.category === \"software\") {\n return {\n value: componentValue,\n options: (0, AutoModuleHelpers_1.getComboOptions)(model.getDerivedFunctions().overrideOptions, component),\n };\n }\n break;\n case \"boolean\":\n return model.isComponentValue(component.name);\n case \"number\":\n case \"string\":\n case \"register\":\n default:\n return componentValue;\n }\n};\n//# sourceMappingURL=AutoModuleTemplates.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAutoSdlHelp = void 0;\n/**\n * Returns the valid link for each component of a module\n *\n * @param dataModel - AppModel for current module\n * @param componentName - Current component under the module\n * @param helpUrl - Generic url\n * @returns Valid link to microchip docs\n */\nvar getAutoSdlHelp = function (dataModel, componentName, helpUrl) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;\n var deviceMeta = dataModel.getImportValue(\"device_meta\");\n var deviceName = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.deviceName) !== null && _a !== void 0 ? _a : \"\";\n var moduleName = (_d = (_c = (_b = dataModel.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral()) === null || _c === void 0 ? void 0 : _c.group) !== null && _d !== void 0 ? _d : \"\";\n var dosid = (_g = (_f = (_e = dataModel.getHardware()) === null || _e === void 0 ? void 0 : _e.getPeripheral()) === null || _f === void 0 ? void 0 : _f.dosid) !== null && _g !== void 0 ? _g : \"\";\n var comp = (_j = (_h = dataModel.getComponent(componentName)) === null || _h === void 0 ? void 0 : _h.component) !== null && _j !== void 0 ? _j : \"\";\n var setting = (_l = (_k = comp === null || comp === void 0 ? void 0 : comp.setting) === null || _k === void 0 ? void 0 : _k.toLowerCase()) !== null && _l !== void 0 ? _l : \"\";\n var registerName = componentName.toLowerCase().replace(setting, \"\");\n var registerAlias = (_m = registerName === null || registerName === void 0 ? void 0 : registerName.toUpperCase()) !== null && _m !== void 0 ? _m : \"\";\n var deviceRegister = (_r = (_q = (_p = (_o = dataModel.getPeripheralDescription()) === null || _o === void 0 ? void 0 : _o.registers) === null || _p === void 0 ? void 0 : _p[registerAlias]) === null || _q === void 0 ? void 0 : _q.name) !== null && _r !== void 0 ? _r : \"\";\n var register = registerAlias == deviceRegister ? registerAlias : deviceRegister;\n var url = helpUrl\n .replace(\"${deviceName}\", deviceName !== null && deviceName !== void 0 ? deviceName : \"\")\n .replace(\"${registerName}\", register !== null && register !== void 0 ? register : \"\")\n .replace(\"${moduleName}\", moduleName !== null && moduleName !== void 0 ? moduleName : \"\")\n .replace(\"${dosId}\", dosid !== null && dosid !== void 0 ? dosid : \"\");\n return url;\n};\nexports.getAutoSdlHelp = getAutoSdlHelp;\n//# sourceMappingURL=ContextualHelp.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFreqCompSchema = exports.isFrequencyComponent = exports.isFreqUnitInState = exports.isFreqValueInState = exports.isFreqComponentInState = exports.getFreqCompFormData = void 0;\nvar getFreqCompFormData = function (model, component, tab) {\n var _a;\n var componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit\n };\n if (component.frequencyMeta) {\n // Min value update\n if (component.frequencyMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: component.frequencyMeta.min.value,\n unit: component.frequencyMeta.min.unit\n } });\n }\n // Max value update\n if (component.frequencyMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: component.frequencyMeta.max.value,\n unit: component.frequencyMeta.max.unit\n } });\n }\n // Options update\n if (component.frequencyMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: component.frequencyMeta.unitOptions });\n }\n }\n // Form data updation based on dynamic data\n var updatedFreqComp = (model.getDerivedFunctions() && model.getDerivedFunctions()[component.name] != null) ? (_a = model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[component.name]() : undefined;\n if (updatedFreqComp) {\n // Default value update\n if (updatedFreqComp.defaultValue) {\n componentValue = __assign(__assign({}, componentValue), { value: updatedFreqComp.defaultValue.value, unit: updatedFreqComp.defaultValue.unit });\n }\n // Min, Max and Options update\n if (updatedFreqComp.frequencyMeta) {\n if (updatedFreqComp.frequencyMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: updatedFreqComp.frequencyMeta.min.value,\n unit: updatedFreqComp.frequencyMeta.min.unit,\n } });\n }\n if (updatedFreqComp.frequencyMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: updatedFreqComp.frequencyMeta.max.value,\n unit: updatedFreqComp.frequencyMeta.max.unit,\n } });\n }\n if (updatedFreqComp.frequencyMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: updatedFreqComp.frequencyMeta.unitOptions });\n }\n }\n }\n if (!isFreqComponentInState(model, component, tab)) {\n return componentValue;\n }\n else {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n if (isFreqValueInState(model, component, tab)) {\n var valueChanged = tabState[component.group][component.name].value;\n componentValue = __assign(__assign({}, componentValue), { value: valueChanged });\n }\n if (isFreqUnitInState(model, component, tab)) {\n var unitChanged = tabState[component.group][component.name].unit;\n componentValue = __assign(__assign({}, componentValue), { unit: unitChanged });\n }\n return componentValue;\n }\n};\nexports.getFreqCompFormData = getFreqCompFormData;\nfunction isFreqComponentInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nexports.isFreqComponentInState = isFreqComponentInState;\nfunction isFreqValueInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].value);\n}\nexports.isFreqValueInState = isFreqValueInState;\nfunction isFreqUnitInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].unit);\n}\nexports.isFreqUnitInState = isFreqUnitInState;\nfunction isFrequencyComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"frequency\");\n}\nexports.isFrequencyComponent = isFrequencyComponent;\nfunction getFreqCompSchema(component, derivedFunctions) {\n var _a, _b;\n //Schema creation with static moduleConfig data\n var schema = {\n type: \"object\",\n $id: \"frequency\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n properties: {\n value: {\n type: \"number\",\n default: component.defaultValue.value,\n },\n unit: {\n type: \"string\",\n default: component.defaultValue.unit,\n }\n },\n };\n if (component.frequencyMeta) {\n // Min value update\n if (component.frequencyMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.frequencyMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: component.frequencyMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value update\n if (component.frequencyMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.frequencyMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: component.frequencyMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (component.frequencyMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: component.frequencyMeta.unitOptions,\n }\n } }) });\n }\n }\n //Schema updation based on dynamic data\n var updatedFreqComp = (derivedFunctions && derivedFunctions[component.name] != null) ? derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name]() : undefined;\n if (updatedFreqComp) {\n // description update\n if (updatedFreqComp.description) {\n schema = __assign(__assign({}, schema), { title: updatedFreqComp.description });\n }\n // defaultValue update\n if (updatedFreqComp.defaultValue) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { value: {\n type: \"number\",\n default: updatedFreqComp.defaultValue.value,\n }, unit: {\n type: \"string\",\n default: updatedFreqComp.defaultValue.unit,\n } }) });\n }\n // frequencyMeta update\n if (updatedFreqComp.frequencyMeta) {\n // Min value and unit update\n if (updatedFreqComp.frequencyMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedFreqComp.frequencyMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: updatedFreqComp.frequencyMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value and unit update\n if (updatedFreqComp.frequencyMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedFreqComp.frequencyMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: updatedFreqComp.frequencyMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (updatedFreqComp.frequencyMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: updatedFreqComp.frequencyMeta.unitOptions,\n }\n } }) });\n }\n }\n }\n return schema;\n}\nexports.getFreqCompSchema = getFreqCompSchema;\n//# sourceMappingURL=FrequencyComponentHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasModes = exports.processRegisterModes = void 0;\nvar Utils_1 = require(\"../Utils\");\nvar processRegisterModes = function (peripheral, hardwarePeripheral, model) {\n var _a, _b;\n if (!(0, exports.hasModes)(peripheral)) {\n return hardwarePeripheral;\n }\n var modifiedHardwarePeripheral = __assign(__assign({}, hardwarePeripheral), { registers: __assign({}, hardwarePeripheral.registers) });\n (_b = (0, Utils_1.getKeys)((_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a, _b, _c, _d, _e, _f, _g;\n var settings = (_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n var delFlag = false;\n settings === null || settings === void 0 ? void 0 : settings.forEach(function (setting) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n /* const mode = find(setting.tabs, (mode => {\n return mode === \"registerFilter\"\n })) */ // TODO : Multiple modes support\n if (((_a = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _a === void 0 ? void 0 : _a.operation) === \"registerFilter\") {\n var targetStr = (_c = model === null || model === void 0 ? void 0 : model.getComponent((_b = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _b === void 0 ? void 0 : _b.masterComponent)) === null || _c === void 0 ? void 0 : _c.value;\n var matchRegEx = new RegExp((_e = (_d = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _d === void 0 ? void 0 : _d.matchRegEx) !== null && _e !== void 0 ? _e : \"\");\n if (!matchRegEx.test(targetStr)) {\n var settingObj = (_h = (_g = (_f = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _f === void 0 ? void 0 : _f[registerName]) === null || _g === void 0 ? void 0 : _g.settings) === null || _h === void 0 ? void 0 : _h[setting.setting];\n if (settingObj !== undefined) {\n (_l = (_k = (_j = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _j === void 0 ? void 0 : _j[registerName]) === null || _k === void 0 ? void 0 : _k.settings) === null || _l === void 0 ? true : delete _l[setting.setting];\n }\n else {\n (_m = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _m === void 0 ? true : delete _m[registerName];\n }\n delFlag = true;\n }\n }\n });\n if (delFlag &&\n (0, Utils_1.getKeys)((_d = (_c = (_b = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _b === void 0 ? void 0 : _b[registerName]) === null || _c === void 0 ? void 0 : _c.settings) !== null && _d !== void 0 ? _d : [])\n .length <= 0) {\n (_f = (_e = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _e === void 0 ? void 0 : _e[registerName]) === null || _f === void 0 ? true : delete _f.settings;\n (_g = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _g === void 0 ? true : delete _g[registerName];\n }\n });\n return modifiedHardwarePeripheral;\n};\nexports.processRegisterModes = processRegisterModes;\nvar hasModes = function (peripheral) {\n var _a, _b;\n var flag = false;\n (_b = (0, Utils_1.getKeys)((_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var settings = (_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n for (var _i = 0, _b = settings !== null && settings !== void 0 ? settings : []; _i < _b.length; _i++) {\n var setting = _b[_i];\n if ((setting === null || setting === void 0 ? void 0 : setting.mode) !== undefined) {\n flag = true;\n }\n }\n });\n return flag;\n};\nexports.hasModes = hasModes;\n//# sourceMappingURL=RegisterFilterMode.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTimeComponentSchema = exports.isTimeComponent = exports.isTimeUnitInState = exports.isTimeValueInState = exports.isTimeComponentInState = exports.getTimeComponentFormData = void 0;\nvar getTimeComponentFormData = function (model, component, tab) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit\n };\n var updatedTimeComponent = (model.getDerivedFunctions() && model.getDerivedFunctions()[component.name] != null) ? (_a = model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[component.name]() : undefined;\n if (updatedTimeComponent) {\n if (updatedTimeComponent.defaultValue) {\n componentValue = {\n value: updatedTimeComponent.defaultValue.value,\n unit: updatedTimeComponent.defaultValue.unit,\n };\n }\n else {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n }\n if (updatedTimeComponent.timeMeta) {\n if (updatedTimeComponent.timeMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: updatedTimeComponent.timeMeta.min.value,\n unit: updatedTimeComponent.timeMeta.min.unit,\n } });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: (_c = (_b = component.timeMeta) === null || _b === void 0 ? void 0 : _b.min) === null || _c === void 0 ? void 0 : _c.value,\n unit: (_e = (_d = component.timeMeta) === null || _d === void 0 ? void 0 : _d.min) === null || _e === void 0 ? void 0 : _e.unit,\n } });\n }\n if (updatedTimeComponent.timeMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: updatedTimeComponent.timeMeta.max.value,\n unit: updatedTimeComponent.timeMeta.max.unit,\n } });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: (_g = (_f = component.timeMeta) === null || _f === void 0 ? void 0 : _f.max) === null || _g === void 0 ? void 0 : _g.value,\n unit: (_j = (_h = component.timeMeta) === null || _h === void 0 ? void 0 : _h.max) === null || _j === void 0 ? void 0 : _j.unit,\n } });\n }\n if (updatedTimeComponent.timeMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: updatedTimeComponent.timeMeta.unitOptions });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { options: (_k = component.timeMeta) === null || _k === void 0 ? void 0 : _k.unitOptions });\n }\n }\n }\n else if (component.timeMeta) {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n if (component.timeMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: component.timeMeta.min.value,\n unit: component.timeMeta.min.unit,\n } });\n }\n if (component.timeMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: component.timeMeta.max.value,\n unit: component.timeMeta.max.unit,\n } });\n }\n if (component.timeMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: component.timeMeta.unitOptions });\n }\n }\n else {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n }\n if (!isTimeComponentInState(model, component, tab)) {\n return componentValue;\n }\n else {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n if (isTimeValueInState(model, component, tab)) {\n var valueChanged = tabState[component.group][component.name].value;\n componentValue = __assign(__assign({}, componentValue), { value: valueChanged });\n }\n if (isTimeUnitInState(model, component, tab)) {\n var unitChanged = tabState[component.group][component.name].unit;\n componentValue = __assign(__assign({}, componentValue), { unit: unitChanged });\n }\n return componentValue;\n }\n};\nexports.getTimeComponentFormData = getTimeComponentFormData;\nfunction isTimeComponentInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nexports.isTimeComponentInState = isTimeComponentInState;\nfunction isTimeValueInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].value);\n}\nexports.isTimeValueInState = isTimeValueInState;\nfunction isTimeUnitInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].unit);\n}\nexports.isTimeUnitInState = isTimeUnitInState;\nfunction isTimeComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"time\");\n}\nexports.isTimeComponent = isTimeComponent;\nfunction getTimeComponentSchema(component, derivedFunctions) {\n var _a, _b;\n //Schema creation with static moduleConfig data\n var schema = {\n type: \"object\",\n $id: \"timeComponent\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n properties: {\n value: {\n type: \"number\",\n default: component.defaultValue.value,\n },\n unit: {\n type: \"string\",\n default: component.defaultValue.unit,\n }\n },\n };\n if (component.timeMeta) {\n // Min value update\n if (component.timeMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.timeMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: component.timeMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value update\n if (component.timeMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.timeMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: component.timeMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (component.timeMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: component.timeMeta.unitOptions,\n }\n } }) });\n }\n }\n //Schema updation based on dynamic data\n var updatedTimeComponent = (derivedFunctions && derivedFunctions[component.name] != null) ? derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name]() : undefined;\n if (updatedTimeComponent) {\n // description update\n if (updatedTimeComponent.description) {\n schema = __assign(__assign({}, schema), { title: updatedTimeComponent.description });\n }\n // defaultValue update\n if (updatedTimeComponent.defaultValue) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { value: {\n type: \"number\",\n default: updatedTimeComponent.defaultValue.value,\n }, unit: {\n type: \"string\",\n default: updatedTimeComponent.defaultValue.unit,\n } }) });\n }\n // timeMeta update\n if (updatedTimeComponent.timeMeta) {\n // Min value and unit update\n if (updatedTimeComponent.timeMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedTimeComponent.timeMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: updatedTimeComponent.timeMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value and unit update\n if (updatedTimeComponent.timeMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedTimeComponent.timeMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: updatedTimeComponent.timeMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (updatedTimeComponent.timeMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: updatedTimeComponent.timeMeta.unitOptions,\n }\n } }) });\n }\n }\n }\n return schema;\n}\nexports.getTimeComponentSchema = getTimeComponentSchema;\n//# sourceMappingURL=TimeComponentHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigData = void 0;\n/* eslint-disable @typescript-eslint/no-var-requires */\nvar Utils_1 = require(\"../Utils\");\nvar getConfigData = function (model, isModelInitialized) {\n var _a, _b;\n var config = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedData()).getModuleConfig) === null || _b === void 0 ? void 0 : _b.call(_a);\n if (isModelInitialized) {\n config = ConfigBuilder.for(config)\n .withDynamicConfigData(model)\n .withDynamicComponents(model)\n .build();\n }\n else {\n config = ConfigBuilder.for(config).build();\n }\n return config;\n};\nexports.getConfigData = getConfigData;\nvar ConfigBuilder = /** @class */ (function () {\n function ConfigBuilder(config) {\n var _this = this;\n this.build = function () {\n return _this.config;\n };\n this.withDynamicConfigData = function (model) {\n var _a;\n return new ConfigBuilder((_a = model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getDynamicConfigData\", _this.config)) !== null && _a !== void 0 ? _a : _this.config);\n };\n this.withDynamicComponents = function (model) {\n var _a, _b;\n var dynamicComponents = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).getDynamicComponents) === null || _b === void 0 ? void 0 : _b.call(_a);\n if (dynamicComponents) {\n var dynamicComponentMap = (0, Utils_1.toDictionary)(dynamicComponents, function (component) {\n var _a;\n _this.config.UIGroups[component.group] =\n (_a = _this.config.UIGroups[component.group]) !== null && _a !== void 0 ? _a : component.group;\n return component.name;\n }, function (component) { return component; });\n _this.config.softwareData = __assign(__assign({}, _this.config.softwareData), dynamicComponentMap);\n }\n return new ConfigBuilder(_this.config);\n };\n this.config = config;\n }\n ConfigBuilder.for = function (config) {\n if (!config)\n throw console.error(\"Cannot find ModuleConfig\");\n return new ConfigBuilder(config);\n };\n return ConfigBuilder;\n}());\n//# sourceMappingURL=getConfigData.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMappedComponentData = exports.getRegisterEditorValues = exports.getSettingAliasKey = exports.getSettingNameKey = exports.getRegisterKey = exports.getRegisterNameList = exports.getRegisterEditorComponentValue = void 0;\nvar DerivedFunctions_1 = require(\"@microchip/melody-automodule-interface/lib/src/DerivedFunctions\");\nvar Utils_1 = require(\"../../Utils\");\nvar getConfigData_1 = require(\"../getConfigData\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar getRegisterEditorComponentValue = function (model, componentName, componentMeta) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24;\n var harwareRegister = (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers;\n var hardwareInterrupts = (_b = model.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral().interrupts;\n var registerList = (_d = getRegisterNameList((_c = model.getHardware()) === null || _c === void 0 ? void 0 : _c.getPeripheral().registers)) !== null && _d !== void 0 ? _d : [];\n var interruptList = (_e = Object.keys(hardwareInterrupts !== null && hardwareInterrupts !== void 0 ? hardwareInterrupts : {})) !== null && _e !== void 0 ? _e : [];\n // For Registers value\n if (registerList.indexOf(componentName) !== -1 && componentMeta === undefined) {\n var registerValues = model.getRegisterValues();\n var registerKey = (_f = getRegisterKey(registerValues, componentName)) !== null && _f !== void 0 ? _f : \"\";\n var deviceDeafultValue = Number((_g = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _g === void 0 ? void 0 : _g.defaultValue);\n var registerValue = (_h = registerValues === null || registerValues === void 0 ? void 0 : registerValues[registerKey]) === null || _h === void 0 ? void 0 : _h.value;\n if (registerValue !== undefined) {\n return registerValue;\n }\n return deviceDeafultValue;\n }\n // For Interrupt value\n if (interruptList.indexOf(componentName.toUpperCase()) !== -1) {\n var stateData = (_l = (_k = (_j = model.getState()) === null || _j === void 0 ? void 0 : _j.register) === null || _k === void 0 ? void 0 : _k.interrupts) === null || _l === void 0 ? void 0 : _l[componentName.toUpperCase()];\n var interruptComponentValue = (_m = model.getComponent(componentName.toLowerCase())) === null || _m === void 0 ? void 0 : _m.value;\n if (stateData !== undefined) {\n return convertToBoolean(stateData);\n }\n var overriddenCompValue = (_p = (_o = model.getDerivedFunctions()).overrideDefaultValues) === null || _p === void 0 ? void 0 : _p.call(_o, componentName.toLowerCase());\n if (overriddenCompValue !== undefined) {\n return convertToBoolean(overriddenCompValue);\n }\n return convertToBoolean(interruptComponentValue);\n }\n // For setting value in a register of componentMeta\n if (componentMeta && registerList.indexOf(componentMeta.register) !== -1) {\n // componentMetaData send to overrideDefaultValues for knowing register and tab information\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: componentMeta.register\n };\n var registerKey = (_q = getRegisterKey(harwareRegister, componentMeta.register)) !== null && _q !== void 0 ? _q : \"\";\n var settingKey = (_s = getSettingNameKey((_r = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _r === void 0 ? void 0 : _r.settings, componentName)) !== null && _s !== void 0 ? _s : \"\";\n var stateData = (_v = (_u = (_t = model.getState()) === null || _t === void 0 ? void 0 : _t.register) === null || _u === void 0 ? void 0 : _u[componentMeta.register]) === null || _v === void 0 ? void 0 : _v[settingKey];\n if (stateData !== undefined) {\n return stateData;\n }\n var overriddenCompValue = (_x = (_w = model.getDerivedFunctions()).overrideDefaultValues) === null || _x === void 0 ? void 0 : _x.call(_w, componentName, componentMetaData);\n if (overriddenCompValue != undefined) {\n return overriddenCompValue;\n }\n var registerValues = model.getRegisterValues();\n var settingValue = (_0 = (_z = (_y = registerValues === null || registerValues === void 0 ? void 0 : registerValues[registerKey]) === null || _y === void 0 ? void 0 : _y.settings) === null || _z === void 0 ? void 0 : _z[settingKey]) === null || _0 === void 0 ? void 0 : _0.value;\n var deviceDefaultValue = Number((_3 = (_2 = (_1 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _1 === void 0 ? void 0 : _1.settings) === null || _2 === void 0 ? void 0 : _2[settingKey]) === null || _3 === void 0 ? void 0 : _3.defaultValue);\n if (((_6 = (_5 = (_4 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _4 === void 0 ? void 0 : _4.settings) === null || _5 === void 0 ? void 0 : _5[settingKey]) === null || _6 === void 0 ? void 0 : _6.options) !== undefined) {\n settingValue = (_9 = (_8 = (_7 = registerValues === null || registerValues === void 0 ? void 0 : registerValues[registerKey]) === null || _7 === void 0 ? void 0 : _7.settings) === null || _8 === void 0 ? void 0 : _8[settingKey]) === null || _9 === void 0 ? void 0 : _9.optionName;\n deviceDefaultValue = (_13 = (_12 = (_11 = (_10 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _10 === void 0 ? void 0 : _10.settings) === null || _11 === void 0 ? void 0 : _11[settingKey]) === null || _12 === void 0 ? void 0 : _12.defaultValue) !== null && _13 !== void 0 ? _13 : \"\";\n }\n if (settingValue !== undefined) {\n return settingValue;\n }\n return deviceDefaultValue;\n }\n else {\n // To support moduleConfig setting components\n var component = (0, exports.getMappedComponentData)(componentName, model);\n if (component && component.registerName) {\n componentName = component.settingName;\n var mappedStateData = (_16 = (_15 = (_14 = model.getState()) === null || _14 === void 0 ? void 0 : _14.register) === null || _15 === void 0 ? void 0 : _15[component.registerName]) === null || _16 === void 0 ? void 0 : _16[componentName];\n if (mappedStateData !== undefined) {\n return mappedStateData;\n }\n var registerKey = (_17 = getRegisterKey(harwareRegister, component.registerName)) !== null && _17 !== void 0 ? _17 : \"\";\n var settingKey = (_19 = getSettingAliasKey((_18 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _18 === void 0 ? void 0 : _18.settings, componentName)) !== null && _19 !== void 0 ? _19 : \"\";\n mappedStateData = (_22 = (_21 = (_20 = model.getState()) === null || _20 === void 0 ? void 0 : _20.register) === null || _21 === void 0 ? void 0 : _21[component.registerName]) === null || _22 === void 0 ? void 0 : _22[settingKey];\n if (mappedStateData !== undefined) {\n return mappedStateData;\n }\n }\n var overriddenCompValue = (_24 = (_23 = model.getDerivedFunctions()).overrideDefaultValues) === null || _24 === void 0 ? void 0 : _24.call(_23, componentName);\n if (overriddenCompValue != undefined) {\n return overriddenCompValue;\n }\n }\n return undefined;\n};\nexports.getRegisterEditorComponentValue = getRegisterEditorComponentValue;\nfunction convertToBoolean(value) {\n if (typeof value === \"string\") {\n return value === \"enabled\" ? true : false;\n }\n return value;\n}\nfunction getRegisterNameList(registers) {\n var _a;\n var registerList = [];\n (_a = (0, Utils_1.getKeys)(registers !== null && registers !== void 0 ? registers : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a;\n var eachRegObj = registers === null || registers === void 0 ? void 0 : registers[registerName];\n var name = (_a = eachRegObj === null || eachRegObj === void 0 ? void 0 : eachRegObj.name) !== null && _a !== void 0 ? _a : \"\";\n registerList.push(name);\n });\n return registerList;\n}\nexports.getRegisterNameList = getRegisterNameList;\nfunction getRegisterKey(registersValueObjects, registerInstanceName) {\n var _a;\n var result;\n (_a = (0, Utils_1.getKeys)(registersValueObjects !== null && registersValueObjects !== void 0 ? registersValueObjects : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a;\n var eachRegObj = registersValueObjects === null || registersValueObjects === void 0 ? void 0 : registersValueObjects[registerName];\n var name = (_a = eachRegObj === null || eachRegObj === void 0 ? void 0 : eachRegObj.name) !== null && _a !== void 0 ? _a : \"\";\n if (name === registerInstanceName) {\n result = registerName;\n }\n });\n return result;\n}\nexports.getRegisterKey = getRegisterKey;\nfunction getSettingNameKey(settingValueObjects, settingInstanceName) {\n var _a;\n var result;\n (_a = (0, Utils_1.getKeys)(settingValueObjects !== null && settingValueObjects !== void 0 ? settingValueObjects : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (settingName) {\n var _a;\n var eachSetObj = settingValueObjects === null || settingValueObjects === void 0 ? void 0 : settingValueObjects[settingName];\n var name = (_a = eachSetObj === null || eachSetObj === void 0 ? void 0 : eachSetObj.name) !== null && _a !== void 0 ? _a : \"\";\n if (name === settingInstanceName) {\n result = settingName;\n }\n });\n return result;\n}\nexports.getSettingNameKey = getSettingNameKey;\nfunction getSettingAliasKey(registersValueObjects, setInstanceName) {\n var _a;\n var result;\n (_a = (0, Utils_1.getKeys)(registersValueObjects !== null && registersValueObjects !== void 0 ? registersValueObjects : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (setName) {\n var _a;\n var eachSetObj = registersValueObjects === null || registersValueObjects === void 0 ? void 0 : registersValueObjects[setName];\n var alias = (_a = eachSetObj === null || eachSetObj === void 0 ? void 0 : eachSetObj.alias) !== null && _a !== void 0 ? _a : \"\";\n if (alias === setInstanceName) {\n result = eachSetObj === null || eachSetObj === void 0 ? void 0 : eachSetObj.name;\n }\n });\n return result;\n}\nexports.getSettingAliasKey = getSettingAliasKey;\nvar getRegisterEditorValues = function (model, interfaceName) {\n var _a;\n var registers = {};\n var config = (0, getConfigData_1.getConfigData)(model);\n interfaceName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(interfaceName);\n (_a = config === null || config === void 0 ? void 0 : config.peripherals) === null || _a === void 0 ? void 0 : _a.forEach(function (peripheral) {\n var _a, _b, _c;\n var peripheralName = (_a = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n if ((interfaceName != undefined && peripheralName !== interfaceName) ||\n !peripheral.registers)\n return;\n (_c = (0, Utils_1.getKeys)((_b = peripheral.registers) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (regName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var registerValue;\n var reg = (_b = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[regName];\n if (reg) {\n registerValue = {\n comment: \"\",\n value: 0,\n valueAsHex: \"0x00\",\n name: reg === null || reg === void 0 ? void 0 : reg.name,\n alias: (_c = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _c !== void 0 ? _c : reg === null || reg === void 0 ? void 0 : reg.name,\n por: reg.defaultValue,\n settings: {},\n };\n }\n else {\n return;\n }\n var registerVal = CalculateRegisterValue_1.default.for(reg);\n var comments = [];\n (_d = peripheral.registers) === null || _d === void 0 ? void 0 : _d[regName].forEach(function (set) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;\n var setting = (_a = reg.settings) === null || _a === void 0 ? void 0 : _a[set.setting];\n if (setting) {\n if (setting.type !== \"R\") {\n //Add Comments\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_c = (_b = model.getDerivedFunctions()).overrideDefaultValues) === null || _c === void 0 ? void 0 : _c.call(_b, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_f = (_e = (_d = model.getState()) === null || _d === void 0 ? void 0 : _d.register) === null || _e === void 0 ? void 0 : _e[reg.name]) === null || _f === void 0 ? void 0 : _f[setting.name];\n comments.push(settingVal !== undefined ? \"\".concat(set.setting, \" \").concat(settingVal, \"; \") : \"\".concat(set.setting, \" \").concat(model.getComponentValue(set.name), \"; \"));\n }\n if (registerValue === null || registerValue === void 0 ? void 0 : registerValue.settings) {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_h = (_g = model.getDerivedFunctions()).overrideDefaultValues) === null || _h === void 0 ? void 0 : _h.call(_g, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_l = (_k = (_j = model.getState()) === null || _j === void 0 ? void 0 : _j.register) === null || _k === void 0 ? void 0 : _k[reg.name]) === null || _l === void 0 ? void 0 : _l[setting.name];\n registerValue.settings[setting.alias] = (0, AutoModuleHelpers_1.getSettingBits)(reg, setting, (settingVal !== undefined ? settingVal : (_m = model.getComponent(set.name)) === null || _m === void 0 ? void 0 : _m.value), (_o = config === null || config === void 0 ? void 0 : config.deviceType) !== null && _o !== void 0 ? _o : \"PIC\");\n }\n switch (set.type) {\n case \"ComboBox\":\n case \"boolean\":\n {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_q = (_p = model.getDerivedFunctions()).overrideDefaultValues) === null || _q === void 0 ? void 0 : _q.call(_p, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_t = (_s = (_r = model.getState()) === null || _r === void 0 ? void 0 : _r.register) === null || _s === void 0 ? void 0 : _s[reg.name]) === null || _t === void 0 ? void 0 : _t[setting.name];\n registerVal.withNumberValue(setting, (_v = (0, AutoModuleHelpers_1.getOptionValueByName)(setting, (settingVal !== undefined ? settingVal : (_u = model.getComponent(set.name)) === null || _u === void 0 ? void 0 : _u.value))) !== null && _v !== void 0 ? _v : 0);\n }\n break;\n case \"number\":\n {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_x = (_w = model.getDerivedFunctions()).overrideDefaultValues) === null || _x === void 0 ? void 0 : _x.call(_w, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_0 = (_z = (_y = model.getState()) === null || _y === void 0 ? void 0 : _y.register) === null || _z === void 0 ? void 0 : _z[reg.name]) === null || _0 === void 0 ? void 0 : _0[setting.name];\n registerVal.withNumberValue(setting, (settingVal !== undefined ? settingVal : model.getComponentValue(set.name)));\n }\n break;\n case \"register\":\n case \"string\":\n {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_2 = (_1 = model.getDerivedFunctions()).overrideDefaultValues) === null || _2 === void 0 ? void 0 : _2.call(_1, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_5 = (_4 = (_3 = model.getState()) === null || _3 === void 0 ? void 0 : _3.register) === null || _4 === void 0 ? void 0 : _4[reg.name]) === null || _5 === void 0 ? void 0 : _5[setting.name];\n if (settingVal !== undefined) {\n if (setting.options) {\n registerVal.withNumberValue(setting, (_6 = (0, AutoModuleHelpers_1.getOptionValueByName)(setting, settingVal)) !== null && _6 !== void 0 ? _6 : 0);\n }\n else {\n registerVal.withNumberValue(setting, Number(settingVal));\n }\n }\n else {\n registerVal.withNumberValue(setting, Number(model.getComponentValue(set.name)));\n }\n }\n break;\n default:\n break;\n }\n }\n });\n if (reg.settings) {\n registerValue.value = registerVal.asNumber();\n }\n else {\n {\n var regVal = (_f = (_e = model.getState()) === null || _e === void 0 ? void 0 : _e.register) === null || _f === void 0 ? void 0 : _f[reg.name];\n registerValue.value = Number(regVal !== undefined ? regVal : (_l = model.getComponentValue((_k = (_j = (_h = (_g = peripheral.registers) === null || _g === void 0 ? void 0 : _g[regName]) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.name) !== null && _k !== void 0 ? _k : \"\")) !== null && _l !== void 0 ? _l : 0);\n }\n comments.push(\"\".concat(registerValue.name, \" \").concat(registerValue.value, \"; \"));\n }\n registerValue.valueAsHex =\n \"0x\" + registerValue.value.toString(16).toUpperCase();\n registerValue.comment = (0, AutoModuleHelpers_1.sortComments)(comments, reg);\n registers[(_m = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _m !== void 0 ? _m : reg.name] = registerValue;\n });\n });\n return registers;\n};\nexports.getRegisterEditorValues = getRegisterEditorValues;\nvar getMappedComponentData = function (componentName, model) {\n var _a, _b, _c, _d, _e;\n var harwareRegisters = (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers;\n var moduleConfigRegisters = (_c = (_b = (0, getConfigData_1.getConfigData)(model)) === null || _b === void 0 ? void 0 : _b.peripherals) === null || _c === void 0 ? void 0 : _c[0].registers;\n var componentData = undefined;\n if (moduleConfigRegisters && harwareRegisters) {\n for (var _i = 0, _f = (0, Utils_1.getKeys)(moduleConfigRegisters); _i < _f.length; _i++) {\n var eachRegKey = _f[_i];\n for (var _g = 0, _h = moduleConfigRegisters[eachRegKey]; _g < _h.length; _g++) {\n var eachSet = _h[_g];\n if (eachSet && eachSet.name === componentName && harwareRegisters[eachRegKey] !== undefined && ((_d = harwareRegisters[eachRegKey]) === null || _d === void 0 ? void 0 : _d.name)) {\n componentData = {\n settingName: eachSet === null || eachSet === void 0 ? void 0 : eachSet.setting,\n registerName: (_e = harwareRegisters[eachRegKey]) === null || _e === void 0 ? void 0 : _e.name,\n };\n return componentData;\n }\n }\n }\n }\n return componentData;\n};\nexports.getMappedComponentData = getMappedComponentData;\n//# sourceMappingURL=RegisterEditorHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.registerUiSchema = exports.registerFormData = exports.registerScfUiSchema = exports.createAutoViewPayloads = void 0;\nvar scf_register_view_helper_1 = require(\"@microchip/scf-register-view-helper\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelper = __importStar(require(\"../AutoModuleHelpers\"));\nvar getConfigData_1 = require(\"../getConfigData\");\nvar registerFilter = __importStar(require(\"../RegisterFilterMode\"));\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nvar formData_1 = require(\"./formData\");\nvar scfUiSchema_1 = require(\"./scfUiSchema\");\nvar schema_1 = require(\"./schema\");\nvar uiSchema_1 = require(\"./uiSchema\");\nvar DerivedFunctions_1 = require(\"@microchip/melody-automodule-interface/lib/src/DerivedFunctions\");\nvar createAutoViewPayloads = function (model) {\n var _a, _b;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var payloads = {\n main: {},\n };\n if (config === null || config === void 0 ? void 0 : config.tabs) {\n Object.keys(config.tabs).forEach(function (tab) {\n payloads[tab] = getPayloadForTab(tab);\n });\n }\n if ((0, getConfigData_1.getConfigData)(model, true).showRegisterEditor === true && AutoModuleHelper.hasConfigBits((_b = (_a = config.peripherals) === null || _a === void 0 ? void 0 : _a[0].interfaceId.name) !== null && _b !== void 0 ? _b : \"\")) {\n payloads[\"register\"] = getPayloadForTab(\"register\");\n }\n return payloads;\n function getPayloadForTab(tab) {\n var _a, _b;\n if (tab === \"register\") {\n if (((_b = (_a = model.getState()) === null || _a === void 0 ? void 0 : _a.contentMeta) === null || _b === void 0 ? void 0 : _b.isUserEnRegRWMode) == true) {\n return createSimpleFormPayloadForRegisterEditor();\n }\n return createSimpleFormPayloadRegister();\n }\n var viewModel = {\n components: model.getAutoModuleAppModel().getAllComponents(),\n getComponent: model.getComponent,\n imports: model.getImports(),\n derivedFunctions: model.getDerivedFunctions(),\n getAssignedImport: model.getAssignedImport,\n getTableHelpers: model.getTableHelpers,\n };\n var schemaViewModel = {\n viewModel: viewModel,\n getDerivedFunction: {\n overrideTitle: model.getDerivedFunction(\"overrideTitle\"),\n isVisible: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n getFunction: model.getDerivedFunction,\n },\n overrideTableOptions: model.getDerivedFunctions()[\"overrideTableOptions\"],\n overrideDefaultValues: model.getDerivedFunctions()[\"overrideTableDefaultValues\"],\n model: model,\n };\n var uiSchemaViewModel = {\n viewModel: viewModel,\n getDerivedFunction: {\n isEnabled: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n getUiBehavior: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).getUiBehavior) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n isVisible: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n },\n getProcessedArgValue: model.getExportInterfaces().getProcessedArgValue,\n isControlledByInterface: model.isControlledByInterface,\n };\n return {\n schema: (0, schema_1.createSchema)(tab, config, schemaViewModel),\n uiSchema: (0, uiSchema_1.createUiSchema)(tab, config, uiSchemaViewModel),\n formData: (0, formData_1.createFormData)(tab, config, model),\n scfUiSchema: (0, scfUiSchema_1.createScfUiSchema)(tab, config, model),\n name: config === null || config === void 0 ? void 0 : config.tabs[tab],\n table: (0, autoModuleViewHelpers_1.shouldPopulateView)(model.getDerivedFunctions(), model.getImports(), model.getAssignedImport, config)\n ? model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getTableData\")\n : undefined,\n expandGroupsByDefault: (config === null || config === void 0 ? void 0 : config.UIGroupCollapse)\n ? config.UIGroupCollapse\n : true,\n };\n }\n function createSimpleFormPayloadRegister() {\n if (!(config === null || config === void 0 ? void 0 : config.peripherals)) {\n return {};\n }\n var registerViewPayloads = [];\n config.peripherals.forEach(function (peripheral) {\n var _a, _b, _c, _d, _e, _f;\n var hardwarePeripheral = (_a = model\n .getHardware(peripheral.interfaceId.name)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n if (!(hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers)) {\n return;\n }\n var registerValues = model.getRegisterValues(peripheral.interfaceId.name);\n var interrupts = model.getInterrupts();\n hardwarePeripheral = registerFilter.processRegisterModes(peripheral, hardwarePeripheral, model);\n //TODO: implement for all peripherals\n var registerView = scf_register_view_helper_1.CreateRegisterView.for(hardwarePeripheral);\n if (registerValues) {\n (_b = (0, Utils_1.getKeys)(registerValues !== null && registerValues !== void 0 ? registerValues : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var foundRegister = (_a = hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n if (foundRegister) {\n registerView.withRegisterValue(foundRegister, registerValues[registerName].value);\n }\n });\n }\n for (var interruptsKey in interrupts !== null && interrupts !== void 0 ? interrupts : {}) {\n var interrupt = interrupts === null || interrupts === void 0 ? void 0 : interrupts[interruptsKey];\n if (interrupt) {\n var interruptComponent = model.getComponent(interruptsKey.toLowerCase());\n var interruptCompVal = typeof (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value) === \"boolean\"\n ? (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value)\n ? \"enabled\"\n : \"disabled\"\n : interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value;\n registerView\n .withInterruptValue(interrupt, (_c = interruptCompVal !== null && interruptCompVal !== void 0 ? interruptCompVal : interrupt.defaultValue) !== null && _c !== void 0 ? _c : \"disabled\")\n .withInterruptOptions(interrupt, (_f = (_e = (_d = interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.component) === null || _d === void 0 ? void 0 : _d[\"defaultValue\"]) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : [\n \"enabled\",\n \"disabled\",\n ]);\n }\n }\n if ((0, getConfigData_1.getConfigData)(model, true).showRegisterEditor === true) {\n registerViewPayloads.push(__assign(__assign({}, registerView.create()), { scfUiSchema: (0, exports.registerScfUiSchema)(model, hardwarePeripheral.registers) }));\n }\n else {\n registerViewPayloads.push(registerView.create());\n }\n });\n return registerViewPayloads[0];\n }\n // Form payload for Register Editor\n function createSimpleFormPayloadForRegisterEditor() {\n if (!(config === null || config === void 0 ? void 0 : config.peripherals)) {\n return {};\n }\n var registerViewPayloads = [];\n config.peripherals.forEach(function (peripheral) {\n var _a, _b, _c, _d, _e, _f;\n var hardwarePeripheral = (_a = model\n .getHardware(peripheral.interfaceId.name)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n if (!(hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers)) {\n return;\n }\n var registerValues = model.getRegisterValues(peripheral.interfaceId.name);\n var interrupts = model.getInterrupts();\n hardwarePeripheral = registerFilter.processRegisterModes(peripheral, hardwarePeripheral, model);\n var registerView = scf_register_view_helper_1.CreateRegisterView.for(hardwarePeripheral).withAllEditable();\n if (registerValues) {\n (_b = (0, Utils_1.getKeys)(registerValues !== null && registerValues !== void 0 ? registerValues : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var foundRegister = (_a = hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n if (foundRegister) {\n registerView.withRegisterValue(foundRegister, registerValues[registerName].value);\n }\n });\n }\n for (var interruptsKey in interrupts !== null && interrupts !== void 0 ? interrupts : {}) {\n var interrupt = interrupts === null || interrupts === void 0 ? void 0 : interrupts[interruptsKey];\n if (interrupt) {\n var interruptComponent = model.getComponent(interruptsKey.toLowerCase());\n var interruptCompVal = typeof (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value) === \"boolean\"\n ? (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value)\n ? \"enabled\"\n : \"disabled\"\n : interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value;\n registerView\n .withInterruptValue(interrupt, (_c = interruptCompVal !== null && interruptCompVal !== void 0 ? interruptCompVal : interrupt.defaultValue) !== null && _c !== void 0 ? _c : \"disabled\")\n .withInterruptOptions(interrupt, (_f = (_e = (_d = interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.component) === null || _d === void 0 ? void 0 : _d[\"defaultValue\"]) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : [\n \"enabled\",\n \"disabled\",\n ]);\n }\n }\n registerViewPayloads.push(__assign(__assign({}, registerView.create()), { formData: registerFormData(model, registerView.create().formData), uiSchema: registerUiSchema(model, registerView, hardwarePeripheral.registers, hardwarePeripheral.interrupts), scfUiSchema: (0, exports.registerScfUiSchema)(model, hardwarePeripheral.registers) }));\n });\n return registerViewPayloads[0];\n }\n};\nexports.createAutoViewPayloads = createAutoViewPayloads;\nvar registerScfUiSchema = function (model, hardwareRegisters) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var scfUiSchema = {};\n var deviceMeta = model.getImportValue(\"device_meta\");\n var hasSdlSupport = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.hasSdlSupport) !== null && _a !== void 0 ? _a : false;\n var helpUrl = \"\";\n if (deviceMeta && hasSdlSupport) {\n if ((_b = deviceMeta.architecture) === null || _b === void 0 ? void 0 : _b.startsWith(\"PIC\")) {\n helpUrl = \"v2/keyword-lookup?keyword=atmel;device:${deviceName};register:${registerName}&redirect=true\";\n }\n else if ((_c = deviceMeta.architecture) === null || _c === void 0 ? void 0 : _c.startsWith(\"AVR\")) {\n helpUrl = \"v2/keyword-lookup?keyword=atmel;device:${deviceName};comp:${moduleName}_${dosId};register:${registerName}&redirect=true\";\n }\n var deviceName_1 = (_d = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.deviceName) !== null && _d !== void 0 ? _d : \"\";\n var moduleName_1 = (_g = (_f = (_e = model.getHardware()) === null || _e === void 0 ? void 0 : _e.getPeripheral()) === null || _f === void 0 ? void 0 : _f.group) !== null && _g !== void 0 ? _g : \"\";\n var dosid_1 = (_k = (_j = (_h = model.getHardware()) === null || _h === void 0 ? void 0 : _h.getPeripheral()) === null || _j === void 0 ? void 0 : _j.dosid) !== null && _k !== void 0 ? _k : \"\";\n if (hardwareRegisters != undefined) {\n (0, Utils_1.values)(hardwareRegisters !== null && hardwareRegisters !== void 0 ? hardwareRegisters : {}).forEach(function (eachRegister) {\n var _a, _b;\n if (eachRegister) {\n var settings_1 = (_b = hardwareRegisters[(_a = eachRegister.alias) !== null && _a !== void 0 ? _a : \"\"]) === null || _b === void 0 ? void 0 : _b.settings;\n if (settings_1) {\n (0, Utils_1.getKeys)(settings_1).forEach(function (eachSetting) {\n var _a, _b;\n var _c;\n var eachSettingObject = settings_1[eachSetting];\n if (eachSettingObject) {\n var sdlHelpUrl = helpUrl\n .replace(\"${deviceName}\", deviceName_1 !== null && deviceName_1 !== void 0 ? deviceName_1 : \"\")\n .replace(\"${registerName}\", eachRegister.name)\n .replace(\"${moduleName}\", moduleName_1 !== null && moduleName_1 !== void 0 ? moduleName_1 : \"\")\n .replace(\"${dosId}\", dosid_1 !== null && dosid_1 !== void 0 ? dosid_1 : \"\");\n scfUiSchema = __assign(__assign({}, scfUiSchema), (_a = {}, _a[eachRegister.name] = __assign(__assign({}, scfUiSchema[eachRegister.name]), (_b = {}, _b[eachSettingObject.name] = __assign(__assign({}, (_c = scfUiSchema[eachRegister.name]) === null || _c === void 0 ? void 0 : _c[eachSettingObject.name]), { helpKeyword: sdlHelpUrl, tooltip: \"Click for more Information\" }), _b)), _a));\n }\n });\n }\n }\n });\n }\n }\n return scfUiSchema;\n};\nexports.registerScfUiSchema = registerScfUiSchema;\nfunction registerFormData(model, formData) {\n var _a, _b;\n var formDataCopy = __assign({}, formData);\n for (var _i = 0, _c = Object.keys(formDataCopy); _i < _c.length; _i++) {\n var register = _c[_i];\n for (var _d = 0, _e = Object.keys(formDataCopy[register]); _d < _e.length; _d++) {\n var setting = _e[_d];\n var value = model.getComponentValue(setting, { register: register }) !== undefined\n ? model.getComponentValue(setting, { register: register })\n : model.getComponentValue(setting);\n if (register === \"interrupts\") {\n value = value == true ? \"enabled\" : \"disabled\";\n }\n formData = __assign(__assign({}, formData), (_a = {}, _a[register] = __assign(__assign({}, formData[register]), (_b = {}, _b[setting] = value, _b)), _a));\n }\n }\n return formData;\n}\nexports.registerFormData = registerFormData;\nfunction registerUiSchema(model, registerView, hardwareRegisters, hardwareInterrupt) {\n if (hardwareRegisters != undefined) {\n // For Registers and Settings\n (0, Utils_1.getKeys)(hardwareRegisters !== null && hardwareRegisters !== void 0 ? hardwareRegisters : {}).forEach(function (eachRegister) {\n var _a, _b, _c, _d, _e, _f, _g;\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.REGISTER,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n };\n var registerName = (_b = (_a = hardwareRegisters[eachRegister]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : \"\";\n // isEnabled for each Register in device.\n var isEnabled = (_d = model === null || model === void 0 ? void 0 : (_c = model.getDerivedFunctions()).isEnabled) === null || _d === void 0 ? void 0 : _d.call(_c, registerName, componentMetaData);\n if (isEnabled === false) {\n registerView = registerView.withNonEditableRegister(hardwareRegisters[eachRegister]);\n }\n var settings = (_e = hardwareRegisters[eachRegister]) === null || _e === void 0 ? void 0 : _e.settings;\n (0, Utils_1.getKeys)(settings !== null && settings !== void 0 ? settings : {}).forEach(function (eachSetting) {\n var _a, _b, _c, _d, _e, _f;\n var eachSettingObject = settings === null || settings === void 0 ? void 0 : settings[eachSetting];\n if (eachSettingObject) {\n var settingName = eachSettingObject.name;\n var componentMetaData_1 = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: registerName\n };\n // isEnabled for each Register's Settings in device.\n var isEnabled_1 = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, settingName, componentMetaData_1);\n if (eachSettingObject && settingName && isEnabled_1 === false) {\n registerView = registerView.withEditableRegisterSetting(hardwareRegisters === null || hardwareRegisters === void 0 ? void 0 : hardwareRegisters[eachRegister], eachSettingObject);\n }\n // isVisible for each Register's Settings in device.\n var isVisible_1 = (_d = model === null || model === void 0 ? void 0 : (_c = model.getDerivedFunctions()).isVisible) === null || _d === void 0 ? void 0 : _d.call(_c, settingName, componentMetaData_1);\n if (eachSettingObject && settingName && isVisible_1 === false) {\n registerView = registerView.withInVisibleRegisterSetting(hardwareRegisters === null || hardwareRegisters === void 0 ? void 0 : hardwareRegisters[eachRegister], eachSettingObject);\n }\n // override setting level description based on setting name and component's Meta \n var overrideTitle = (_f = model === null || model === void 0 ? void 0 : (_e = model.getDerivedFunctions()).overrideTitle) === null || _f === void 0 ? void 0 : _f.call(_e, settingName, componentMetaData_1);\n if (overrideTitle && typeof overrideTitle === \"string\") {\n registerView = registerView.withUpdatedSettingDescription(hardwareRegisters === null || hardwareRegisters === void 0 ? void 0 : hardwareRegisters[eachRegister], eachSettingObject, overrideTitle);\n }\n }\n });\n // isVisible for each Register in device.\n var isVisible = (_g = model === null || model === void 0 ? void 0 : (_f = model.getDerivedFunctions()).isVisible) === null || _g === void 0 ? void 0 : _g.call(_f, registerName, componentMetaData);\n if (isVisible === false) {\n registerView = registerView.withInVisibleRegister(hardwareRegisters[eachRegister]);\n }\n });\n // For interrupts\n (0, Utils_1.getKeys)(hardwareInterrupt !== null && hardwareInterrupt !== void 0 ? hardwareInterrupt : {}).forEach(function (eachInterrupts) {\n var _a, _b, _c, _d;\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.INTERRUPT,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n };\n // isEnabled for each Interrupts in device.\n var isEnabled = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, eachInterrupts, componentMetaData);\n if (isEnabled === false) {\n registerView = registerView.withNonEditableInterrupt(hardwareInterrupt === null || hardwareInterrupt === void 0 ? void 0 : hardwareInterrupt[eachInterrupts]);\n }\n // isVisible for each Interrupts in device.\n var isVisible = (_d = model === null || model === void 0 ? void 0 : (_c = model.getDerivedFunctions()).isVisible) === null || _d === void 0 ? void 0 : _d.call(_c, eachInterrupts, componentMetaData);\n if (isVisible === false) {\n registerView = registerView.withInVisibleInterrupt(hardwareInterrupt === null || hardwareInterrupt === void 0 ? void 0 : hardwareInterrupt[eachInterrupts]);\n }\n });\n }\n return registerView.create().uiSchema;\n}\nexports.registerUiSchema = registerUiSchema;\n//# sourceMappingURL=autoModuleView.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isComponentInvisible = exports.shouldPopulateView = exports.isModeActive = exports.isImage = exports.isUrl = void 0;\nvar AutoModuleHardware_1 = require(\"../AutoModuleHardware\");\nfunction isUrl(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"url\");\n}\nexports.isUrl = isUrl;\nfunction isImage(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"image\");\n}\nexports.isImage = isImage;\nfunction isModeActive(mode, component, getComponent) {\n var _a, _b, _c, _d, _e, _f;\n if (((_a = component === null || component === void 0 ? void 0 : component.mode) === null || _a === void 0 ? void 0 : _a.operation) !== mode) {\n return undefined; //No mode selected\n }\n var masterComponent = getComponent(component.mode.masterComponent);\n if ((_b = component.mode) === null || _b === void 0 ? void 0 : _b.matchRegEx) {\n var value = (_f = (_e = (_d = (_c = masterComponent === null || masterComponent === void 0 ? void 0 : masterComponent.value) === null || _c === void 0 ? void 0 : _c.toString()) === null || _d === void 0 ? void 0 : _d.match(component.mode.matchRegEx)) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0;\n return value > 0;\n }\n return undefined;\n}\nexports.isModeActive = isModeActive;\nfunction shouldPopulateView(derivedFunctions, imports, getAssignedImport, config) {\n var _a;\n if (displayViewOnImportAssigned(getAssignedImport, config) === false) {\n return false;\n }\n return (((_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.shouldPopulateViewAtStartup) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions)) === true ||\n (0, AutoModuleHardware_1.isFullyAssigned)(imports, config));\n}\nexports.shouldPopulateView = shouldPopulateView;\nfunction displayViewOnImportAssigned(getAssignedImport, config) {\n var shouldPopulateView = true;\n if (config === null || config === void 0 ? void 0 : config.displayViewOnImportAssigned) {\n config.displayViewOnImportAssigned.forEach(function (impKey) {\n if (getAssignedImport(impKey) == undefined) {\n shouldPopulateView = false;\n }\n });\n }\n return shouldPopulateView;\n}\nvar isComponentInvisible = function (component, appModel) {\n var _a, _b;\n var isInvisibleViaProperty = component.isVisibleProperty &&\n appModel.getDerivedFunction(component.isVisibleProperty) == false;\n return (((_b = (_a = appModel.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) === false ||\n isInvisibleViaProperty ||\n isModeActive(\"isVisible\", component, appModel.getComponent) === false);\n};\nexports.isComponentInvisible = isComponentInvisible;\n//# sourceMappingURL=autoModuleViewHelpers.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createFormData = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar schema_1 = require(\"./schema\");\nvar TimeComponentHelper_1 = require(\"../TimeComponentHelper\");\nvar FrequencyComponentHelper_1 = require(\"../FrequencyComponentHelper\");\nfunction createFormData(tab, config, model) {\n var _a;\n var formData = {};\n if (config) {\n var components = model.getAutoModuleAppModel().getAllComponents();\n (_a = (0, Utils_1.values)(components)) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {\n var _a;\n if (!config) {\n return;\n }\n var component = entry.component;\n var value = model.getComponentValue(component.name);\n var regex = new RegExp(\"[en,dis]abled?\");\n if (component.type === \"boolean\") {\n if (value && typeof value === 'string') {\n if (regex.test(value.toLowerCase()) && typeof config.booleanValues.true === \"string\") {\n var configVal = config.booleanValues.true;\n if (configVal.toLowerCase() === \"enable\") {\n value = value.toLowerCase().startsWith(configVal.toLowerCase());\n }\n else {\n value = configVal.toLowerCase().startsWith(value.toLowerCase());\n }\n }\n else if (value === \"true\") {\n value = true;\n }\n else if (value === \"false\") {\n value = false;\n }\n }\n else if (value && typeof value === 'boolean') {\n value = value;\n }\n }\n if (component.type === \"DescriptionOnly\") {\n value = null;\n }\n if ((0, schema_1.isInvalidTab)(component.tabs, tab)) {\n return;\n }\n if (component.category === \"table\") {\n value = (0, tables_1.getTableFormData)(model, component, tab);\n }\n if (component.category === \"file_load\") {\n value = \"\";\n }\n if (component.type === \"time\") {\n value = (0, TimeComponentHelper_1.getTimeComponentFormData)(model, component, tab);\n }\n if (component.type === \"frequency\") {\n value = (0, FrequencyComponentHelper_1.getFreqCompFormData)(model, component, tab);\n }\n if (component.category === \"file_save\") {\n value = \"\";\n }\n formData[component.group] = __assign(__assign({}, formData[component.group]), (_a = {}, _a[component.name] = value, _a));\n });\n }\n return formData;\n}\nexports.createFormData = createFormData;\n//# sourceMappingURL=formData.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createScfUiSchema = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar ContextualHelp_1 = require(\"../ContextualHelp\");\nfunction createScfUiSchema(tab, config, model) {\n var _a;\n var scfUiSchema = {};\n if (config) {\n var components_1 = getAllComponents(model);\n (_a = (0, Utils_1.getKeys)(components_1)) === null || _a === void 0 ? void 0 : _a.forEach(function (eachKey) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var component = components_1[eachKey].component;\n var name = component.name, group = component.group;\n var schema = {};\n if (component.tabs.indexOf(tab) == -1)\n return;\n if (!scfUiSchema[group]) {\n scfUiSchema[group] = {};\n }\n if (!scfUiSchema[group][name]) {\n scfUiSchema[group][name] = {};\n }\n var actions = getActions(component, model);\n var transformErrors = model.getDerivedFunction(\"getCustomUiErrors\", name);\n if (model.getImports()) {\n var deviceMeta = model.getImportValue(\"device_meta\");\n var hasSdlSupport = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.hasSdlSupport) !== null && _a !== void 0 ? _a : false;\n if (component.sdlHelp && hasSdlSupport) {\n var helpUrl = component.sdlHelp.url;\n schema[\"helpKeyword\"] = getHelpKeyword(model, name, helpUrl);\n schema[\"tooltip\"] = getTooltip(component);\n }\n }\n if (component.category === \"file_load\") {\n schema[\"fileLoadProps\"] = {};\n schema[\"fileLoadProps\"][\"fileId\"] = eachKey;\n schema[\"fileLoadProps\"][\"saveState\"] = (_c = (_b = component.fileMeta) === null || _b === void 0 ? void 0 : _b.saveState) !== null && _c !== void 0 ? _c : false;\n schema[\"fileLoadProps\"][\"filter\"] = (_d = component.fileMeta) === null || _d === void 0 ? void 0 : _d.filter;\n schema[\"fileLoadProps\"][\"type\"] = \"file_load\";\n schema[\"fileLoadProps\"][\"compText\"] = (_e = component.fileMeta) === null || _e === void 0 ? void 0 : _e.compText;\n }\n if (component.category === \"file_save\") {\n schema[\"fileSaveProps\"] = {};\n schema[\"fileSaveProps\"][\"fileId\"] = eachKey;\n schema[\"fileSaveProps\"][\"fileContents\"] = model.getComponentValue(component.name);\n schema[\"fileSaveProps\"][\"fileName\"] = (_f = component.fileMeta) === null || _f === void 0 ? void 0 : _f.defaultName;\n schema[\"fileSaveProps\"][\"type\"] = \"file_save\";\n schema[\"fileSaveProps\"][\"compText\"] = (_g = component.fileMeta) === null || _g === void 0 ? void 0 : _g.compText;\n }\n if (component.category === \"table\") {\n var tableState = (_k = (_j = (_h = model === null || model === void 0 ? void 0 : model.getState()) === null || _h === void 0 ? void 0 : _h[tab]) === null || _j === void 0 ? void 0 : _j[group]) === null || _k === void 0 ? void 0 : _k[name];\n var uids = (0, tables_1.createTableUids)(component, tab, model, tableState);\n schema[\"table\"] = getTableUiSchema(component, uids);\n actions = (0, tables_1.getTableActions)(component, tab, model, uids);\n }\n schema[\"precision\"] = component[\"precision\"];\n schema[\"shouldDispatchOnChange\"] = component[\"shouldDispatchOnChange\"];\n if (actions) {\n schema[\"actions\"] = actions;\n }\n if (transformErrors) {\n schema[\"transformErrors\"] = transformErrors;\n }\n scfUiSchema[group][name] = __assign({}, schema);\n });\n }\n return scfUiSchema;\n}\nexports.createScfUiSchema = createScfUiSchema;\nfunction getAllComponents(model) {\n return model.getAutoModuleAppModel().getAllComponents();\n}\nfunction getHelpKeyword(model, componentName, helpUrl) {\n var _a;\n return ((_a = model.getDerivedFunction(\"getHelpUrl\", componentName, helpUrl)) !== null && _a !== void 0 ? _a : (0, ContextualHelp_1.getAutoSdlHelp)(model, componentName, helpUrl));\n}\nfunction getTooltip(component) {\n var _a, _b;\n return (_b = (_a = component.sdlHelp) === null || _a === void 0 ? void 0 : _a.tooltip) !== null && _b !== void 0 ? _b : \"Click for more information\";\n}\nfunction getTableUiSchema(component, uids) {\n var cellValidationInfo = (0, tables_1.getCellValidationInfo)(component);\n return {\n canRemoveRows: component.canRemoveRows,\n canInsertRows: component.canInsertRows,\n canAddRows: component.canAddRows,\n canMoveRowDown: component.canMoveRowDown,\n canMoveRowUp: component.canMoveRowUp,\n canEnableRows: component.canEnableRows,\n uids: uids,\n cellValidationInfo: cellValidationInfo,\n };\n}\nfunction getDependencySelectorActions(component, model) {\n var depSelector = new AutoModuleHelpers_1.DependencySelector(model, component);\n var options = depSelector.generateDropdownOptions();\n var dependencySelectorActions = [];\n options.forEach(function (dropdownOption) {\n var option = dropdownOption.value;\n dependencySelectorActions.push({\n type: \"[Import] SET\",\n payload: {\n importId: component.importId,\n handle: option === null || option === void 0 ? void 0 : option.handle,\n interfaceId: option === null || option === void 0 ? void 0 : option.interfaceId,\n option: dropdownOption.label,\n },\n });\n });\n return JSON.stringify(dependencySelectorActions);\n}\nfunction getActions(component, model) {\n if (component.category === \"import\") {\n return getDependencySelectorActions(component, model);\n }\n var actions = model.getDerivedFunction(\"getActions\", component.name, component.actions);\n return JSON.stringify(actions); //TODO: support map\n}\n//# sourceMappingURL=scfUiSchema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDependencyComponentSchema = exports.isInvalidTab = exports.createSchema = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar TimeComponentHelper_1 = require(\"../TimeComponentHelper\");\nvar FrequencyComponentHelper_1 = require(\"../FrequencyComponentHelper\");\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nfunction createSchema(tab, config, viewModel) {\n var _a, _b, _c, _d, _e, _f, _g;\n var schema = {};\n if (config) {\n var populateView_1 = (0, autoModuleViewHelpers_1.shouldPopulateView)(viewModel.viewModel.derivedFunctions, viewModel.viewModel.imports, viewModel.viewModel.getAssignedImport, config);\n schema = {\n description: (_c = (_b = (_a = viewModel.viewModel).getModuleDescription) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : (0, AutoModuleHelpers_1.getModuleDefaultDescription)(),\n title: config.moduleName,\n type: \"object\",\n properties: {},\n };\n var schemaBuilder_1 = {\n properties: {},\n };\n (_e = (0, Utils_1.values)((_d = viewModel.viewModel.components) !== null && _d !== void 0 ? _d : {})) === null || _e === void 0 ? void 0 : _e.forEach(function (entry) {\n var _a, _b, _c, _d, _e;\n var component = entry.component;\n if ((!populateView_1 && component.category != \"import\") ||\n isInvalidTab(component.tabs, tab)) {\n return;\n }\n if (!schemaBuilder_1[component.group]) {\n schemaBuilder_1[component.group] = {\n title: (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.overrideGroupTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.group)) !== null && _c !== void 0 ? _c : config === null || config === void 0 ? void 0 : config.UIGroups[component.group],\n description: (_e = (_d = viewModel.viewModel.derivedFunctions) === null || _d === void 0 ? void 0 : _d.overrideGroupDescription) === null || _e === void 0 ? void 0 : _e.call(_d, component.group),\n type: \"object\",\n properties: {},\n };\n }\n schemaBuilder_1[component.group].properties = __assign(__assign({}, schemaBuilder_1[component.group].properties), getComponentSchema(component, tab, viewModel));\n });\n //Sort groups based on order of UIGroups and remove groups with no components\n (_g = (0, Utils_1.getKeys)((_f = config.UIGroups) !== null && _f !== void 0 ? _f : {})) === null || _g === void 0 ? void 0 : _g.forEach(function (group) {\n var _a, _b, _c, _d;\n if (((_d = (_c = (0, Utils_1.getKeys)((_b = (_a = schemaBuilder_1[group]) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0 &&\n schema.properties) {\n schema.properties[group] = schemaBuilder_1[group];\n }\n });\n }\n return schema;\n}\nexports.createSchema = createSchema;\nfunction getComponentSchema(component, tab, viewModel) {\n var _a;\n var schema = {};\n if (isInvalidTab(component.tabs, tab) ||\n (viewModel.model && (0, autoModuleViewHelpers_1.isComponentInvisible)(component, viewModel.model))) {\n return schema;\n }\n schema = addComponentSchema(component, viewModel);\n if (schema == undefined) {\n return schema;\n }\n if (shouldAddValidator(component, viewModel.viewModel.derivedFunctions)) {\n schema = addComponentValidator(schema, component, viewModel.viewModel.derivedFunctions);\n }\n var componentName = component.name;\n schema = (_a = {}, _a[componentName] = __assign({}, schema), _a);\n return schema;\n}\nfunction isInvalidTab(tabs, tab) {\n return tabs.indexOf(tab) == -1;\n}\nexports.isInvalidTab = isInvalidTab;\nfunction addComponentValidator(schema, component, derivedFunctions) {\n return __assign(__assign({}, schema), derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name + \"Validator\"]());\n}\nfunction shouldAddValidator(component, derivedFunctions) {\n return (component.validation &&\n derivedFunctions &&\n (derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name + \"Validator\"]) != null);\n}\nfunction addComponentSchema(component, viewModel) {\n if (component.category === \"software\") {\n return getSoftwareComponentSchema(component, viewModel.viewModel.derivedFunctions);\n }\n else if (component.category === \"hardware\") {\n return getHardwareComponentSchema(component, viewModel);\n }\n else if (component.category === \"import\") {\n return getDependencyComponentSchema(component, viewModel);\n }\n else if (component.category === \"file_load\") {\n return getFileLoadComponentSchema(component, viewModel);\n }\n else if (component.category === \"file_save\") {\n return getFileSaveComponentSchema(component, viewModel);\n }\n else if (component[\"category\"] === \"table\") {\n return (0, tables_1.getTableComponentSchema)(component, viewModel);\n }\n return undefined;\n}\nfunction getSoftwareComponentSchema(component, derivedFunctions) {\n var _a, _b, _c, _d, _e, _f;\n var schema = {};\n if (component.type === \"ComboBox\") {\n schema = {\n type: \"string\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n default: (0, AutoModuleHelpers_1.getDefaultValue)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideDefaultValues, component),\n enum: (0, AutoModuleHelpers_1.getComboOptions)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideOptions, component),\n };\n }\n else if (component.type === \"hex\") {\n schema = {\n type: \"integer\",\n title: (_d = (_c = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _c === void 0 ? void 0 : _c.call(derivedFunctions, component.name)) !== null && _d !== void 0 ? _d : component.description,\n format: \"hex\",\n default: (0, AutoModuleHelpers_1.getDefaultValue)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideDefaultValues, component),\n };\n }\n else if (component.type === \"DescriptionOnly\") {\n schema = {\n type: \"null\",\n title: component.description,\n };\n }\n else if (component.type === \"time\") {\n schema = (0, TimeComponentHelper_1.getTimeComponentSchema)(component, derivedFunctions);\n }\n else if (component.type === \"frequency\") {\n schema = (0, FrequencyComponentHelper_1.getFreqCompSchema)(component, derivedFunctions);\n }\n else {\n schema = {\n type: component.type,\n title: (_f = (_e = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _e === void 0 ? void 0 : _e.call(derivedFunctions, component.name)) !== null && _f !== void 0 ? _f : component.description,\n };\n if ((0, autoModuleViewHelpers_1.isUrl)(component) && component.urlDescription) {\n schema = __assign(__assign({}, schema), { description: component.urlDescription });\n }\n if ((0, autoModuleViewHelpers_1.isImage)(component) && component.imageDescription) {\n schema = __assign(__assign({}, schema), { description: component.imageDescription });\n }\n }\n return schema;\n}\nfunction getDependencyComponentSchema(component, viewModel) {\n var _a, _b, _c, _d, _e, _f;\n var schema = {};\n if (((_a = component.uiBehavior) === null || _a === void 0 ? void 0 : _a[\"ui:widget\"]) === \"hidden\") {\n return;\n }\n if (component.type === \"ComboBox\" && viewModel.model) {\n var dependencySelector = new AutoModuleHelpers_1.DependencySelector(viewModel.model, component);\n if (dependencySelector.getDropdownOptionNames().length <= 0) {\n return schema;\n }\n var dropdownOptions = dependencySelector.getDropdownOptionNames();\n var assignedImport = (_c = (_b = viewModel.createProcessedImports) === null || _b === void 0 ? void 0 : _b.call(viewModel, \"views\")) === null || _c === void 0 ? void 0 : _c[component.importId];\n var NONE_1 = \"None\";\n var assignedName = NONE_1;\n var selectedDependency = viewModel.model.getComponentValue(component.name);\n if (assignedImport === null || assignedImport === void 0 ? void 0 : assignedImport.handle) {\n assignedName = dependencySelector.createOptionLabel(assignedImport.handle, assignedImport.payload);\n dropdownOptions.push(assignedName);\n }\n else if (selectedDependency) {\n dropdownOptions.push(selectedDependency);\n }\n dropdownOptions = dropdownOptions.sort(function (a, b) {\n return a.localeCompare(b);\n });\n dropdownOptions = __spreadArray([NONE_1], dropdownOptions.filter(function (item) { return item !== NONE_1; }), true);\n schema = {\n type: \"string\",\n title: (_f = (_e = (_d = viewModel.getDerivedFunction).overrideTitle) === null || _e === void 0 ? void 0 : _e.call(_d, component.name)) !== null && _f !== void 0 ? _f : component.description,\n default: assignedName,\n enum: dropdownOptions,\n };\n }\n return schema;\n}\nexports.getDependencyComponentSchema = getDependencyComponentSchema;\nfunction getFileLoadComponentSchema(component, viewModel) {\n var _a, _b, _c;\n var schema = {};\n if (viewModel.model) {\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.getDerivedFunction).overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n };\n }\n return schema;\n}\nfunction getFileSaveComponentSchema(component, viewModel) {\n var _a, _b, _c;\n var schema = {};\n if (viewModel.model) {\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.getDerivedFunction).overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n };\n }\n return schema;\n}\nfunction getHardwareComponentSchema(component, viewModel) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var schema = {};\n var model = viewModel.model;\n if (model) {\n if (model.getComponentValue(component.name) !== undefined &&\n component.type !== \"register\") {\n if (component.type === \"ComboBox\") {\n var setting = (0, AutoModuleHelpers_1.getSettingFromComponent)(model, component);\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n default: (0, AutoModuleHelpers_1.getSettingDefaultIfPresent)(component, setting, (_e = (_d = model\n .getDerivedFunctions()).overrideDefaultValues) === null || _e === void 0 ? void 0 : _e.call(_d, component.name)),\n enum: (0, AutoModuleHelpers_1.getSettingOptionsIfPresent)(component, setting, model.getComponentValue((_g = (_f = component.mode) === null || _f === void 0 ? void 0 : _f.masterComponent) !== null && _g !== void 0 ? _g : \"\")),\n };\n }\n else {\n schema = {\n type: component.type,\n title: (_k = (_j = (_h = viewModel.viewModel.derivedFunctions) === null || _h === void 0 ? void 0 : _h.overrideTitle) === null || _j === void 0 ? void 0 : _j.call(_h, component.name)) !== null && _k !== void 0 ? _k : component.description,\n };\n }\n }\n }\n return schema;\n}\n//# sourceMappingURL=schema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createUiSchema = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nfunction createUiSchema(tab, config, viewModel) {\n var _a;\n var _b, _c, _d;\n var uiSchema = {};\n if (config) {\n if (config.UIOrder) {\n (_c = (0, Utils_1.getKeys)((_b = config.UIOrder) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (group) {\n var _a;\n uiSchema[group] = {\n \"ui:order\": (_a = config === null || config === void 0 ? void 0 : config.UIOrder) === null || _a === void 0 ? void 0 : _a[group],\n };\n });\n }\n var components = viewModel.viewModel.components;\n var isGroupHidden_1 = {};\n (_d = (0, Utils_1.values)(components !== null && components !== void 0 ? components : {})) === null || _d === void 0 ? void 0 : _d.forEach(function (entry) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j;\n var component = entry.component;\n var tabIndex = (_d = (_c = component.tabs) === null || _c === void 0 ? void 0 : _c.indexOf(tab)) !== null && _d !== void 0 ? _d : -1;\n if (tabIndex === -1)\n return;\n var isComponentGroupHidden = isGroupHidden_1[component.group] === undefined ||\n isGroupHidden_1[component.group] === true;\n if (isComponentGroupHidden) {\n var isHidden = (_f = ((_e = component.uiBehavior) === null || _e === void 0 ? void 0 : _e[\"ui:widget\"]) === \"hidden\") !== null && _f !== void 0 ? _f : false;\n if (((_h = (_g = viewModel.getDerivedFunction).isVisible) === null || _h === void 0 ? void 0 : _h.call(_g, component.name)) === false) {\n isHidden = true;\n }\n isGroupHidden_1[component.group] = isHidden;\n }\n if (component.category === \"table\") {\n var table = component;\n var tableCols_1 = table.columns;\n var colNames = Object.keys(tableCols_1);\n var defaultAlignment_1 = \"left\";\n var displayHeadersHorizontally = (_j = table.displayHeadersHorizontally) !== null && _j !== void 0 ? _j : false;\n var displayHeadersDiagonally_1 = !displayHeadersHorizontally;\n var columns_1 = [];\n var defaultColumnWidth_1 = (0, tables_1.calculateColumnWidth)(tableCols_1);\n var headerMaxLength_1 = colNames\n .map(function (name) { return tableCols_1[name].title.length; })\n .reduce(function (a, b) { return Math.max(a, b); });\n colNames.forEach(function (name) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var isColEditable = !tableCols_1[name].readonly;\n var columnWidth = defaultColumnWidth_1[name];\n var disableRowsForCol = (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.disableTableCells) === null || _b === void 0 ? void 0 : _b.call(_a, name)) !== null && _c !== void 0 ? _c : [];\n columns_1.push({\n dataField: name,\n editable: isColEditable ? undefined : false,\n columnWidth: tableCols_1[name].columnWidth\n ? tableCols_1[name].columnWidth + \"%\"\n : columnWidth + \"%\",\n width: tableCols_1[name].width\n ? tableCols_1[name].width + \"%\"\n : columnWidth + \"%\",\n dataSort: tableCols_1[name].isSortable,\n headerAlign: displayHeadersDiagonally_1\n ? defaultAlignment_1\n : (_e = (_d = tableCols_1[name].headerAlign) !== null && _d !== void 0 ? _d : tableCols_1[name].dataAlign) !== null && _e !== void 0 ? _e : defaultAlignment_1,\n dataAlign: (_g = (_f = tableCols_1[name].dataAlign) !== null && _f !== void 0 ? _f : tableCols_1[name].headerAlign) !== null && _g !== void 0 ? _g : defaultAlignment_1,\n disabledRows: (_h = tableCols_1[name].disabledRows) !== null && _h !== void 0 ? _h : disableRowsForCol,\n tdStyle: (0, tables_1.getCellStyle)(tableCols_1[name].readonly),\n headerText: (_j = tableCols_1[name]) === null || _j === void 0 ? void 0 : _j[\"columnTip\"],\n hidden: (_m = (_l = (_k = viewModel.viewModel.derivedFunctions) === null || _k === void 0 ? void 0 : _k.hideTableColumn) === null || _l === void 0 ? void 0 : _l.call(_k, name)) !== null && _m !== void 0 ? _m : false,\n });\n });\n columns_1 = columns_1.map(function (col) {\n return __assign(__assign({}, col), { thStyle: (0, tables_1.getHeaderStyle)(headerMaxLength_1, displayHeadersDiagonally_1) });\n });\n uiSchema[table.group] = __assign(__assign({}, uiSchema[table.group]), (_a = {}, _a[table.name] = (0, tables_1.getTableUiSchema)(table, columns_1), _a));\n }\n else {\n uiSchema[component.group] = __assign(__assign({}, uiSchema[component.group]), (_b = {}, _b[component.name] = __assign(__assign({}, getUiBehavior(component, viewModel)), getUiSchemaExportArg(component.name, viewModel)), _b));\n }\n });\n for (var group in isGroupHidden_1) {\n if (isGroupHidden_1[group]) {\n uiSchema[group] = __assign(__assign({}, uiSchema[group]), (_a = {}, _a[\"ui:widget\"] = \"hidden\", _a));\n }\n }\n }\n return uiSchema;\n}\nexports.createUiSchema = createUiSchema;\nfunction getUiSchemaExportArg(name, viewModel) {\n var uiSchema = {};\n if (viewModel.isControlledByInterface(name)) {\n var expArg = viewModel.getProcessedArgValue(name);\n if (expArg) {\n uiSchema = {\n \"ui:readonly\": true,\n \"ui:help\": \"Controlled by \" + expArg.interface,\n };\n }\n }\n return uiSchema;\n}\nfunction getUiBehavior(component, viewModel) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n var uiBehavior = {};\n if (component.uiBehavior) {\n (_d = (0, Utils_1.getKeys)((_c = component.uiBehavior) !== null && _c !== void 0 ? _c : {})) === null || _d === void 0 ? void 0 : _d.forEach(function (key) {\n var _a, _b;\n switch (key) {\n case \"readonly\":\n uiBehavior[\"ui:readonly\"] = (_a = component.uiBehavior) === null || _a === void 0 ? void 0 : _a[key];\n break;\n default:\n uiBehavior[key] = (_b = component.uiBehavior) === null || _b === void 0 ? void 0 : _b[key];\n break;\n }\n });\n }\n if ((0, autoModuleViewHelpers_1.isUrl)(component)) {\n uiBehavior[\"ui:widget\"] = \"url\";\n }\n else if ((0, autoModuleViewHelpers_1.isImage)(component)) {\n uiBehavior[\"ui:widget\"] = \"image\";\n }\n else if (component.category === \"file_load\") {\n uiBehavior[\"ui:field\"] = \"file_load\";\n uiBehavior[\"ui:readonly\"] = (_e = component.uiBehavior) === null || _e === void 0 ? void 0 : _e.readonly;\n }\n else if (component.type === \"time\") {\n uiBehavior[\"ui:field\"] = \"TimeComponent\";\n }\n else if (component.type === \"frequency\") {\n uiBehavior[\"ui:field\"] = \"frequency\";\n }\n else if (component.category === \"file_save\") {\n uiBehavior[\"ui:field\"] = \"file_save\";\n uiBehavior[\"ui:readonly\"] = (_f = component.uiBehavior) === null || _f === void 0 ? void 0 : _f.readonly;\n }\n var overriddenBehavior = {};\n if (viewModel) {\n var overriddenValue = (_h = (_g = viewModel.getDerivedFunction).getUiBehavior) === null || _h === void 0 ? void 0 : _h.call(_g, component.name);\n if (overriddenValue != undefined) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), overriddenValue);\n if (((_j = (0, Utils_1.getKeys)(overriddenBehavior !== null && overriddenBehavior !== void 0 ? overriddenBehavior : {})) === null || _j === void 0 ? void 0 : _j.indexOf(\"readonly\")) != -1) {\n overriddenBehavior[\"ui:readonly\"] = overriddenBehavior[\"readonly\"];\n delete overriddenBehavior[\"readonly\"];\n }\n }\n var isEnabled = (_m = (_l = (_k = viewModel.getDerivedFunction).isEnabled) === null || _l === void 0 ? void 0 : _l.call(_k, component.name)) !== null && _m !== void 0 ? _m : (0, autoModuleViewHelpers_1.isModeActive)(\"isEnabled\", component, viewModel.viewModel.getComponent);\n if (isEnabled != undefined) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), (_a = {}, _a[\"ui:readonly\"] = !isEnabled, _a));\n }\n var isVisible = (_p = (_o = viewModel.getDerivedFunction).isVisible) === null || _p === void 0 ? void 0 : _p.call(_o, component.name);\n if (isVisible != undefined) {\n if (!isVisible) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), (_b = {}, _b[\"ui:widget\"] = \"hidden\", _b));\n }\n }\n }\n uiBehavior = __assign(__assign({}, uiBehavior), overriddenBehavior);\n return uiBehavior;\n}\n//# sourceMappingURL=uiSchema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = void 0;\nvar createPrototypeExports_1 = require(\"./interfaces/createPrototypeExports\");\nvar createPrototypeImports_1 = require(\"./interfaces/createPrototypeImports\");\nvar create = function (state, getCreatorFunctions) {\n var _a, _b, _c;\n var config = (_b = (_a = getCreatorFunctions()).getModuleConfig) === null || _b === void 0 ? void 0 : _b.call(_a);\n var prototypeImports = (0, createPrototypeImports_1.createPrototypeImports)(state, getCreatorFunctions());\n var prototypeExports = (0, createPrototypeExports_1.createPrototypeExports)(config);\n return {\n payload: state,\n imports: __assign({}, prototypeImports),\n exports: prototypeExports,\n isSingletonPerDevice: config === null || config === void 0 ? void 0 : config.isSingletonPerDevice,\n isEntryPoint: (_c = config === null || config === void 0 ? void 0 : config.isEntryPoint) !== null && _c !== void 0 ? _c : true,\n };\n};\nexports.create = create;\n//# sourceMappingURL=creator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = exports.process = void 0;\nvar processor_1 = require(\"./processor\");\nObject.defineProperty(exports, \"process\", { enumerable: true, get: function () { return processor_1.process; } });\nvar creator_1 = require(\"./creator\");\nObject.defineProperty(exports, \"create\", { enumerable: true, get: function () { return creator_1.create; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeExports = void 0;\nvar Utils_1 = require(\"../Utils\");\nvar createPrototypeExports = function (config) {\n var _a, _b;\n var exports = {};\n (_b = (0, Utils_1.getKeys)((_a = config === null || config === void 0 ? void 0 : config.exports) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (expName) {\n var _a;\n var exp = (_a = config === null || config === void 0 ? void 0 : config.exports) === null || _a === void 0 ? void 0 : _a[expName];\n if (exp == undefined)\n return;\n exports[expName] = __assign(__assign({}, exp), { interfaces: processExportInterfaces(exp.interfaces) });\n });\n return exports;\n};\nexports.createPrototypeExports = createPrototypeExports;\nvar processExportInterfaces = function (int) {\n var newInterfaces = [];\n int.forEach(function (_a) {\n var interfaceId = _a.interfaceId, payload = _a.payload;\n newInterfaces.push({ interfaceId: interfaceId, payload: payload });\n });\n return newInterfaces;\n};\n//# sourceMappingURL=createPrototypeExports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeImports = void 0;\nvar AutoModuleHardware_1 = require(\"../autoModule/AutoModuleHardware\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar createPrototypeImports = function (state, creatorFunctions, config) {\n var _a, _b, _c;\n var prototypeImports = {};\n config = (_a = creatorFunctions.getModuleConfig) === null || _a === void 0 ? void 0 : _a.call(creatorFunctions);\n if (!config)\n return prototypeImports;\n if (config === null || config === void 0 ? void 0 : config.peripherals) {\n config.peripherals.forEach(function (peripheral) {\n var _a;\n var interfaceName = getFriendlyInterfaceId(peripheral.interfaceId.name);\n var prototypeImport = (0, AutoModuleHardware_1.createPrototypeImport)(interfaceName, config);\n if (prototypeImport) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_a = {}, _a[interfaceName] = __assign(__assign({}, prototypeImport), { isRequired: true }), _a));\n }\n });\n }\n (_c = (0, Arrays_1.getKeys)((_b = config === null || config === void 0 ? void 0 : config.imports) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (key) {\n var _a, _b;\n var _c, _d, _e, _f, _g;\n var imp = (_c = config === null || config === void 0 ? void 0 : config.imports) === null || _c === void 0 ? void 0 : _c[key];\n var args = (_d = creatorFunctions === null || creatorFunctions === void 0 ? void 0 : creatorFunctions.getCreatorImportArgs) === null || _d === void 0 ? void 0 : _d.call(creatorFunctions, key, state);\n var shouldOrder = (_f = (_e = creatorFunctions.updateImportWithShouldAssignDescOrder) === null || _e === void 0 ? void 0 : _e.call(creatorFunctions, key)) !== null && _f !== void 0 ? _f : imp === null || imp === void 0 ? void 0 : imp.import.shouldAssignDescendantsInOrder;\n if (imp) {\n if (((_g = creatorFunctions === null || creatorFunctions === void 0 ? void 0 : creatorFunctions.shouldImport) === null || _g === void 0 ? void 0 : _g.call(creatorFunctions, key, state)) != false) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_a = {}, _a[key] = __assign(__assign({}, imp.import), { args: args }), _a));\n }\n if (shouldOrder && shouldOrder.length > 0) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_b = {}, _b[key] = __assign(__assign({}, imp.import), { args: args, shouldAssignDescendantsInOrder: shouldOrder }), _b));\n }\n }\n });\n return prototypeImports;\n};\nexports.createPrototypeImports = createPrototypeImports;\nvar getFriendlyInterfaceId = function (interfaceName) {\n interfaceName = interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n return interfaceName;\n};\n//# sourceMappingURL=createPrototypeImports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyExportInterfaces = exports.createExportInterfaces = void 0;\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar createExportInterfaces = function (exports, model) {\n return new MyExportInterfaces(exports, model);\n};\nexports.createExportInterfaces = createExportInterfaces;\nvar MyExportInterfaces = /** @class */ (function () {\n function MyExportInterfaces(exports, model) {\n var _this = this;\n this.getConfig = function () {\n if (!_this.config) {\n _this.config = (0, getConfigData_1.getConfigData)(_this.model);\n }\n return _this.config;\n };\n this.getComponents = function () {\n if (!_this.components) {\n _this.components = _this.createComponentList();\n }\n return _this.components;\n };\n this.createProcessedExports = function () {\n var _a, _b;\n var exportPayload = _this.exports;\n var config = _this.getConfig();\n if (config.exports) {\n (_b = (0, Arrays_1.getKeys)((_a = config.exports) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var _a;\n var _b, _c, _d, _e;\n var exp = (_b = config.exports) === null || _b === void 0 ? void 0 : _b[key];\n exportPayload = __assign(__assign({}, exportPayload), (_a = {}, _a[key] = __assign(__assign({}, (_c = config.exports) === null || _c === void 0 ? void 0 : _c[key]), { interfaces: [], name: (_d = _this.model.getDerivedFunction(\"exportName\", key)) !== null && _d !== void 0 ? _d : (_e = exportPayload[key]) === null || _e === void 0 ? void 0 : _e.name }), _a));\n exp === null || exp === void 0 ? void 0 : exp.interfaces.forEach(function (int) {\n var _a, _b, _c, _d;\n var processedInterface = _this.getInterface(key, int.interfaceId);\n if (processedInterface) {\n exportPayload[key].interfaces.push(__assign(__assign({}, processedInterface), { payload: (_b = (_a = _this.model) === null || _a === void 0 ? void 0 : _a.getDerivedFunction(int.interfaceId.name + \"_payload\")) !== null && _b !== void 0 ? _b : {}, payloads: (_d = (_c = _this.model) === null || _c === void 0 ? void 0 : _c.getDerivedFunction(int.interfaceId.name + \"_payloads\")) !== null && _d !== void 0 ? _d : {} }));\n }\n });\n });\n }\n return exportPayload;\n };\n this.getInterfaceArgs = function (interfaceKey, interfaceId) {\n var _a;\n return (_a = _this.getInterface(interfaceKey, interfaceId)) === null || _a === void 0 ? void 0 : _a.args;\n };\n this.getInterfaceResults = function (interfaceKey, interfaceId) {\n var _a;\n return (_a = _this.getInterface(interfaceKey, interfaceId)) === null || _a === void 0 ? void 0 : _a.results;\n };\n this.createComponentList = function () {\n var _a, _b;\n var componentList = [];\n var exports = (_a = _this.getConfig().exports) !== null && _a !== void 0 ? _a : {};\n (_b = (0, Arrays_1.getKeys)(exports)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var exp = exports[key];\n exp.interfaces.forEach(function (int) {\n if (int.components) {\n componentList.push.apply(componentList, int.components);\n }\n });\n });\n return componentList;\n };\n this.isControlledByInterface = function (componentName) {\n return _this.getComponents().indexOf(componentName) != -1;\n };\n this.getProcessedArgValue = function (componentName) {\n var _a, _b;\n var processedArgValue;\n var interfaceData = _this.getInterfaceData();\n if (_this.model &&\n _this.model.getDerivedFunctions().getProcessedArgValue &&\n interfaceData != undefined) {\n processedArgValue = (_b = (_a = _this.model\n .getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.getProcessedArgValue) === null || _b === void 0 ? void 0 : _b.call(_a, componentName, interfaceData);\n }\n return processedArgValue;\n };\n this.getInterfaceData = function () {\n var _a, _b;\n var argValues;\n var exports = (_a = _this.getConfig().exports) !== null && _a !== void 0 ? _a : {};\n (_b = (0, Arrays_1.getKeys)(exports)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var exp = exports[key];\n exp.interfaces.forEach(function (int) {\n var _a;\n var args = _this.getInterfaceArgs(key, int.interfaceId);\n if (args) {\n (_a = (0, Arrays_1.getKeys)(args)) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {\n var _a;\n (_a = (0, Arrays_1.getKeys)(args[key])) === null || _a === void 0 ? void 0 : _a.forEach(function (arg) {\n if (!argValues)\n argValues = [];\n argValues.push({\n interface: int.interfaceId.name,\n name: arg,\n value: args[key][arg],\n module: key,\n });\n });\n });\n }\n });\n });\n return argValues;\n };\n this.exports = exports;\n this.model = model;\n }\n MyExportInterfaces.prototype.getInterface = function (interfaceKey, interfaceId) {\n var _a;\n if (!this.exports[interfaceKey])\n return undefined;\n return (0, Arrays_1.find)((_a = this.exports[interfaceKey].interfaces) !== null && _a !== void 0 ? _a : [], function (i) { return JSON.stringify(i.interfaceId) === JSON.stringify(interfaceId); });\n };\n return MyExportInterfaces;\n}());\nexports.MyExportInterfaces = MyExportInterfaces;\n//# sourceMappingURL=exports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyImportInterfaces = exports.createImportInterfaces = void 0;\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar InterruptActions_1 = require(\"../interrupts/InterruptActions\");\nvar Utils_1 = require(\"../Utils\");\nvar createImportInterfaces = function (imports, model, config) {\n return new MyImportInterfaces(imports, model, config);\n};\nexports.createImportInterfaces = createImportInterfaces;\nvar MyImportInterfaces = /** @class */ (function () {\n function MyImportInterfaces(imports, model, config) {\n var _this = this;\n this.createProcessedImports = function (stage) {\n var _a;\n var processedImports = _this.filterImports();\n (_a = (0, Utils_1.getKeys)(processedImports !== null && processedImports !== void 0 ? processedImports : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {\n var _a;\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n processedImports = __assign(__assign({}, processedImports), (_a = {}, _a[key] = __assign(__assign(__assign({}, processedImports[key]), { args: stage === \"arguments\"\n ? (_b = _this.model) === null || _b === void 0 ? void 0 : _b.getDerivedFunction(key + \"_args\")\n : (_c = processedImports[key]) === null || _c === void 0 ? void 0 : _c.args, results: stage === \"results\"\n ? _this.getResults(processedImports, key)\n : (_d = processedImports[key]) === null || _d === void 0 ? void 0 : _d.results, name: (_e = _this.model.getDerivedFunction(\"importName\", key)) !== null && _e !== void 0 ? _e : (_f = processedImports[key]) === null || _f === void 0 ? void 0 : _f.name, handle: (0, AutoModuleHelpers_1.getProcessedHandle)(processedImports[key].handle, processedImports[key].payload), options: (_j = _this.getProcessedImportOptions(key, (_h = (_g = processedImports[key]) === null || _g === void 0 ? void 0 : _g.options) !== null && _h !== void 0 ? _h : [])) !== null && _j !== void 0 ? _j : processedImports[key].options, shouldAssignDescendantsInOrder: (_m = (_l = (_k = _this.model\n .getDerivedFunctions()).updateImportWithShouldAssignDescOrder) === null || _l === void 0 ? void 0 : _l.call(_k, key)) !== null && _m !== void 0 ? _m : processedImports[key].shouldAssignDescendantsInOrder }), (_p = (_o = _this.model\n .getDerivedFunctions()).overrideImport) === null || _p === void 0 ? void 0 : _p.call(_o, key, processedImports[key])), _a));\n });\n return processedImports;\n };\n this.filterImports = function () {\n var _a, _b, _c;\n var filteredImports = (_c = (_b = (_a = _this.model.getDerivedFunctions()).filterImports) === null || _b === void 0 ? void 0 : _b.call(_a, _this.imports)) !== null && _c !== void 0 ? _c : _this.imports;\n return filteredImports;\n };\n //Populates option labels with a custom module name if provided in export payload\n this.getProcessedImportOptions = function (importKey, options) {\n var modifiedOptions = [];\n options === null || options === void 0 ? void 0 : options.forEach(function (option, index) {\n var _a, _b;\n modifiedOptions[index] = __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: (_a = _this.model.getDerivedFunction(\"importOptionLabel\", importKey, option)) !== null && _a !== void 0 ? _a : (_b = option.payload) === null || _b === void 0 ? void 0 : _b.moduleName }) });\n });\n return modifiedOptions;\n };\n this.getResults = function (imports, key) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;\n var importResults = (_a = _this.model) === null || _a === void 0 ? void 0 : _a.getDerivedFunction(key + \"_results\");\n if (importResults)\n return importResults;\n var imp = imports[key];\n if (imp.interfaceId.name === \"initializer-system\") {\n var initResults = {\n initializer: {\n name: _this.model.getName() + \"_Initialize\",\n header: (_c = (_b = _this.model) === null || _b === void 0 ? void 0 : _b.getDerivedFunction(\"headerFile\")) !== null && _c !== void 0 ? _c : {\n name: _this.model.getName().toLowerCase() + \".h\",\n path: \"include/\",\n },\n },\n };\n return initResults;\n }\n else if (imp.interfaceId.name === \"pin-standard\") {\n return (_e = (_d = _this.model).getPCPHelper) === null || _e === void 0 ? void 0 : _e.call(_d).getData();\n }\n else if (imp.interfaceId.name === \"pins-interface\") {\n return (_g = (_f = _this.model).getPCPHelper) === null || _g === void 0 ? void 0 : _g.call(_f).getData();\n }\n else if (imp.interfaceId.name === \"interrupt-standard\") {\n var interrupts_1 = [];\n var actions_1 = {};\n var isHighPriority_1 = (_k = (_j = (_h = _this.model) === null || _h === void 0 ? void 0 : _h.getImportValue(\"interrupt_standard\")) === null || _j === void 0 ? void 0 : _j.isHighPriority) !== null && _k !== void 0 ? _k : {};\n (_o = (0, Utils_1.values)((_m = (_l = _this.model.getHardware()) === null || _l === void 0 ? void 0 : _l.getPeripheral().interrupts) !== null && _m !== void 0 ? _m : {})) === null || _o === void 0 ? void 0 : _o.forEach(function (interrupt) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;\n if (!interrupt)\n return;\n var filterInterrupt = (_e = (_d = (_c = _this.model\n .getDerivedFunctions()).filterInterrupts) === null || _d === void 0 ? void 0 : _d.call(_c, interrupt.name)) !== null && _e !== void 0 ? _e : true;\n if (filterInterrupt) {\n var interruptComponentName = (_g = (_f = _this.getInterruptComponentName(interrupt.name)) !== null && _f !== void 0 ? _f : interrupt.name.toLowerCase()) !== null && _g !== void 0 ? _g : \"\";\n var isEnabled_1 = (_h = _this.model.isComponentValue(interruptComponentName !== null && interruptComponentName !== void 0 ? interruptComponentName : \"\")) !== null && _h !== void 0 ? _h : false;\n interrupts_1.push({\n //Standard\n name: (_j = interrupt.name) !== null && _j !== void 0 ? _j : \"\",\n module: (_m = (_l = (_k = _this.model.getHardware()) === null || _k === void 0 ? void 0 : _k.getName()) !== null && _l !== void 0 ? _l : _this.model.getName()) !== null && _m !== void 0 ? _m : \"\",\n isEnabled: isEnabled_1,\n //Callback Extension\n isrCallback: (_r = (_q = (_o = _this.model) === null || _o === void 0 ? void 0 : (_p = _o.getDerivedFunctions()).isrCallback) === null || _q === void 0 ? void 0 : _q.call(_p, interrupt.name)) !== null && _r !== void 0 ? _r : {\n name: _this.model.getName() + interrupt.handlerName,\n header: (_v = (_u = (_s = _this.model) === null || _s === void 0 ? void 0 : (_t = _s.getDerivedFunctions()).headerFile) === null || _u === void 0 ? void 0 : _u.call(_t)) !== null && _v !== void 0 ? _v : {\n name: _this.model.getName().toLowerCase() + \".h\",\n path: \"include/\",\n },\n },\n generateISR: isEnabled_1,\n //Priority Extension\n isHighPriority: (_w = isHighPriority_1[interrupt.name]) !== null && _w !== void 0 ? _w : true,\n });\n var isEnableActions = (_a = ((_z = (_y = (_x = _this.model\n .getDerivedFunctions()).getInterruptActions) === null || _y === void 0 ? void 0 : _y.call(_x, interrupt.name, \"isEnabled\")) !== null && _z !== void 0 ? _z : [])).concat.apply(_a, (0, InterruptActions_1.getDefaultInterruptActions)(_this.model, interruptComponentName));\n if (((_1 = (_0 = _this.model.getState()) === null || _0 === void 0 ? void 0 : _0.contentMeta) === null || _1 === void 0 ? void 0 : _1.isUserEnRegRWMode) === true) {\n isEnableActions = _this.getRegisterEditorInterruptActions(interruptComponentName);\n }\n var isEnableAction = (0, Arrays_1.find)(isEnableActions, function (action) { return action[\"validFor\"] !== isEnabled_1; });\n actions_1 = __assign(__assign({}, actions_1), (_b = {}, _b[interrupt.name] = __assign(__assign({}, actions_1 === null || actions_1 === void 0 ? void 0 : actions_1[interrupt.name]), { isEnabled: isEnableAction ? [isEnableAction] : [] }), _b));\n }\n });\n return {\n interruptList: interrupts_1,\n interruptActions: actions_1,\n moduleName: (_p = _this.model.getName()) !== null && _p !== void 0 ? _p : \"\",\n };\n }\n else if (imp.interfaceId.name === \"api-prefix-registration\") {\n var apiPrefixResults = {\n apiPrefix: (_s = (_r = (_q = _this.model) === null || _q === void 0 ? void 0 : _q.getDerivedFunctions()) === null || _r === void 0 ? void 0 : _r.apiPrefix) !== null && _s !== void 0 ? _s : (_t = _this.model) === null || _t === void 0 ? void 0 : _t.getComponentValue(\"componentName\"),\n moduleName: (_u = _this.model) === null || _u === void 0 ? void 0 : _u.getName(),\n };\n return apiPrefixResults;\n }\n };\n this.getInterruptComponentName = function (interruptName) {\n var _a, _b;\n return (_b = (_a = _this.model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.interruptComponentName) === null || _b === void 0 ? void 0 : _b.call(_a, interruptName);\n };\n this.getRegisterEditorInterruptActions = function (interruptComponentName) {\n var actionIfEnabled = {\n validFor: true,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"register\",\n value: true,\n path: \"interrupts.\" + interruptComponentName.toUpperCase()\n }\n }\n };\n var actionIfDisabled = {\n validFor: false,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"register\",\n value: false,\n path: \"interrupts.\" + interruptComponentName.toUpperCase()\n }\n }\n };\n return [actionIfEnabled, actionIfDisabled];\n };\n this.imports = imports;\n this.model = model;\n }\n return MyImportInterfaces;\n}());\nexports.MyImportInterfaces = MyImportInterfaces;\n//# sourceMappingURL=imports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultInterruptActions = exports.InterruptActionsBuilder = void 0;\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar InterruptActionsBuilder = /** @class */ (function () {\n function InterruptActionsBuilder(model) {\n var _this = this;\n this.actions = [];\n this.createActionFor = function (componentName) {\n var _a;\n _this.actions = _this.buildActions();\n _this.curComponent = componentName\n ? (_a = _this.model.getComponent(componentName)) === null || _a === void 0 ? void 0 : _a.component\n : undefined;\n _this.curComponentName = componentName;\n _this.tableRowId = undefined;\n _this.tableRowCol = undefined;\n _this.tableCellPath = undefined;\n return _this;\n };\n this.addActionIfEnabled = function (actionValue) {\n if (!_this.curComponentName || !_this.curComponent)\n return _this;\n if (!_this.isActionValueAcceptable(_this.curComponent, actionValue))\n return _this;\n var payload = {\n tabId: _this.curComponent.tabs[0],\n value: actionValue,\n };\n if (_this.curComponent.category === \"table\") {\n if (!_this.tableCellPath)\n return _this;\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name, \".\").concat(_this.tableCellPath), rowId: _this.tableRowId });\n }\n else {\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name) });\n }\n _this.actions.push({\n validFor: true,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: payload,\n },\n });\n return _this;\n };\n this.addActionIfDisabled = function (actionValue) {\n if (!_this.curComponentName || !_this.curComponent)\n return _this;\n if (!_this.isActionValueAcceptable(_this.curComponent, actionValue))\n return _this;\n var payload = {\n tabId: _this.curComponent.tabs[0],\n value: actionValue,\n };\n if (_this.curComponent.category === \"table\") {\n if (!_this.tableCellPath)\n return _this;\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name, \".\").concat(_this.tableCellPath), rowId: _this.tableRowId });\n }\n else {\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name) });\n }\n _this.actions.push({\n validFor: false,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: payload,\n },\n });\n return _this;\n };\n this.setPathToTableCell = function (rowIndex, colName) {\n var _a;\n if (((_a = _this.curComponent) === null || _a === void 0 ? void 0 : _a.category) !== \"table\")\n return _this;\n _this.tableRowId = rowIndex;\n _this.tableRowCol = colName;\n _this.tableCellPath = \"\".concat(rowIndex, \".\").concat(colName);\n return _this;\n };\n this.isActionValueAcceptable = function (component, actionValue) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (component.category === \"hardware\") {\n if (component.type === \"ComboBox\") {\n var options = (_a = (0, AutoModuleHelpers_1.getSettingFromComponent)(_this.model, component)) === null || _a === void 0 ? void 0 : _a.options;\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) {\n var _a;\n return option[(_a = component[\"displayOptionSetting\"]) !== null && _a !== void 0 ? _a : \"alias\"] ===\n actionValue;\n }))) {\n return false;\n }\n }\n else if (component.type === \"boolean\") {\n // if (actionValue !== \"enabled\" && actionValue !== \"disabled\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n else if (component.category === \"software\") {\n if (component.type === \"ComboBox\") {\n var options = component[\"options\"];\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) { return option === actionValue; }))) {\n return false;\n }\n }\n else if (component.type === \"boolean\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n else if (component.category === \"table\") {\n if (!_this.tableRowCol)\n return false;\n if (((_c = (_b = component.columns) === null || _b === void 0 ? void 0 : _b[_this.tableRowCol]) === null || _c === void 0 ? void 0 : _c.type) === \"ComboBox\") {\n var options = (_f = (_e = (_d = component.columns) === null || _d === void 0 ? void 0 : _d[_this.tableRowCol]) === null || _e === void 0 ? void 0 : _e.defaultValue) === null || _f === void 0 ? void 0 : _f[\"options\"];\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) { return option === actionValue; }))) {\n return false;\n }\n }\n else if (((_h = (_g = component.columns) === null || _g === void 0 ? void 0 : _g[_this.tableRowCol]) === null || _h === void 0 ? void 0 : _h.type) === \"boolean\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n return true;\n };\n this.buildActions = function () {\n return _this.actions;\n };\n this.model = model;\n }\n InterruptActionsBuilder.createActionBuilder = function (model) {\n return new InterruptActionsBuilder(model);\n };\n return InterruptActionsBuilder;\n}());\nexports.InterruptActionsBuilder = InterruptActionsBuilder;\nfunction getDefaultInterruptActions(model, componentName) {\n if (!componentName)\n return [];\n return (InterruptActionsBuilder.createActionBuilder(model)\n .createActionFor(componentName)\n .addActionIfEnabled(true)\n .addActionIfDisabled(false)\n // .addActionIfEnabled(\"enabled\")\n // .addActionIfDisabled(\"disabled\")\n .buildActions());\n}\nexports.getDefaultInterruptActions = getDefaultInterruptActions;\n//# sourceMappingURL=InterruptActions.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PCPHelper = exports.stateActionBuilder = void 0;\nvar PCPStateActionBuilder_1 = require(\"./PCPStateActionBuilder\");\nfunction stateActionBuilder(pinRow) {\n return new PCPStateActionBuilder_1.PCPStateActionBuilder(pinRow);\n}\nexports.stateActionBuilder = stateActionBuilder;\nvar PCPHelper = /** @class */ (function () {\n function PCPHelper() {\n var _this = this;\n this.pinCallbacks = undefined;\n this.getAllFilteredRows = function (allRows) {\n var validRows = [];\n allRows.forEach(function (eachRow) {\n var userRowData = _this.userRowData(eachRow);\n // check the validity of user provided data\n if (userRowData && _this.isRowValid(userRowData)) {\n validRows.push(userRowData);\n }\n });\n return validRows;\n };\n this.isRowValid = function (eachRow) {\n if ((eachRow === null || eachRow === void 0 ? void 0 : eachRow.name) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.module) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.function) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.direction) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.behaviour)) {\n return true;\n }\n else {\n return false;\n }\n };\n this.userRowData = function (eachRow) {\n var _a;\n var eachrowret = eachRow;\n if ((_a = _this.pinCallbacks) === null || _a === void 0 ? void 0 : _a.getRowData) {\n eachrowret = _this.pinCallbacks.getRowData(__assign({}, eachRow));\n }\n return eachrowret;\n };\n this.getAllRows = function () {\n var _a, _b, _c, _d, _e;\n var pinRows = (_d = (_c = (_b = (_a = _this.pinCallbacks) === null || _a === void 0 ? void 0 : _a.getPinsData) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.rows) !== null && _d !== void 0 ? _d : [];\n var userdata = {};\n if ((_e = _this.pinCallbacks) === null || _e === void 0 ? void 0 : _e.getCompletePinData) {\n userdata = _this.pinCallbacks.getCompletePinData();\n if (userdata && (userdata === null || userdata === void 0 ? void 0 : userdata.rows)) {\n pinRows = userdata.rows;\n }\n }\n return pinRows;\n };\n this.getData = function () {\n var retData = {\n rows: _this.getAllFilteredRows(_this.getAllRows()),\n };\n return retData;\n };\n }\n PCPHelper.prototype.stateActionBuilder = function (pinRow) {\n return stateActionBuilder(pinRow);\n };\n PCPHelper.prototype.setCallbacks = function (callbacks) {\n this.pinCallbacks = callbacks;\n };\n return PCPHelper;\n}());\nexports.PCPHelper = PCPHelper;\n//# sourceMappingURL=PCPHelper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PCPStateActionBuilder = void 0;\nvar types_1 = require(\"@microchip/pins-interface/lib/types\");\nvar PCPStateActionBuilder = /** @class */ (function () {\n function PCPStateActionBuilder(pinRow) {\n this.actionDataArr = [];\n this.pinRow = pinRow;\n this.tabId = \"main\";\n }\n PCPStateActionBuilder.prototype.rowWithName = function (rowName) {\n this.rowName = rowName;\n return this;\n };\n /**\n *\n * @param tabId - default tabId is \"main\", please change this as per your needs.\n * @returns PCPStateActionBuilder\n */\n PCPStateActionBuilder.prototype.compWithTabId = function (tabId) {\n this.tabId = tabId;\n return this;\n };\n PCPStateActionBuilder.prototype.addIfLockedSetValue = function (pinRegEx, value, pinNameReEx) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.LOCKED,\n validFor: pinRegEx,\n validForpinNameReEx: pinNameReEx,\n value: value,\n actiontype: types_1.actiontype.SETACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.addIfLockedProvideAttribs = function (pinRegEx, attribs) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.LOCKED,\n validFor: pinRegEx,\n value: this.formAttribs(attribs),\n actiontype: types_1.actiontype.ATTRIBACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.addIfUnlockedProvideAttribs = function (pinRegEx, attribs) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.UNLOCK,\n validFor: pinRegEx,\n value: this.formAttribs(attribs),\n actiontype: types_1.actiontype.ATTRIBACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.formAttribs = function (attribarray) {\n return {\n attribs: attribarray,\n };\n };\n PCPStateActionBuilder.prototype.addIfUnLockedSetValue = function (pinRegEx, value) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.UNLOCK,\n validFor: pinRegEx,\n value: value,\n actiontype: types_1.actiontype.SETACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.forComponent = function (component) {\n this.component = component;\n return this;\n };\n PCPStateActionBuilder.prototype.build = function () {\n var _this = this;\n var actionArr = [];\n if (this.pinRow.name === this.rowName) {\n this.actionDataArr.forEach(function (eachData) {\n var _a;\n var _b;\n var actionObj = {\n validFor: eachData.validFor,\n state: (_a = {},\n _a[eachData.pinstate] = {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: _this.tabId,\n path: _this.component.group + \".\" + _this.component.name,\n value: eachData.value,\n },\n },\n _a),\n actiontype: (_b = eachData.actiontype) !== null && _b !== void 0 ? _b : \"\",\n };\n if (eachData.validForpinNameReEx !== undefined) {\n actionObj.validForpinNameReEx = eachData.validForpinNameReEx;\n }\n actionArr.push(actionObj);\n });\n }\n return actionArr;\n };\n return PCPStateActionBuilder;\n}());\nexports.PCPStateActionBuilder = PCPStateActionBuilder;\n/*\n PCPHelper\n .stateActionBuilder(rowData)\n .rowWithName(\"dacoutx\")\n .forComponent(dacOPEnCompo)\n .addIfLockedSetValue(\"DAC1OUT1\", \"DACOUT1 Enabled and DACOUT2 Disabled\")\n .addIfLockedSetValue(\"DAC1OUT2\", \"DACOUT2 Enabled and DACOUT1 Disabled\")\n .addIfUnLockedSetValue(\".*\", \"DACOUT1 and DACOUT2 are Disabled\")\n .build()\n*/\n//# sourceMappingURL=PCPStateActionBuilder.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.process = void 0;\nvar AppModel_1 = require(\"./App/AppModel\");\nvar AutoModuleHelpers_1 = require(\"./autoModule/AutoModuleHelpers\");\nvar AutoModuleTemplates_1 = require(\"./autoModule/AutoModuleTemplates\");\nvar getConfigData_1 = require(\"./autoModule/getConfigData\");\nvar autoModuleView_1 = require(\"./autoModule/views/autoModuleView\");\nvar AnalyticsHelper_1 = require(\"./Analytics/AnalyticsHelper\");\n/**\n * @param initialModule\n * @param stage\n * @param getDerivedData\n */\nvar process = function (initialModule, stage, getDerivedData) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;\n initialModule = (0, AutoModuleHelpers_1.populateLoadedFiles)(initialModule);\n var model = (0, AppModel_1.getModel)(initialModule, getDerivedData);\n if (!model)\n return initialModule;\n model.processDynamicComps();\n var processedOutput = __assign({}, initialModule);\n processedOutput = __assign(__assign({}, processedOutput), { showRegisterEditor: (0, getConfigData_1.getConfigData)(model, true).showRegisterEditor });\n switch (stage) {\n case \"arguments\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_a = model\n .getImportInterfaces()\n .createProcessedImports(stage)) !== null && _a !== void 0 ? _a : initialModule.imports });\n break;\n case \"payloads\":\n processedOutput = __assign(__assign({}, processedOutput), { exports: (_b = model\n .getExportInterfaces()\n .createProcessedExports()) !== null && _b !== void 0 ? _b : initialModule.exports, name: model.getName(), help: (_e = (_d = (_c = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _c === void 0 ? void 0 : _c.overrideModuleLevelHelp) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : (0, getConfigData_1.getConfigData)(model, true).help });\n break;\n case \"results\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_f = model\n .getImportInterfaces()\n .createProcessedImports(stage)) !== null && _f !== void 0 ? _f : initialModule.imports });\n break;\n case \"views\":\n {\n var customTemplateData = (_j = (_h = model === null || model === void 0 ? void 0 : (_g = model.getDerivedFunctions()).templateData) === null || _h === void 0 ? void 0 : _h.call(_g)) !== null && _j !== void 0 ? _j : {};\n var view = (0, autoModuleView_1.createAutoViewPayloads)(model);\n processedOutput = __assign(__assign({}, processedOutput), { payload: __assign(__assign({}, initialModule.payload), { auto: view, customView: (_l = (_k = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _k === void 0 ? void 0 : _k.getCustomView) === null || _l === void 0 ? void 0 : _l.call(_k, initialModule) }), templateData: customTemplateData, templates: (0, AutoModuleTemplates_1.getTemplates)(model), alerts: (_o = model === null || model === void 0 ? void 0 : (_m = model.getDerivedFunctions()).alerts) === null || _o === void 0 ? void 0 : _o.call(_m), name: model.getActiveName(), category: model.getCategory(), description: (_r = (_q = (_p = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _p === void 0 ? void 0 : _p.getModuleDescription) === null || _q === void 0 ? void 0 : _q.call(_p)) !== null && _r !== void 0 ? _r : (0, AutoModuleHelpers_1.getModuleDefaultDescription)(), globalNames: (_u = (_t = (_s = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _s === void 0 ? void 0 : _s.getGlobalNames) === null || _t === void 0 ? void 0 : _t.call(_s)) !== null && _u !== void 0 ? _u : [], analytics: (_x = (_w = (_v = model.getDerivedFunctions()).getAnalytics) === null || _w === void 0 ? void 0 : _w.call(_v)) !== null && _x !== void 0 ? _x : (0, AnalyticsHelper_1.getAnalyticsDefault)(model) });\n }\n break;\n default:\n return initialModule;\n }\n return processedOutput;\n};\nexports.process = process;\n//# sourceMappingURL=processor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UidMapBuilder = void 0;\nvar UidMapBuilder = /** @class */ (function () {\n function UidMapBuilder() {\n this.uidMap = {};\n }\n UidMapBuilder.prototype.addDefaultRows = function (rowData) {\n var _this = this;\n rowData.forEach(function (row, rowCount) {\n var _a;\n _this.uidMap[row.uid] = (_a = row.rowId) !== null && _a !== void 0 ? _a : rowCount;\n });\n return this;\n };\n UidMapBuilder.prototype.addDynamicRows = function (tableState) {\n var _this = this;\n tableState.forEach(function (row) {\n var uid = row === null || row === void 0 ? void 0 : row.uid;\n if (uid && uid.indexOf(\"dynamicRow_\") > -1) {\n _this.incrementUidAndShift(uid, row.rowId);\n }\n });\n return this;\n };\n UidMapBuilder.prototype.removeRows = function (tableState) {\n var _this = this;\n tableState.forEach(function (row) {\n var uid = row === null || row === void 0 ? void 0 : row.uid;\n if (uid && (row === null || row === void 0 ? void 0 : row.dynamicallyRemoved)) {\n _this.uidMap[uid] = -1;\n }\n });\n return this;\n };\n UidMapBuilder.prototype.sortByValue = function () {\n var _this = this;\n var count = 0;\n var sortedUids = [];\n this.getUidKeys().forEach(function (uid) {\n var _a;\n sortedUids.push((_a = {}, _a[uid] = _this.uidMap[uid], _a));\n });\n sortedUids = sortedUids.sort(function (a, b) { return a[Object.keys(a)[0]] - b[Object.keys(b)[0]]; });\n sortedUids.forEach(function (uid) {\n var uidKey = Object.keys(uid)[0];\n if (_this.uidMap[uidKey] > -1) {\n _this.uidMap[uidKey] = count++;\n }\n });\n return this;\n };\n UidMapBuilder.prototype.create = function () {\n return this.uidMap;\n };\n UidMapBuilder.prototype.incrementUidAndShift = function (uid, rowId) {\n var _this = this;\n this.getUidKeys().forEach(function (uid) {\n if (_this.uidMap[uid] >= rowId) {\n _this.uidMap[uid]++;\n }\n });\n this.uidMap[uid] = rowId;\n };\n UidMapBuilder.prototype.getUidKeys = function () {\n return Object.keys(this.uidMap);\n };\n return UidMapBuilder;\n}());\nexports.UidMapBuilder = UidMapBuilder;\n//# sourceMappingURL=UidMapBuilder.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHeaderStyle = exports.getCellStyle = exports.getTableUiSchema = exports.getTableActions = exports.getCellValidationInfo = exports.createTableUids = exports.overrideDefaultsAndFilterRows = exports.getValueBasedOnState = exports.getTableFormData = exports.removeRowFromTable = exports.addRowToTable = exports.addRowsToTable = exports.overrideCellValue = exports.createInitialRows = exports.getInitialTableFormData = exports.calculateColumnWidth = exports.isTableInState = exports.overrideTableDefaultsWithChanges = exports.getTableHelpers = exports.getTableComponentSchema = void 0;\nvar Tables_1 = require(\"@microchip/melody-automodule-interface/lib/src/Tables\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar UidMapBuilder_1 = require(\"./UidMapBuilder\");\nfunction getTableComponentSchema(component, viewModel) {\n var _a, _b, _c, _d;\n var tableColumns = {};\n for (var columnsKey in component.columns) {\n var rjsfType = void 0;\n if (component.columns[columnsKey].type === \"ComboBox\") {\n var colBox = component.columns[columnsKey];\n rjsfType = \"string\";\n tableColumns[columnsKey] = {\n type: rjsfType,\n title: colBox.title,\n default: getDefaultValue(viewModel.overrideDefaultValues, colBox, columnsKey, component.name),\n enum: getComboOptions(viewModel.overrideTableOptions, colBox, columnsKey, component.name),\n };\n }\n else {\n rjsfType = (_a = component === null || component === void 0 ? void 0 : component.columns[columnsKey]) === null || _a === void 0 ? void 0 : _a.type;\n tableColumns[columnsKey] = {\n type: rjsfType,\n title: component.columns[columnsKey].title,\n default: component.columns[columnsKey].defaultValue,\n };\n }\n }\n return {\n type: \"array\",\n title: (_d = (_c = (_b = viewModel.viewModel.derivedFunctions) === null || _b === void 0 ? void 0 : _b.overrideTitle) === null || _c === void 0 ? void 0 : _c.call(_b, component.name)) !== null && _d !== void 0 ? _d : component.description,\n items: {\n type: \"object\",\n properties: __assign({}, tableColumns),\n },\n };\n}\nexports.getTableComponentSchema = getTableComponentSchema;\nvar getTableHelpers = function () {\n return {\n addRowToTable: addRowToTable,\n addRowsToTable: addRowsToTable,\n calculateColumnWidth: calculateColumnWidth,\n createInitialRows: createInitialRows,\n createTableUids: createTableUids,\n getCellStyle: getCellStyle,\n getCellValidationInfo: getCellValidationInfo,\n getHeaderStyle: getHeaderStyle,\n getInitialTableFormData: getInitialTableFormData,\n getTableActions: getTableActions,\n getTableFormData: getTableFormData,\n getTableUiSchema: getTableUiSchema,\n getValueBasedOnState: getValueBasedOnState,\n isTableInState: isTableInState,\n overrideCellValue: overrideCellValue,\n overrideDefaultsAndFilterRows: overrideDefaultsAndFilterRows,\n overrideTableDefaultsWithChanges: overrideTableDefaultsWithChanges,\n removeRowFromTable: removeRowFromTable,\n createUidMapBuilder: function () { return new UidMapBuilder_1.UidMapBuilder(); },\n };\n};\nexports.getTableHelpers = getTableHelpers;\nfunction overrideTableDefaultsWithChanges(rowChanged, initialFormData, uidMap) {\n var value = __spreadArray([], initialFormData, true);\n if (Array.isArray(rowChanged)) {\n rowChanged.forEach(function (changedRow) {\n var changedUid = changedRow.uid;\n var rowChangeNum = uidMap[changedUid];\n value[rowChangeNum] = __assign(__assign({}, value[rowChangeNum]), changedRow);\n });\n }\n return value;\n}\nexports.overrideTableDefaultsWithChanges = overrideTableDefaultsWithChanges;\nfunction isTableInState(tabState, component) {\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nexports.isTableInState = isTableInState;\nfunction calculateColumnWidth(columns) {\n if (!columns) {\n return {};\n }\n var runningWidth = 0;\n var booleanFields = 0;\n var columnWidths = {};\n for (var columnName in columns) {\n if (columns[columnName].type === \"boolean\") {\n var width = 8;\n booleanFields++;\n columnWidths[columnName] = width;\n runningWidth += width;\n }\n }\n for (var columnName in columns) {\n if (columns[columnName].type !== \"boolean\") {\n var width = (100 - runningWidth) / (Object.keys(columns).length - booleanFields);\n columnWidths[columnName] = width;\n }\n }\n return columnWidths;\n}\nexports.calculateColumnWidth = calculateColumnWidth;\nfunction getInitialTableFormData(table, columnNames, model) {\n var value = [];\n var tableFormData = {};\n columnNames.forEach(function (columnName) {\n if (!tableFormData[columnName]) {\n tableFormData[columnName] = getDefaultValue(model.getDerivedFunctions().overrideTableDefaultValues, table.columns[columnName], columnName, table.name);\n }\n });\n if (!(table === null || table === void 0 ? void 0 : table.rowData)) {\n value = createInitialRows(table, tableFormData);\n }\n else {\n var rowId_1 = 0;\n table === null || table === void 0 ? void 0 : table.rowData.forEach(function (row) {\n var rowDataCols = Object.keys(row);\n columnNames.forEach(function (colName) {\n var _a;\n if (rowDataCols.indexOf(colName) === -1) {\n row = __assign(__assign({}, row), (_a = {}, _a[colName] = tableFormData[colName], _a.uid = createRowUid(Tables_1.RowPrefix.Default, rowId_1), _a));\n }\n });\n value.push(__assign(__assign({}, row), { uid: createRowUid(Tables_1.RowPrefix.Default, rowId_1), rowId: rowId_1 }));\n rowId_1++;\n });\n }\n return value;\n}\nexports.getInitialTableFormData = getInitialTableFormData;\nfunction createInitialRows(table, tableFormData) {\n var _a;\n if (tableFormData === void 0) { tableFormData = {}; }\n var value = [];\n var initialRows = (_a = table === null || table === void 0 ? void 0 : table.defaultRowNum) !== null && _a !== void 0 ? _a : 1;\n for (var i = 0; i < initialRows; i++) {\n value.push(__assign(__assign({}, tableFormData), { rowId: i, uid: createRowUid(Tables_1.RowPrefix.Default, i) }));\n }\n return value;\n}\nexports.createInitialRows = createInitialRows;\nfunction overrideCellValue(tableData, cell) {\n var modifiedTableData = __spreadArray([], tableData, true);\n modifiedTableData[cell.rowId][cell.columnName] = cell.value;\n return modifiedTableData;\n}\nexports.overrideCellValue = overrideCellValue;\nfunction addRowsToTable(tableData, columns, newRow, numberOfRows) {\n if (numberOfRows <= 0) {\n return tableData;\n }\n var value = addRowToTable(tableData, columns, __assign(__assign({}, newRow), { uid: Tables_1.RowPrefix.Dynamic + (numberOfRows - 1) }));\n return addRowsToTable(value, columns, newRow, numberOfRows - 1);\n}\nexports.addRowsToTable = addRowsToTable;\nfunction addRowToTable(tableData, columns, newRow) {\n var _a;\n var columnNames = Object.keys(columns);\n var newRowCols = Object.keys(newRow);\n var newRowId = newRow.rowId;\n var filteredTableTemp = [];\n if (tableData.length === 0) {\n filteredTableTemp.push(newRow);\n return filteredTableTemp;\n }\n if (newRowId != null) {\n columnNames.forEach(function (colName) {\n var _a;\n var _b, _c;\n var defaultColumnWidth = calculateColumnWidth(columns);\n if (newRowCols.indexOf(colName) === -1) {\n newRow = __assign(__assign({}, newRow), (_a = {}, _a[colName] = (_c = (_b = columns[colName].defaultValue) === null || _b === void 0 ? void 0 : _b[\"value\"]) !== null && _c !== void 0 ? _c : columns[colName].defaultValue, _a.columnWidth = columns[colName].columnWidth\n ? columns[colName].columnWidth + \"%\"\n : defaultColumnWidth[colName] + \"%\", _a));\n }\n });\n var tableFirstHalf = tableData.slice(0, newRowId);\n var tableSecondHalf = tableData.slice(newRowId);\n for (var i = 0; i < tableSecondHalf.length; i++) {\n var currentRowId = tableSecondHalf[i].rowId;\n tableSecondHalf[i] = __assign(__assign({}, tableSecondHalf[i]), { rowId: currentRowId + 1 });\n var actions = (_a = tableSecondHalf[i]) === null || _a === void 0 ? void 0 : _a.actions;\n if (actions) {\n tableSecondHalf[i][\"actions\"] = updateActionsRowId(actions, currentRowId + 1);\n }\n }\n tableFirstHalf.push(newRow);\n filteredTableTemp = __spreadArray(__spreadArray([], tableFirstHalf, true), tableSecondHalf, true);\n return filteredTableTemp;\n }\n return tableData;\n}\nexports.addRowToTable = addRowToTable;\nfunction removeRowFromTable(tableData, rowId) {\n var _a;\n var tableRemoved = tableData.filter(function (row) { return row.rowId !== rowId; });\n for (var i = 0; i < tableRemoved.length; i++) {\n tableRemoved[i].rowId = i;\n var actions = (_a = tableRemoved[i]) === null || _a === void 0 ? void 0 : _a.actions;\n if (actions) {\n tableRemoved[i][\"actions\"] = updateActionsRowId(actions, i);\n }\n }\n return tableRemoved;\n}\nexports.removeRowFromTable = removeRowFromTable;\nfunction getTableFormData(model, table, tab) {\n var _a;\n return ((_a = model.getDerivedFunction(table.name, table, model, tab)) !== null && _a !== void 0 ? _a : getValueBasedOnState(table, model, tab));\n}\nexports.getTableFormData = getTableFormData;\nfunction getValueBasedOnState(table, model, tab) {\n var columnNames = Object.keys(table.columns);\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n var initialFormData = getInitialTableFormData(table, columnNames, model);\n if (!isTableInState(tabState, table)) {\n return initialFormData;\n }\n else {\n var rowChanged = tabState[table.group][table.name];\n var tableUids = createTableUids(table, tab, model, rowChanged);\n return overrideDefaultsAndFilterRows(rowChanged, initialFormData, table.columns, tableUids, table, tab);\n }\n}\nexports.getValueBasedOnState = getValueBasedOnState;\nfunction overrideDefaultsAndFilterRows(rowChanged, initialFormData, columns, tableUids, component, tab) {\n var modifiedForData = __spreadArray([], initialFormData, true);\n var keys = Object.keys(tableUids);\n rowChanged = rowChanged.filter(function (row) { return row != null; });\n rowChanged.forEach(function (row) {\n if (row.uid.indexOf(Tables_1.RowPrefix.Dynamic) > -1) {\n modifiedForData.push(row);\n }\n });\n var filteredModifed = [];\n keys.forEach(function (uid) {\n modifiedForData.forEach(function (row) {\n if (row.uid === uid) {\n filteredModifed[tableUids[uid]] = __assign(__assign({}, initialFormData[0]), row);\n }\n });\n });\n filteredModifed = filteredModifed.filter(function (row) { return row; });\n for (var i = 0; i < filteredModifed.length; i++) {\n if (filteredModifed[i].uid.indexOf(Tables_1.RowPrefix.Dynamic) > -1)\n continue;\n filteredModifed[i].rowId++;\n }\n var _loop_1 = function (i) {\n Object.keys(columns).forEach(function (columnName) {\n modifiedForData[i].actions = updateActionsRowId(createDefaultTableAction(component, i, columnName, tab, tableUids), i);\n });\n };\n for (var i = 0; i < modifiedForData.length; i++) {\n _loop_1(i);\n }\n return overrideTableDefaultsWithChanges(rowChanged, filteredModifed, tableUids);\n}\nexports.overrideDefaultsAndFilterRows = overrideDefaultsAndFilterRows;\nfunction createTableUids(component, tab, model, tableState) {\n var _a, _b, _c;\n var table = component;\n var dynamicTableData = model === null || model === void 0 ? void 0 : model.getDerivedFunction(component.name, component, model, tab);\n if (dynamicTableData) {\n var uidMap_1 = {};\n var rowNum_1 = 0;\n dynamicTableData.forEach(function (entry) {\n var uid = entry === null || entry === void 0 ? void 0 : entry.uid;\n if (uid !== undefined) {\n uidMap_1[uid] = rowNum_1++;\n }\n });\n return uidMap_1;\n }\n var rowData = table[\"rowData\"];\n if (!dynamicTableData && rowData) {\n var _loop_2 = function (i) {\n if (!rowData[i].uid) {\n rowData[i].uid = createRowUid(Tables_1.RowPrefix.Default, i);\n }\n rowData[i].rowId =\n (_b = (_a = (0, Arrays_1.find)(tableState !== null && tableState !== void 0 ? tableState : [], function (row) { return row.uid === (rowData === null || rowData === void 0 ? void 0 : rowData[i].uid); })) === null || _a === void 0 ? void 0 : _a.rowId) !== null && _b !== void 0 ? _b : rowData[i].rowId;\n };\n for (var i = 0; i < rowData.length; i++) {\n _loop_2(i);\n }\n }\n else {\n rowData =\n dynamicTableData !== null && dynamicTableData !== void 0 ? dynamicTableData : createInitialRows(table).map(function (row) {\n var _a, _b;\n return __assign(__assign({}, (row !== null && row !== void 0 ? row : {})), { rowId: (_b = (_a = (0, Arrays_1.find)(tableState !== null && tableState !== void 0 ? tableState : [], function (r) { return r.uid === (row === null || row === void 0 ? void 0 : row.uid); })) === null || _a === void 0 ? void 0 : _a.rowId) !== null && _b !== void 0 ? _b : row.rowId });\n });\n }\n var uidMapBuilder = (_c = model === null || model === void 0 ? void 0 : model.getTableHelpers().createUidMapBuilder()) !== null && _c !== void 0 ? _c : (0, exports.getTableHelpers)().createUidMapBuilder();\n return uidMapBuilder\n .addDefaultRows(rowData)\n .addDynamicRows(tableState !== null && tableState !== void 0 ? tableState : [])\n .removeRows(tableState !== null && tableState !== void 0 ? tableState : [])\n .sortByValue()\n .create();\n}\nexports.createTableUids = createTableUids;\nfunction getCellValidationInfo(component) {\n var table = component;\n var colInfo = [];\n var columns = table.columns;\n for (var column in columns) {\n var colData = table.columns[column];\n if (colData === null || colData === void 0 ? void 0 : colData[\"cellValidator\"]) {\n colInfo.push({\n type: colData[\"type\"],\n minValue: colData[\"cellValidator\"][\"minValue\"],\n maxValue: colData[\"cellValidator\"][\"maxValue\"],\n errMessage: colData[\"cellValidator\"][\"errorMessage\"],\n errTitle: colData[\"cellValidator\"][\"errorTitle\"],\n cValidation: colData[\"cellValidator\"][\"cValidation\"],\n cValidationErrTitle: colData[\"cellValidator\"][\"cValidationErrorTitle\"],\n cValidationErrMessage: colData[\"cellValidator\"][\"cValidationErrorMessage\"],\n });\n }\n }\n return colInfo;\n}\nexports.getCellValidationInfo = getCellValidationInfo;\nfunction getTableActions(component, tab, model, uids, rowFormData) {\n var _a, _b, _c, _d, _e;\n var table = component;\n var dynamicTableData;\n if (!rowFormData) {\n dynamicTableData = model === null || model === void 0 ? void 0 : model.getDerivedFunction(component.name, component, model, tab);\n }\n var rowData = (_b = (_a = rowFormData !== null && rowFormData !== void 0 ? rowFormData : dynamicTableData) !== null && _a !== void 0 ? _a : table[\"rowData\"]) !== null && _b !== void 0 ? _b : createInitialRows(table);\n var columnNames = Object.keys(table.columns);\n var tableActions = { table: {} };\n var rowCount = 0;\n var tableState = (_e = (_d = (_c = model === null || model === void 0 ? void 0 : model.getState()) === null || _c === void 0 ? void 0 : _c[tab]) === null || _d === void 0 ? void 0 : _d[component.group]) === null || _e === void 0 ? void 0 : _e[component.name];\n rowData.forEach(function (row) {\n columnNames.forEach(function (columnName) {\n var _a, _b, _c, _d;\n if (!tableActions[\"table\"][row.uid]) {\n tableActions[\"table\"][row.uid] = {};\n }\n var uid;\n for (var uidsKey in uids) {\n if (uids[uidsKey] === row.rowId) {\n uid = uidsKey;\n }\n }\n uid = uid !== null && uid !== void 0 ? uid : createRowUid(Tables_1.RowPrefix.Default, rowCount);\n var defaultAction = createDefaultTableAction(component, rowCount, columnName, tab, uid);\n if (tableState) {\n var ind_1 = -1;\n var filtered = tableState.filter(function (row, index) {\n ind_1 = index;\n return row.uid === uid;\n });\n if (filtered.length) {\n defaultAction = createDefaultTableAction(component, ind_1, columnName, tab, uid !== null && uid !== void 0 ? uid : createRowUid(Tables_1.RowPrefix.Default, rowCount));\n }\n }\n if (component.columns[columnName].type == \"ComboBox\") {\n defaultAction[\"payload\"] = __assign(__assign({}, defaultAction[\"payload\"]), { options: getComboOptions((_a = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.overrideTableOptions, table.columns[columnName], columnName, component.name) });\n }\n var cellAction = (_c = (_b = row.actions) === null || _b === void 0 ? void 0 : _b[columnName]) !== null && _c !== void 0 ? _c : defaultAction;\n tableActions[\"table\"][row.uid][columnName] =\n (_d = model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getActions\", table.name, cellAction)) !== null && _d !== void 0 ? _d : cellAction;\n });\n rowCount++;\n });\n var uidKeys = Object.keys(uids);\n uidKeys.forEach(function (uidKey) {\n columnNames.forEach(function (columnName) {\n if (uids[uidKey] > -1) {\n if (!tableActions[\"table\"][uidKey]) {\n tableActions[\"table\"][uidKey] = {};\n tableActions[\"table\"][uidKey][columnName] = createDefaultTableAction(table, uids[uidKey], columnName, tab, uidKey);\n }\n else if (!tableActions[\"table\"][uidKey][columnName]) {\n tableActions[\"table\"][uidKey][columnName] = createDefaultTableAction(table, uids[uidKey], columnName, tab, uidKey);\n }\n }\n });\n });\n return JSON.stringify(tableActions);\n}\nexports.getTableActions = getTableActions;\nfunction getTableUiSchema(table, columns) {\n var _a, _b;\n var tableUi = {\n tableCols: columns,\n search: table[\"isSearchable\"],\n striped: false,\n bordered: false,\n };\n if (table[\"canRemoveRows\"]) {\n tableUi = __assign(__assign({}, tableUi), { rightActions: getTableRightActions() });\n }\n if (table[\"canInsertRows\"]) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: getTableLeftActions() });\n }\n if (table.canMoveRowDown) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: ((_a = tableUi.leftActions) !== null && _a !== void 0 ? _a : []).concat(getTableMoveRowActions()[0]) });\n }\n if (table.canMoveRowUp) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: ((_b = tableUi.leftActions) !== null && _b !== void 0 ? _b : []).concat(getTableMoveRowActions()[1]) });\n }\n return {\n \"ui:field\": \"table\",\n className: \"col-md-12 individualComponent\",\n table: __assign({}, tableUi),\n };\n}\nexports.getTableUiSchema = getTableUiSchema;\nfunction getCellStyle(isReadonly) {\n var tdStyle = {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n };\n if (isReadonly) {\n tdStyle[\"backgroundColor\"] = \"#EEEEEE\";\n }\n return tdStyle;\n}\nexports.getCellStyle = getCellStyle;\nfunction getHeaderStyle(maxHeaderSize, displayHeadersDiagonally) {\n return displayHeadersDiagonally\n ? getDiagonalHeaderStyles(maxHeaderSize)\n : getDefaultHeaderStyles(maxHeaderSize);\n}\nexports.getHeaderStyle = getHeaderStyle;\nfunction getDiagonalHeaderStyles(maxHeaderSize) {\n var headerSizeMultiplier = 3.3;\n return {\n position: \"relative\",\n bottom: \"-7px\",\n pointerEvents: \"none\",\n left: \"6px\",\n transformOrigin: \"bottom left\",\n transform: \"rotate(-30deg)\",\n paddingTop: \"\".concat(headerSizeMultiplier * maxHeaderSize, \"px\"),\n };\n}\nfunction getDefaultHeaderStyles(maxHeaderSize) {\n return {\n whiteSpace: \"unset\",\n maxWidth: \"\".concat(maxHeaderSize, \"px\"),\n };\n}\nfunction createDefaultTableAction(component, row, column, tab, uid) {\n return {\n type: \"[Table] EDIT_CELL\",\n payload: {\n tabId: tab !== null && tab !== void 0 ? tab : \"main\",\n path: \"\".concat(component === null || component === void 0 ? void 0 : component.group, \".\").concat(component === null || component === void 0 ? void 0 : component.name),\n column: column,\n value: \"%v\",\n uid: uid,\n rowId: row,\n },\n };\n}\nfunction updateActionsRowId(currentActions, rowId) {\n var modifiedActions = __assign({}, currentActions);\n var columnNames = Object.keys(currentActions);\n columnNames.forEach(function (columnName) {\n var _a;\n var payload = (_a = modifiedActions[columnName]) === null || _a === void 0 ? void 0 : _a[\"payload\"];\n if (payload) {\n var path = payload[\"path\"].split(\".\");\n path[path.length - 2] = rowId;\n modifiedActions[columnName][\"payload\"][\"rowId\"] = rowId;\n modifiedActions[columnName][\"payload\"][\"path\"] = path.join(\".\");\n }\n });\n return modifiedActions;\n}\nvar getDefaultValue = function (overrideDefaultValues, component, componentName, tableName) {\n var _a;\n return ((_a = overrideDefaultValues === null || overrideDefaultValues === void 0 ? void 0 : overrideDefaultValues(tableName, componentName)) !== null && _a !== void 0 ? _a : (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue));\n};\nvar getComboOptions = function (overrideOptions, component, componentName, tableName) {\n var _a;\n var dynamicOptions = overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions(tableName, componentName);\n return dynamicOptions && dynamicOptions.length > 0\n ? dynamicOptions\n : (_a = component === null || component === void 0 ? void 0 : component.defaultValue) === null || _a === void 0 ? void 0 : _a[\"options\"];\n};\nfunction getTableLeftActions() {\n return [\n {\n dataField: \"insert-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n tdStyle: { textOverflow: \"unset\" },\n },\n ];\n}\nfunction getTableRightActions() {\n return [\n {\n dataField: \"delete-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n tdStyle: { textOverflow: \"unset\" },\n },\n ];\n}\nfunction getTableMoveRowActions() {\n return [\n {\n dataField: \"row-down-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n },\n {\n dataField: \"row-up-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n },\n ];\n}\nfunction createRowUid(prefix, postfix) {\n return prefix + postfix;\n}\n//# sourceMappingURL=tables.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateRegisterView = void 0;\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar ViewSchemaBuilder_1 = require(\"./ViewSchemaBuilder\");\nvar Model_1 = require(\"./Model\");\nvar throwError = function (message) {\n throw new Error(message);\n};\nvar CreateRegisterView = /** @class */ (function () {\n function CreateRegisterView(module) {\n var _this = this;\n this.registers = [];\n this.interrupts = [];\n /** Create a register view */\n this.create = function () {\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n title: \"Register Settings\",\n type: \"object\",\n })\n .withTabName(\"Register Initialization\")\n .withExpandedDefault(false);\n _this.registers.forEach(function (reg) {\n schemaBuilder.addChildComponent(reg.getRegister().name, _this.createRegisterView(reg));\n });\n schemaBuilder.addChildComponent(\"interrupts\", _this.createInterruptView());\n return schemaBuilder.build();\n };\n /** Assign a numerical value to the given register. */\n this.withRegisterValue = function (register, value) {\n _this.getSafeRegisterViewModel(register).setValue(value);\n return _this;\n };\n /** Assign a string value to the given interrupt. */\n this.withInterruptValue = function (interrupt, value) {\n _this.getSafeInterruptViewModel(interrupt).setValue(value);\n return _this;\n };\n /** Assign the interrupt combobox options. */\n this.withInterruptOptions = function (interrupt, options) {\n _this.getSafeInterruptViewModel(interrupt).setOptions(options);\n return _this;\n };\n /** Make all settings in all registers editable */\n this.withAllEditable = function () {\n _this.registers.forEach(function (register) {\n return _this.withEditableRegister(register.getRegister());\n });\n _this.interrupts.forEach(function (interrupt) {\n _this.withEditableInterrupt(interrupt.getInterrupt());\n });\n return _this;\n };\n /** Make settings in the given register editable based on setting type*/\n this.withEditableRegister = function (register) {\n var _a, _b;\n _this.getSafeRegisterViewModel(register).setReadonly(false);\n if (register) {\n (_b = (0, Arrays_1.values)((_a = register === null || register === void 0 ? void 0 : register.settings) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n if ((setting === null || setting === void 0 ? void 0 : setting.type) === \"R\") {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n else {\n _this.getSafeSettingViewModel(register, setting).setReadonly(false);\n }\n });\n }\n return _this;\n };\n /** Make a setting in the given register and setting readonly based on setting*/\n this.withEditableRegisterSetting = function (register, setting) {\n if (register && setting) {\n if ((setting === null || setting === void 0 ? void 0 : setting.type) === \"R\") {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n else {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n }\n return _this;\n };\n this.withInVisibleRegister = function (register) {\n var _a, _b;\n _this.getSafeRegisterViewModel(register).setIsVisible(false);\n if (register) {\n (_b = (0, Arrays_1.values)((_a = register === null || register === void 0 ? void 0 : register.settings) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n _this.getSafeSettingViewModel(register, setting).setIsVisible(false);\n });\n }\n return _this;\n };\n this.withInVisibleRegisterSetting = function (register, setting) {\n if (register && setting) {\n _this.getSafeSettingViewModel(register, setting).setIsVisible(false);\n }\n return _this;\n };\n this.withUpdatedSettingDescription = function (register, setting, overrideTitle) {\n if (register && setting && overrideTitle) {\n _this.getSafeSettingViewModel(register, setting).setDescription(overrideTitle);\n }\n return _this;\n };\n /** Make register non-editable*/\n this.withNonEditableRegister = function (register) {\n _this.getSafeRegisterViewModel(register).setReadonly(true);\n return _this;\n };\n /** Make a given setting in register editable */\n this.withEditableSetting = function (register, setting) {\n _this.getSafeSettingViewModel(register, setting).setReadonly(false);\n return _this;\n };\n /** Make a given interrupt editable */\n this.withEditableInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setReadonly(false);\n return _this;\n };\n /** Make a given interrupt Invisible */\n this.withInVisibleInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setIsVisible(false);\n return _this;\n };\n /** Make a given interrupt non-editable */\n this.withNonEditableInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setReadonly(true);\n return _this;\n };\n this.getSafeRegisterViewModel = function (register) {\n var _a;\n return (_a = _this.getRegisterViewModel(register !== null && register !== void 0 ? register : throwError(\"Invalid register parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get register view model for '\".concat(register.name, \"'. Not found in this module.\"));\n };\n this.getSafeInterruptViewModel = function (interrupt) {\n var _a;\n return (_a = _this.getInterruptViewModel(interrupt !== null && interrupt !== void 0 ? interrupt : throwError(\"Invalid interrupt parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get interrupt view model for '\".concat(interrupt.name, \"'. Not found in this module.\"));\n };\n this.getSafeSettingViewModel = function (register, setting) {\n var _a;\n return (_a = _this.getSafeRegisterViewModel(register).getSettingViewModel(setting !== null && setting !== void 0 ? setting : throwError(\"Invalid setting parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get setting view model for '\".concat(setting.name, \"'. Not found in this module.\"));\n };\n this.getRegisterViewModel = function (register) {\n var name = register.name;\n return (0, Arrays_1.find)(_this.registers, function (rv) { return rv.getRegister().name === name; });\n };\n this.getInterruptViewModel = function (interrupt) {\n var name = interrupt.name;\n return (0, Arrays_1.find)(_this.interrupts, function (rv) { return rv.getInterrupt().name === name; });\n };\n this.createRegisterView = function (register) {\n var registerValue = register.getValue() || 0;\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n type: \"object\",\n title: register.getName() +\n \" : \" +\n CalculateRegisterValue_1.default.toHexString(registerValue),\n description: register.getDescription(),\n properties: {},\n })\n .withUiSchema({})\n .withFormData({});\n register.forEachSetting(function (setting) {\n schemaBuilder.addChildComponent(setting.getName(), _this.createSettingView(setting));\n });\n return schemaBuilder.build();\n };\n this.createSettingView = function (setting) {\n return setting.hasOptions()\n ? _this.createHasOptionsViewSchema(setting)\n : _this.getNoOptionsViewSchema(setting);\n };\n this.createInterruptView = function () {\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n type: \"object\",\n title: \"Interrupts\",\n properties: {},\n })\n .withUiSchema({})\n .withFormData({});\n _this.interrupts.forEach(function (int) {\n schemaBuilder.addChildComponent(int.getInterrupt().name, _this.createInterruptViewSchema(int));\n });\n return schemaBuilder.build();\n };\n this.module = module;\n this.registers = this.createRegisterViewModelForEachRegister(module);\n this.interrupts = this.createInterruptViewModelForEachInterrupt(module);\n }\n CreateRegisterView.prototype.createRegisterViewModelForEachRegister = function (module) {\n var _a;\n var models = [];\n var registers = (_a = module.registers) !== null && _a !== void 0 ? _a : {};\n Object.keys(registers).forEach(function (registerKey) {\n models.push(new Model_1.RegisterViewModel(registers[registerKey]));\n });\n return models;\n };\n CreateRegisterView.prototype.createInterruptViewModelForEachInterrupt = function (module) {\n var _a;\n var models = [];\n var interrupts = (_a = module.interrupts) !== null && _a !== void 0 ? _a : {};\n Object.keys(interrupts).forEach(function (interruptKey) {\n models.push(new Model_1.InterruptViewModel(interrupts[interruptKey]));\n });\n return models;\n };\n CreateRegisterView.prototype.getNoOptionsViewSchema = function (setting) {\n var _a;\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(!setting.getIsVisible() ? \"hidden\" : undefined)\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_a = setting.getDescription()) !== null && _a !== void 0 ? _a : \"\"));\n return {\n schema: this.createSettingViewSchema(setting),\n uiSchema: setting.getMaxValue() > 1\n ? uiSchemaBuilder.build()\n : this.getBinarySettingUiSchema(setting),\n formData: setting.mapToOptionNameIfExists(setting.getValue()),\n };\n };\n CreateRegisterView.prototype.createHasOptionsViewSchema = function (setting) {\n var _a, _b;\n var schemaBuilder = new ViewSchemaBuilder_1.SchemaBuilder(\"string\", (_a = (0, Setting_1.getBitLabel)(setting.getSetting())) !== null && _a !== void 0 ? _a : \"\")\n .withEnum(setting.getOptionNames())\n .withDefault(setting.mapToOptionNameIfExists(setting.getValue()));\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(!setting.getIsVisible() ? \"hidden\" : undefined)\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_b = setting.getDescription()) !== null && _b !== void 0 ? _b : \"\"));\n return {\n schema: schemaBuilder.build(),\n uiSchema: uiSchemaBuilder.build(),\n formData: setting.mapToOptionNameIfExists(setting.getValue()),\n };\n };\n CreateRegisterView.prototype.createSettingViewSchema = function (setting) {\n var _a;\n var schema = new ViewSchemaBuilder_1.SchemaBuilder(\"integer\", (_a = (0, Setting_1.getBitLabel)(setting.getSetting())) !== null && _a !== void 0 ? _a : \"\").withDefault(setting.mapToOptionNameIfExists(setting.getPORDefault()));\n setting.getMaxValue() > 1\n ? schema.withMaximum(setting.getMaxValue()).withMinimum(0)\n : schema.withEnum([0, 1]);\n return schema.build();\n };\n CreateRegisterView.prototype.createInterruptViewSchema = function (interrupt) {\n var _a;\n var schema = new ViewSchemaBuilder_1.SchemaBuilder(\"string\", interrupt.getInterrupt().name)\n .withEnum(interrupt.getOptions())\n .withDefault(interrupt.getValue());\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(interrupt.getIsReadonly())\n .withWidget(!interrupt.getIsVisible() ? \"hidden\" : undefined);\n return {\n schema: schema.build(),\n uiSchema: uiSchemaBuilder.build(),\n formData: (_a = interrupt.getValue()) !== null && _a !== void 0 ? _a : {},\n };\n };\n CreateRegisterView.prototype.getBinarySettingUiSchema = function (setting) {\n var _a;\n return new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(!setting.getIsVisible() ? \"hidden\" : \"radio\")\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_a = setting.getDescription()) !== null && _a !== void 0 ? _a : \"\"))\n .withOptions({ inline: true })\n .build();\n };\n /** Creates Register View Builder for the given module. */\n CreateRegisterView.for = function (moduleDescription) {\n if (!moduleDescription) {\n throwError(\"Creation failed. Invalid module parameter.\");\n }\n if (!moduleDescription.registers && !moduleDescription.interrupts) {\n throwError(\"Creation failed for \".concat(moduleDescription.name, \". Input module contains no registers or interrupts.\"));\n }\n return new CreateRegisterView(moduleDescription);\n };\n return CreateRegisterView;\n}());\nexports.CreateRegisterView = CreateRegisterView;\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SettingViewModel = exports.RegisterViewModel = exports.InterruptViewModel = void 0;\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar InterruptViewModel = /** @class */ (function () {\n function InterruptViewModel(interrupt) {\n var _this = this;\n this.isReadOnly = true;\n this.isVisible = true;\n this.getInterrupt = function () { return _this.interrupt; };\n this.setValue = function (value) {\n _this.value = value;\n };\n this.getValue = function () { return _this.value; };\n this.setOptions = function (options) {\n _this.options = options;\n };\n this.getOptions = function () { var _a; return (_a = _this.options) !== null && _a !== void 0 ? _a : []; };\n this.getIsReadonly = function () { return _this.isReadOnly; };\n this.getIsVisible = function () { return _this.isVisible; };\n this.setReadonly = function (isReadOnly) {\n _this.isReadOnly = isReadOnly;\n };\n this.setIsVisible = function (visibility) {\n _this.isVisible = visibility;\n };\n if (!interrupt) {\n throw new Error(\"IllegalInputArgument for 'interrupt' in InterruptValue\");\n }\n this.interrupt = interrupt;\n }\n return InterruptViewModel;\n}());\nexports.InterruptViewModel = InterruptViewModel;\nvar RegisterViewModel = /** @class */ (function () {\n function RegisterViewModel(register) {\n var _this = this;\n this.settings = [];\n this.getSettings = function () { return _this.settings; };\n this.getSettingViewModel = function (setting) {\n var name = setting.name;\n return (0, Arrays_1.find)(_this.settings, function (rv) { return rv.getSetting().name === name; });\n };\n this.forEachSetting = function (doThis) {\n _this.settings.forEach(doThis);\n };\n this.getRegister = function () { return _this.register; };\n this.getName = function () { return _this.register.name; };\n this.getDescription = function () { return _this.register.desc; };\n this.getValue = function () { return _this.value; };\n this.setValue = function (value) {\n _this.value = value;\n };\n this.setReadonly = function (value) {\n if (value === void 0) { value = true; }\n _this.forEachSetting(function (setting) { return setting.setReadonly(value); });\n };\n this.setIsVisible = function (visibility) {\n _this.forEachSetting(function (setting) { return setting.setReadonly(visibility); });\n };\n this.getDefaultValue = function () { return CalculateRegisterValue_1.default.for(_this.register).asNumber(); };\n this.getValueOrDefault = function () {\n var value = _this.getValue();\n return value !== null && value !== void 0 ? value : _this.getDefaultValue();\n };\n if (!register) {\n throw new Error(\"IllegalInputArgument for 'register' in RegisterValue\");\n }\n this.register = register;\n if (register.settings) {\n this.settings = this.createSettingViewModels(register);\n }\n }\n RegisterViewModel.prototype.createSettingViewModels = function (register) {\n var _this = this;\n var _a;\n var models = [];\n var settings = (_a = register.settings) !== null && _a !== void 0 ? _a : {};\n Object.keys(settings).forEach(function (settingKey) {\n models.push(new SettingViewModel(settings[settingKey], _this.getValueOrDefault));\n });\n return RegisterViewModel.sortSettingsDescending(models);\n };\n /** Sorts the settings in descending order based on bit positions. */\n RegisterViewModel.sortSettingsDescending = function (settings) {\n var result = __spreadArray([], settings, true);\n result.sort(function (settingOne, settingTwo) {\n var _a, _b, _c, _d;\n var bitRangeOne = (_b = (_a = (0, Setting_1.getBitRange)(settingOne.getSetting())) === null || _a === void 0 ? void 0 : _a.high) !== null && _b !== void 0 ? _b : -1;\n var bitRangeTwo = (_d = (_c = (0, Setting_1.getBitRange)(settingTwo.getSetting())) === null || _c === void 0 ? void 0 : _c.high) !== null && _d !== void 0 ? _d : -1;\n return bitRangeTwo - bitRangeOne;\n });\n return result;\n };\n return RegisterViewModel;\n}());\nexports.RegisterViewModel = RegisterViewModel;\nvar SettingViewModel = /** @class */ (function () {\n function SettingViewModel(setting, getRegisterValue) {\n var _this = this;\n this.isReadonly = true;\n this.isVisible = true;\n this.setReadonly = function (value) {\n if (value === void 0) { value = true; }\n _this.isReadonly = value;\n };\n this.setIsVisible = function (visibility) {\n _this.isVisible = visibility;\n };\n this.setDescription = function (value) {\n _this.setting.description = value;\n };\n this.getIsReadonly = function () { return _this.isReadonly; };\n this.getIsVisible = function () { return _this.isVisible; };\n this.getSetting = function () { return _this.setting; };\n this.getName = function () { return _this.setting.name; };\n this.getDescription = function () { return _this.setting.description; };\n this.getPORDefault = function () { return Number(_this.setting.porDefault); };\n this.getMask = function () { return Number(_this.setting.mask); };\n this.hasOptions = function () {\n return !!_this.setting.options;\n };\n this.getOptionNames = function () {\n return (0, Arrays_1.map)(nullSafe(_this.setting.options), function (option) { return option.name; });\n };\n this.mapToOptionNameIfExists = function (value) {\n var option = _this.getOptionForValue(value);\n return option !== undefined ? option.name : value;\n };\n this.getOptionForValue = function (value) {\n return (0, Arrays_1.find)(nullSafe(_this.setting.options), function (option) {\n var optionValue = option.value;\n return optionValue != undefined ? parseInt(optionValue) === value : false;\n });\n };\n this.getValue = function () {\n var value = _this.getRegisterValue();\n value &= _this.getMask();\n return value >>> _this.getShift();\n };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >>> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getMaxValue = function () {\n var mask = _this.getMask();\n while (!(mask & 0x1)) {\n mask = mask >>> 1;\n }\n return mask;\n };\n if (!setting) {\n throw new Error(\"SettingViewModel: Invalid input argument\");\n }\n this.setting = setting;\n this.getRegisterValue = getRegisterValue;\n }\n return SettingViewModel;\n}());\nexports.SettingViewModel = SettingViewModel;\nvar nullSafe = function (array) { return array !== null && array !== void 0 ? array : []; };\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UiSchemaBuilder = exports.SchemaBuilder = exports.ViewSchemaBuilder = void 0;\nvar ViewSchemaBuilder = /** @class */ (function () {\n function ViewSchemaBuilder() {\n this.schema = {};\n this.uiSchema = {};\n this.formData = {};\n this.tabName = \"main\";\n this.expandGroupsByDefault = true;\n }\n ViewSchemaBuilder.prototype.withSchema = function (schema) {\n this.schema = schema;\n return this;\n };\n ViewSchemaBuilder.prototype.withUiSchema = function (uiSchema) {\n this.uiSchema = uiSchema;\n return this;\n };\n ViewSchemaBuilder.prototype.withFormData = function (formData) {\n this.formData = formData;\n return this;\n };\n ViewSchemaBuilder.prototype.withTabName = function (name) {\n this.tabName = name;\n return this;\n };\n ViewSchemaBuilder.prototype.withExpandedDefault = function (expandGroupsByDefault) {\n this.expandGroupsByDefault = expandGroupsByDefault;\n return this;\n };\n ViewSchemaBuilder.prototype.addChildComponent = function (childName, child) {\n var _a, _b, _c;\n this.schema = __assign(__assign({}, this.schema), { properties: __assign(__assign({}, this.schema.properties), (_a = {}, _a[childName] = child.schema, _a)) });\n this.uiSchema = __assign(__assign({}, this.uiSchema), (_b = {}, _b[childName] = child.uiSchema, _b));\n if (this.formData instanceof Object) {\n this.formData = __assign(__assign({}, this.formData), (_c = {}, _c[childName] = child.formData, _c));\n }\n };\n ViewSchemaBuilder.prototype.build = function () {\n return {\n schema: this.schema,\n uiSchema: this.uiSchema,\n formData: this.formData,\n name: this.tabName,\n expandGroupsByDefault: this.expandGroupsByDefault,\n };\n };\n return ViewSchemaBuilder;\n}());\nexports.ViewSchemaBuilder = ViewSchemaBuilder;\nvar SchemaBuilder = /** @class */ (function () {\n function SchemaBuilder(type, title) {\n this.title = title;\n this.type = type;\n }\n SchemaBuilder.prototype.withProperties = function (properties) {\n this.properties = properties;\n return this;\n };\n SchemaBuilder.prototype.withDefault = function (defaultValue) {\n this.default = defaultValue;\n return this;\n };\n SchemaBuilder.prototype.withMaximum = function (maximum) {\n this.maximum = maximum;\n return this;\n };\n SchemaBuilder.prototype.withMinimum = function (minimum) {\n this.minimum = minimum;\n return this;\n };\n SchemaBuilder.prototype.withEnum = function (vals) {\n this.enum = vals;\n return this;\n };\n SchemaBuilder.prototype.build = function () {\n return {\n type: this.type,\n title: this.title,\n properties: this.properties,\n default: this.default,\n maximum: this.maximum,\n minimum: this.minimum,\n enum: this.enum,\n };\n };\n return SchemaBuilder;\n}());\nexports.SchemaBuilder = SchemaBuilder;\nvar UiSchemaBuilder = /** @class */ (function () {\n function UiSchemaBuilder() {\n }\n UiSchemaBuilder.prototype.withReadonlyValue = function (isReadonly) {\n this.isReadOnly = isReadonly;\n return this;\n };\n UiSchemaBuilder.prototype.withWidget = function (widgetName) {\n this.widget = widgetName;\n return this;\n };\n UiSchemaBuilder.prototype.withOptions = function (options) {\n this.options = options;\n return this;\n };\n UiSchemaBuilder.prototype.withUiHelp = function (uiHelp) {\n this.uiHelp = uiHelp;\n return this;\n };\n UiSchemaBuilder.prototype.build = function () {\n return {\n \"ui:readonly\": this.isReadOnly,\n \"ui:widget\": this.widget,\n \"ui:options\": this.options,\n \"ui:help\": this.uiHelp,\n };\n };\n return UiSchemaBuilder;\n}());\nexports.UiSchemaBuilder = UiSchemaBuilder;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mapOptionLabels = exports.filterOptions = exports.isSingleton = exports.isUnassigned = exports.isAssigned = exports.hasOptions = exports.AlertTypes = void 0;\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes = exports.AlertTypes || (exports.AlertTypes = {}));\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction hasOptions(dep) {\n return dep.options !== undefined;\n}\nexports.hasOptions = hasOptions;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isAssigned(dep) {\n return typeof dep.handle !== \"undefined\";\n}\nexports.isAssigned = isAssigned;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isUnassigned(dep) {\n return typeof dep.handle === \"undefined\";\n}\nexports.isUnassigned = isUnassigned;\n/**\n * Type guard function for SingletonExport\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n * @param resource the export to check on being a singleton\n * @deprecated No longer used. Replaced with dynamic singleton identification\n * at runtime.\n */\nfunction isSingleton(resource) {\n return typeof resource.isSingleton !== \"undefined\" && resource.isSingleton;\n}\nexports.isSingleton = isSingleton;\n/**\n * Returns a copy of `populatedImport` with all options removed which\n * cause `optionFilter` to return false.\n */\nfunction filterOptions(populatedImport, optionFilter) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.filter(optionFilter) });\n }\n return populatedImport;\n}\nexports.filterOptions = filterOptions;\n/**\n * Returns a copy of `populatedImport` with the options' handle labels\n * mapped according to `labelFactory`.\n */\nfunction mapOptionLabels(populatedImport, labelFactory) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.map(function (option) {\n return __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: labelFactory(option) }) });\n }) });\n }\n return populatedImport;\n}\nexports.mapOptionLabels = mapOptionLabels;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Setting_1 = require(\"./Setting\");\nvar Register_1 = require(\"./Register\");\nvar Arrays_1 = require(\"./util/Arrays\");\n/** Builder pattern */\nvar CalculateRegisterValue = /** @class */ (function () {\n function CalculateRegisterValue(register) {\n var _this = this;\n this.modifiedSettings = [];\n /** Assign a numerical value to the given `Setting`. */\n this.withNumberValue = function (setting, value) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign number value to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \".concat(setting.alias, \" is not present in Register \").concat(_this.register.name));\n }\n _this.modifiedSettings = __spreadArray(__spreadArray([], _this.modifiedSettings, true), [\n new NumberSettingValue(setting, value),\n ], false);\n return _this;\n };\n /** Assign the given `Option` to the given `Setting`. */\n this.withOption = function (setting, option) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \".concat(setting.alias, \" is not present in Register \").concat(_this.register.name));\n }\n if (!option || !_this.getOption(setting, option)) {\n throw new Error(\"Option \".concat(option === null || option === void 0 ? void 0 : option.name, \" is not present in Setting \").concat(setting.name));\n }\n _this.modifiedSettings = __spreadArray(__spreadArray([], _this.modifiedSettings, true), [\n new OptionSettingValue(setting, option),\n ], false);\n return _this;\n };\n /** Assign the `Option` matching the given alias to the given `Setting`. */\n this.withOptionAlias = function (setting, optionAlias) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option alias to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByAlias)(optionAlias, setting);\n if (option === undefined) {\n throw new Error(\"Option Alias: \\\"\".concat(optionAlias, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given name to the given `Setting`. */\n this.withOptionName = function (setting, optionName) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option name to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByName)(optionName, setting);\n if (option === undefined) {\n throw new Error(\"Option Name: \\\"\".concat(optionName, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given description to the given `Setting`. */\n this.withOptionDescription = function (setting, optionDescription) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option description to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByDescription)(optionDescription, setting);\n if (option === undefined) {\n throw new Error(\"Option Description: \\\"\".concat(optionDescription, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n this.getSetting = function (setting) {\n return (0, Register_1.getSettingByAlias)(setting.alias, _this.register);\n };\n this.getOption = function (setting, option) {\n return (option === null || option === void 0 ? void 0 : option.name) ? (0, Setting_1.getOptionByName)(option.name, setting) : undefined;\n };\n this.calculate = function () {\n var registerValue = 0;\n _this.modifiedSettings.forEach(function (modifiedSetting) {\n registerValue = _this.setValue(modifiedSetting, registerValue);\n });\n var unmodifiedSettings = _this.getUnmodifiedSettings();\n unmodifiedSettings.forEach(function (unmodifiedSetting) {\n registerValue = _this.setValue(SettingValue.defaultValue(unmodifiedSetting), registerValue);\n });\n return Number(registerValue);\n };\n this.setValue = function (setting, registerValue) {\n var value = registerValue;\n value &= ~setting.getMask(); // Clear bits\n value |= setting.getShiftedValue(); // Set bits\n return value >>> 0;\n };\n this.getUnmodifiedSettings = function () {\n var _a, _b;\n var modifiedSettingNames = (0, Arrays_1.map)(_this.modifiedSettings, function (setting) {\n return setting.getName();\n });\n return (0, Arrays_1.filter)((_b = (0, Arrays_1.values)((_a = _this.register.settings) !== null && _a !== void 0 ? _a : {})) !== null && _b !== void 0 ? _b : [], function (setting) { return modifiedSettingNames.indexOf(setting.name) < 0; });\n };\n /** Calculate and print the register's value as a hex string. */\n this.asHexString = function () { return CalculateRegisterValue.toHexString(_this.calculate()); };\n /** Calculate and print the register's value as a binary string. */\n this.asBinaryString = function () {\n return CalculateRegisterValue.toBinaryString(_this.calculate());\n };\n /** Calculate and print the register's value as a decimal string. */\n this.asDecimalString = function () {\n return CalculateRegisterValue.toDecimalString(_this.calculate());\n };\n /** Calculate and return the register's value as a number. */\n this.asNumber = function () { return _this.calculate(); };\n this.register = register;\n }\n /** Creates a register value calculation object for the given register. */\n CalculateRegisterValue.for = function (register) {\n return new CalculateRegisterValue(register);\n };\n /** Format the given number as a hex string value. */\n CalculateRegisterValue.toHexString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toHexString() illegal argument exception. Value must not be null.\");\n }\n return \"0x\" + value.toString(16);\n };\n /** Format the given number as a binary string value. */\n CalculateRegisterValue.toBinaryString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toBinaryString() illegal argument exception. Value must not be null.\");\n }\n return \"0b\" + value.toString(2);\n };\n /** Format the given number as a decimal string value. */\n CalculateRegisterValue.toDecimalString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toDecimalString() illegal argument exception. Value must not be null.\");\n }\n return value.toString();\n };\n return CalculateRegisterValue;\n}());\nexports.default = CalculateRegisterValue;\nvar SettingValue = /** @class */ (function () {\n function SettingValue(setting) {\n var _this = this;\n this.getMask = function () { return Number(_this.setting.mask); };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getShiftedValue = function () { return _this.getValue() << _this.getShift(); };\n this.getName = function () { return _this.setting.name; };\n this.setting = setting;\n }\n SettingValue.defaultValue = function (setting) {\n var value = Number(setting.porDefault);\n return new NumberSettingValue(setting, value);\n };\n return SettingValue;\n}());\nvar NumberSettingValue = /** @class */ (function (_super) {\n __extends(NumberSettingValue, _super);\n function NumberSettingValue(setting, value) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return _this.value; };\n _this.value = value;\n return _this;\n }\n return NumberSettingValue;\n}(SettingValue));\nvar OptionSettingValue = /** @class */ (function (_super) {\n __extends(OptionSettingValue, _super);\n function OptionSettingValue(setting, option) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return Number(_this.option.value); };\n _this.option = option;\n return _this;\n }\n OptionSettingValue.fromDefaultValue = function (setting, value) {\n var foundValueByName = (0, Setting_1.getOptionByName)(value, setting);\n if (foundValueByName)\n return new OptionSettingValue(setting, foundValueByName);\n var foundValueByAlias = (0, Setting_1.getOptionByAlias)(value, setting);\n if (foundValueByAlias)\n return new OptionSettingValue(setting, foundValueByAlias);\n throw new Error(\"Unable to create default value '\".concat(value, \"' for setting '\").concat(setting.name, \"'.\"));\n };\n return OptionSettingValue;\n}(SettingValue));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSettingByAlias = void 0;\nvar getSettingByAlias = function (alias, register) {\n var _a;\n return (_a = register.settings) === null || _a === void 0 ? void 0 : _a[alias];\n};\nexports.getSettingByAlias = getSettingByAlias;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionDescriptions = exports.getOptionNames = exports.getOptionByDescription = exports.getOptionByName = exports.getOptionByAlias = exports.getBitRange = exports.getBitLabel = void 0;\nvar Arrays_1 = require(\"./util/Arrays\");\n/**\n * Converts a hexadecimal string to binary.\n * Any leading zeros are removed from the returned string.\n */\nvar hexToBinary = function (hex) {\n return parseInt(hex, 16).toString(2);\n};\n/**\n * Returns a string of the corresponding bit position(s).\n */\nvar getBitLabel = function (setting) {\n if (setting.mask === undefined) {\n return undefined;\n }\n var bitRange = (0, exports.getBitRange)(setting);\n if (!bitRange)\n return undefined;\n if (bitRange.high === bitRange.low) {\n return \"bit \".concat(bitRange.high);\n }\n return \"bit \".concat(bitRange.high, \"-\").concat(bitRange.low);\n};\nexports.getBitLabel = getBitLabel;\n/**\n * Converts the hexadecimal mask provided within the register setting\n * and returns an interface containing the corresponding low and high bit positions.\n */\nvar getBitRange = function (setting) {\n if (!setting.mask)\n return undefined;\n var processedHex = hexToBinary(setting.mask);\n return {\n high: processedHex.length - 1,\n low: getBitRangeLow(processedHex),\n };\n};\nexports.getBitRange = getBitRange;\nvar getOptionByAlias = function (alias, setting) {\n var _a, _b;\n var result = (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.alias == alias; });\n if (!result) {\n result = (0, Arrays_1.find)((_b = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _b !== void 0 ? _b : [], function (option) { return option.description == alias; });\n }\n return result;\n};\nexports.getOptionByAlias = getOptionByAlias;\nvar getOptionByName = function (name, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name == name; });\n};\nexports.getOptionByName = getOptionByName;\nvar getOptionByDescription = function (description, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description == description; });\n};\nexports.getOptionByDescription = getOptionByDescription;\nvar getOptionNames = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name; });\n};\nexports.getOptionNames = getOptionNames;\nvar getOptionDescriptions = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description; });\n};\nexports.getOptionDescriptions = getOptionDescriptions;\nfunction getBitRangeLow(processedHex) {\n if (processedHex.charAt(1) === \"1\") {\n var index = 1;\n while (processedHex.charAt(index) === \"1\") {\n index++;\n }\n return processedHex.length - index;\n }\n else {\n return processedHex.length - 1;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.values = exports.getKeys = exports.find = exports.filter = exports.map = void 0;\nvar map = function (arr, callback) {\n var result = [];\n arr.forEach(function (value, index) {\n result[index] = callback(value);\n });\n return result;\n};\nexports.map = map;\nvar filter = function (arr, callback) {\n var result = [];\n arr.forEach(function (value) {\n if (callback(value)) {\n result.push(value);\n }\n });\n return result;\n};\nexports.filter = filter;\n/**\n * Iterates over elements of the array, returning the first element that the predicate returns truthy for.\n */\nvar find = function (arr, callback) {\n for (var i = 0; i < arr.length; i++) {\n if (callback(arr[i])) {\n return arr[i];\n }\n }\n return undefined;\n};\nexports.find = find;\n/** @returns the non-prototype keys of the given object */\nvar getKeys = function (obj) {\n if (!obj)\n return undefined;\n return Object.getOwnPropertyNames(obj);\n};\nexports.getKeys = getKeys;\nvar values = function (obj) {\n var _a;\n if (!obj)\n return undefined;\n return (_a = (0, exports.getKeys)(obj)) === null || _a === void 0 ? void 0 : _a.map(function (key) { return obj[key]; });\n};\nexports.values = values;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildSimpleApi = function (functions) {\n var api = {};\n for (var key in functions) {\n api[key] = buildFunction(functions[key]);\n }\n return api;\n};\nvar buildFunction = function (cFunction) {\n return cFunction.returns + \" \" + cFunction.name + \"(\" + buildArguments(cFunction.arguments) + \")\";\n};\nvar buildArguments = function (args) {\n if (args) {\n return args.map(function (arg) { return arg.type + \" \" + arg.name; }).join(\", \");\n }\n else {\n return \"void\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInterfaceName = function (pkgJson) {\n var strReplace = \"@microchip/\";\n var interfaceName;\n if (pkgJson) {\n interfaceName = pkgJson[\"name\"];\n if (interfaceName) {\n interfaceName = interfaceName.replace(strReplace, \"\");\n }\n }\n if (!interfaceName) {\n throw new Error(\"Invalid Interface Name...!\");\n }\n return interfaceName;\n};\nexports.getInterfaceVersion = function (pkgJson) {\n var versionRegex = new RegExp(\"\\\\d+.\\\\d+.\\\\d+\");\n var version;\n if (pkgJson) {\n version = pkgJson[\"version\"];\n }\n if (!version && !versionRegex.test(version)) {\n throw new Error(\"Invalid Interface Version...!\");\n }\n return version;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar c_function_types_1 = require(\"./c-function-types\");\nexports.buildSimpleApi = c_function_types_1.buildSimpleApi;\nvar helpers_1 = require(\"./helpers\");\nexports.getInterfaceName = helpers_1.getInterfaceName;\nexports.getInterfaceVersion = helpers_1.getInterfaceVersion;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeExport = exports.createPrototypeImport = exports.getInterfaceId = void 0;\nvar InterfaceTypes = __importStar(require(\"@microchip/scf-interface\"));\nvar pkgJson = require(\"../package.json\");\nexports.getInterfaceId = function () {\n return {\n name: InterfaceTypes.getInterfaceName(pkgJson),\n version: InterfaceTypes.getInterfaceVersion(pkgJson),\n };\n};\nexports.createPrototypeImport = function () {\n return {\n interfaceId: exports.getInterfaceId(),\n };\n};\nexports.createPrototypeExport = function () {\n return {\n interfaces: [{ interfaceId: exports.getInterfaceId() }],\n };\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar sys_init_basic_interface_1 = require(\"./sys-init-basic-interface\");\nObject.defineProperty(exports, \"Interface\", { enumerable: true, get: function () { return sys_init_basic_interface_1.Interface; } });\nObject.defineProperty(exports, \"INIT_PRIORITY\", { enumerable: true, get: function () { return sys_init_basic_interface_1.INIT_PRIORITY; } });\nObject.defineProperty(exports, \"prioritySorter\", { enumerable: true, get: function () { return sys_init_basic_interface_1.prioritySorter; } });\nObject.defineProperty(exports, \"sortSysInitInitializers\", { enumerable: true, get: function () { return sys_init_basic_interface_1.sortSysInitInitializers; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMock = void 0;\nvar api_1 = require(\"./api\");\nexports.createMock = function () {\n return {\n interfaceId: api_1.getInterfaceId(),\n payload: {\n moduleName: \"MyModule\",\n },\n args: {},\n results: {\n requestId: {\n initializers: [\n {\n name: \"mymodule_init1();\",\n header: {\n name: \"../mymodule.h\",\n path: \"include/\",\n },\n priority: 1,\n },\n ],\n localInitializers: [\n {\n funcDec: \"void mymodule_init2(void);\",\n name: \"mymodule_init2();\",\n funcBody: \"/** \\n * @ingroup systemdriver\\n * @brief Initializes the Peripheral module.\\n * @param None.\\n * @return None.\\n * void mymodule_init2(void){\\n * //IOCMD IOC enabled; CLKRMD CLKR enabled;\\n * PMD0 = 0x0;\\n * }\\n */\",\n priority: 1,\n },\n ],\n },\n },\n };\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Interface = exports.sortSysInitInitializers = exports.prioritySorter = exports.INIT_PRIORITY = void 0;\nvar mock_1 = require(\"./mock\");\nvar api_1 = require(\"./api\");\nvar INIT_PRIORITY;\n(function (INIT_PRIORITY) {\n INIT_PRIORITY[INIT_PRIORITY[\"START\"] = 1] = \"START\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_PERIPHERAL\"] = 50] = \"PRE_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"PERIPHERAL\"] = 100] = \"PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_PERIPHERAL\"] = 150] = \"POST_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"DEFAULT\"] = 200] = \"DEFAULT\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_SOFTWARE\"] = 250] = \"PRE_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"SOFTWARE\"] = 300] = \"SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_SOFTWARE\"] = 350] = \"POST_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"END\"] = 400] = \"END\";\n})(INIT_PRIORITY = exports.INIT_PRIORITY || (exports.INIT_PRIORITY = {}));\n/** Sorting initializer based on the priority. */\nexports.prioritySorter = function (a, b) {\n var _a, _b, _c, _d;\n var result = 0;\n var apriority = (_a = a === null || a === void 0 ? void 0 : a.initializer.priority) !== null && _a !== void 0 ? _a : INIT_PRIORITY.DEFAULT;\n var bpriority = (_b = b === null || b === void 0 ? void 0 : b.initializer.priority) !== null && _b !== void 0 ? _b : INIT_PRIORITY.DEFAULT;\n if (apriority < bpriority) {\n result = -1;\n }\n else if (apriority > bpriority) {\n result = 1;\n }\n else {\n //same priority sort via intializer name alphabetically\n result = (_d = (_c = a === null || a === void 0 ? void 0 : a.initializer.name) === null || _c === void 0 ? void 0 : _c.localeCompare(b === null || b === void 0 ? void 0 : b.initializer.name)) !== null && _d !== void 0 ? _d : 0;\n }\n return result;\n};\n/**Creating list - combination of initializers and localInitializers */\nexports.sortSysInitInitializers = function (data) {\n var retinitializers = __spreadArrays(data);\n var initSystemList = [];\n //iterating initializers[]\n for (var _i = 0, retinitializers_1 = retinitializers; _i < retinitializers_1.length; _i++) {\n var entry = retinitializers_1[_i];\n if (entry.initializers) {\n for (var _a = 0, _b = entry.initializers; _a < _b.length; _a++) {\n var subentry = _b[_a];\n // if (subentry) {\n var temp = {\n initializer: __assign(__assign({}, subentry), { isLocalInit: false, isNewInterface: true }),\n };\n initSystemList.push(temp);\n // }\n }\n }\n }\n //iterating localInitializers[]\n for (var _c = 0, retinitializers_2 = retinitializers; _c < retinitializers_2.length; _c++) {\n var entry = retinitializers_2[_c];\n if (entry.localInitializers) {\n for (var _d = 0, _e = entry.localInitializers; _d < _e.length; _d++) {\n var subentry = _e[_d];\n // if (subentry) {\n var temp = {\n initializer: __assign(__assign({}, subentry), { isLocalInit: true, isNewInterface: true }),\n };\n initSystemList.push(temp);\n // }\n }\n }\n }\n initSystemList.sort(exports.prioritySorter);\n return initSystemList;\n};\nexports.Interface = {\n createPrototypeExport: api_1.createPrototypeExport,\n createPrototypeImport: api_1.createPrototypeImport,\n getInterfaceId: api_1.getInterfaceId,\n createMock: mock_1.createMock,\n};\n","import { pin_row, pin_state } from \"@microchip/pins-interface/lib/types\";\nimport { AppModel } from \"../generated_module/src/types/AutoModuleTypes\";\n\n// provide complete dynamic data for all pin rows. It overrides static pindata.json\nexport const getCompletePinData = (appModel: AppModel): any => {\n // way to programatically override the json data\n return {};\n};\n\n// overrides pin data for a particular row based on model.\nexport function getRowData(appModel: AppModel, rowData: pin_row): pin_row | undefined {\n let retRowJSONdata: pin_row | undefined = rowData;\n let rowActions: any = [];\n const clockOutEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"CLKOUTEN\"];\n\n if (clockOutEnable) {\n delete clockOutEnable[\"setting\"];\n delete clockOutEnable[\"displayOptionSetting\"];\n const selectedOption: string = clockOutEnable[\"defaultValue\"][\"value\"];\n\n if (selectedOption.indexOf(\"CLKOUT function is enabled\") != -1) {\n if (rowData.name === \"clockout\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"CLKOUT\" },\n };\n }\n }\n\n const isPic18ClkOut: boolean =\n selectedOption === \"CLKOUT function is enabled\" ||\n selectedOption === \"CLKOUT function is disabled\"\n ? true\n : false;\n const actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockout\")\n .forComponent(clockOutEnable)\n .addIfLockedSetValue(\n \"CLKOUT\",\n isPic18ClkOut\n ? \"CLKOUT function is enabled\"\n : \"CLKOUT function is enabled; FOSC/4 clock appears at OSC2\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18ClkOut\n ? \"CLKOUT function is disabled\"\n : \"CLKOUT function is disabled; i/o or oscillator function on OSC2\",\n )\n .build();\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")?.handle\n ?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")?.handle\n ?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n }\n\n const extClkSelect = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"FEXTOSC\"];\n\n if (extClkSelect) {\n delete extClkSelect[\"setting\"];\n delete extClkSelect[\"displayOptionSetting\"];\n\n const selectedOption: string = extClkSelect[\"defaultValue\"][\"value\"];\n\n if (\n selectedOption.indexOf(\"(external clock)\") != -1 ||\n selectedOption.indexOf(\"EC\") != -1\n ) {\n if (rowData.name === \"osc1\" || rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (selectedOption.indexOf(\"(crystal oscillator)\") != -1) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (\n selectedOption.indexOf(\"Oscillator not enabled\") != -1 ||\n selectedOption.indexOf(\"Reserved\") != -1\n ) {\n if (\n rowData.name === \"clockin\" ||\n rowData.name === \"osc1\" ||\n rowData.name === \"osc2\"\n ) {\n retRowJSONdata = undefined;\n }\n }\n // Restricting pin actions for clockin, osc1 and osc2 pin rows\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockin\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc1\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc2\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n\n const mclrEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"MCLRE\"];\n const lvpEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"LVP\"];\n\n if (mclrEnable && lvpEnable) {\n delete mclrEnable[\"setting\"];\n delete mclrEnable[\"displayOptionSetting\"];\n const selectedMclrOption: string = mclrEnable[\"defaultValue\"][\"value\"];\n\n delete lvpEnable[\"setting\"];\n delete lvpEnable[\"displayOptionSetting\"];\n const selectedLvpOption: string = lvpEnable[\"defaultValue\"][\"value\"];\n\n if (\n selectedLvpOption.indexOf(\"HV on MCLR/VPP must be used for programming\") !=\n -1 ||\n selectedLvpOption.indexOf(\n \"High Voltage on MCLR/Vpp must be used for programming\",\n ) != -1\n ) {\n if (\n selectedMclrOption.indexOf(\"MCLR pin is MCLR\") != -1 ||\n selectedMclrOption.indexOf(\"MCLR pin is Master Clear function\") != -1 ||\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\"\n ) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const isPic18Mclr: boolean =\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n ? true\n : false;\n const isQ10Mclr: boolean =\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\"\n ? true\n : false;\n let actionArr: any = [];\n\n // For handling Q10 devices\n if (isQ10Mclr) {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\"MCLR\", \"MCLR pin (RE3) is MCLR\")\n .addIfUnLockedSetValue(\n \".*\",\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\",\n )\n .build();\n } else {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\n \"MCLR\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \"\n : \"MCLR pin is Master Clear function\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n : \"MCLR pin function is port defined function\",\n )\n .build();\n }\n\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")\n ?.handle?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")\n ?.handle?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n } else {\n if (selectedMclrOption) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n }\n\n const noscOsccon1 = appModel.getComponentValue(\"noscOsccon1\");\n if (\n noscOsccon1 === \"HFINTOSC\" ||\n noscOsccon1 === \"LFINTOSC\" ||\n noscOsccon1 === \"SOSC\" ||\n noscOsccon1 === \"HFINTOSC with 2x PLL\"\n ) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc1\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosci\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCI\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosco\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCO\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (retRowJSONdata) retRowJSONdata = { ...retRowJSONdata, actions: rowActions };\n\n return retRowJSONdata;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export class StringConstants {\n static readonly SOSC = \"SOSC\";\n static readonly LFINTOSC = \"LFINTOSC\";\n static readonly HFINTOSC = \"HFINTOSC\";\n static readonly HFINTOSC_2xPLL = \"HFINTOSC with 2x PLL\";\n static readonly EXTOSC = \"EXTOSC\";\n static readonly EXTOSC_4xPLL = \"EXTOSC with 4x PLL\";\n static readonly OSC_NOT_NEEDED = \"Oscillator not needed\";\n static readonly ON = \"ON\";\n static readonly ExtClkFreq_64MHz = 64000000;\n static readonly ExtClkFreq_20MHz = 20000000;\n static readonly ExtClkFreq_32MHz = 32000000;\n}\n","import { StringConstants } from \"./StringConstants\";\n\nexport class ClockCalculator {\n private lfintosc = \"31000\";\n private mfintosc = \"500000\";\n private mfintosc_31KHz = \"31250\";\n private sosc = \"32768\";\n private oscSelect: string;\n private HFInternalClk: string;\n private externalClk: number;\n private clkDivider: number;\n\n MAX_PLL = 16000000; // in Hz\n MIN_PLL = 3000000; // in Hz\n\n public constructor(\n oscSelect: string,\n HFInternalClk: string,\n externalClk: number,\n clkDivider: number,\n ) {\n this.oscSelect = oscSelect;\n this.HFInternalClk = HFInternalClk;\n this.externalClk = externalClk;\n this.clkDivider = clkDivider;\n }\n\n public getCurrentSystemClk = (): number => {\n let currentSystemClk: number;\n let HFClk: number;\n\n if (this.oscSelect === StringConstants.SOSC) {\n currentSystemClk = 32768 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.LFINTOSC) {\n currentSystemClk = 31000 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC_2xPLL) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n if (HFClk == 8 || HFClk == 12 || HFClk == 16) {\n currentSystemClk = (HFClk * 2 * 1000000) / this.clkDivider;\n } else {\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n }\n } else if (this.oscSelect === StringConstants.EXTOSC) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n if (this.externalClk <= this.MIN_PLL || this.externalClk > this.MAX_PLL) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n currentSystemClk = (this.externalClk * 4) / this.clkDivider;\n }\n }\n return Math.round(currentSystemClk);\n };\n\n public getHfIntOsc = (): string => {\n return this.HFInternalClk?.replace(\"_MHz\", \"000000\") ?? \"1000000\";\n };\n\n public getMfIntOsc = (): string => {\n return this.mfintosc;\n };\n\n public getMfIntOsc_31KHz = (): string => {\n return this.mfintosc_31KHz;\n };\n\n public getLfIntOsc = (): string => {\n return this.lfintosc;\n };\n\n public getExtOsc = (): string => {\n return this.externalClk.toString();\n };\n\n public getSosc = (): string => {\n return this.sosc;\n };\n}\n","import { pin_row } from \"@microchip/pins-interface/lib/types\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport {\n AppModel,\n PinsLogic,\n} from \"@microchip/melody-automodule-interface/lib/src/types\";\nimport { getPinsDataFromFile, getPinsLogicFromFile } from \"../getUserData\";\n\nconst mockPinsLogic = (getPinsData: GetPinsData): PinsLogic => {\n const getCompletePinData = (appModel: AppModel): any => {\n return {};\n };\n const getRowData = (appModel: AppModel, rowData: pin_row): pin_row => {\n return rowData;\n };\n return {\n getCompletePinData: getCompletePinData,\n getRowData: getRowData,\n getPinsData: getPinsData,\n };\n};\n\ntype GetPinsData = typeof getPinsData;\nexport const getPinsData = (): PinsData => getPinsDataFromFile() ?? { rows: [] };\n\nexport const getPinsLogic = (): PinsLogic => {\n const pinsLogic = getPinsLogicFromFile();\n if (pinsLogic) {\n return {\n ...pinsLogic,\n getPinsData: getPinsData,\n };\n } else {\n return mockPinsLogic(getPinsData);\n }\n};\n","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { ClockCalculator } from \"./ClockCalculator\";\nimport * as config_device from \"@microchip/config-device\";\nimport { StringConstants } from \"./StringConstants\";\nimport osc_clocks from \"@microchip/osc-clocks\";\nimport * as clock from \"@microchip/clock-basic-interface\";\nimport {\n AppModel,\n DerivedData,\n DerivedFunctions,\n} from \"../generated_module/src/types/AutoModuleTypes\";\nimport * as InterfaceTypes from \"@microchip/scf-interface\";\nimport { getPinsLogic } from \"../generated_module/src/pins/PCPHelper\";\nimport * as configbits_basic_interface from \"@microchip/configbits-basic-interface\";\nimport * as sys_init_basic_interface from \"@microchip/sys-init-basic-interface\";\n\nexport const getDerivedData = (dataModel: AppModel): DerivedData => {\n if (dataModel) {\n return new MyDerivedData(dataModel);\n }\n return new EmptyDerivedData();\n};\n\n//This data will be used at the creator stage and relies on only the state\nexport class EmptyDerivedData implements DerivedData {\n getMyFunctions = (): DerivedFunctions => {\n return {};\n };\n getModel = (): AppModel | undefined => {\n return undefined;\n };\n}\n\n//This data will be used at the processor stage\nexport class MyDerivedData implements DerivedData {\n private dataModel: AppModel;\n private clockCalculator: ClockCalculator;\n\n constructor(dataModel: AppModel) {\n this.dataModel = dataModel;\n }\n\n getClockCalculator = (): ClockCalculator => {\n if (!this.clockCalculator) {\n this.clockCalculator = new ClockCalculator(\n this.getModel().getComponentValue(\"noscOsccon1\") ?? \"\",\n this.getModel().getComponentValue(\"hffrqOscfrq\") ?? \"\",\n this.getModel().getComponentValue(\"externalClk\") ?? 32768,\n parseInt(this.getModel().getComponentValue(\"ndivOsccon1\") ?? \"\"),\n );\n }\n return this.clockCalculator;\n };\n\n getMyFunctions = (): DerivedFunctions => {\n return {\n moduleName: this.getModuleName,\n alerts: this.getMyAlerts,\n isEnabled: this.isEnabled,\n isVisible: this.isVisible,\n coscOsccon2: this.getResOscValue,\n currentSystemClk: (): number =>\n this.getClockCalculator().getCurrentSystemClk(),\n \"fosc-hz_payload\": (): string =>\n this.getClockCalculator().getCurrentSystemClk().toString(),\n sys_init_basic_interface_results: this.sys_init_basic_interface_results,\n config_device_results: this.config_device_results,\n templateData: this.getTemplateData,\n overrideDefaultValues: this.overrideDefaultValue,\n configbits_basic_interface_args: this.getConfigbitsBasicInterfaceArgs,\n \"osc-clocks_payload\": this.getOscClocksProcessedPayload,\n \"clock-basic-interface_payload\": this.getClockProcessedPayload,\n doNotShow: (): boolean => false,\n getPinsLogic: getPinsLogic,\n importName: this.friendlyImportName,\n };\n };\n\n private friendlyImportName = (importKey: string): string => {\n if (importKey === \"scf_pic8_osc_v1\") return \"Oscillator Hardware\";\n if (importKey === \"sys_init_basic_interface\") return \"system.c Initialize()\";\n if (importKey === \"config_device\") return \"Configuration Device\";\n if (importKey === \"configbits_basic_interface\") return \"Configuration Request\";\n if (importKey === \"pins_interface\") return \"Pins\";\n return importKey;\n };\n private sys_init_basic_interface_results = (): sys_init_basic_interface.Results => {\n return {\n initializers: [\n {\n name: \"CLOCK_Initialize();\",\n header: {\n name: \"clock.h\",\n path: \"system/\",\n },\n priority: sys_init_basic_interface.INIT_PRIORITY.START,\n },\n ],\n };\n };\n private getConfigbitsBasicInterfaceArgs =\n (): configbits_basic_interface.Arguments => {\n return {\n configsReq: [\"FEXTOSC\", \"CLKOUTEN\", \"MCLRE\", \"LVP\", \"RSTOSC\"],\n };\n };\n\n private getDynamicComponetDefaultValue = (\n componentName: string,\n ): string | undefined => {\n const externalClkSelectedOptions = this.dataModel.getImportValue(\n \"configbits_basic_interface\",\n )?.configsResp?.[componentName];\n let selectedOptionVal: string | undefined;\n\n if (externalClkSelectedOptions) {\n selectedOptionVal = externalClkSelectedOptions[\"defaultValue\"][\"value\"];\n }\n return selectedOptionVal ?? undefined;\n };\n\n private getResOscValue = (): string => {\n const resetOscValue = this.getDynamicComponetDefaultValue(\"RSTOSC\");\n let actualOscValue;\n if (resetOscValue?.indexOf(\"4x PLL\") !== -1) {\n actualOscValue = \"EXTOSC with 4x PLL\";\n } else if (resetOscValue?.indexOf(\"Secondary Oscillator\") !== -1) {\n actualOscValue = \"SOSC\";\n } else if (resetOscValue?.indexOf(\"Low-Frequency\") !== -1) {\n actualOscValue = \"LFINTOSC\";\n } else if (\n resetOscValue?.indexOf(\"HFINTOSC with HFFRQ = 4 MHz and CDIV = 4:1\") !== -1\n ) {\n actualOscValue = \"HFINTOSC\";\n } else if (\n resetOscValue?.indexOf(\"HFINTOSC with HFFRQ = 64 MHz and CDIV = 1:1\") !== -1\n ) {\n actualOscValue = \"HFINTOSC\";\n } else if (resetOscValue?.indexOf(\"FEXTOSC\") !== -1) {\n actualOscValue = \"EXTOSC\";\n } else {\n actualOscValue = undefined;\n }\n return actualOscValue;\n };\n\n private getPLLStatus = (): boolean => {\n const pllStatus = this.getResOscValue();\n const pllEnable = this.dataModel.isComponentValue(\"pllenOscen\");\n const clkSrcVal = this.dataModel.getComponentValue(\"noscOsccon1\");\n if (pllStatus === \"EXTOSC with 4x PLL\") {\n return true;\n } else if (pllEnable === true) {\n return true;\n } else if (clkSrcVal?.indexOf(\"4x PLL\") !== -1) {\n return true;\n } else if (clkSrcVal?.indexOf(\"2x PLL\") !== -1) {\n return true;\n } else {\n return false;\n }\n };\n\n private getOscClocksProcessedPayload = (): osc_clocks.ProcessedPayload => {\n const oscObj: osc_clocks.ProcessedPayload = {\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.isComponentValue(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n oscObj.hasSosc = true;\n oscObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n oscObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return oscObj;\n };\n\n private getClockProcessedPayload = (): clock.Payload => {\n const clockObj: clock.Payload = {\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.getComponent(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n clockObj.hasSosc = true;\n clockObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n clockObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return clockObj;\n };\n\n public getModuleName = (): string => {\n return \"Clock Control\";\n };\n public getModel = (): AppModel => {\n return this.dataModel;\n };\n\n private getTemplateData = (): any => {\n const headers: InterfaceTypes.HeaderFile = {\n name: \"clock.h\",\n path: \"../\",\n };\n const initRegisters = this.dataModel.getRegisterValues();\n //const registerValues = this.dataModel.getRegisterValues();\n return {\n deviceFrequency: this.getClockCalculator().getCurrentSystemClk().toString(),\n\n initRegisters: initRegisters,\n header: headers,\n\n moduleNameUpperCase: this.getModuleName().toUpperCase(),\n moduleNameLowerCase: this.getModuleName().toLowerCase(),\n PackageVersion: \"4.3.7\",\n isPllEnabled: this.getPLLStatus() ?? false,\n //...registerValues,\n\n initializerOptimize:\n this.getModel().getComponentValue(\"generateInitializerCode\") !==\n \"Initialize all registers\"\n ? true\n : false,\n generateCommentedCode:\n this.getModel().getComponentValue(\"generateInitializerCode\") ===\n \"Generate with commented unmodified registers\"\n ? true\n : false,\n };\n };\n\n private config_device_results = (): config_device.Results => {\n return {\n headers: [\n {\n name: \"clock.h\",\n path: \"system/\",\n },\n ],\n };\n };\n\n private isEnabled = (componentName: string): boolean => {\n switch (componentName) {\n case \"hffrqOscfrq\":\n return (\n this.dataModel.getComponentValue(\"noscOsccon1\")?.indexOf(\"HF\") != -1\n );\n case \"currentSystemClk\":\n return false;\n case \"lfIntOscFreq\":\n return false;\n default:\n return true;\n }\n };\n\n private isVisible = (componentName: string): boolean => {\n const componentValue = this.dataModel.getComponentValue(\"noscOsccon1\");\n switch (componentName) {\n case \"externalClk\":\n if (\n componentValue === StringConstants.EXTOSC ||\n componentValue === StringConstants.EXTOSC_4xPLL\n ) {\n return true;\n } else {\n return false;\n }\n case \"lfIntOscFreq\":\n if (componentValue != StringConstants.LFINTOSC) {\n return false;\n } else {\n return true;\n }\n case \"hffrqOscfrq\":\n if (\n componentValue != StringConstants.HFINTOSC &&\n componentValue != StringConstants.HFINTOSC_2xPLL\n ) {\n return false;\n } else {\n return true;\n }\n default:\n return true;\n }\n };\n private getfoscOptions = (): string | undefined => {\n const foscOptions =\n this.dataModel.getHardware()?.getPeripheral()?.registers.OSCFRQ?.settings\n ?.HFFRQ.options ?? [];\n let defaultVal: string | undefined;\n let refClk = parseInt(\"1_MHz\"?.replace(\"_MHz\", \"\") ?? 0);\n if (foscOptions) {\n foscOptions.forEach((option) => {\n const HFClk = parseInt(option.name?.replace(\"_MHz\", \"\") ?? 0);\n\n if (HFClk > refClk) {\n refClk = HFClk;\n defaultVal = option.name;\n }\n });\n }\n return defaultVal;\n };\n\n private overrideDefaultValue = (componentName: string): any => {\n let defVal: string | undefined = undefined;\n switch (componentName) {\n case \"hffrqOscfrq\":\n defVal = this.getfoscOptions();\n break;\n }\n return defVal;\n };\n\n private getMyAlerts = (): Processor.Alert[] => {\n const alerts: Processor.Alert[] = [];\n const selectedOptionVal: string =\n this.getDynamicComponetDefaultValue(\"FEXTOSC\") ?? \"\";\n const noscOsccon1 = this.dataModel.getComponentValue(\"noscOsccon1\");\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n alerts.push({\n type: Processor.AlertTypes.Hint,\n text: 'Please configure required \"External Oscillator Selection\" in System Module config bits',\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL &&\n ((this.getModel().getComponentValue(\"externalClk\") ?? 0) <=\n this.getClockCalculator().MIN_PLL ||\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) >\n this.getClockCalculator().MAX_PLL)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"The frequency selected does not fall within the PLL locking range. Therefore, the actual frequency produced by hardware maybe unpredictable when the PLL is enabled. Either change the clock frequency or select a different option in Oscillator select.\",\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n if (\n selectedOptionVal?.indexOf(\"external clock\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_64MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_64MHz +\n \" Hz)\",\n });\n }\n if (\n selectedOptionVal?.indexOf(\"crystal oscillator\") != -1 &&\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) > 16000000 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_20MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_20MHz +\n \" Hz)\",\n });\n }\n if (\n selectedOptionVal.indexOf(\"Oscillator not enabled\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_32MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_32MHz +\n \" Hz)\",\n });\n }\n }\n\n const HFClk = parseInt(\n this.dataModel.getComponentValue(\"hffrqOscfrq\")?.replace(\"_MHz\", \"\") ?? \"0\",\n );\n if (\n this.dataModel.getComponentValue(\"noscOsccon1\") ===\n StringConstants.HFINTOSC_2xPLL &&\n (HFClk == 1 || HFClk == 2 || HFClk == 4 || HFClk == 32)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"The frequency set in HF Internal Clock may not get generated by the clock hardware properly since it does not fall within the 2xPLL range of 8-16 MHz. Therefore, it is recommended that the option 'HFINTOSC' be selected in the Oscillator select combo box.\",\n });\n }\n\n return alerts;\n };\n}\n","import { ModuleConfig } from \"@microchip/melody-automodule-interface/lib/src/ModuleConfig\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport { PinsLogic } from \"@microchip/melody-automodule-interface/lib/src/types\";\nexport { getCreatorFunctions } from \"../../src/CreatorFunctions\";\nexport { getDerivedData } from \"../../src/DerivedData\";\n\nexport const getPinsDataFromFile = (): PinsData | undefined => {\n try {\n return require(\"../../src/pinsdata.json\");\n } catch {\n return undefined;\n }\n};\n\nexport const getPinsLogicFromFile = (): PinsLogic | undefined => {\n try {\n return require(\"../../src/PinsLogic.ts\");\n } catch {\n return undefined;\n }\n};\n\nexport const getModuleConfigFromFile = (): ModuleConfig | undefined => {\n try {\n return require(\"../../src/moduleConfig.json\");\n } catch {\n return undefined;\n }\n};\n","import { process as autoProcess } from \"@microchip/scf-automodule-impl\";\nimport { AppModel, DerivedData } from \"@microchip/melody-automodule-interface\";\nimport { ProcessorStages } from \"@microchip/melody-automodule-interface/lib/src/InterfaceTypes\";\nimport * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { getModuleConfigFromFile, getDerivedData } from \"./getUserData\";\n\nexport type LegacyProcessFunction = (\n initialModule: Processor.Module,\n stage: ProcessorStages,\n) => Processor.ProcessedModule;\n\nfunction createProcessor(\n getDerivedData: (dataModel?: AppModel) => DerivedData,\n): LegacyProcessFunction {\n const hook = (\n initialModule: Processor.Module,\n stage: ProcessorStages,\n ): Processor.ProcessedModule => {\n const derivedDataGetter = (dataModel: AppModel): DerivedData => {\n return {\n getModuleConfig: getModuleConfigFromFile,\n ...getDerivedData(dataModel),\n };\n };\n return autoProcess(initialModule, stage, derivedDataGetter);\n };\n return hook;\n}\n\nexport const process = createProcessor(getDerivedData);\n"],"names":["Object","defineProperty","exports","value","TABID","COMPTYPE","RowPrefix","data_schema","PIN_ARCH","behaviour","direction","actiontype","pin_attribs_enum","pin_interrupts_enum","pin_state","QueryAdapterKey","$schema","$ref","definitions","intf_data","type","properties","rows","items","required","additionalProperties","pin_row","name","module","function","filter","behaviourMeta","attribs","groupsdata","actions","enum","aliasReEx","lockPinRegEx","pin_attribs","cname","high","inv","wpu","wpd","od","analog","ioc","bidirection_out","pingroups_data","groups","pins_group","datapath","grpfilter","__assign","this","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","logAnalytics","getAnalyticsDefault","getConfigData_1","model","logAlwaysComps","logOnChangeComps","_a","_b","retData","moduleconfig","getConfigData","alwaysCompsDesired","analytics","concat","logAlwaysStaticAndDynamicData","onChangeCompsDesired","moduleState","getState","logOnChangeStaticAndDynamicData","_c","_i","_d","eachDesiredComp","correctMapping","allComps","getAutoModuleAppModel","getAllComponents","compObj","resultantAnalyticsKey","eachCompName","compMapping","component","isCompCategoryAllowed","category","formRegUndercSettNameForComp","JSON","stringify","getComponentValue","undefined","compSetting","setting","regName","getRegNameFromCompSettName","compName","settingName","compNameCaps","toUpperCase","settingNameCaps","replace","logOnChangeDependencyComps","eachCategoryKey","eachSubCategoryKey","eachChangedCompKey","indexOf","result","consolidatedCompNames","eachDesCompName","push","eachcompKey","consolidateDependencyCompNames","consolidatedCompNames_1","getDependencyCompValueForOnChange","getImports","importId","handle","label","__createBinding","create","o","m","k","k2","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","__setModuleDefault","v","__importStar","mod","__spreadArray","to","from","pack","ar","l","Array","slice","getModel","Processor","AutoModuleAppModel_1","AutoModuleHelpers_1","exports_1","imports_1","PCPHelper_1","tables_1","getDerivedData","MyAppModel","_this","state","getPayload","payload","imports","getExports","getName","getModuleName","getCategory","getModuleCategory","getActiveName","getDerivedFunctions","getGlobalNames","autoModuleAppModel","createAutoModuleAppModel","getPrototypeModule","getRegisterValues","interfaceName","registerValues","getInterrupts","interrupts","getHardware","getPeripheral","getProperties","getRegisters","registers","_e","_f","_g","_h","_j","_k","_l","getFriendlyInterfaceId","peripheral_1","instanceNumber","Number","instance","group","defaultHardware","peripheralName","peripherals","interfaceId","peripheral_2","getPeripheralDescription","derivedData","getDerivedDataFunction","getMyFunctions","getDerivedFunction","functionName","args","getExportInterfaces","exportInterfaces","createExportInterfaces","getImportInterfaces","importInterfaces","createImportInterfaces","isControlledByInterface","componentName","getAssignedImport","importName","isAssigned","getImportValue","filterImportBySetting","populatedImports","importKey","optionFilter","filteredImports","filterOptions","option","isComponentValue","componentMeta","regex","RegExp","test","String","toLowerCase","getComponent","getPCPHelper","pcpHelper","PCPHelper","setCallbacks","getCompletePinData","getPinsLogic","getRowData","rowData","getPinsData","getTableHelpers","processDynamicComps","toDictionary","assertNotNull","map","forEach","values","getKeys","obj","getOwnPropertyNames","key","action","mapper","val","msg","Error","arr","keyMapper","valueMapper","entry","MyAutoModuleAppModel","Setting_1","Arrays_1","Utils_1","AutoModuleHelper","RegisterEditorHelper_1","config","moduleName","moduleCategory","createComponentList","componentList","components","getComponentList","componentsWithDynamicDependencySelectors","getDefaultDependencySelectors","softwareData","peripheral","registerName","hardwareRegister","settings","getActions","getDefaultComponentAction","tabId","path","getSoftwareComponentValue","tab","overriddenValue","defaultValue","processedArg","getProcessedArgValue","getDefaultValue","overrideDefaultValues","getHardwareComponentValue","hardware","overriddenCompValue","getOverrideDefaultValue","overrideDefaultValue","displayOptionSetting","mode","operation","options","getSettingOptionsIfPresent","masterComponent","getHardwareComponentBooleanValue","result_1","eachOption","alias","startsWith","booleanValues","true","false","getDependencyComponentValue","dependencySelector","DependencySelector","imp","createOptionLabel","getFileLoadComponentValue","loadedFiles","getFileSaveComponentValue","fileMeta","defaultContent","optionType","getOptionByName","updComponentList","updComponents","getDynamicComponents","eachComponent","dynamicDependencySelectors","defaultTab","defaultGroup","tabs","keys","description","uiBehavior","isComponent","componentValue","contentMeta","isUserEnRegRWMode","getRegisterEditorComponentValue","getSettingFromComponent","isFullyAssigned","createPrototypeImport","Processor_1","import","interfaces","getHardwareInterfaces","__importDefault","getModuleDefaultDescription","populateLoadedFiles","getProcessedHandle","filterModeOptions","getSettingDefaultIfPresent","getOptionValueByName","getSettingBits","sortComments","hasConfigBits","getComboOptions","castComponent","CalculateRegisterValue_1","overrideOptions","getRegisterEditorValues","registerValue","reg","comment","valueAsHex","por","registerVal","default","for","comments","set","deviceType","withNumberValue","asNumber","toString","register","sort","a","b","settingA","split","settingB","mask","join","setValNumber","valueAsDesc","getOptionByAlias","valueAsDescription","optionName","bitName","getRegisterFromComponent","porDefault","optionValue","masterComponentValue","filteredOptions","find","optionModes","match","customName","providerId","exportId","processedOutput","consolidatedFiles","eachFileId","eachFile","noneSelection","createOptionEntry","generateDropdownOptions","dropdownOptions","thisImport","shouldAllowUnselectDependency","getDropdownOptionNames","names","isUnassignable","getConfigBits","getTemplateSettings","getTemplatePayload","getTemplates","AutoModuleHardware_1","templates","template","newTemplate","dest","templateName","src","shouldGenerate","generateWithHardware","isGeneratableProperty","templatePayload","uppercase","lowercase","filename","source","header","getComponentPayload","configModule","templateConfigBits_1","registers_1","configName","configBits","configBit","isNaN","getAutoSdlHelp","dataModel","helpUrl","_m","_o","_p","_q","_r","deviceMeta","deviceName","dosid","comp","registerAlias","deviceRegister","getFreqCompSchema","isFrequencyComponent","isFreqUnitInState","isFreqValueInState","isFreqComponentInState","getFreqCompFormData","modelState","tabState","unit","frequencyMeta","min","max","unitOptions","updatedFreqComp","valueChanged","unitChanged","derivedFunctions","schema","$id","title","overrideTitle","hasModes","processRegisterModes","hardwarePeripheral","modifiedHardwarePeripheral","delFlag","targetStr","matchRegEx","flag","getTimeComponentSchema","isTimeComponent","isTimeUnitInState","isTimeValueInState","isTimeComponentInState","getTimeComponentFormData","updatedTimeComponent","timeMeta","isModelInitialized","getModuleConfig","ConfigBuilder","withDynamicConfigData","withDynamicComponents","build","dynamicComponents","dynamicComponentMap","UIGroups","console","error","getMappedComponentData","getSettingAliasKey","getSettingNameKey","getRegisterKey","getRegisterNameList","DerivedFunctions_1","convertToBoolean","registerList","eachRegObj","registersValueObjects","registerInstanceName","settingValueObjects","settingInstanceName","eachSetObj","setInstanceName","setName","_s","_t","_u","_v","_w","_x","_y","_z","_0","_1","_2","_3","_4","_5","_6","_7","_8","_9","_10","_11","_12","_13","_14","_15","_16","_17","_18","_19","_20","_21","_22","_23","_24","harwareRegister","hardwareInterrupts","interruptList","registerKey","deviceDeafultValue","stateData","interruptComponentValue","componentMetaData","compType","SETTING","tabID","REGISTER","parent","settingKey","settingValue","deviceDefaultValue","mappedStateData","settingVal","regVal","harwareRegisters","moduleConfigRegisters","componentData","eachRegKey","eachSet","registerUiSchema","registerFormData","registerScfUiSchema","createAutoViewPayloads","scf_register_view_helper_1","registerFilter","autoModuleViewHelpers_1","formData_1","scfUiSchema_1","schema_1","uiSchema_1","payloads","main","getPayloadForTab","showRegisterEditor","registerViewPayloads","registerView","CreateRegisterView","withAllEditable","interruptsKey","foundRegister","withRegisterValue","interrupt","interruptComponent","interruptCompVal","withInterruptValue","withInterruptOptions","formData","uiSchema","scfUiSchema","createSimpleFormPayloadForRegisterEditor","createSimpleFormPayloadRegister","viewModel","schemaViewModel","isVisible","getFunction","overrideTableOptions","uiSchemaViewModel","isEnabled","getUiBehavior","createSchema","createUiSchema","createFormData","createScfUiSchema","table","shouldPopulateView","expandGroupsByDefault","UIGroupCollapse","formDataCopy","hardwareRegisters","hardwareInterrupt","eachRegister","withNonEditableRegister","eachSetting","eachSettingObject","componentMetaData_1","isEnabled_1","withEditableRegisterSetting","isVisible_1","withInVisibleRegisterSetting","withUpdatedSettingDescription","withInVisibleRegister","eachInterrupts","INTERRUPT","withNonEditableInterrupt","withInVisibleInterrupt","hasSdlSupport","architecture","deviceName_1","moduleName_1","dosid_1","settings_1","sdlHelpUrl","helpKeyword","tooltip","isComponentInvisible","isModeActive","isImage","isUrl","format","displayViewOnImportAssigned","impKey","shouldPopulateViewAtStartup","appModel","isInvisibleViaProperty","isVisibleProperty","TimeComponentHelper_1","FrequencyComponentHelper_1","configVal","isInvalidTab","getTableFormData","ContextualHelp_1","components_1","eachKey","depSelector","dependencySelectorActions","dropdownOption","getDependencySelectorActions","transformErrors","sdlHelp","url","getHelpKeyword","getTooltip","saveState","compText","defaultName","tableState","uids","createTableUids","cellValidationInfo","getCellValidationInfo","canRemoveRows","canInsertRows","canAddRows","canMoveRowDown","canMoveRowUp","canEnableRows","getTableUiSchema","getTableActions","getDependencyComponentSchema","assignedImport","createProcessedImports","NONE_1","assignedName","selectedDependency","localeCompare","item","populateView_1","getModuleDescription","schemaBuilder_1","overrideGroupTitle","overrideGroupDescription","urlDescription","imageDescription","getSoftwareComponentSchema","getHardwareComponentSchema","getFileLoadComponentSchema","getFileSaveComponentSchema","getTableComponentSchema","addComponentSchema","validation","shouldAddValidator","addComponentValidator","getComponentSchema","UIOrder","isGroupHidden_1","isHidden","tableCols_1","columns","colNames","defaultAlignment_1","displayHeadersDiagonally_1","displayHeadersHorizontally","columns_1","defaultColumnWidth_1","calculateColumnWidth","headerMaxLength_1","reduce","Math","isColEditable","readonly","columnWidth","disableRowsForCol","disableTableCells","dataField","editable","width","dataSort","isSortable","headerAlign","dataAlign","disabledRows","tdStyle","getCellStyle","headerText","hidden","hideTableColumn","col","thStyle","getHeaderStyle","overriddenBehavior","expArg","interface","getUiSchemaExportArg","createPrototypeExports_1","createPrototypeImports_1","getCreatorFunctions","prototypeImports","createPrototypeImports","prototypeExports","createPrototypeExports","isSingletonPerDevice","isEntryPoint","processor_1","process","creator_1","expName","exp","processExportInterfaces","int","newInterfaces","creatorFunctions","prototypeImport","isRequired","getCreatorImportArgs","shouldOrder","updateImportWithShouldAssignDescOrder","shouldAssignDescendantsInOrder","shouldImport","MyExportInterfaces","getConfig","getComponents","createProcessedExports","exportPayload","processedInterface","getInterface","getInterfaceArgs","interfaceKey","getInterfaceResults","results","processedArgValue","interfaceData","getInterfaceData","argValues","arg","MyImportInterfaces","InterruptActions_1","stage","processedImports","filterImports","getResults","getProcessedImportOptions","overrideImport","modifiedOptions","index","importResults","initializer","getData","interrupts_1","actions_1","isHighPriority_1","isHighPriority","filterInterrupts","interruptComponentName","getInterruptComponentName","isrCallback","handlerName","headerFile","generateISR","isEnableActions","getInterruptActions","getDefaultInterruptActions","getRegisterEditorInterruptActions","isEnableAction","interruptActions","apiPrefix","interruptName","validFor","InterruptActionsBuilder","createActionFor","buildActions","curComponent","curComponentName","tableRowId","tableRowCol","tableCellPath","addActionIfEnabled","actionValue","isActionValueAcceptable","rowId","addActionIfDisabled","setPathToTableCell","rowIndex","colName","some","createActionBuilder","stateActionBuilder","PCPStateActionBuilder_1","pinRow","PCPStateActionBuilder","pinCallbacks","getAllFilteredRows","allRows","validRows","eachRow","userRowData","isRowValid","eachrowret","getAllRows","pinRows","userdata","callbacks","types_1","actionDataArr","rowWithName","rowName","compWithTabId","addIfLockedSetValue","pinRegEx","pinNameReEx","pinstate","LOCKED","validForpinNameReEx","SETACTION","addIfLockedProvideAttribs","formAttribs","ATTRIBACTION","addIfUnlockedProvideAttribs","UNLOCK","attribarray","addIfUnLockedSetValue","forComponent","actionArr","eachData","actionObj","AppModel_1","AutoModuleTemplates_1","autoModuleView_1","AnalyticsHelper_1","initialModule","help","overrideModuleLevelHelp","customTemplateData","templateData","view","auto","customView","getCustomView","alerts","globalNames","getAnalytics","UidMapBuilder","uidMap","addDefaultRows","row","rowCount","uid","addDynamicRows","incrementUidAndShift","removeRows","dynamicallyRemoved","sortByValue","count","sortedUids","getUidKeys","uidKey","overrideDefaultsAndFilterRows","getValueBasedOnState","removeRowFromTable","addRowToTable","addRowsToTable","overrideCellValue","createInitialRows","getInitialTableFormData","isTableInState","overrideTableDefaultsWithChanges","Tables_1","UidMapBuilder_1","tableColumns","columnsKey","rjsfType","colBox","rowChanged","initialFormData","isArray","changedRow","changedUid","rowChangeNum","runningWidth","booleanFields","columnWidths","columnName","columnNames","tableFormData","overrideTableDefaultValues","rowId_1","rowDataCols","createRowUid","Default","initialRows","defaultRowNum","tableData","cell","modifiedTableData","newRow","numberOfRows","Dynamic","newRowCols","newRowId","filteredTableTemp","defaultColumnWidth","tableFirstHalf","tableSecondHalf","currentRowId","updateActionsRowId","tableRemoved","tableUids","modifiedForData","filteredModifed","_loop_1","createDefaultTableAction","dynamicTableData","uidMap_1","rowNum_1","_loop_2","r","createUidMapBuilder","colInfo","column","colData","minValue","maxValue","errMessage","errTitle","cValidation","cValidationErrTitle","cValidationErrMessage","rowFormData","tableActions","uidsKey","defaultAction","ind_1","filtered","cellAction","tableUi","tableCols","search","striped","bordered","rightActions","displayName","textOverflow","leftActions","className","isReadonly","overflow","maxHeaderSize","displayHeadersDiagonally","position","bottom","pointerEvents","left","transformOrigin","transform","paddingTop","getDiagonalHeaderStyles","whiteSpace","maxWidth","getDefaultHeaderStyles","currentActions","modifiedActions","tableName","dynamicOptions","prefix","postfix","ViewSchemaBuilder_1","Model_1","throwError","message","schemaBuilder","ViewSchemaBuilder","withSchema","withTabName","withExpandedDefault","addChildComponent","getRegister","createRegisterView","createInterruptView","getSafeRegisterViewModel","setValue","getSafeInterruptViewModel","setOptions","withEditableRegister","withEditableInterrupt","getInterrupt","setReadonly","getSafeSettingViewModel","setIsVisible","setDescription","withEditableSetting","getRegisterViewModel","getInterruptViewModel","getSettingViewModel","rv","getValue","toHexString","getDescription","withUiSchema","withFormData","forEachSetting","createSettingView","hasOptions","createHasOptionsViewSchema","getNoOptionsViewSchema","createInterruptViewSchema","createRegisterViewModelForEachRegister","createInterruptViewModelForEachInterrupt","models","RegisterViewModel","interruptKey","InterruptViewModel","uiSchemaBuilder","UiSchemaBuilder","withReadonlyValue","getIsReadonly","withWidget","getIsVisible","withUiHelp","createSettingViewSchema","getMaxValue","getBinarySettingUiSchema","mapToOptionNameIfExists","SchemaBuilder","getBitLabel","getSetting","withEnum","getOptionNames","withDefault","getPORDefault","withMaximum","withMinimum","getOptions","withOptions","inline","moduleDescription","SettingViewModel","isReadOnly","visibility","getSettings","doThis","getValueOrDefault","createSettingViewModels","sortSettingsDescending","settingOne","settingTwo","bitRangeOne","getBitRange","getRegisterValue","getMask","nullSafe","getOptionForValue","parseInt","getShift","shiftIndex","array","tabName","childName","child","withProperties","maximum","minimum","vals","widgetName","widget","uiHelp","mapOptionLabels","isSingleton","isUnassigned","AlertTypes","dep","resource","populatedImport","labelFactory","__extends","extendStatics","d","setPrototypeOf","__proto__","TypeError","__","constructor","Register_1","CalculateRegisterValue","modifiedSettings","NumberSettingValue","withOption","getOption","OptionSettingValue","withOptionAlias","optionAlias","withOptionName","withOptionDescription","optionDescription","getOptionByDescription","getSettingByAlias","calculate","modifiedSetting","getUnmodifiedSettings","unmodifiedSetting","SettingValue","getShiftedValue","modifiedSettingNames","asHexString","asBinaryString","toBinaryString","asDecimalString","toDecimalString","_super","fromDefaultValue","foundValueByName","foundValueByAlias","getOptionDescriptions","bitRange","low","hex","processedHex","getBitRangeLow","charAt","callback","buildSimpleApi","functions","api","buildFunction","cFunction","returns","buildArguments","getInterfaceName","pkgJson","getInterfaceVersion","version","versionRegex","c_function_types_1","helpers_1","createPrototypeExport","getInterfaceId","InterfaceTypes","sys_init_basic_interface_1","INIT_PRIORITY","createMock","api_1","requestId","initializers","priority","localInitializers","funcDec","funcBody","__spreadArrays","il","j","jl","Interface","sortSysInitInitializers","prioritySorter","mock_1","apriority","DEFAULT","bpriority","data","retinitializers","initSystemList","retinitializers_1","subentry","temp","isLocalInit","isNewInterface","retinitializers_2","_appModel$getImportVa","_appModel$getImportVa2","_appModel$getImportVa3","_appModel$getImportVa4","retRowJSONdata","rowActions","clockOutEnable","configsResp","_appModel$getPCPHelpe","selectedOption","_objectSpread","_step","isPic18ClkOut","_iterator","_createForOfIteratorHelper","done","_appModel$getAssigned","eachAction","lockedState","meta","_appModel$getAssigned2","unlockedState","err","e","f","extClkSelect","_appModel$getComponen","_appModel$getPCPHelpe2","_appModel$getPCPHelpe3","_appModel$getPCPHelpe4","mclrKey","mclrEnable","lvpEnable","selectedMclrOption","selectedLvpOption","_appModel$getPCPHelpe5","_appModel$getPCPHelpe6","isPic18Mclr","_step2","_iterator2","_appModel$getAssigned3","_appModel$getAssigned4","_appModel$getComponen2","_appModel$getPCPHelpe7","noscOsccon1","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","prop","Symbol","toStringTag","StringConstants","_createClass","_classCallCheck","_defineProperty","ClockCalculator","oscSelect","HFInternalClk","externalClk","clkDivider","currentSystemClk","HFClk","SOSC","LFINTOSC","HFINTOSC","_this$HFInternalClk$r","_this$HFInternalClk","HFINTOSC_2xPLL","_this$HFInternalClk$r2","_this$HFInternalClk2","EXTOSC","MIN_PLL","MAX_PLL","round","_this$HFInternalClk$r3","_this$HFInternalClk3","mfintosc","mfintosc_31KHz","lfintosc","sosc","_getPinsDataFromFile","getPinsDataFromFile","pinsLogic","getPinsLogicFromFile","mockPinsLogic","EmptyDerivedData","MyDerivedData","_this$getModel$getCom","_this$getModel$getCom2","_this$getModel$getCom3","_this$getModel$getCom4","clockCalculator","getMyAlerts","coscOsccon2","getResOscValue","getClockCalculator","getCurrentSystemClk","sys_init_basic_interface_results","config_device_results","getTemplateData","configbits_basic_interface_args","getConfigbitsBasicInterfaceArgs","getOscClocksProcessedPayload","getClockProcessedPayload","doNotShow","friendlyImportName","sys_init_basic_interface","START","configsReq","_this$dataModel$getIm","_selectedOptionVal","selectedOptionVal","externalClkSelectedOptions","resetOscValue","getDynamicComponetDefaultValue","pllStatus","pllEnable","clkSrcVal","_this$getClockCalcula","_this$getClockCalcula2","_this$getClockCalcula3","_this$getClockCalcula4","_this$getClockCalcula5","_this$getClockCalcula6","_this$getClockCalcula7","oscObj","extosc","getExtOsc","fosc","hfintosc","getHfIntOsc","getLfIntOsc","getMfIntOsc","mfintosc_31Khz","getMfIntOsc_31KHz","getSosc","hasSosc","soscEnabled","soscPowerMode","_this$getClockCalcula8","_this$getClockCalcula9","_this$getClockCalcula10","_this$getClockCalcula11","_this$getClockCalcula12","_this$getClockCalcula13","_this$getClockCalcula14","clockObj","_this$getPLLStatus","initRegisters","deviceFrequency","moduleNameUpperCase","moduleNameLowerCase","PackageVersion","isPllEnabled","getPLLStatus","initializerOptimize","generateCommentedCode","headers","_this$dataModel$getCo","EXTOSC_4xPLL","_this$dataModel$getHa","_this$dataModel$getHa2","_MHz$replace","_MHz","defaultVal","foscOptions","OSCFRQ","HFFRQ","refClk","_option$name$replace","_option$name","defVal","getfoscOptions","_this$getDynamicCompo","_this$getModel$getCom5","_this$getModel$getCom6","_this$dataModel$getCo2","_this$dataModel$getCo3","_this$getModel$getCom7","Hint","text","Warning","ExtClkFreq_64MHz","ExtClkFreq_20MHz","ExtClkFreq_32MHz","require","_unused","_unused2","getModuleConfigFromFile","_unused3","autoProcess","createProcessor"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"processor.js","mappings":"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","sources":["webpack://processor/./node_modules/@microchip/melody-automodule-interface/lib/src/DerivedFunctions.js","webpack://processor/./node_modules/@microchip/melody-automodule-interface/lib/src/Tables.js","webpack://processor/./node_modules/@microchip/pins-interface/lib/types.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/Analytics/AnalyticsHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/App/AppModel.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/Utils.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleAppModel.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleHardware.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleHelpers.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleTemplates.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/ContextualHelp.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/FrequencyComponentHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/RegisterFilterMode.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/TimeComponentHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/getConfigData.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/registerEditor/RegisterEditorHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/autoModuleView.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/autoModuleViewHelpers.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/formData.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/scfUiSchema.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/schema.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/uiSchema.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/creator.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/index.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/createPrototypeExports.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/createPrototypeImports.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/exports.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/imports.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/interrupts/InterruptActions.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/pins/PCPHelper.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/pins/PCPStateActionBuilder.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/processor.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/tables/UidMapBuilder.js","webpack://processor/./node_modules/@microchip/scf-automodule-impl/lib/tables/tables.js","webpack://processor/./node_modules/@microchip/scf-common/lib/Processor.js","webpack://processor/./node_modules/@microchip/scf-device/lib/CalculateRegisterValue.js","webpack://processor/./node_modules/@microchip/scf-device/lib/Register.js","webpack://processor/./node_modules/@microchip/scf-device/lib/Setting.js","webpack://processor/./node_modules/@microchip/scf-device/lib/util/Arrays.js","webpack://processor/./node_modules/@microchip/scf-interface/lib/c-function-types.js","webpack://processor/./node_modules/@microchip/scf-interface/lib/helpers.js","webpack://processor/./node_modules/@microchip/scf-interface/lib/index.js","webpack://processor/./node_modules/@microchip/scf-register-view-helper/lib/CreateRegisterView.js","webpack://processor/./node_modules/@microchip/scf-register-view-helper/lib/Model.js","webpack://processor/./node_modules/@microchip/scf-register-view-helper/lib/ViewSchemaBuilder.js","webpack://processor/./node_modules/@microchip/sys-init-basic-interface/lib/api.js","webpack://processor/./node_modules/@microchip/sys-init-basic-interface/lib/index.js","webpack://processor/./node_modules/@microchip/sys-init-basic-interface/lib/mock.js","webpack://processor/./node_modules/@microchip/sys-init-basic-interface/lib/sys-init-basic-interface.js","webpack://processor/./src/PinsLogic.ts","webpack://processor/webpack/bootstrap","webpack://processor/webpack/runtime/define property getters","webpack://processor/webpack/runtime/hasOwnProperty shorthand","webpack://processor/webpack/runtime/make namespace object","webpack://processor/./src/StringConstants.ts","webpack://processor/./src/ClockCalculator.ts","webpack://processor/./generated_module/src/pins/PCPHelper.ts","webpack://processor/./src/DerivedData.ts","webpack://processor/./generated_module/src/getUserData.ts","webpack://processor/./generated_module/src/processor.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TABID = exports.COMPTYPE = void 0;\n/**\n * This interface contains function prototypes\n * @interface DerivedFunctions\n */\nvar COMPTYPE;\n(function (COMPTYPE) {\n COMPTYPE[\"SOFTWARE\"] = \"SW\";\n COMPTYPE[\"REGISTER\"] = \"REG\";\n COMPTYPE[\"INTERRUPT\"] = \"INT\";\n COMPTYPE[\"SETTING\"] = \"SET\";\n})(COMPTYPE || (exports.COMPTYPE = COMPTYPE = {}));\nvar TABID;\n(function (TABID) {\n TABID[\"MAIN\"] = \"main\";\n TABID[\"REGISTER\"] = \"register\";\n})(TABID || (exports.TABID = TABID = {}));\n//# sourceMappingURL=DerivedFunctions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RowPrefix = void 0;\nvar RowPrefix;\n(function (RowPrefix) {\n RowPrefix[\"Default\"] = \"defaultRow_\";\n RowPrefix[\"Dynamic\"] = \"dynamicRow_\";\n})(RowPrefix || (exports.RowPrefix = RowPrefix = {}));\n//# sourceMappingURL=Tables.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.data_schema = exports.PIN_ARCH = exports.behaviour = exports.direction = exports.actiontype = exports.pin_attribs_enum = exports.pin_interrupts_enum = exports.pin_state = exports.QueryAdapterKey = void 0;\nvar QueryAdapterKey;\n(function (QueryAdapterKey) {\n QueryAdapterKey[\"ALLPINS\"] = \"allpins\";\n QueryAdapterKey[\"ALLPINS_FOR_ATTRIBS\"] = \"allpins_for_attribs\";\n QueryAdapterKey[\"PPS\"] = \"pps\";\n QueryAdapterKey[\"APFCON\"] = \"apfcon\";\n QueryAdapterKey[\"PORTMUX\"] = \"portmux\";\n QueryAdapterKey[\"HASPPS\"] = \"hasPPS\";\n})(QueryAdapterKey = exports.QueryAdapterKey || (exports.QueryAdapterKey = {}));\nvar pin_state;\n(function (pin_state) {\n pin_state[\"EMPTY\"] = \"E\";\n pin_state[\"LOCKED\"] = \"L\";\n pin_state[\"UNLOCK\"] = \"UL\";\n pin_state[\"DiSABLE_LOCK\"] = \"DL\";\n pin_state[\"UNLOCKED_DISABLED\"] = \"DUL\";\n pin_state[\"LOCKED_LINK\"] = \"LL\";\n pin_state[\"UNLOCKED_MUX\"] = \"MUL\";\n pin_state[\"LOCKED_CONFLICT\"] = \"CL\";\n})(pin_state = exports.pin_state || (exports.pin_state = {}));\nvar pin_interrupts_enum;\n(function (pin_interrupts_enum) {\n pin_interrupts_enum[\"INTDIS_BUFFEN\"] = \"INTDIS_BUFFEN\";\n pin_interrupts_enum[\"BOTH_EDGES\"] = \"BOTH_EDGES\";\n pin_interrupts_enum[\"RISING_EDGE\"] = \"RISING_EDGE\";\n pin_interrupts_enum[\"FALLING_EDGE\"] = \"FALLING_EDGE\";\n pin_interrupts_enum[\"NONE\"] = \"NONE\";\n pin_interrupts_enum[\"LOW_LEVEL\"] = \"LOW_LEVEL\";\n})(pin_interrupts_enum = exports.pin_interrupts_enum || (exports.pin_interrupts_enum = {}));\nvar pin_attribs_enum;\n(function (pin_attribs_enum) {\n pin_attribs_enum[\"aliasReEx\"] = \"aliasReEx\";\n pin_attribs_enum[\"cname\"] = \"cname\";\n pin_attribs_enum[\"high\"] = \"high\";\n pin_attribs_enum[\"inv\"] = \"inv\";\n pin_attribs_enum[\"wpu\"] = \"wpu\";\n pin_attribs_enum[\"wpd\"] = \"wpd\";\n pin_attribs_enum[\"od\"] = \"od\";\n pin_attribs_enum[\"analog\"] = \"analog\";\n pin_attribs_enum[\"ioc\"] = \"ioc\";\n pin_attribs_enum[\"intcallback\"] = \"intcallback\";\n pin_attribs_enum[\"alias\"] = \"alias\";\n pin_attribs_enum[\"advInpBuff\"] = \"advInpBuff\";\n})(pin_attribs_enum = exports.pin_attribs_enum || (exports.pin_attribs_enum = {}));\nvar actiontype;\n(function (actiontype) {\n actiontype[\"SETACTION\"] = \"SETACTION\";\n actiontype[\"ATTRIBACTION\"] = \"ATTRIBACTION\";\n})(actiontype = exports.actiontype || (exports.actiontype = {}));\nvar direction;\n(function (direction) {\n direction[\"output\"] = \"output\";\n direction[\"input\"] = \"input\";\n direction[\"bidirectional\"] = \"bidirectional\";\n})(direction = exports.direction || (exports.direction = {}));\nvar behaviour;\n(function (behaviour) {\n behaviour[\"LOCK_UNLOCK\"] = \"LOCK_UNLOCK\";\n behaviour[\"ALWAYS_LOCKED\"] = \"ALWAYS_LOCKED\";\n behaviour[\"SINGLE_PIN_MUX\"] = \"SINGLE_PIN_MUX\";\n behaviour[\"OPTIONAL_PIN_MUX\"] = \"OPTIONAL_PIN_MUX\";\n behaviour[\"PPS\"] = \"PPS\";\n behaviour[\"APFCON\"] = \"APFCON\";\n behaviour[\"PORTMUX\"] = \"PORTMUX\";\n behaviour[\"EXCLUSIVE_LOCK\"] = \"EXCLUSIVE_LOCK\";\n behaviour[\"LOCKED_DISABLED\"] = \"LOCKED_DISABLED\";\n})(behaviour = exports.behaviour || (exports.behaviour = {}));\nvar PIN_ARCH;\n(function (PIN_ARCH) {\n PIN_ARCH[\"PIC18F\"] = \"PIC18F\";\n PIN_ARCH[\"AVR8\"] = \"AVR8\";\n PIN_ARCH[\"PIC16F\"] = \"PIC16F\";\n PIN_ARCH[\"PIC24F\"] = \"PIC24F\";\n})(PIN_ARCH = exports.PIN_ARCH || (exports.PIN_ARCH = {}));\n//------------------------------------ schema ------------------------------------//\nexports.data_schema = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $ref: \"#/definitions/intf_data\",\n definitions: {\n intf_data: {\n type: \"object\",\n properties: {\n rows: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_row\",\n },\n },\n },\n required: [\"rows\"],\n additionalProperties: false,\n },\n pin_row: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n module: {\n type: \"string\",\n },\n function: {\n type: \"string\",\n },\n direction: {\n $ref: \"#/definitions/direction\",\n },\n filter: {\n $ref: \"#/definitions/filter\",\n },\n behaviour: {\n $ref: \"#/definitions/behaviour\",\n },\n behaviourMeta: {\n $ref: \"#/definitions/behaviourMeta\",\n },\n attribs: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_attribs\",\n },\n },\n groupsdata: {\n $ref: \"#/definitions/pingroups_data\",\n },\n actions: {},\n },\n required: [\"name\", \"module\", \"function\", \"direction\", \"filter\", \"behaviour\"],\n additionalProperties: false,\n },\n direction: {\n type: \"string\",\n enum: [\"output\", \"input\", \"bidirectional\"],\n },\n filter: {\n type: \"object\",\n properties: {\n module: {\n type: \"string\",\n },\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"module\", \"aliasReEx\"],\n additionalProperties: false,\n },\n behaviour: {\n type: \"string\",\n enum: [\n \"LOCK_UNLOCK\",\n \"ALWAYS_LOCKED\",\n \"SINGLE_PIN_MUX\",\n \"OPTIONAL_PIN_MUX\",\n \"PPS\",\n \"PORTMUX\",\n \"EXCLUSIVE_LOCK\",\n \"LOCKED_DISABLED\",\n ],\n },\n behaviourMeta: {\n type: \"object\",\n properties: {\n lockPinRegEx: {\n type: \"string\",\n },\n },\n required: [\"lockPinRegEx\"],\n additionalProperties: false,\n },\n pin_attribs: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n cname: {\n type: \"string\",\n },\n high: {\n type: \"boolean\",\n },\n inv: {\n type: \"boolean\",\n },\n wpu: {\n type: \"boolean\",\n },\n wpd: {\n type: \"boolean\",\n },\n od: {\n type: \"boolean\",\n },\n analog: {\n type: \"boolean\",\n },\n ioc: {\n $ref: \"#/definitions/pin_interrupts_enum\",\n },\n bidirection_out: {\n type: \"boolean\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n pin_interrupts_enum: {\n type: \"string\",\n enum: [\n \"INTDIS_BUFFEN\",\n \"BOTH_EDGES\",\n \"RISING_EDGE\",\n \"FALLING_EDGE\",\n \"NONE\",\n \"LOW_LEVEL\",\n ],\n },\n pingroups_data: {\n type: \"object\",\n properties: {\n groups: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pins_group\",\n },\n },\n },\n required: [\"groups\"],\n additionalProperties: false,\n },\n pins_group: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n filter: {\n $ref: \"#/definitions/grpfilter\",\n },\n datapath: {\n type: \"string\",\n },\n },\n required: [\"name\", \"filter\"],\n additionalProperties: false,\n },\n grpfilter: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n },\n};\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logAnalytics = exports.getAnalyticsDefault = void 0;\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar getAnalyticsDefault = function (model) {\n var logAlwaysComps = [];\n var stateChangeComps = [];\n return (0, exports.logAnalytics)(model, stateChangeComps, logAlwaysComps);\n};\nexports.getAnalyticsDefault = getAnalyticsDefault;\nvar logAnalytics = function (model, logAlwaysComps, logOnChangeComps) {\n var _a, _b;\n var retData = {};\n var moduleconfig = (0, getConfigData_1.getConfigData)(model, true);\n var alwaysCompsDesired = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.logAlwaysComps.concat(logAlwaysComps !== null && logAlwaysComps !== void 0 ? logAlwaysComps : []);\n retData = logAlwaysStaticAndDynamicData(model, moduleconfig, alwaysCompsDesired);\n var onChangeCompsDesired = (_b = moduleconfig.analytics) === null || _b === void 0 ? void 0 : _b.logOnChangeComps.concat(logOnChangeComps !== null && logOnChangeComps !== void 0 ? logOnChangeComps : []);\n var moduleState = model.getState();\n retData = __assign(__assign({}, retData), logOnChangeStaticAndDynamicData(moduleconfig, model, moduleState, onChangeCompsDesired));\n return retData;\n};\nexports.logAnalytics = logAnalytics;\nvar logAlwaysStaticAndDynamicData = function (model, moduleconfig, alwaysCompsDesired) {\n var _a, _b, _c;\n var retData = {};\n for (var _i = 0, _d = alwaysCompsDesired !== null && alwaysCompsDesired !== void 0 ? alwaysCompsDesired : []; _i < _d.length; _i++) {\n var eachDesiredComp = _d[_i];\n var correctMapping = void 0;\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n var compObj = void 0;\n var resultantAnalyticsKey = void 0;\n if (eachDesiredComp !== \"*\") {\n compObj = (_a = allComps[eachDesiredComp]) === null || _a === void 0 ? void 0 : _a.component;\n if (compObj === undefined || !isCompCategoryAllowed(compObj))\n continue;\n correctMapping = (_b = moduleconfig.analytics) === null || _b === void 0 ? void 0 : _b.compMapping[eachDesiredComp];\n resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachDesiredComp\n : correctMapping;\n var value = (compObj.type === \"time\" || compObj.type === \"frequency\") ? JSON.stringify(model.getComponentValue(eachDesiredComp)) : model.getComponentValue(eachDesiredComp);\n if (value !== undefined) {\n retData[resultantAnalyticsKey] = value;\n }\n }\n else {\n for (var eachCompName in allComps) {\n correctMapping = (_c = moduleconfig.analytics) === null || _c === void 0 ? void 0 : _c.compMapping[eachCompName];\n compObj = allComps[eachCompName].component;\n if (!isCompCategoryAllowed(compObj))\n continue;\n resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachCompName\n : correctMapping;\n retData[resultantAnalyticsKey] = (compObj.type === \"time\" || compObj.type === \"frequency\") ? JSON.stringify(model.getComponentValue(eachCompName)) : model.getComponentValue(eachCompName);\n }\n break;\n }\n }\n return retData;\n};\nvar formRegUndercSettNameForComp = function (compObj) {\n var regUndcSettingName = \"\";\n var compCategory = compObj.category;\n var compSetting = compCategory === \"hardware\" ? compObj.setting : \"\";\n var regName = getRegNameFromCompSettName(compObj.name, compSetting);\n if (regName === \"\") {\n regUndcSettingName = compSetting;\n }\n else if (compSetting === \"\") {\n regUndcSettingName = regName;\n }\n else {\n regUndcSettingName = regName + \"_\" + compSetting;\n }\n return regUndcSettingName;\n};\nvar getRegNameFromCompSettName = function (compName, settingName) {\n var regNameCaps = \"\";\n var compNameCaps = compName.toUpperCase();\n var settingNameCaps = settingName.toUpperCase();\n regNameCaps = compNameCaps.replace(settingNameCaps, \"\");\n return regNameCaps;\n};\nvar logOnChangeStaticAndDynamicData = function (moduleconfig, model, moduleState, onChangeCompsDesired) {\n var _a, _b;\n if (!onChangeCompsDesired || onChangeCompsDesired.length === 0)\n return {};\n var retData = logOnChangeDependencyComps(onChangeCompsDesired, model, moduleconfig);\n for (var eachCategoryKey in moduleState) {\n for (var eachSubCategoryKey in moduleState[eachCategoryKey]) {\n for (var eachChangedCompKey in moduleState[eachCategoryKey][eachSubCategoryKey]) {\n if ((onChangeCompsDesired === null || onChangeCompsDesired === void 0 ? void 0 : onChangeCompsDesired.indexOf(eachChangedCompKey)) !== -1 ||\n (onChangeCompsDesired === null || onChangeCompsDesired === void 0 ? void 0 : onChangeCompsDesired.indexOf(\"*\")) !== -1) {\n var correctMapping = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.compMapping[eachChangedCompKey];\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n var compObj = (_b = allComps[eachChangedCompKey]) === null || _b === void 0 ? void 0 : _b.component;\n if (compObj === undefined || !isCompCategoryAllowed(compObj))\n continue;\n var resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachChangedCompKey\n : correctMapping;\n retData[resultantAnalyticsKey] =\n moduleState[eachCategoryKey][eachSubCategoryKey][eachChangedCompKey];\n }\n }\n }\n }\n return retData;\n};\nvar consolidateDependencyCompNames = function (onChangeCompsDesired, model) {\n var _a, _b;\n var consolidatedCompNames = [];\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n for (var _i = 0, _c = onChangeCompsDesired !== null && onChangeCompsDesired !== void 0 ? onChangeCompsDesired : []; _i < _c.length; _i++) {\n var eachDesCompName = _c[_i];\n var compObj = (_a = allComps[eachDesCompName]) === null || _a === void 0 ? void 0 : _a.component;\n if (eachDesCompName !== \"*\" && (compObj === null || compObj === void 0 ? void 0 : compObj.category) === \"import\") {\n consolidatedCompNames.push(eachDesCompName);\n }\n else if (eachDesCompName === \"*\") {\n consolidatedCompNames = [];\n for (var eachcompKey in allComps) {\n compObj = (_b = allComps[eachcompKey]) === null || _b === void 0 ? void 0 : _b.component;\n if ((compObj === null || compObj === void 0 ? void 0 : compObj.category) === \"import\") {\n consolidatedCompNames.push(compObj.name);\n }\n }\n break;\n }\n }\n return consolidatedCompNames;\n};\nvar logOnChangeDependencyComps = function (onChangeCompsDesired, model, moduleconfig) {\n var _a, _b, _c;\n var result = {};\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n //stage 1 - consolidating all desired comps\n var consolidatedCompNames = consolidateDependencyCompNames(onChangeCompsDesired, model);\n //stage 2 - populating the analytics data for consolidated dep comps - stage\n for (var _i = 0, consolidatedCompNames_1 = consolidatedCompNames; _i < consolidatedCompNames_1.length; _i++) {\n var eachCompName = consolidatedCompNames_1[_i];\n var correctMapping = (_b = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.compMapping[eachCompName]) !== null && _b !== void 0 ? _b : eachCompName;\n var compObj = (_c = allComps[eachCompName]) === null || _c === void 0 ? void 0 : _c.component;\n if ((compObj === null || compObj === void 0 ? void 0 : compObj.category) !== \"import\")\n continue;\n var value = getDependencyCompValueForOnChange(compObj, model);\n if (value)\n result[correctMapping] = value;\n }\n return result;\n};\nvar getDependencyCompValueForOnChange = function (compObj, model) {\n var _a;\n var result = (_a = model.getImports()[compObj.importId].handle) === null || _a === void 0 ? void 0 : _a.label;\n return result;\n};\nvar isCompCategoryAllowed = function (compObj) {\n return (compObj !== undefined &&\n (compObj.category === \"hardware\" ||\n compObj.category === \"software\" ||\n compObj.category === \"import\" ||\n compObj.category === \"table\"));\n};\n//# sourceMappingURL=AnalyticsHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getModel = void 0;\nvar Processor = __importStar(require(\"@microchip/scf-common/lib/Processor\"));\nvar AutoModuleAppModel_1 = require(\"../autoModule/AutoModuleAppModel\");\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar exports_1 = require(\"../interfaces/exports\");\nvar imports_1 = require(\"../interfaces/imports\");\nvar PCPHelper_1 = require(\"../pins/PCPHelper\");\nvar tables_1 = require(\"../tables/tables\");\nvar getModel = function (prototype, getDerivedData) {\n return new MyAppModel(prototype, getDerivedData);\n};\nexports.getModel = getModel;\nvar MyAppModel = /** @class */ (function () {\n function MyAppModel(prototype, getDerivedData) {\n var _this = this;\n var _a;\n this.getState = function () { return _this.prototype.state; };\n this.getPayload = function () { return _this.prototype.payload; };\n this.getImports = function () { return _this.prototype.imports; };\n this.getExports = function () { return _this.prototype.exports; };\n this.getName = function () {\n return _this.getAutoModuleAppModel().getModuleName();\n };\n this.getIdeFlavor = function () { return _this.prototype.ideFlavor; };\n this.getCategory = function () {\n return _this.getAutoModuleAppModel().getModuleCategory();\n };\n this.getActiveName = function () {\n var _a, _b, _c;\n return (_c = (_b = (_a = _this.getDerivedFunctions()).getActiveName) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : _this.getName();\n };\n this.getGlobalNames = function () {\n var _a, _b, _c;\n return (_c = (_b = (_a = _this.getDerivedFunctions()).getGlobalNames) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : [];\n };\n this.getAutoModuleAppModel = function () {\n if (_this.autoModuleAppModel)\n return _this.autoModuleAppModel;\n _this.autoModuleAppModel = (0, AutoModuleAppModel_1.createAutoModuleAppModel)(_this);\n return _this.autoModuleAppModel;\n };\n this.getPrototypeModule = function () {\n return _this.prototype;\n };\n this.getRegisterValues = function (interfaceName) {\n if (_this.registerValues)\n return _this.registerValues;\n _this.registerValues = (0, AutoModuleHelpers_1.getRegisterValues)(_this, interfaceName);\n return _this.registerValues;\n };\n this.getMyFunctionNamesCache = function () {\n return _this.getMyFunctionsNames;\n };\n this.getInterrupts = function () {\n var _a, _b;\n if (_this.interrupts)\n return _this.interrupts;\n _this.interrupts = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.interrupts;\n return _this.interrupts;\n };\n this.getProperties = function () {\n var _a, _b;\n if (_this.properties)\n return _this.properties;\n _this.properties = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.properties;\n return _this.properties;\n };\n this.getRegisters = function () {\n var _a, _b;\n if (_this.registers)\n return _this.registers;\n _this.registers = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.registers;\n return _this.registers;\n };\n this.getHardware = function (interfaceName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n interfaceName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(interfaceName);\n if (interfaceName) {\n var peripheral_1 = (_c = (_b = (_a = _this.getPrototypeModule()) === null || _a === void 0 ? void 0 : _a.imports) === null || _b === void 0 ? void 0 : _b[interfaceName]) === null || _c === void 0 ? void 0 : _c.payload;\n if (!peripheral_1)\n return undefined;\n return {\n getPeripheral: function () { return peripheral_1; },\n getName: function () { return peripheral_1.name; },\n instanceNumber: Number((_d = peripheral_1.instance) !== null && _d !== void 0 ? _d : peripheral_1.name.replace(peripheral_1.group, \"\")),\n };\n }\n if (!_this.defaultHardware) {\n var peripheralName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)((_g = (_f = (_e = (0, getConfigData_1.getConfigData)(_this)) === null || _e === void 0 ? void 0 : _e.peripherals) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.interfaceId.name);\n var peripheral_2 = (_k = (_j = (_h = _this.getPrototypeModule()) === null || _h === void 0 ? void 0 : _h.imports) === null || _j === void 0 ? void 0 : _j[peripheralName !== null && peripheralName !== void 0 ? peripheralName : \"\"]) === null || _k === void 0 ? void 0 : _k.payload;\n if (peripheral_2) {\n _this.defaultHardware = {\n getPeripheral: function () {\n return peripheral_2;\n },\n getName: function () { return peripheral_2.name; },\n instanceNumber: Number((_l = peripheral_2.instance) !== null && _l !== void 0 ? _l : peripheral_2.name.replace(peripheral_2.group, \"\")),\n };\n }\n }\n return _this.defaultHardware;\n };\n this.getPeripheralDescription = function () {\n var _a;\n return (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n };\n this.getDerivedData = function () {\n if (_this.derivedData)\n return _this.derivedData;\n _this.derivedData = _this.getDerivedDataFunction(_this);\n return _this.derivedData;\n };\n this.getDerivedFunctions = function () {\n return _this.getMyFunctionsCache;\n };\n this.getDerivedFunction = function (functionName) {\n var _a, _b;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (_this.getMyFunctionNamesCache().has(String(functionName))) {\n return (_b = (_a = _this.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[functionName]) === null || _b === void 0 ? void 0 : _b.call.apply(_b, __spreadArray([_a], args, false));\n }\n return undefined;\n };\n this.getExportInterfaces = function () {\n if (_this.exportInterfaces)\n return _this.exportInterfaces;\n _this.exportInterfaces = (0, exports_1.createExportInterfaces)(_this.prototype.exports, _this);\n return _this.exportInterfaces;\n };\n this.getImportInterfaces = function () {\n if (_this.importInterfaces)\n return _this.importInterfaces;\n _this.importInterfaces = (0, imports_1.createImportInterfaces)(_this.prototype.imports, _this);\n return _this.importInterfaces;\n };\n this.isControlledByInterface = function (componentName) {\n var _a;\n return ((_a = _this.getExportInterfaces()) === null || _a === void 0 ? void 0 : _a.isControlledByInterface(componentName)) == true;\n };\n this.getAssignedImport = function (importName) {\n var _a;\n if (((_a = _this.prototype.imports) === null || _a === void 0 ? void 0 : _a[importName]) &&\n Processor.isAssigned(_this.prototype.imports[importName])) {\n return _this.prototype.imports[importName];\n }\n return undefined;\n };\n this.getImportValue = function (importName) {\n var _a;\n return (_a = _this.getAssignedImport(importName)) === null || _a === void 0 ? void 0 : _a.payload;\n };\n this.filterImportBySetting = function (populatedImports, importKey, optionFilter) {\n var _a;\n var filteredImports = __assign({}, populatedImports);\n if (populatedImports[importKey]) {\n filteredImports = __assign(__assign({}, filteredImports), (_a = {}, _a[importKey] = Processor.filterOptions(populatedImports[importKey], function (option) {\n return optionFilter(option);\n }), _a));\n }\n return filteredImports;\n };\n this.isComponentValue = function (componentName, componentMeta) {\n var _a;\n var value = _this.getComponentValue(componentName, componentMeta);\n var regex = new RegExp(\"enabled?\");\n var isValue = false;\n if (value) {\n if (typeof value === \"string\") {\n if (value === \"true\") {\n isValue = true;\n }\n else if (value === \"false\") {\n isValue = false;\n }\n else {\n isValue = regex.test((_a = String(value)) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n }\n }\n else if (typeof value === \"boolean\") {\n isValue = value;\n }\n else {\n isValue = false;\n }\n }\n else {\n isValue = false;\n }\n return isValue;\n };\n this.getComponent = function (componentName) {\n return _this.getAutoModuleAppModel().getComponent(componentName);\n };\n this.getPCPHelper = function () {\n if (!_this.pcpHelper) {\n _this.pcpHelper = new PCPHelper_1.PCPHelper();\n _this.pcpHelper.setCallbacks({\n getCompletePinData: function () { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getCompletePinData(_this); },\n getRowData: function (rowData) { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getRowData(_this, rowData); },\n getPinsData: function () { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getPinsData(); },\n });\n }\n return _this.pcpHelper;\n };\n this.getTableHelpers = tables_1.getTableHelpers;\n this.prototype = prototype;\n this.getDerivedDataFunction = getDerivedData;\n this.getMyFunctionsCache = this.getDerivedData().getMyFunctions();\n this.getMyFunctionsNames = (_a = new Set(Object.keys(this.getDerivedData().getMyFunctions()))) !== null && _a !== void 0 ? _a : {};\n }\n MyAppModel.prototype.processDynamicComps = function () {\n this.getAutoModuleAppModel();\n this.autoModuleAppModel.processDynamicComps();\n };\n MyAppModel.prototype.getComponentValue = function (componentName, componentMeta) {\n return this.getAutoModuleAppModel().getComponentValue(componentName, componentMeta);\n };\n return MyAppModel;\n}());\n//# sourceMappingURL=AppModel.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toDictionary = exports.assertNotNull = exports.map = exports.forEach = exports.values = exports.getKeys = void 0;\n/** @returns the non-prototype keys of the given object */\nvar getKeys = function (obj) {\n return Object.getOwnPropertyNames(obj);\n};\nexports.getKeys = getKeys;\n/**\n * Gets the values of a map as a list\n * @param obj\n * @returns\n */\nvar values = function (obj) {\n return (0, exports.getKeys)(obj).map(function (key) { return obj[key]; });\n};\nexports.values = values;\nvar forEach = function (obj, action) {\n (0, exports.getKeys)(obj).forEach(function (key) { return action(key, obj[key]); });\n};\nexports.forEach = forEach;\nvar map = function (obj, mapper) {\n return (0, exports.getKeys)(obj).map(function (key) { return mapper(key, obj[key]); });\n};\nexports.map = map;\nvar assertNotNull = function (val, msg) {\n if (val == null) {\n throw new Error(msg);\n }\n};\nexports.assertNotNull = assertNotNull;\nvar toDictionary = function (arr, keyMapper, valueMapper) {\n var result = {};\n arr.forEach(function (entry) {\n result[keyMapper(entry)] = valueMapper(entry);\n });\n return result;\n};\nexports.toDictionary = toDictionary;\n//# sourceMappingURL=Utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyAutoModuleAppModel = exports.createAutoModuleAppModel = void 0;\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Utils_1 = require(\"../Utils\");\nvar AutoModuleHelper = __importStar(require(\"./AutoModuleHelpers\"));\nvar getConfigData_1 = require(\"./getConfigData\");\nvar RegisterEditorHelper_1 = require(\"./registerEditor/RegisterEditorHelper\");\nvar createAutoModuleAppModel = function (model, config) {\n return new MyAutoModuleAppModel(model, config);\n};\nexports.createAutoModuleAppModel = createAutoModuleAppModel;\nvar MyAutoModuleAppModel = /** @class */ (function () {\n function MyAutoModuleAppModel(model, config) {\n var _this = this;\n this.getModuleName = function () {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (_this.moduleName)\n return _this.moduleName;\n _this.moduleName =\n (_h = (_f = (_d = (_c = (_b = (_a = _this.model.getDerivedFunctions()).moduleName) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : _this.model.getComponentValue(\"componentName\")) !== null && _d !== void 0 ? _d : (_e = _this.model.getHardware()) === null || _e === void 0 ? void 0 : _e.getName()) !== null && _f !== void 0 ? _f : (_g = _this.config) === null || _g === void 0 ? void 0 : _g.moduleName) !== null && _h !== void 0 ? _h : \"Module\";\n return _this.moduleName;\n };\n this.getModuleCategory = function () {\n var _a, _b;\n return (_b = (_a = _this.model.getDerivedFunctions()).moduleCategory) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n this.createComponentList = function () {\n var componentList = {};\n var components = _this.getComponentList();\n var componentsWithDynamicDependencySelectors = __spreadArray(__spreadArray([], components, true), _this.getDefaultDependencySelectors(components), true);\n if (componentsWithDynamicDependencySelectors) {\n componentsWithDynamicDependencySelectors.forEach(function (component) {\n componentList[component.name] = {\n component: component,\n };\n });\n }\n return componentList;\n };\n this.getAllComponents = function () { return _this.componentList; };\n this.getComponentList = function () {\n var _a, _b, _c;\n var components = [];\n var config = _this.config;\n if (!config)\n return components;\n //Software Components\n (_b = (0, Utils_1.values)((_a = config.softwareData) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (entry) {\n components.push(entry);\n });\n //Hardware Components\n (_c = config.peripherals) === null || _c === void 0 ? void 0 : _c.forEach(function (peripheral) {\n var _a;\n if (peripheral.registers) {\n (_a = (0, Arrays_1.getKeys)(peripheral.registers)) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a, _b;\n (_b = (_a = peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName]) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n var _a, _b;\n //Only add hardware components that exist at runtime\n var hardwareRegister = (_b = (_a = _this.model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[registerName];\n if (!(hardwareRegister === null || hardwareRegister === void 0 ? void 0 : hardwareRegister.settings) ||\n hardwareRegister.settings[setting.setting] ||\n hardwareRegister.type === \"register\") {\n components.push(setting);\n }\n });\n });\n }\n });\n return components;\n };\n this.getActions = function (component) {\n var _a, _b;\n return (_this.model.getMyFunctionNamesCache().has(\"getActions\") ? (_b = (_a = _this.model.getDerivedFunctions()).getActions) === null || _b === void 0 ? void 0 : _b.call(_a, component.name) :\n component.actions);\n };\n this.getDefaultComponentAction = function (componentName) {\n var _a;\n var component = (_a = _this.getComponent(componentName)) === null || _a === void 0 ? void 0 : _a.component;\n return {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"main\",\n path: \"\".concat(component === null || component === void 0 ? void 0 : component.group, \".\").concat(component === null || component === void 0 ? void 0 : component.name),\n value: \"%v\",\n },\n };\n };\n this.getSoftwareComponentValue = function (tab, component) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined && (component.type === \"time\" || component.type === \"frequency\")) {\n if (overriddenValue.defaultValue) {\n return overriddenValue.defaultValue;\n }\n else {\n return ((_d = (_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) !== null && _d !== void 0 ? _d : component.defaultValue);\n }\n }\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n return processedArg.value;\n }\n }\n return ((_h = (_g = (_f = (_e = _this.state) === null || _e === void 0 ? void 0 : _e[tab]) === null || _f === void 0 ? void 0 : _f[component.group]) === null || _g === void 0 ? void 0 : _g[component.name]) !== null && _h !== void 0 ? _h : AutoModuleHelper.getDefaultValue(_this.model.getDerivedFunctions().overrideDefaultValues, component));\n };\n this.getHardwareComponentValue = function (tab, component, setting) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!_this.hardware)\n return undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n return processedArg.value;\n }\n }\n var overriddenCompValue = AutoModuleHelper.getOverrideDefaultValue(component, _this.model);\n var value; // value based on priority\n if (((_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) != null) {\n value = _this.state[tab][component.group][component.name];\n }\n else if (overriddenCompValue !== undefined) {\n value = overriddenCompValue;\n }\n else {\n value =\n setting !== undefined\n ? component.overrideDefaultValue\n ? component.overrideDefaultValue\n : _this.getDefaultValue(component.displayOptionSetting, setting)\n : (_d = component.overrideDefaultValue) !== null && _d !== void 0 ? _d : undefined;\n }\n //if filtered mode -> get options\n if (value != undefined && ((_e = component.mode) === null || _e === void 0 ? void 0 : _e.operation) === \"filterOptions\") {\n var options = AutoModuleHelper.getSettingOptionsIfPresent(component, setting, (_g = _this.model.getComponent((_f = component.mode) === null || _f === void 0 ? void 0 : _f.masterComponent)) === null || _g === void 0 ? void 0 : _g.value);\n if (options.indexOf(value) == -1) {\n value = options[0];\n }\n }\n return value;\n };\n this.getHardwareComponentBooleanValue = function (tab, component, setting) {\n var _a, _b, _c;\n if (!_this.hardware)\n return undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n if (setting &&\n setting.options &&\n typeof processedArg.value === \"boolean\") {\n var result_1 = \"\";\n if (processedArg.value === true) {\n var settingOptions = setting.options;\n settingOptions.forEach(function (eachOption) {\n if (eachOption.alias.toLowerCase().startsWith(\"enable\")) {\n result_1 = eachOption.alias;\n }\n });\n }\n else if (processedArg.value === false) {\n setting.options.forEach(function (eachOption) {\n if (eachOption.alias.toLowerCase().startsWith(\"disable\")) {\n result_1 = eachOption.alias;\n }\n });\n }\n return result_1;\n }\n return processedArg.value;\n }\n }\n var overriddenCompValue = AutoModuleHelper.getOverrideDefaultValue(component, _this.model);\n return ((_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) != null\n ? _this.state[tab][component.group][component.name]\n ? _this.config.booleanValues.true\n : _this.config.booleanValues.false\n : overriddenCompValue !== undefined\n ? overriddenCompValue\n : setting !== undefined\n ? component.overrideDefaultValue\n ? component.overrideDefaultValue\n : _this.getDefaultValue(component.displayOptionSetting, setting)\n : undefined;\n };\n this.getDependencyComponentValue = function (component) {\n var dependencySelector = new AutoModuleHelper.DependencySelector(_this.model, component);\n var imp = _this.model.getImports()[component.importId];\n if (imp === null || imp === void 0 ? void 0 : imp.handle) {\n return dependencySelector.createOptionLabel(imp.handle, imp.payload);\n }\n return \"None\";\n };\n this.getFileLoadComponentValue = function (component) {\n var _a;\n var fileContents;\n fileContents = (_a = _this.model.getPrototypeModule().loadedFiles) === null || _a === void 0 ? void 0 : _a[component.name];\n return fileContents;\n };\n this.getFileSaveComponentValue = function (component) {\n var _a;\n var fileContents = undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue !== undefined) {\n fileContents = overriddenValue;\n }\n else {\n fileContents = (_a = component.fileMeta) === null || _a === void 0 ? void 0 : _a.defaultContent;\n }\n return fileContents;\n };\n this.getDefaultValue = function (optionType, setting) {\n var _a;\n if (optionType == undefined)\n return setting.defaultValue;\n if (setting.defaultValue) {\n return (_a = (0, Setting_1.getOptionByName)(setting.defaultValue, setting)) === null || _a === void 0 ? void 0 : _a[optionType];\n }\n return undefined;\n };\n this.model = model;\n this.state = this.model.getState();\n this.hardware = this.model.getHardware();\n this.config = (0, getConfigData_1.getConfigData)(model);\n this.componentList = this.createComponentList();\n }\n MyAutoModuleAppModel.prototype.processDynamicComps = function () {\n var _a, _b;\n var updComponentList = this.componentList;\n var updComponents = [];\n (_b = (_a = this.model\n .getDerivedFunctions()).getDynamicComponents) === null || _b === void 0 ? void 0 : _b.call(_a).forEach(function (component) {\n updComponents.push(component);\n });\n updComponents.forEach(function (eachComponent) {\n updComponentList[eachComponent.name] = {\n component: eachComponent,\n };\n });\n this.componentList = updComponentList;\n };\n MyAutoModuleAppModel.prototype.getDefaultDependencySelectors = function (components) {\n var dynamicDependencySelectors = [];\n var defaultTab = \"main\";\n var defaultGroup = \"software\";\n if (components.length > 0) {\n defaultTab = components[0].tabs[0];\n defaultGroup = components[0].group;\n }\n var imports = this.model.getImports();\n if (imports) {\n var importedNames = Object.keys(imports);\n importedNames.forEach(function (name) {\n var _a;\n var dependencySelectors = components.filter(function (component) {\n return component[\"importId\"] && component[\"importId\"] === name;\n });\n if (dependencySelectors.length === 0) {\n dynamicDependencySelectors.push({\n name: name + \" dependency selector\",\n importId: name,\n category: \"import\",\n type: \"ComboBox\",\n description: name + \" dependency selector\",\n group: defaultGroup,\n tabs: [defaultTab],\n uiBehavior: (_a = {},\n _a[\"ui:widget\"] = \"hidden\",\n _a),\n });\n }\n });\n }\n return dynamicDependencySelectors;\n };\n MyAutoModuleAppModel.prototype.isComponent = function (componentName) {\n var _a;\n var component = (_a = this.componentList[componentName]) === null || _a === void 0 ? void 0 : _a.component;\n var componentValue = this.getComponentValue(componentName);\n if (component.category === \"software\") {\n if (component.type === \"boolean\") {\n return this.getComponentValue(componentName);\n }\n return componentValue !== undefined;\n }\n else if (component.category === \"hardware\") {\n return componentValue === this.config.booleanValues.true;\n }\n return undefined;\n };\n MyAutoModuleAppModel.prototype.getComponentValue = function (componentName, componentMeta) {\n var _a, _b, _c, _d;\n if (((_b = (_a = this.model.getState()) === null || _a === void 0 ? void 0 : _a.contentMeta) === null || _b === void 0 ? void 0 : _b.isUserEnRegRWMode) === true) {\n var value = (0, RegisterEditorHelper_1.getRegisterEditorComponentValue)(this.model, componentName, componentMeta);\n return value !== undefined ? value : (_c = this.getComponent(componentName)) === null || _c === void 0 ? void 0 : _c.value;\n }\n return (_d = this.getComponent(componentName)) === null || _d === void 0 ? void 0 : _d.value;\n };\n MyAutoModuleAppModel.prototype.getComponent = function (componentName) {\n var _this = this;\n var _a, _b;\n if (((_a = this.componentList[componentName]) === null || _a === void 0 ? void 0 : _a.value) != undefined)\n return this.componentList[componentName];\n var component = (_b = this.componentList[componentName]) === null || _b === void 0 ? void 0 : _b.component;\n component === null || component === void 0 ? void 0 : component.tabs.forEach(function (tab) {\n if (component) {\n if (component.category === \"software\") {\n _this.componentList[componentName].value =\n _this.getSoftwareComponentValue(tab, component);\n }\n else if (component.category === \"hardware\") {\n var setting = AutoModuleHelper.getSettingFromComponent(_this.model, component);\n if (component.type === \"boolean\") {\n _this.componentList[componentName].value =\n _this.getHardwareComponentBooleanValue(tab, component, setting);\n }\n else {\n _this.componentList[componentName].value =\n _this.getHardwareComponentValue(tab, component, setting);\n }\n }\n else if (component.category === \"import\") {\n _this.componentList[componentName].value =\n _this.getDependencyComponentValue(component);\n }\n else if (component.category === \"file_load\") {\n _this.componentList[componentName].value =\n _this.getFileLoadComponentValue(component);\n }\n else if (component.category === \"file_save\") {\n _this.componentList[componentName].value =\n _this.getFileSaveComponentValue(component);\n }\n _this.componentList[componentName].component.actions =\n _this.getActions(component);\n }\n });\n return this.componentList[componentName];\n };\n return MyAutoModuleAppModel;\n}());\nexports.MyAutoModuleAppModel = MyAutoModuleAppModel;\n//# sourceMappingURL=AutoModuleAppModel.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFullyAssigned = exports.createPrototypeImport = void 0;\nvar Processor_1 = require(\"@microchip/scf-common/lib/Processor\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar AutoModuleHelpers_1 = require(\"./AutoModuleHelpers\");\nvar createPrototypeImport = function (interfaceName, config) {\n var _a, _b;\n return (_b = (_a = config === null || config === void 0 ? void 0 : config.imports) === null || _a === void 0 ? void 0 : _a[interfaceName]) === null || _b === void 0 ? void 0 : _b.import;\n};\nexports.createPrototypeImport = createPrototypeImport;\nvar isFullyAssigned = function (imports, config) {\n var _a;\n //get peripheral interfaces.\n var interfaces = getHardwareInterfaces((_a = config === null || config === void 0 ? void 0 : config.peripherals) !== null && _a !== void 0 ? _a : []);\n for (var i = 0; i < interfaces.length; i++) {\n var imp = imports === null || imports === void 0 ? void 0 : imports[interfaces[i]];\n if (!imp || !(0, Processor_1.isAssigned)(imp)) {\n return false;\n }\n }\n return true;\n};\nexports.isFullyAssigned = isFullyAssigned;\n//Assumes hardware import keys are the same as the interface IDs\nvar getHardwareInterfaces = function (peripherals) {\n var interfaces = (0, Arrays_1.map)(peripherals, function (peripheral) {\n var _a;\n return (_a = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n });\n return interfaces;\n};\n//# sourceMappingURL=AutoModuleHardware.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFriendlyInterfaceId = exports.DependencySelector = exports.populateLoadedFiles = exports.getProcessedHandle = exports.filterModeOptions = exports.getSettingOptionsIfPresent = exports.getOverrideDefaultValue = exports.getSettingDefaultIfPresent = exports.getOptionValueByName = exports.getSettingFromComponent = exports.getSettingBits = exports.sortComments = exports.getRegisterValues = exports.hasConfigBits = exports.getComboOptions = exports.getDefaultValue = exports.castComponent = void 0;\nexports.getModuleDefaultDescription = getModuleDefaultDescription;\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Utils_1 = require(\"../Utils\");\nvar getConfigData_1 = require(\"./getConfigData\");\nvar RegisterEditorHelper_1 = require(\"./registerEditor/RegisterEditorHelper\");\nvar castComponent = function (component) {\n switch (component.category) {\n case \"software\":\n return component;\n case \"import\":\n return component;\n case \"hardware\":\n return component;\n default:\n throw Error(\"Unsupported Component Type\");\n }\n};\nexports.castComponent = castComponent;\nvar getDefaultValue = function (overrideDefaultValues, component) {\n var _a;\n return ((_a = overrideDefaultValues === null || overrideDefaultValues === void 0 ? void 0 : overrideDefaultValues(component.name)) !== null && _a !== void 0 ? _a : (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue));\n};\nexports.getDefaultValue = getDefaultValue;\nvar getComboOptions = function (overrideOptions, component) {\n var _a, _b;\n return (_a = overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions(component.name)) !== null && _a !== void 0 ? _a : (_b = component === null || component === void 0 ? void 0 : component.defaultValue) === null || _b === void 0 ? void 0 : _b[\"options\"];\n};\nexports.getComboOptions = getComboOptions;\nvar hasConfigBits = function (interfaceName) {\n var _a;\n return ((_a = (0, exports.getFriendlyInterfaceId)(interfaceName)) === null || _a === void 0 ? void 0 : _a.indexOf(\"configuration_bits\")) != -1;\n};\nexports.hasConfigBits = hasConfigBits;\nvar getRegisterValues = function (model, interfaceName) {\n var _a, _b, _c;\n if (((_b = (_a = model.getState()) === null || _a === void 0 ? void 0 : _a.contentMeta) === null || _b === void 0 ? void 0 : _b.isUserEnRegRWMode) === true) {\n return (0, RegisterEditorHelper_1.getRegisterEditorValues)(model, interfaceName);\n }\n var registers = {};\n var config = (0, getConfigData_1.getConfigData)(model);\n interfaceName = (0, exports.getFriendlyInterfaceId)(interfaceName);\n (_c = config === null || config === void 0 ? void 0 : config.peripherals) === null || _c === void 0 ? void 0 : _c.forEach(function (peripheral) {\n var _a, _b, _c;\n var peripheralName = (_a = (0, exports.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n if ((interfaceName != undefined && peripheralName !== interfaceName) ||\n !peripheral.registers)\n return;\n (_c = (0, Utils_1.getKeys)((_b = peripheral.registers) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (regName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var registerValue;\n var reg = (_b = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[regName];\n if (reg) {\n registerValue = {\n comment: \"\",\n value: 0,\n valueAsHex: \"0x00\",\n name: reg === null || reg === void 0 ? void 0 : reg.name,\n alias: (_c = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _c !== void 0 ? _c : reg === null || reg === void 0 ? void 0 : reg.name,\n por: reg.defaultValue,\n settings: {},\n };\n }\n else {\n return;\n }\n var registerVal = CalculateRegisterValue_1.default.for(reg);\n var comments = [];\n (_d = peripheral.registers) === null || _d === void 0 ? void 0 : _d[regName].forEach(function (set) {\n var _a, _b, _c, _d, _e;\n var setting = (_a = reg.settings) === null || _a === void 0 ? void 0 : _a[set.setting];\n if (setting) {\n if (setting.type !== \"R\") {\n //Add Comments\n comments.push(\"\".concat(set.setting, \" \").concat(model.getComponentValue(set.name), \"; \"));\n }\n if (registerValue === null || registerValue === void 0 ? void 0 : registerValue.settings) {\n registerValue.settings[setting.alias] = (0, exports.getSettingBits)(reg, setting, (_b = model.getComponent(set.name)) === null || _b === void 0 ? void 0 : _b.value, (_c = config === null || config === void 0 ? void 0 : config.deviceType) !== null && _c !== void 0 ? _c : \"PIC\");\n }\n switch (set.type) {\n case \"ComboBox\":\n case \"boolean\":\n registerVal.withNumberValue(setting, (_e = (0, exports.getOptionValueByName)(setting, (_d = model.getComponent(set.name)) === null || _d === void 0 ? void 0 : _d.value)) !== null && _e !== void 0 ? _e : 0);\n break;\n case \"number\":\n registerVal.withNumberValue(setting, model.getComponentValue(set.name));\n break;\n case \"register\":\n case \"string\":\n registerVal.withNumberValue(setting, Number(model.getComponentValue(set.name)));\n break;\n default:\n break;\n }\n }\n });\n if (reg.settings) {\n registerValue.value = registerVal.asNumber();\n }\n else {\n registerValue.value = Number((_j = model.getComponentValue((_h = (_g = (_f = (_e = peripheral.registers) === null || _e === void 0 ? void 0 : _e[regName]) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.name) !== null && _h !== void 0 ? _h : \"\")) !== null && _j !== void 0 ? _j : 0);\n comments.push(\"\".concat(registerValue.name, \" \").concat(registerValue.value, \"; \"));\n }\n registerValue.valueAsHex =\n \"0x\" + registerValue.value.toString(16).toUpperCase();\n registerValue.comment = (0, exports.sortComments)(comments, reg);\n registers[(_k = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _k !== void 0 ? _k : reg.name] = registerValue;\n });\n });\n return registers;\n};\nexports.getRegisterValues = getRegisterValues;\nvar sortComments = function (comments, register) {\n comments.sort(function (a, b) {\n var _a, _b, _c, _d;\n var settingA = (_a = register.settings) === null || _a === void 0 ? void 0 : _a[(_b = a.split[\" \"]) === null || _b === void 0 ? void 0 : _b[0]];\n var settingB = (_c = register.settings) === null || _c === void 0 ? void 0 : _c[(_d = b.split(\" \")) === null || _d === void 0 ? void 0 : _d[0]];\n return Number(settingB === null || settingB === void 0 ? void 0 : settingB.mask) - Number(settingA === null || settingA === void 0 ? void 0 : settingA.mask);\n });\n return comments.join(\"\");\n};\nexports.sortComments = sortComments;\nvar getSettingBits = function (register, setting, value, deviceType) {\n var _a;\n var setValNumber = 0;\n var valueAsDesc = \"\";\n var option = (0, Setting_1.getOptionByAlias)(value, setting);\n if (option) {\n setValNumber = Number((_a = option === null || option === void 0 ? void 0 : option.value) !== null && _a !== void 0 ? _a : 0);\n valueAsDesc = value;\n }\n else {\n setValNumber = Number(value);\n valueAsDesc = \"0x\" + Number(value).toString(16).toUpperCase();\n }\n var settingValue = {\n alias: setting.alias,\n name: setting.name,\n value: setValNumber !== null && setValNumber !== void 0 ? setValNumber : 0,\n valueAsHex: \"0x\" + setValNumber.toString(16).toUpperCase(),\n valueAsDescription: valueAsDesc,\n type: setting.type,\n optionName: option === null || option === void 0 ? void 0 : option.name,\n bitName: deviceType === \"PIC\"\n ? \"\".concat(register.name, \"bits.\").concat(setting.name)\n : \"\".concat(register.name, \".\").concat(setting.name),\n };\n return settingValue;\n};\nexports.getSettingBits = getSettingBits;\nvar getRegisterFromComponent = function (hardware, component) {\n var _a, _b, _c, _d, _e;\n var registerName = (_a = component.name\n .replace(component.setting.toLowerCase(), \"\")) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n var register = (_b = hardware === null || hardware === void 0 ? void 0 : hardware.registers) === null || _b === void 0 ? void 0 : _b[registerName];\n if (register) {\n return register;\n }\n else {\n var regName = (_c = component.name\n .replace(component.setting.toLowerCase(), \"\")) === null || _c === void 0 ? void 0 : _c.toUpperCase();\n var registers = (0, Utils_1.getKeys)((_d = hardware === null || hardware === void 0 ? void 0 : hardware.registers) !== null && _d !== void 0 ? _d : {});\n for (var _i = 0, _f = registers !== null && registers !== void 0 ? registers : []; _i < _f.length; _i++) {\n var reg = _f[_i];\n var modifiedRegName = reg.replace(/_/g, \"\");\n if (regName === modifiedRegName) {\n return (_e = hardware === null || hardware === void 0 ? void 0 : hardware.registers) === null || _e === void 0 ? void 0 : _e[reg];\n }\n }\n }\n};\nvar getSettingFromComponent = function (model, component) {\n var _a;\n var config = (0, getConfigData_1.getConfigData)(model);\n var setting;\n if (model) {\n (_a = config === null || config === void 0 ? void 0 : config.peripherals) === null || _a === void 0 ? void 0 : _a.forEach(function (peripheral) {\n var _a, _b, _c;\n if (setting)\n return;\n var peripheralName = (0, exports.getFriendlyInterfaceId)(peripheral.interfaceId.name);\n var hardware = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n var register = getRegisterFromComponent(hardware, component);\n if (register && !register.settings) {\n //No settings for this particular register. Create one\n setting = {\n alias: (_b = register.alias) !== null && _b !== void 0 ? _b : register.name,\n name: register.name,\n defaultValue: register.defaultValue,\n type: register.type,\n description: register.desc,\n porDefault: register.defaultValue,\n };\n }\n else {\n setting = (_c = register === null || register === void 0 ? void 0 : register.settings) === null || _c === void 0 ? void 0 : _c[component.setting];\n }\n });\n }\n return setting;\n};\nexports.getSettingFromComponent = getSettingFromComponent;\nvar getOptionValueByName = function (setting, optionName) {\n if (!setting)\n return undefined;\n var optionValue = setting.porDefault;\n if (setting.options) {\n setting.options.forEach(function (option) {\n if (option.name === optionName || option.description === optionName) {\n optionValue = option.value;\n }\n });\n }\n return Number(optionValue);\n};\nexports.getOptionValueByName = getOptionValueByName;\nvar getSettingDefaultIfPresent = function (component, setting, overrideDefaultValue) {\n var _a, _b;\n var defaultValue;\n if (overrideDefaultValue !== undefined) {\n return overrideDefaultValue;\n }\n if (component.overrideDefaultValue) {\n return component.overrideDefaultValue;\n }\n if (setting === null || setting === void 0 ? void 0 : setting.defaultValue) {\n var option = (0, Setting_1.getOptionByName)(setting.defaultValue, setting);\n defaultValue =\n (_b = option === null || option === void 0 ? void 0 : option[(_a = component.displayOptionSetting) !== null && _a !== void 0 ? _a : \"alias\"]) !== null && _b !== void 0 ? _b : setting.defaultValue;\n }\n return defaultValue;\n};\nexports.getSettingDefaultIfPresent = getSettingDefaultIfPresent;\nvar getOverrideDefaultValue = function (component, model) {\n var _a, _b;\n return (_b = (_a = model.getDerivedFunctions()).overrideDefaultValues) === null || _b === void 0 ? void 0 : _b.call(_a, component.name);\n};\nexports.getOverrideDefaultValue = getOverrideDefaultValue;\nvar getSettingOptionsIfPresent = function (component, setting, masterComponentValue) {\n var _a;\n var options = [\"\"];\n if (setting) {\n var filteredOptions = component.mode\n ? (0, exports.filterModeOptions)((_a = setting.options) !== null && _a !== void 0 ? _a : [], component, masterComponentValue)\n : setting.options;\n options = (0, Arrays_1.map)(filteredOptions !== null && filteredOptions !== void 0 ? filteredOptions : [], function (option) { var _a, _b; return (_b = option[(_a = component.displayOptionSetting) !== null && _a !== void 0 ? _a : \"alias\"]) !== null && _b !== void 0 ? _b : option.alias; });\n }\n return options;\n};\nexports.getSettingOptionsIfPresent = getSettingOptionsIfPresent;\nvar filterModeOptions = function (options, component, masterComponentValue) {\n var _a, _b, _c, _d;\n if (((_a = component.mode) === null || _a === void 0 ? void 0 : _a.operation) != \"filterOptions\" || masterComponentValue == undefined)\n return options;\n //Determine mode\n var mode = (0, Arrays_1.find)((_d = (0, Utils_1.getKeys)((_c = (_b = component.mode) === null || _b === void 0 ? void 0 : _b.optionModes) !== null && _c !== void 0 ? _c : {})) !== null && _d !== void 0 ? _d : [], function (mode) {\n var _a, _b, _c, _d;\n var match = (_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.optionModes) === null || _b === void 0 ? void 0 : _b[mode];\n if (match) {\n return ((_d = (_c = masterComponentValue === null || masterComponentValue === void 0 ? void 0 : masterComponentValue.match(match)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0;\n }\n return false;\n });\n // optionModes : when Key value are not same\n if (mode === undefined) {\n mode = masterComponentValue;\n }\n var filteredOptions = (0, Arrays_1.filter)(options !== null && options !== void 0 ? options : [], function (option) {\n var _a, _b, _c, _d;\n if (option.mode && mode) {\n var match = (_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.optionModes) === null || _b === void 0 ? void 0 : _b[mode];\n if (match) {\n return ((_d = (_c = option.mode.match(match)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0;\n }\n }\n return true;\n });\n return filteredOptions;\n};\nexports.filterModeOptions = filterModeOptions;\nvar getProcessedHandle = function (handle, payload) {\n var _a, _b, _c, _d;\n if (handle) {\n handle = __assign(__assign({}, handle), { label: (_d = (_c = (_b = (_a = handle === null || handle === void 0 ? void 0 : handle.label) !== null && _a !== void 0 ? _a : payload === null || payload === void 0 ? void 0 : payload.customName) !== null && _b !== void 0 ? _b : payload === null || payload === void 0 ? void 0 : payload.moduleName) !== null && _c !== void 0 ? _c : payload === null || payload === void 0 ? void 0 : payload.name) !== null && _d !== void 0 ? _d : handle.providerId + \" : \" + handle.exportId });\n }\n return handle;\n};\nexports.getProcessedHandle = getProcessedHandle;\nvar populateLoadedFiles = function (processedOutput) {\n var _a;\n var result = __assign({}, processedOutput);\n var consolidatedFiles = {};\n //pushing all the inmemory files provided from Melody\n if (result.loadedFiles !== undefined) {\n for (var eachFileId in result.loadedFiles) {\n var eachFile = result.loadedFiles[eachFileId];\n consolidatedFiles[eachFileId] = eachFile;\n }\n }\n //pushing all the instate files stored in state(project) - NOTE: if same fileId exists in state and memory then state will be given priority\n if (((_a = result.state) === null || _a === void 0 ? void 0 : _a.loadedFiles) !== undefined) {\n for (var eachFileId in result.state.loadedFiles) {\n var eachFile = result.state.loadedFiles[eachFileId];\n consolidatedFiles[eachFileId] = eachFile;\n }\n }\n result.loadedFiles = consolidatedFiles;\n return result;\n};\nexports.populateLoadedFiles = populateLoadedFiles;\nvar DependencySelector = /** @class */ (function () {\n function DependencySelector(model, component) {\n var _this = this;\n this.noneSelection = { label: \"None\" };\n this.createOptionEntry = function (option) {\n return {\n label: _this.createOptionLabel(option.handle, option.payload),\n value: option,\n };\n };\n this.createOptionLabel = function (handle, payload) {\n var _a, _b;\n return (_b = (_a = (0, exports.getProcessedHandle)(handle, payload)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : \"\";\n };\n this.model = model;\n this.component = component;\n }\n DependencySelector.prototype.generateDropdownOptions = function () {\n var dropdownOptions = [];\n var thisImport = this.model.getImports()[this.component.importId];\n var options = thisImport === null || thisImport === void 0 ? void 0 : thisImport.options;\n if (this.shouldAllowUnselectDependency(thisImport, options)) {\n dropdownOptions.push(this.noneSelection);\n }\n if (options !== undefined) {\n for (var option in options) {\n dropdownOptions.push(this.createOptionEntry(options[option]));\n }\n }\n return dropdownOptions;\n };\n DependencySelector.prototype.getDropdownOptionNames = function () {\n var names = [];\n this.generateDropdownOptions().forEach(function (option) { return names.push(option.label); });\n return names;\n };\n DependencySelector.prototype.shouldAllowUnselectDependency = function (thisImport, options) {\n return thisImport != undefined && thisImport.isUnassignable != false;\n };\n return DependencySelector;\n}());\nexports.DependencySelector = DependencySelector;\nfunction getModuleDefaultDescription() {\n //TODO: Need to refactor this so that gets it from the source.\n //Alternatively, we could get it during the automodule update process and fetch it from there...\n return undefined;\n}\nvar getFriendlyInterfaceId = function (interfaceName) {\n interfaceName = interfaceName === null || interfaceName === void 0 ? void 0 : interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n return interfaceName;\n};\nexports.getFriendlyInterfaceId = getFriendlyInterfaceId;\n//# sourceMappingURL=AutoModuleHelpers.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigBits = exports.getTemplateSettings = exports.getTemplatePayload = exports.getTemplates = void 0;\nvar AutoModuleHelper = __importStar(require(\"./AutoModuleHelpers\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar getConfigData_1 = require(\"./getConfigData\");\nvar Utils_1 = require(\"../Utils\");\nvar AutoModuleHardware_1 = require(\"./AutoModuleHardware\");\nvar AutoModuleHelpers_1 = require(\"./AutoModuleHelpers\");\nvar getTemplates = function (model) {\n var _a;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var templates = [];\n (_a = config === null || config === void 0 ? void 0 : config.templates) === null || _a === void 0 ? void 0 : _a.forEach(function (template) {\n var _a, _b, _c;\n var newTemplate = __assign({}, template);\n if (!model)\n return;\n newTemplate.dest =\n (_c = (_b = (_a = model.getDerivedFunctions()).templateName) === null || _b === void 0 ? void 0 : _b.call(_a, newTemplate.src)) !== null && _c !== void 0 ? _c : newTemplate.dest;\n newTemplate.dest = newTemplate.dest.replace(\"${sourceFileName}\", model.getName().toLowerCase() + \".c\");\n newTemplate.dest = newTemplate.dest.replace(\"${headerFileName}\", model.getName().toLowerCase() + \".h\");\n if (shouldGenerate(newTemplate, model)) {\n templates.push(newTemplate);\n }\n });\n return templates;\n};\nexports.getTemplates = getTemplates;\nvar shouldGenerate = function (template, model) {\n var shouldGenerate = true;\n if (!model)\n return shouldGenerate;\n if (shouldGenerate &&\n template.generateWithHardware == true &&\n !(0, AutoModuleHardware_1.isFullyAssigned)(model.getPrototypeModule().imports, (0, getConfigData_1.getConfigData)(model, true))) {\n shouldGenerate = false;\n }\n if (shouldGenerate &&\n template.isGeneratableProperty &&\n model.getDerivedFunction(template.isGeneratableProperty) != true) {\n shouldGenerate = false;\n }\n return shouldGenerate;\n};\nvar getTemplatePayload = function (model) {\n var _a;\n if (!model)\n return undefined;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var moduleName = model.getName();\n var templatePayload = {\n name: {\n uppercase: moduleName.toUpperCase(),\n lowercase: moduleName.toLowerCase(),\n instance: moduleName,\n },\n filename: {\n source: \"\".concat(moduleName.toLowerCase(), \".c\"),\n header: \"\".concat(moduleName.toLowerCase(), \".h\"),\n },\n };\n var components = model\n .getAutoModuleAppModel()\n .getAllComponents();\n (_a = (0, Utils_1.values)(components)) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {\n templatePayload[entry.component.name] = getComponentPayload(entry.component, model);\n });\n templatePayload = __assign(__assign({}, templatePayload), (0, exports.getTemplateSettings)(model, config));\n return templatePayload;\n};\nexports.getTemplatePayload = getTemplatePayload;\nvar getTemplateSettings = function (model, config) {\n var _a, _b;\n if (!(model === null || model === void 0 ? void 0 : model.getHardware()))\n return undefined;\n return {\n registers: model.getRegisterValues(undefined),\n interrupts: (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().interrupts,\n properties: (_b = model.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral().properties,\n };\n};\nexports.getTemplateSettings = getTemplateSettings;\nvar getConfigBits = function (model) {\n var _a, _b, _c;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var configModule = (0, Arrays_1.find)((_a = config === null || config === void 0 ? void 0 : config.peripherals) !== null && _a !== void 0 ? _a : [], function (peripheral) {\n return AutoModuleHelper.hasConfigBits(peripheral.interfaceId.name);\n });\n if (configModule) {\n var interfaceName = AutoModuleHelper.getFriendlyInterfaceId(configModule.interfaceId.name);\n var templateConfigBits_1 = {};\n var registers_1 = (_b = model.getHardware(interfaceName)) === null || _b === void 0 ? void 0 : _b.getPeripheral().registers;\n (_c = (0, Utils_1.getKeys)(registers_1 !== null && registers_1 !== void 0 ? registers_1 : [])) === null || _c === void 0 ? void 0 : _c.forEach(function (configName) {\n var _a;\n var _b, _c, _d;\n var configBits = (_b = configModule.registers) === null || _b === void 0 ? void 0 : _b[configName];\n templateConfigBits_1 = __assign(__assign({}, templateConfigBits_1), (_a = {}, _a[configName] = {}, _a));\n if (((_d = (_c = model.getState()) === null || _c === void 0 ? void 0 : _c.contentMeta) === null || _d === void 0 ? void 0 : _d.isUserEnRegRWMode) === true) {\n configBits === null || configBits === void 0 ? void 0 : configBits.forEach(function (configBit) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var register = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName];\n var value;\n var description;\n if (register && !register.settings) {\n //missing settings for register\n value = model.getComponentValue(configBit.setting, { register: configName });\n description = model.getComponentValue(configBit.setting, { register: configName }).toString(16).toUpperCase();\n }\n else {\n var setting = (_b = (_a = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName]) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b[configBit.setting];\n value =\n (_g = (_f = (_e = (_d = (0, Arrays_1.find)((_c = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _c !== void 0 ? _c : [], function (option) {\n return option.description ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.alias ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.name === model.getComponentValue(configBit.setting, { register: configName });\n })) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : model.getComponentValue(configBit.setting, { register: configName })) !== null && _f !== void 0 ? _f : setting === null || setting === void 0 ? void 0 : setting.defaultValue) !== null && _g !== void 0 ? _g : \"\";\n description =\n (_k = (_j = (0, Arrays_1.find)((_h = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _h !== void 0 ? _h : [], function (option) {\n return option.description ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.alias ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.name === model.getComponentValue(configBit.setting, { register: configName });\n })) === null || _j === void 0 ? void 0 : _j.description) !== null && _k !== void 0 ? _k : \"\";\n }\n if (typeof value === \"number\") {\n if (!isNaN(value)) {\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: \"0x\" + value.toString(16).toUpperCase(),\n description: configBit.description,\n valueAsDescription: \"0x\" + value.toString(16).toUpperCase(),\n };\n }\n }\n else {\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: value,\n description: configBit.description,\n valueAsDescription: description,\n };\n }\n });\n }\n else {\n configBits === null || configBits === void 0 ? void 0 : configBits.forEach(function (configBit) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n var register = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName];\n var value;\n if (register && !register.settings) {\n //missing settings for register\n value = (_b = (_a = model.getComponent(configBit.name)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\";\n }\n else {\n var setting = (_d = (_c = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName]) === null || _c === void 0 ? void 0 : _c.settings) === null || _d === void 0 ? void 0 : _d[configBit.setting];\n value =\n (_k = (_j = (_g = (_f = (0, Arrays_1.find)((_e = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _e !== void 0 ? _e : [], function (option) {\n var _a, _b, _c;\n return option.description ===\n ((_a = model.getComponent(configBit.name)) === null || _a === void 0 ? void 0 : _a.value) ||\n option.alias ===\n ((_b = model.getComponent(configBit.name)) === null || _b === void 0 ? void 0 : _b.value) ||\n option.name === ((_c = model.getComponent(configBit.name)) === null || _c === void 0 ? void 0 : _c.value);\n })) === null || _f === void 0 ? void 0 : _f.name) !== null && _g !== void 0 ? _g : (_h = model.getComponent(configBit.name)) === null || _h === void 0 ? void 0 : _h.value) !== null && _j !== void 0 ? _j : setting === null || setting === void 0 ? void 0 : setting.defaultValue) !== null && _k !== void 0 ? _k : \"\";\n }\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: value,\n description: configBit.description,\n valueAsDescription: (_l = model.getComponent(configBit.name)) === null || _l === void 0 ? void 0 : _l.value,\n };\n });\n }\n });\n return templateConfigBits_1;\n }\n else {\n return {};\n }\n};\nexports.getConfigBits = getConfigBits;\nvar getComponentPayload = function (component, model) {\n var _a, _b;\n var componentValue = model.getComponentValue(component.name);\n switch (component.type) {\n case \"ComboBox\":\n if (component.category === \"hardware\") {\n var setting = AutoModuleHelper.getSettingFromComponent(model, component);\n return {\n value: componentValue,\n options: AutoModuleHelper.getSettingOptionsIfPresent(component, setting, model.getComponentValue((_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.masterComponent) !== null && _b !== void 0 ? _b : \"\")),\n };\n }\n else if (component.category === \"software\") {\n return {\n value: componentValue,\n options: (0, AutoModuleHelpers_1.getComboOptions)(model.getDerivedFunctions().overrideOptions, component),\n };\n }\n break;\n case \"boolean\":\n return model.isComponentValue(component.name);\n case \"number\":\n case \"string\":\n case \"register\":\n default:\n return componentValue;\n }\n};\n//# sourceMappingURL=AutoModuleTemplates.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAutoSdlHelp = void 0;\n/**\n * Returns the valid link for each component of a module\n *\n * @param dataModel - AppModel for current module\n * @param componentName - Current component under the module\n * @param helpUrl - Generic url\n * @returns Valid link to microchip docs\n */\nvar getAutoSdlHelp = function (dataModel, componentName, helpUrl) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;\n var deviceMeta = dataModel.getImportValue(\"device_meta\");\n var deviceName = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.deviceName) !== null && _a !== void 0 ? _a : \"\";\n var moduleName = (_d = (_c = (_b = dataModel.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral()) === null || _c === void 0 ? void 0 : _c.group) !== null && _d !== void 0 ? _d : \"\";\n var dosid = (_g = (_f = (_e = dataModel.getHardware()) === null || _e === void 0 ? void 0 : _e.getPeripheral()) === null || _f === void 0 ? void 0 : _f.dosid) !== null && _g !== void 0 ? _g : \"\";\n var comp = (_j = (_h = dataModel.getComponent(componentName)) === null || _h === void 0 ? void 0 : _h.component) !== null && _j !== void 0 ? _j : \"\";\n var setting = (_l = (_k = comp === null || comp === void 0 ? void 0 : comp.setting) === null || _k === void 0 ? void 0 : _k.toLowerCase()) !== null && _l !== void 0 ? _l : \"\";\n var registerName = componentName.toLowerCase().replace(setting, \"\");\n var registerAlias = (_m = registerName === null || registerName === void 0 ? void 0 : registerName.toUpperCase()) !== null && _m !== void 0 ? _m : \"\";\n var deviceRegister = (_r = (_q = (_p = (_o = dataModel.getPeripheralDescription()) === null || _o === void 0 ? void 0 : _o.registers) === null || _p === void 0 ? void 0 : _p[registerAlias]) === null || _q === void 0 ? void 0 : _q.name) !== null && _r !== void 0 ? _r : \"\";\n var register = registerAlias == deviceRegister ? registerAlias : deviceRegister;\n var url = helpUrl\n .replace(\"${deviceName}\", deviceName !== null && deviceName !== void 0 ? deviceName : \"\")\n .replace(\"${registerName}\", register !== null && register !== void 0 ? register : \"\")\n .replace(\"${moduleName}\", moduleName !== null && moduleName !== void 0 ? moduleName : \"\")\n .replace(\"${dosId}\", dosid !== null && dosid !== void 0 ? dosid : \"\");\n return url;\n};\nexports.getAutoSdlHelp = getAutoSdlHelp;\n//# sourceMappingURL=ContextualHelp.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFreqCompFormData = void 0;\nexports.isFreqComponentInState = isFreqComponentInState;\nexports.isFreqValueInState = isFreqValueInState;\nexports.isFreqUnitInState = isFreqUnitInState;\nexports.isFrequencyComponent = isFrequencyComponent;\nexports.getFreqCompSchema = getFreqCompSchema;\nvar getFreqCompFormData = function (model, component, tab) {\n var _a;\n var componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit\n };\n if (component.frequencyMeta) {\n // Min value update\n if (component.frequencyMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: component.frequencyMeta.min.value,\n unit: component.frequencyMeta.min.unit\n } });\n }\n // Max value update\n if (component.frequencyMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: component.frequencyMeta.max.value,\n unit: component.frequencyMeta.max.unit\n } });\n }\n // Options update\n if (component.frequencyMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: component.frequencyMeta.unitOptions });\n }\n }\n // Form data updation based on dynamic data\n var updatedFreqComp = (model.getDerivedFunctions() && model.getDerivedFunctions()[component.name] != null) ? (_a = model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[component.name]() : undefined;\n if (updatedFreqComp) {\n // Default value update\n if (updatedFreqComp.defaultValue) {\n componentValue = __assign(__assign({}, componentValue), { value: updatedFreqComp.defaultValue.value, unit: updatedFreqComp.defaultValue.unit });\n }\n // Min, Max and Options update\n if (updatedFreqComp.frequencyMeta) {\n if (updatedFreqComp.frequencyMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: updatedFreqComp.frequencyMeta.min.value,\n unit: updatedFreqComp.frequencyMeta.min.unit,\n } });\n }\n if (updatedFreqComp.frequencyMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: updatedFreqComp.frequencyMeta.max.value,\n unit: updatedFreqComp.frequencyMeta.max.unit,\n } });\n }\n if (updatedFreqComp.frequencyMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: updatedFreqComp.frequencyMeta.unitOptions });\n }\n }\n }\n if (!isFreqComponentInState(model, component, tab)) {\n return componentValue;\n }\n else {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n if (isFreqValueInState(model, component, tab)) {\n var valueChanged = tabState[component.group][component.name].value;\n componentValue = __assign(__assign({}, componentValue), { value: valueChanged });\n }\n if (isFreqUnitInState(model, component, tab)) {\n var unitChanged = tabState[component.group][component.name].unit;\n componentValue = __assign(__assign({}, componentValue), { unit: unitChanged });\n }\n return componentValue;\n }\n};\nexports.getFreqCompFormData = getFreqCompFormData;\nfunction isFreqComponentInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nfunction isFreqValueInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].value);\n}\nfunction isFreqUnitInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].unit);\n}\nfunction isFrequencyComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"frequency\");\n}\nfunction getFreqCompSchema(component, derivedFunctions) {\n var _a, _b;\n //Schema creation with static moduleConfig data\n var schema = {\n type: \"object\",\n $id: \"frequency\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n properties: {\n value: {\n type: \"number\",\n default: component.defaultValue.value,\n },\n unit: {\n type: \"string\",\n default: component.defaultValue.unit,\n }\n },\n };\n if (component.frequencyMeta) {\n // Min value update\n if (component.frequencyMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.frequencyMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: component.frequencyMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value update\n if (component.frequencyMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.frequencyMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: component.frequencyMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (component.frequencyMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: component.frequencyMeta.unitOptions,\n }\n } }) });\n }\n }\n //Schema updation based on dynamic data\n var updatedFreqComp = (derivedFunctions && derivedFunctions[component.name] != null) ? derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name]() : undefined;\n if (updatedFreqComp) {\n // description update\n if (updatedFreqComp.description) {\n schema = __assign(__assign({}, schema), { title: updatedFreqComp.description });\n }\n // defaultValue update\n if (updatedFreqComp.defaultValue) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { value: {\n type: \"number\",\n default: updatedFreqComp.defaultValue.value,\n }, unit: {\n type: \"string\",\n default: updatedFreqComp.defaultValue.unit,\n } }) });\n }\n // frequencyMeta update\n if (updatedFreqComp.frequencyMeta) {\n // Min value and unit update\n if (updatedFreqComp.frequencyMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedFreqComp.frequencyMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: updatedFreqComp.frequencyMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value and unit update\n if (updatedFreqComp.frequencyMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedFreqComp.frequencyMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: updatedFreqComp.frequencyMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (updatedFreqComp.frequencyMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: updatedFreqComp.frequencyMeta.unitOptions,\n }\n } }) });\n }\n }\n }\n return schema;\n}\n//# sourceMappingURL=FrequencyComponentHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasModes = exports.processRegisterModes = void 0;\nvar Utils_1 = require(\"../Utils\");\nvar processRegisterModes = function (peripheral, hardwarePeripheral, model) {\n var _a, _b;\n if (!(0, exports.hasModes)(peripheral)) {\n return hardwarePeripheral;\n }\n var modifiedHardwarePeripheral = __assign(__assign({}, hardwarePeripheral), { registers: __assign({}, hardwarePeripheral.registers) });\n (_b = (0, Utils_1.getKeys)((_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a, _b, _c, _d, _e, _f, _g;\n var settings = (_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n var delFlag = false;\n settings === null || settings === void 0 ? void 0 : settings.forEach(function (setting) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n /* const mode = find(setting.tabs, (mode => {\n return mode === \"registerFilter\"\n })) */ // TODO : Multiple modes support\n if (((_a = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _a === void 0 ? void 0 : _a.operation) === \"registerFilter\") {\n var targetStr = (_c = model === null || model === void 0 ? void 0 : model.getComponent((_b = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _b === void 0 ? void 0 : _b.masterComponent)) === null || _c === void 0 ? void 0 : _c.value;\n var matchRegEx = new RegExp((_e = (_d = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _d === void 0 ? void 0 : _d.matchRegEx) !== null && _e !== void 0 ? _e : \"\");\n if (!matchRegEx.test(targetStr)) {\n var settingObj = (_h = (_g = (_f = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _f === void 0 ? void 0 : _f[registerName]) === null || _g === void 0 ? void 0 : _g.settings) === null || _h === void 0 ? void 0 : _h[setting.setting];\n if (settingObj !== undefined) {\n (_l = (_k = (_j = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _j === void 0 ? void 0 : _j[registerName]) === null || _k === void 0 ? void 0 : _k.settings) === null || _l === void 0 ? true : delete _l[setting.setting];\n }\n else {\n (_m = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _m === void 0 ? true : delete _m[registerName];\n }\n delFlag = true;\n }\n }\n });\n if (delFlag &&\n (0, Utils_1.getKeys)((_d = (_c = (_b = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _b === void 0 ? void 0 : _b[registerName]) === null || _c === void 0 ? void 0 : _c.settings) !== null && _d !== void 0 ? _d : [])\n .length <= 0) {\n (_f = (_e = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _e === void 0 ? void 0 : _e[registerName]) === null || _f === void 0 ? true : delete _f.settings;\n (_g = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _g === void 0 ? true : delete _g[registerName];\n }\n });\n return modifiedHardwarePeripheral;\n};\nexports.processRegisterModes = processRegisterModes;\nvar hasModes = function (peripheral) {\n var _a, _b;\n var flag = false;\n (_b = (0, Utils_1.getKeys)((_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var settings = (_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n for (var _i = 0, _b = settings !== null && settings !== void 0 ? settings : []; _i < _b.length; _i++) {\n var setting = _b[_i];\n if ((setting === null || setting === void 0 ? void 0 : setting.mode) !== undefined) {\n flag = true;\n }\n }\n });\n return flag;\n};\nexports.hasModes = hasModes;\n//# sourceMappingURL=RegisterFilterMode.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTimeComponentFormData = void 0;\nexports.isTimeComponentInState = isTimeComponentInState;\nexports.isTimeValueInState = isTimeValueInState;\nexports.isTimeUnitInState = isTimeUnitInState;\nexports.isTimeComponent = isTimeComponent;\nexports.getTimeComponentSchema = getTimeComponentSchema;\nvar getTimeComponentFormData = function (model, component, tab) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit\n };\n var updatedTimeComponent = (model.getDerivedFunctions() && model.getDerivedFunctions()[component.name] != null) ? (_a = model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[component.name]() : undefined;\n if (updatedTimeComponent) {\n if (updatedTimeComponent.defaultValue) {\n componentValue = {\n value: updatedTimeComponent.defaultValue.value,\n unit: updatedTimeComponent.defaultValue.unit,\n };\n }\n else {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n }\n if (updatedTimeComponent.timeMeta) {\n if (updatedTimeComponent.timeMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: updatedTimeComponent.timeMeta.min.value,\n unit: updatedTimeComponent.timeMeta.min.unit,\n } });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: (_c = (_b = component.timeMeta) === null || _b === void 0 ? void 0 : _b.min) === null || _c === void 0 ? void 0 : _c.value,\n unit: (_e = (_d = component.timeMeta) === null || _d === void 0 ? void 0 : _d.min) === null || _e === void 0 ? void 0 : _e.unit,\n } });\n }\n if (updatedTimeComponent.timeMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: updatedTimeComponent.timeMeta.max.value,\n unit: updatedTimeComponent.timeMeta.max.unit,\n } });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: (_g = (_f = component.timeMeta) === null || _f === void 0 ? void 0 : _f.max) === null || _g === void 0 ? void 0 : _g.value,\n unit: (_j = (_h = component.timeMeta) === null || _h === void 0 ? void 0 : _h.max) === null || _j === void 0 ? void 0 : _j.unit,\n } });\n }\n if (updatedTimeComponent.timeMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: updatedTimeComponent.timeMeta.unitOptions });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { options: (_k = component.timeMeta) === null || _k === void 0 ? void 0 : _k.unitOptions });\n }\n }\n }\n else if (component.timeMeta) {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n if (component.timeMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: component.timeMeta.min.value,\n unit: component.timeMeta.min.unit,\n } });\n }\n if (component.timeMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: component.timeMeta.max.value,\n unit: component.timeMeta.max.unit,\n } });\n }\n if (component.timeMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: component.timeMeta.unitOptions });\n }\n }\n else {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n }\n if (!isTimeComponentInState(model, component, tab)) {\n return componentValue;\n }\n else {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n if (isTimeValueInState(model, component, tab)) {\n var valueChanged = tabState[component.group][component.name].value;\n componentValue = __assign(__assign({}, componentValue), { value: valueChanged });\n }\n if (isTimeUnitInState(model, component, tab)) {\n var unitChanged = tabState[component.group][component.name].unit;\n componentValue = __assign(__assign({}, componentValue), { unit: unitChanged });\n }\n return componentValue;\n }\n};\nexports.getTimeComponentFormData = getTimeComponentFormData;\nfunction isTimeComponentInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nfunction isTimeValueInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].value);\n}\nfunction isTimeUnitInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].unit);\n}\nfunction isTimeComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"time\");\n}\nfunction getTimeComponentSchema(component, derivedFunctions) {\n var _a, _b;\n //Schema creation with static moduleConfig data\n var schema = {\n type: \"object\",\n $id: \"timeComponent\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n properties: {\n value: {\n type: \"number\",\n default: component.defaultValue.value,\n },\n unit: {\n type: \"string\",\n default: component.defaultValue.unit,\n }\n },\n };\n if (component.timeMeta) {\n // Min value update\n if (component.timeMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.timeMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: component.timeMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value update\n if (component.timeMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.timeMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: component.timeMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (component.timeMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: component.timeMeta.unitOptions,\n }\n } }) });\n }\n }\n //Schema updation based on dynamic data\n var updatedTimeComponent = (derivedFunctions && derivedFunctions[component.name] != null) ? derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name]() : undefined;\n if (updatedTimeComponent) {\n // description update\n if (updatedTimeComponent.description) {\n schema = __assign(__assign({}, schema), { title: updatedTimeComponent.description });\n }\n // defaultValue update\n if (updatedTimeComponent.defaultValue) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { value: {\n type: \"number\",\n default: updatedTimeComponent.defaultValue.value,\n }, unit: {\n type: \"string\",\n default: updatedTimeComponent.defaultValue.unit,\n } }) });\n }\n // timeMeta update\n if (updatedTimeComponent.timeMeta) {\n // Min value and unit update\n if (updatedTimeComponent.timeMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedTimeComponent.timeMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: updatedTimeComponent.timeMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value and unit update\n if (updatedTimeComponent.timeMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedTimeComponent.timeMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: updatedTimeComponent.timeMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (updatedTimeComponent.timeMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: updatedTimeComponent.timeMeta.unitOptions,\n }\n } }) });\n }\n }\n }\n return schema;\n}\n//# sourceMappingURL=TimeComponentHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigData = void 0;\n/* eslint-disable @typescript-eslint/no-var-requires */\nvar Utils_1 = require(\"../Utils\");\nvar getConfigData = function (model, isModelInitialized) {\n var _a, _b;\n var config = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedData()).getModuleConfig) === null || _b === void 0 ? void 0 : _b.call(_a);\n if (isModelInitialized) {\n config = ConfigBuilder.for(config)\n .withDynamicConfigData(model)\n .withDynamicComponents(model)\n .build();\n }\n else {\n config = ConfigBuilder.for(config).build();\n }\n return config;\n};\nexports.getConfigData = getConfigData;\nvar ConfigBuilder = /** @class */ (function () {\n function ConfigBuilder(config) {\n var _this = this;\n this.build = function () {\n return _this.config;\n };\n this.withDynamicConfigData = function (model) {\n var _a;\n return new ConfigBuilder((_a = model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getDynamicConfigData\", _this.config)) !== null && _a !== void 0 ? _a : _this.config);\n };\n this.withDynamicComponents = function (model) {\n var _a, _b;\n var dynamicComponents = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).getDynamicComponents) === null || _b === void 0 ? void 0 : _b.call(_a);\n if (dynamicComponents) {\n var dynamicComponentMap = (0, Utils_1.toDictionary)(dynamicComponents, function (component) {\n var _a;\n _this.config.UIGroups[component.group] =\n (_a = _this.config.UIGroups[component.group]) !== null && _a !== void 0 ? _a : component.group;\n return component.name;\n }, function (component) { return component; });\n _this.config.softwareData = __assign(__assign({}, _this.config.softwareData), dynamicComponentMap);\n }\n return new ConfigBuilder(_this.config);\n };\n this.config = config;\n }\n ConfigBuilder.for = function (config) {\n if (!config)\n throw console.error(\"Cannot find ModuleConfig\");\n return new ConfigBuilder(config);\n };\n return ConfigBuilder;\n}());\n//# sourceMappingURL=getConfigData.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMappedComponentData = exports.getRegisterEditorValues = exports.getRegisterEditorComponentValue = void 0;\nexports.getRegisterNameList = getRegisterNameList;\nexports.getRegisterKey = getRegisterKey;\nexports.getSettingNameKey = getSettingNameKey;\nexports.getSettingAliasKey = getSettingAliasKey;\nvar DerivedFunctions_1 = require(\"@microchip/melody-automodule-interface/lib/src/DerivedFunctions\");\nvar Utils_1 = require(\"../../Utils\");\nvar getConfigData_1 = require(\"../getConfigData\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar getRegisterEditorComponentValue = function (model, componentName, componentMeta) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24;\n var harwareRegister = (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers;\n var hardwareInterrupts = (_b = model.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral().interrupts;\n var registerList = (_d = getRegisterNameList((_c = model.getHardware()) === null || _c === void 0 ? void 0 : _c.getPeripheral().registers)) !== null && _d !== void 0 ? _d : [];\n var interruptList = (_e = Object.keys(hardwareInterrupts !== null && hardwareInterrupts !== void 0 ? hardwareInterrupts : {})) !== null && _e !== void 0 ? _e : [];\n // For Registers value\n if (registerList.indexOf(componentName) !== -1 && componentMeta === undefined) {\n var registerValues = model.getRegisterValues();\n var registerKey = (_f = getRegisterKey(registerValues, componentName)) !== null && _f !== void 0 ? _f : \"\";\n var deviceDeafultValue = Number((_g = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _g === void 0 ? void 0 : _g.defaultValue);\n var registerValue = (_h = registerValues === null || registerValues === void 0 ? void 0 : registerValues[registerKey]) === null || _h === void 0 ? void 0 : _h.value;\n if (registerValue !== undefined) {\n return registerValue;\n }\n return deviceDeafultValue;\n }\n // For Interrupt value\n if (interruptList.indexOf(componentName.toUpperCase()) !== -1) {\n var stateData = (_l = (_k = (_j = model.getState()) === null || _j === void 0 ? void 0 : _j.register) === null || _k === void 0 ? void 0 : _k.interrupts) === null || _l === void 0 ? void 0 : _l[componentName.toUpperCase()];\n var interruptComponentValue = (_m = model.getComponent(componentName.toLowerCase())) === null || _m === void 0 ? void 0 : _m.value;\n if (stateData !== undefined) {\n return convertToBoolean(stateData);\n }\n var overriddenCompValue = (_p = (_o = model.getDerivedFunctions()).overrideDefaultValues) === null || _p === void 0 ? void 0 : _p.call(_o, componentName.toLowerCase());\n if (overriddenCompValue !== undefined) {\n return convertToBoolean(overriddenCompValue);\n }\n return convertToBoolean(interruptComponentValue);\n }\n // For setting value in a register of componentMeta\n if (componentMeta && registerList.indexOf(componentMeta.register) !== -1) {\n // componentMetaData send to overrideDefaultValues for knowing register and tab information\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: componentMeta.register\n };\n var registerKey = (_q = getRegisterKey(harwareRegister, componentMeta.register)) !== null && _q !== void 0 ? _q : \"\";\n var settingKey = (_s = getSettingNameKey((_r = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _r === void 0 ? void 0 : _r.settings, componentName)) !== null && _s !== void 0 ? _s : \"\";\n var stateData = (_v = (_u = (_t = model.getState()) === null || _t === void 0 ? void 0 : _t.register) === null || _u === void 0 ? void 0 : _u[componentMeta.register]) === null || _v === void 0 ? void 0 : _v[settingKey];\n if (stateData !== undefined) {\n return stateData;\n }\n var overriddenCompValue = (_x = (_w = model.getDerivedFunctions()).overrideDefaultValues) === null || _x === void 0 ? void 0 : _x.call(_w, componentName, componentMetaData);\n if (overriddenCompValue != undefined) {\n return overriddenCompValue;\n }\n var registerValues = model.getRegisterValues();\n var settingValue = (_0 = (_z = (_y = registerValues === null || registerValues === void 0 ? void 0 : registerValues[registerKey]) === null || _y === void 0 ? void 0 : _y.settings) === null || _z === void 0 ? void 0 : _z[settingKey]) === null || _0 === void 0 ? void 0 : _0.value;\n var deviceDefaultValue = Number((_3 = (_2 = (_1 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _1 === void 0 ? void 0 : _1.settings) === null || _2 === void 0 ? void 0 : _2[settingKey]) === null || _3 === void 0 ? void 0 : _3.defaultValue);\n if (((_6 = (_5 = (_4 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _4 === void 0 ? void 0 : _4.settings) === null || _5 === void 0 ? void 0 : _5[settingKey]) === null || _6 === void 0 ? void 0 : _6.options) !== undefined) {\n settingValue = (_9 = (_8 = (_7 = registerValues === null || registerValues === void 0 ? void 0 : registerValues[registerKey]) === null || _7 === void 0 ? void 0 : _7.settings) === null || _8 === void 0 ? void 0 : _8[settingKey]) === null || _9 === void 0 ? void 0 : _9.optionName;\n deviceDefaultValue = (_13 = (_12 = (_11 = (_10 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _10 === void 0 ? void 0 : _10.settings) === null || _11 === void 0 ? void 0 : _11[settingKey]) === null || _12 === void 0 ? void 0 : _12.defaultValue) !== null && _13 !== void 0 ? _13 : \"\";\n }\n if (settingValue !== undefined) {\n return settingValue;\n }\n return deviceDefaultValue;\n }\n else {\n // To support moduleConfig setting components\n var component = (0, exports.getMappedComponentData)(componentName, model);\n if (component && component.registerName) {\n componentName = component.settingName;\n var mappedStateData = (_16 = (_15 = (_14 = model.getState()) === null || _14 === void 0 ? void 0 : _14.register) === null || _15 === void 0 ? void 0 : _15[component.registerName]) === null || _16 === void 0 ? void 0 : _16[componentName];\n if (mappedStateData !== undefined) {\n return mappedStateData;\n }\n var registerKey = (_17 = getRegisterKey(harwareRegister, component.registerName)) !== null && _17 !== void 0 ? _17 : \"\";\n var settingKey = (_19 = getSettingAliasKey((_18 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _18 === void 0 ? void 0 : _18.settings, componentName)) !== null && _19 !== void 0 ? _19 : \"\";\n mappedStateData = (_22 = (_21 = (_20 = model.getState()) === null || _20 === void 0 ? void 0 : _20.register) === null || _21 === void 0 ? void 0 : _21[component.registerName]) === null || _22 === void 0 ? void 0 : _22[settingKey];\n if (mappedStateData !== undefined) {\n return mappedStateData;\n }\n }\n var overriddenCompValue = (_24 = (_23 = model.getDerivedFunctions()).overrideDefaultValues) === null || _24 === void 0 ? void 0 : _24.call(_23, componentName);\n if (overriddenCompValue != undefined) {\n return overriddenCompValue;\n }\n }\n return undefined;\n};\nexports.getRegisterEditorComponentValue = getRegisterEditorComponentValue;\nfunction convertToBoolean(value) {\n if (typeof value === \"string\") {\n return value === \"enabled\" ? true : false;\n }\n return value;\n}\nfunction getRegisterNameList(registers) {\n var _a;\n var registerList = [];\n (_a = (0, Utils_1.getKeys)(registers !== null && registers !== void 0 ? registers : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a;\n var eachRegObj = registers === null || registers === void 0 ? void 0 : registers[registerName];\n var name = (_a = eachRegObj === null || eachRegObj === void 0 ? void 0 : eachRegObj.name) !== null && _a !== void 0 ? _a : \"\";\n registerList.push(name);\n });\n return registerList;\n}\nfunction getRegisterKey(registersValueObjects, registerInstanceName) {\n var _a;\n var result;\n (_a = (0, Utils_1.getKeys)(registersValueObjects !== null && registersValueObjects !== void 0 ? registersValueObjects : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a;\n var eachRegObj = registersValueObjects === null || registersValueObjects === void 0 ? void 0 : registersValueObjects[registerName];\n var name = (_a = eachRegObj === null || eachRegObj === void 0 ? void 0 : eachRegObj.name) !== null && _a !== void 0 ? _a : \"\";\n if (name === registerInstanceName) {\n result = registerName;\n }\n });\n return result;\n}\nfunction getSettingNameKey(settingValueObjects, settingInstanceName) {\n var _a;\n var result;\n (_a = (0, Utils_1.getKeys)(settingValueObjects !== null && settingValueObjects !== void 0 ? settingValueObjects : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (settingName) {\n var _a;\n var eachSetObj = settingValueObjects === null || settingValueObjects === void 0 ? void 0 : settingValueObjects[settingName];\n var name = (_a = eachSetObj === null || eachSetObj === void 0 ? void 0 : eachSetObj.name) !== null && _a !== void 0 ? _a : \"\";\n if (name === settingInstanceName) {\n result = settingName;\n }\n });\n return result;\n}\nfunction getSettingAliasKey(registersValueObjects, setInstanceName) {\n var _a;\n var result;\n (_a = (0, Utils_1.getKeys)(registersValueObjects !== null && registersValueObjects !== void 0 ? registersValueObjects : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (setName) {\n var _a;\n var eachSetObj = registersValueObjects === null || registersValueObjects === void 0 ? void 0 : registersValueObjects[setName];\n var alias = (_a = eachSetObj === null || eachSetObj === void 0 ? void 0 : eachSetObj.alias) !== null && _a !== void 0 ? _a : \"\";\n if (alias === setInstanceName) {\n result = eachSetObj === null || eachSetObj === void 0 ? void 0 : eachSetObj.name;\n }\n });\n return result;\n}\nvar getRegisterEditorValues = function (model, interfaceName) {\n var _a;\n var registers = {};\n var config = (0, getConfigData_1.getConfigData)(model);\n interfaceName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(interfaceName);\n (_a = config === null || config === void 0 ? void 0 : config.peripherals) === null || _a === void 0 ? void 0 : _a.forEach(function (peripheral) {\n var _a, _b, _c;\n var peripheralName = (_a = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n if ((interfaceName != undefined && peripheralName !== interfaceName) ||\n !peripheral.registers)\n return;\n (_c = (0, Utils_1.getKeys)((_b = peripheral.registers) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (regName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var registerValue;\n var reg = (_b = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[regName];\n if (reg) {\n registerValue = {\n comment: \"\",\n value: 0,\n valueAsHex: \"0x00\",\n name: reg === null || reg === void 0 ? void 0 : reg.name,\n alias: (_c = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _c !== void 0 ? _c : reg === null || reg === void 0 ? void 0 : reg.name,\n por: reg.defaultValue,\n settings: {},\n };\n }\n else {\n return;\n }\n var registerVal = CalculateRegisterValue_1.default.for(reg);\n var comments = [];\n (_d = peripheral.registers) === null || _d === void 0 ? void 0 : _d[regName].forEach(function (set) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;\n var setting = (_a = reg.settings) === null || _a === void 0 ? void 0 : _a[set.setting];\n if (setting) {\n if (setting.type !== \"R\") {\n //Add Comments\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_c = (_b = model.getDerivedFunctions()).overrideDefaultValues) === null || _c === void 0 ? void 0 : _c.call(_b, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_f = (_e = (_d = model.getState()) === null || _d === void 0 ? void 0 : _d.register) === null || _e === void 0 ? void 0 : _e[reg.name]) === null || _f === void 0 ? void 0 : _f[setting.name];\n comments.push(settingVal !== undefined ? \"\".concat(set.setting, \" \").concat(settingVal, \"; \") : \"\".concat(set.setting, \" \").concat(model.getComponentValue(set.name), \"; \"));\n }\n if (registerValue === null || registerValue === void 0 ? void 0 : registerValue.settings) {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_h = (_g = model.getDerivedFunctions()).overrideDefaultValues) === null || _h === void 0 ? void 0 : _h.call(_g, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_l = (_k = (_j = model.getState()) === null || _j === void 0 ? void 0 : _j.register) === null || _k === void 0 ? void 0 : _k[reg.name]) === null || _l === void 0 ? void 0 : _l[setting.name];\n registerValue.settings[setting.alias] = (0, AutoModuleHelpers_1.getSettingBits)(reg, setting, (settingVal !== undefined ? settingVal : (_m = model.getComponent(set.name)) === null || _m === void 0 ? void 0 : _m.value), (_o = config === null || config === void 0 ? void 0 : config.deviceType) !== null && _o !== void 0 ? _o : \"PIC\");\n }\n switch (set.type) {\n case \"ComboBox\":\n case \"boolean\":\n {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_q = (_p = model.getDerivedFunctions()).overrideDefaultValues) === null || _q === void 0 ? void 0 : _q.call(_p, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_t = (_s = (_r = model.getState()) === null || _r === void 0 ? void 0 : _r.register) === null || _s === void 0 ? void 0 : _s[reg.name]) === null || _t === void 0 ? void 0 : _t[setting.name];\n registerVal.withNumberValue(setting, (_v = (0, AutoModuleHelpers_1.getOptionValueByName)(setting, (settingVal !== undefined ? settingVal : (_u = model.getComponent(set.name)) === null || _u === void 0 ? void 0 : _u.value))) !== null && _v !== void 0 ? _v : 0);\n }\n break;\n case \"number\":\n {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_x = (_w = model.getDerivedFunctions()).overrideDefaultValues) === null || _x === void 0 ? void 0 : _x.call(_w, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_0 = (_z = (_y = model.getState()) === null || _y === void 0 ? void 0 : _y.register) === null || _z === void 0 ? void 0 : _z[reg.name]) === null || _0 === void 0 ? void 0 : _0[setting.name];\n registerVal.withNumberValue(setting, (settingVal !== undefined ? settingVal : model.getComponentValue(set.name)));\n }\n break;\n case \"register\":\n case \"string\":\n {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_2 = (_1 = model.getDerivedFunctions()).overrideDefaultValues) === null || _2 === void 0 ? void 0 : _2.call(_1, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_5 = (_4 = (_3 = model.getState()) === null || _3 === void 0 ? void 0 : _3.register) === null || _4 === void 0 ? void 0 : _4[reg.name]) === null || _5 === void 0 ? void 0 : _5[setting.name];\n if (settingVal !== undefined) {\n if (setting.options) {\n registerVal.withNumberValue(setting, (_6 = (0, AutoModuleHelpers_1.getOptionValueByName)(setting, settingVal)) !== null && _6 !== void 0 ? _6 : 0);\n }\n else {\n registerVal.withNumberValue(setting, Number(settingVal));\n }\n }\n else {\n registerVal.withNumberValue(setting, Number(model.getComponentValue(set.name)));\n }\n }\n break;\n default:\n break;\n }\n }\n });\n if (reg.settings) {\n registerValue.value = registerVal.asNumber();\n }\n else {\n {\n var regVal = (_f = (_e = model.getState()) === null || _e === void 0 ? void 0 : _e.register) === null || _f === void 0 ? void 0 : _f[reg.name];\n registerValue.value = Number(regVal !== undefined ? regVal : (_l = model.getComponentValue((_k = (_j = (_h = (_g = peripheral.registers) === null || _g === void 0 ? void 0 : _g[regName]) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.name) !== null && _k !== void 0 ? _k : \"\")) !== null && _l !== void 0 ? _l : 0);\n }\n comments.push(\"\".concat(registerValue.name, \" \").concat(registerValue.value, \"; \"));\n }\n registerValue.valueAsHex =\n \"0x\" + registerValue.value.toString(16).toUpperCase();\n registerValue.comment = (0, AutoModuleHelpers_1.sortComments)(comments, reg);\n registers[(_m = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _m !== void 0 ? _m : reg.name] = registerValue;\n });\n });\n return registers;\n};\nexports.getRegisterEditorValues = getRegisterEditorValues;\nvar getMappedComponentData = function (componentName, model) {\n var _a, _b, _c, _d, _e;\n var harwareRegisters = (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers;\n var moduleConfigRegisters = (_c = (_b = (0, getConfigData_1.getConfigData)(model)) === null || _b === void 0 ? void 0 : _b.peripherals) === null || _c === void 0 ? void 0 : _c[0].registers;\n var componentData = undefined;\n if (moduleConfigRegisters && harwareRegisters) {\n for (var _i = 0, _f = (0, Utils_1.getKeys)(moduleConfigRegisters); _i < _f.length; _i++) {\n var eachRegKey = _f[_i];\n for (var _g = 0, _h = moduleConfigRegisters[eachRegKey]; _g < _h.length; _g++) {\n var eachSet = _h[_g];\n if (eachSet && eachSet.name === componentName && harwareRegisters[eachRegKey] !== undefined && ((_d = harwareRegisters[eachRegKey]) === null || _d === void 0 ? void 0 : _d.name)) {\n componentData = {\n settingName: eachSet === null || eachSet === void 0 ? void 0 : eachSet.setting,\n registerName: (_e = harwareRegisters[eachRegKey]) === null || _e === void 0 ? void 0 : _e.name,\n };\n return componentData;\n }\n }\n }\n }\n return componentData;\n};\nexports.getMappedComponentData = getMappedComponentData;\n//# sourceMappingURL=RegisterEditorHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.registerScfUiSchema = exports.createAutoViewPayloads = void 0;\nexports.registerFormData = registerFormData;\nexports.registerUiSchema = registerUiSchema;\nexports.registerInitFormData = registerInitFormData;\nvar scf_register_view_helper_1 = require(\"@microchip/scf-register-view-helper\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelper = __importStar(require(\"../AutoModuleHelpers\"));\nvar getConfigData_1 = require(\"../getConfigData\");\nvar registerFilter = __importStar(require(\"../RegisterFilterMode\"));\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nvar formData_1 = require(\"./formData\");\nvar scfUiSchema_1 = require(\"./scfUiSchema\");\nvar schema_1 = require(\"./schema\");\nvar uiSchema_1 = require(\"./uiSchema\");\nvar DerivedFunctions_1 = require(\"@microchip/melody-automodule-interface/lib/src/DerivedFunctions\");\nvar RegisterEditorHelper_1 = require(\"../registerEditor/RegisterEditorHelper\");\nvar createAutoViewPayloads = function (model) {\n var _a, _b;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var payloads = {\n main: {},\n };\n if (config === null || config === void 0 ? void 0 : config.tabs) {\n Object.keys(config.tabs).forEach(function (tab) {\n payloads[tab] = getPayloadForTab(tab);\n });\n }\n if ((0, getConfigData_1.getConfigData)(model, true).showRegisterEditor === true && AutoModuleHelper.hasConfigBits((_b = (_a = config.peripherals) === null || _a === void 0 ? void 0 : _a[0].interfaceId.name) !== null && _b !== void 0 ? _b : \"\")) {\n payloads[\"register\"] = getPayloadForTab(\"register\");\n }\n return payloads;\n function getPayloadForTab(tab) {\n var _a, _b;\n if (tab === \"register\") {\n if (((_b = (_a = model.getState()) === null || _a === void 0 ? void 0 : _a.contentMeta) === null || _b === void 0 ? void 0 : _b.isUserEnRegRWMode) == true) {\n return createSimpleFormPayloadForRegisterEditor();\n }\n return createSimpleFormPayloadRegister();\n }\n var viewModel = {\n components: model.getAutoModuleAppModel().getAllComponents(),\n getComponent: model.getComponent,\n imports: model.getImports(),\n derivedFunctions: model.getDerivedFunctions(),\n getAssignedImport: model.getAssignedImport,\n getTableHelpers: model.getTableHelpers,\n };\n var schemaViewModel = {\n viewModel: viewModel,\n getDerivedFunction: {\n overrideTitle: model.getDerivedFunction(\"overrideTitle\"),\n isVisible: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n getFunction: model.getDerivedFunction,\n },\n overrideTableOptions: model.getDerivedFunctions()[\"overrideTableOptions\"],\n overrideDefaultValues: model.getDerivedFunctions()[\"overrideTableDefaultValues\"],\n model: model,\n };\n var uiSchemaViewModel = {\n viewModel: viewModel,\n getDerivedFunction: {\n isEnabled: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n getUiBehavior: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).getUiBehavior) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n isVisible: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n },\n getProcessedArgValue: model.getExportInterfaces().getProcessedArgValue,\n isControlledByInterface: model.isControlledByInterface,\n };\n return {\n schema: (0, schema_1.createSchema)(tab, config, schemaViewModel),\n uiSchema: (0, uiSchema_1.createUiSchema)(tab, config, uiSchemaViewModel),\n formData: (0, formData_1.createFormData)(tab, config, model),\n scfUiSchema: (0, scfUiSchema_1.createScfUiSchema)(tab, config, model),\n name: config === null || config === void 0 ? void 0 : config.tabs[tab],\n table: (0, autoModuleViewHelpers_1.shouldPopulateView)(model.getDerivedFunctions(), model.getImports(), model.getAssignedImport, config)\n ? model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getTableData\")\n : undefined,\n expandGroupsByDefault: (config === null || config === void 0 ? void 0 : config.UIGroupCollapse)\n ? config.UIGroupCollapse\n : true,\n };\n }\n function createSimpleFormPayloadRegister() {\n if (!(config === null || config === void 0 ? void 0 : config.peripherals)) {\n return {};\n }\n var registerViewPayloads = [];\n config.peripherals.forEach(function (peripheral) {\n var _a, _b, _c, _d, _e, _f;\n if (AutoModuleHelper.hasConfigBits(peripheral.interfaceId.name)) {\n return;\n }\n var hardwarePeripheral = (_a = model\n .getHardware(peripheral.interfaceId.name)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n if (!(hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers)) {\n return;\n }\n var registerValues = model.getRegisterValues(peripheral.interfaceId.name);\n var interrupts = model.getInterrupts();\n hardwarePeripheral = registerFilter.processRegisterModes(peripheral, hardwarePeripheral, model);\n //TODO: implement for all peripherals\n var registerView = scf_register_view_helper_1.CreateRegisterView.for(hardwarePeripheral);\n if (registerValues) {\n (_b = (0, Utils_1.getKeys)(registerValues !== null && registerValues !== void 0 ? registerValues : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var foundRegister = (_a = hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n if (foundRegister) {\n registerView.withRegisterValue(foundRegister, registerValues[registerName].value);\n }\n });\n }\n for (var interruptsKey in interrupts !== null && interrupts !== void 0 ? interrupts : {}) {\n var interrupt = interrupts === null || interrupts === void 0 ? void 0 : interrupts[interruptsKey];\n if (interrupt) {\n var interruptComponent = model.getComponent(interruptsKey.toLowerCase());\n var interruptCompVal = typeof (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value) === \"boolean\"\n ? (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value)\n ? \"enabled\"\n : \"disabled\"\n : interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value;\n registerView\n .withInterruptValue(interrupt, (_c = interruptCompVal !== null && interruptCompVal !== void 0 ? interruptCompVal : interrupt.defaultValue) !== null && _c !== void 0 ? _c : \"disabled\")\n .withInterruptOptions(interrupt, (_f = (_e = (_d = interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.component) === null || _d === void 0 ? void 0 : _d[\"defaultValue\"]) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : [\n \"enabled\",\n \"disabled\",\n ]);\n }\n }\n if ((0, getConfigData_1.getConfigData)(model, true).showRegisterEditor === true) {\n registerViewPayloads.push(__assign(__assign({}, registerView.create()), { \n // Recomputing/modifying the form data to prevent conflicts in values (setting bits with options that have identical values).\n formData: registerInitFormData(model, registerView.create().formData), scfUiSchema: (0, exports.registerScfUiSchema)(model, hardwarePeripheral.registers) }));\n }\n else {\n registerViewPayloads.push(__assign(__assign({}, registerView.create()), { \n // Recomputing/modifying the form data to prevent conflicts in values (setting bits with options that have identical values).\n formData: registerInitFormData(model, registerView.create().formData) }));\n }\n });\n return registerViewPayloads[0];\n }\n // Form payload for Register Editor\n function createSimpleFormPayloadForRegisterEditor() {\n if (!(config === null || config === void 0 ? void 0 : config.peripherals)) {\n return {};\n }\n var registerViewPayloads = [];\n config.peripherals.forEach(function (peripheral) {\n var _a, _b, _c, _d, _e, _f;\n var hardwarePeripheral = (_a = model\n .getHardware(peripheral.interfaceId.name)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n if (!(hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers)) {\n return;\n }\n var registerValues = model.getRegisterValues(peripheral.interfaceId.name);\n var interrupts = model.getInterrupts();\n hardwarePeripheral = registerFilter.processRegisterModes(peripheral, hardwarePeripheral, model);\n var registerView = scf_register_view_helper_1.CreateRegisterView.for(hardwarePeripheral).withAllEditable();\n if (registerValues) {\n (_b = (0, Utils_1.getKeys)(registerValues !== null && registerValues !== void 0 ? registerValues : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var foundRegister = (_a = hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n if (foundRegister) {\n registerView.withRegisterValue(foundRegister, registerValues[registerName].value);\n }\n });\n }\n for (var interruptsKey in interrupts !== null && interrupts !== void 0 ? interrupts : {}) {\n var interrupt = interrupts === null || interrupts === void 0 ? void 0 : interrupts[interruptsKey];\n if (interrupt) {\n var interruptComponent = model.getComponent(interruptsKey.toLowerCase());\n var interruptCompVal = typeof (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value) === \"boolean\"\n ? (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value)\n ? \"enabled\"\n : \"disabled\"\n : interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value;\n registerView\n .withInterruptValue(interrupt, (_c = interruptCompVal !== null && interruptCompVal !== void 0 ? interruptCompVal : interrupt.defaultValue) !== null && _c !== void 0 ? _c : \"disabled\")\n .withInterruptOptions(interrupt, (_f = (_e = (_d = interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.component) === null || _d === void 0 ? void 0 : _d[\"defaultValue\"]) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : [\n \"enabled\",\n \"disabled\",\n ]);\n }\n }\n registerViewPayloads.push(__assign(__assign({}, registerView.create()), { formData: registerFormData(model, registerView.create().formData), uiSchema: registerUiSchema(model, registerView, hardwarePeripheral.registers, hardwarePeripheral.interrupts), scfUiSchema: (0, exports.registerScfUiSchema)(model, hardwarePeripheral.registers) }));\n });\n return registerViewPayloads[0];\n }\n};\nexports.createAutoViewPayloads = createAutoViewPayloads;\nvar registerScfUiSchema = function (model, hardwareRegisters) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var scfUiSchema = {};\n var deviceMeta = model.getImportValue(\"device_meta\");\n var hasSdlSupport = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.hasSdlSupport) !== null && _a !== void 0 ? _a : false;\n var helpUrl = \"\";\n if (deviceMeta && hasSdlSupport) {\n if ((_b = deviceMeta.architecture) === null || _b === void 0 ? void 0 : _b.startsWith(\"PIC\")) {\n helpUrl = \"v2/keyword-lookup?keyword=atmel;device:${deviceName};register:${registerName}&redirect=true\";\n }\n else if ((_c = deviceMeta.architecture) === null || _c === void 0 ? void 0 : _c.startsWith(\"AVR\")) {\n helpUrl = \"v2/keyword-lookup?keyword=atmel;device:${deviceName};comp:${moduleName}_${dosId};register:${registerName}&redirect=true\";\n }\n var deviceName_1 = (_d = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.deviceName) !== null && _d !== void 0 ? _d : \"\";\n var moduleName_1 = (_g = (_f = (_e = model.getHardware()) === null || _e === void 0 ? void 0 : _e.getPeripheral()) === null || _f === void 0 ? void 0 : _f.group) !== null && _g !== void 0 ? _g : \"\";\n var dosid_1 = (_k = (_j = (_h = model.getHardware()) === null || _h === void 0 ? void 0 : _h.getPeripheral()) === null || _j === void 0 ? void 0 : _j.dosid) !== null && _k !== void 0 ? _k : \"\";\n if (hardwareRegisters != undefined) {\n (0, Utils_1.values)(hardwareRegisters !== null && hardwareRegisters !== void 0 ? hardwareRegisters : {}).forEach(function (eachRegister) {\n var _a, _b;\n if (eachRegister) {\n var settings_1 = (_b = hardwareRegisters[(_a = eachRegister.alias) !== null && _a !== void 0 ? _a : \"\"]) === null || _b === void 0 ? void 0 : _b.settings;\n if (settings_1) {\n (0, Utils_1.getKeys)(settings_1).forEach(function (eachSetting) {\n var _a, _b;\n var _c;\n var eachSettingObject = settings_1[eachSetting];\n if (eachSettingObject) {\n var sdlHelpUrl = helpUrl\n .replace(\"${deviceName}\", deviceName_1 !== null && deviceName_1 !== void 0 ? deviceName_1 : \"\")\n .replace(\"${registerName}\", eachRegister.name)\n .replace(\"${moduleName}\", moduleName_1 !== null && moduleName_1 !== void 0 ? moduleName_1 : \"\")\n .replace(\"${dosId}\", dosid_1 !== null && dosid_1 !== void 0 ? dosid_1 : \"\");\n scfUiSchema = __assign(__assign({}, scfUiSchema), (_a = {}, _a[eachRegister.name] = __assign(__assign({}, scfUiSchema[eachRegister.name]), (_b = {}, _b[eachSettingObject.name] = __assign(__assign({}, (_c = scfUiSchema[eachRegister.name]) === null || _c === void 0 ? void 0 : _c[eachSettingObject.name]), { helpKeyword: sdlHelpUrl, tooltip: \"Click for more Information\" }), _b)), _a));\n }\n });\n }\n }\n });\n }\n }\n return scfUiSchema;\n};\nexports.registerScfUiSchema = registerScfUiSchema;\nfunction registerFormData(model, formData) {\n var _a, _b;\n var formDataCopy = __assign({}, formData);\n for (var _i = 0, _c = Object.keys(formDataCopy); _i < _c.length; _i++) {\n var register = _c[_i];\n for (var _d = 0, _e = Object.keys(formDataCopy[register]); _d < _e.length; _d++) {\n var setting = _e[_d];\n var value = model.getComponentValue(setting, { register: register }) !== undefined\n ? model.getComponentValue(setting, { register: register })\n : model.getComponentValue(setting);\n if (register === \"interrupts\") {\n value = value == true ? \"enabled\" : \"disabled\";\n }\n formData = __assign(__assign({}, formData), (_a = {}, _a[register] = __assign(__assign({}, formData[register]), (_b = {}, _b[setting] = value, _b)), _a));\n }\n }\n return formData;\n}\nfunction registerUiSchema(model, registerView, hardwareRegisters, hardwareInterrupt) {\n if (hardwareRegisters != undefined) {\n // For Registers and Settings\n (0, Utils_1.getKeys)(hardwareRegisters !== null && hardwareRegisters !== void 0 ? hardwareRegisters : {}).forEach(function (eachRegister) {\n var _a, _b, _c, _d, _e, _f, _g;\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.REGISTER,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n };\n var registerName = (_b = (_a = hardwareRegisters[eachRegister]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : \"\";\n // isEnabled for each Register in device.\n var isEnabled = (_d = model === null || model === void 0 ? void 0 : (_c = model.getDerivedFunctions()).isEnabled) === null || _d === void 0 ? void 0 : _d.call(_c, registerName, componentMetaData);\n if (isEnabled === false) {\n registerView = registerView.withNonEditableRegister(hardwareRegisters[eachRegister]);\n }\n var settings = (_e = hardwareRegisters[eachRegister]) === null || _e === void 0 ? void 0 : _e.settings;\n (0, Utils_1.getKeys)(settings !== null && settings !== void 0 ? settings : {}).forEach(function (eachSetting) {\n var _a, _b, _c, _d, _e, _f;\n var eachSettingObject = settings === null || settings === void 0 ? void 0 : settings[eachSetting];\n if (eachSettingObject) {\n var settingName = eachSettingObject.name;\n var componentMetaData_1 = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: registerName\n };\n // isEnabled for each Register's Settings in device.\n var isEnabled_1 = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, settingName, componentMetaData_1);\n if (eachSettingObject && settingName && isEnabled_1 === false) {\n registerView = registerView.withEditableRegisterSetting(hardwareRegisters === null || hardwareRegisters === void 0 ? void 0 : hardwareRegisters[eachRegister], eachSettingObject);\n }\n // isVisible for each Register's Settings in device.\n var isVisible_1 = (_d = model === null || model === void 0 ? void 0 : (_c = model.getDerivedFunctions()).isVisible) === null || _d === void 0 ? void 0 : _d.call(_c, settingName, componentMetaData_1);\n if (eachSettingObject && settingName && isVisible_1 === false) {\n registerView = registerView.withInVisibleRegisterSetting(hardwareRegisters === null || hardwareRegisters === void 0 ? void 0 : hardwareRegisters[eachRegister], eachSettingObject);\n }\n // override setting level description based on setting name and component's Meta \n var overrideTitle = (_f = model === null || model === void 0 ? void 0 : (_e = model.getDerivedFunctions()).overrideTitle) === null || _f === void 0 ? void 0 : _f.call(_e, settingName, componentMetaData_1);\n if (overrideTitle && typeof overrideTitle === \"string\") {\n registerView = registerView.withUpdatedSettingDescription(hardwareRegisters === null || hardwareRegisters === void 0 ? void 0 : hardwareRegisters[eachRegister], eachSettingObject, overrideTitle);\n }\n }\n });\n // isVisible for each Register in device.\n var isVisible = (_g = model === null || model === void 0 ? void 0 : (_f = model.getDerivedFunctions()).isVisible) === null || _g === void 0 ? void 0 : _g.call(_f, registerName, componentMetaData);\n if (isVisible === false) {\n registerView = registerView.withInVisibleRegister(hardwareRegisters[eachRegister]);\n }\n });\n // For interrupts\n (0, Utils_1.getKeys)(hardwareInterrupt !== null && hardwareInterrupt !== void 0 ? hardwareInterrupt : {}).forEach(function (eachInterrupts) {\n var _a, _b, _c, _d;\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.INTERRUPT,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n };\n // isEnabled for each Interrupts in device.\n var isEnabled = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, eachInterrupts, componentMetaData);\n if (isEnabled === false) {\n registerView = registerView.withNonEditableInterrupt(hardwareInterrupt === null || hardwareInterrupt === void 0 ? void 0 : hardwareInterrupt[eachInterrupts]);\n }\n // isVisible for each Interrupts in device.\n var isVisible = (_d = model === null || model === void 0 ? void 0 : (_c = model.getDerivedFunctions()).isVisible) === null || _d === void 0 ? void 0 : _d.call(_c, eachInterrupts, componentMetaData);\n if (isVisible === false) {\n registerView = registerView.withInVisibleInterrupt(hardwareInterrupt === null || hardwareInterrupt === void 0 ? void 0 : hardwareInterrupt[eachInterrupts]);\n }\n });\n }\n return registerView.create().uiSchema;\n}\nfunction registerInitFormData(model, formData) {\n var _a, _b;\n var formDataCopy = __assign({}, formData);\n for (var _i = 0, _c = Object.keys(formDataCopy); _i < _c.length; _i++) {\n var register = _c[_i];\n for (var _d = 0, _e = Object.keys(formDataCopy[register]); _d < _e.length; _d++) {\n var setting = _e[_d];\n var value = (0, RegisterEditorHelper_1.getRegisterEditorComponentValue)(model, setting, { register: register }) !== undefined\n ? (0, RegisterEditorHelper_1.getRegisterEditorComponentValue)(model, setting, { register: register })\n : model.getComponentValue(setting);\n if (register === \"interrupts\") {\n value = value == true ? \"enabled\" : \"disabled\";\n }\n formData = __assign(__assign({}, formData), (_a = {}, _a[register] = __assign(__assign({}, formData[register]), (_b = {}, _b[setting] = value, _b)), _a));\n }\n }\n return formData;\n}\n//# sourceMappingURL=autoModuleView.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isComponentInvisible = void 0;\nexports.isUrl = isUrl;\nexports.isImage = isImage;\nexports.isModeActive = isModeActive;\nexports.shouldPopulateView = shouldPopulateView;\nvar AutoModuleHardware_1 = require(\"../AutoModuleHardware\");\nfunction isUrl(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"url\");\n}\nfunction isImage(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"image\");\n}\nfunction isModeActive(mode, component, getComponent) {\n var _a, _b, _c, _d, _e, _f;\n if (((_a = component === null || component === void 0 ? void 0 : component.mode) === null || _a === void 0 ? void 0 : _a.operation) !== mode) {\n return undefined; //No mode selected\n }\n var masterComponent = getComponent(component.mode.masterComponent);\n if ((_b = component.mode) === null || _b === void 0 ? void 0 : _b.matchRegEx) {\n var value = (_f = (_e = (_d = (_c = masterComponent === null || masterComponent === void 0 ? void 0 : masterComponent.value) === null || _c === void 0 ? void 0 : _c.toString()) === null || _d === void 0 ? void 0 : _d.match(component.mode.matchRegEx)) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0;\n return value > 0;\n }\n return undefined;\n}\nfunction shouldPopulateView(derivedFunctions, imports, getAssignedImport, config) {\n var _a;\n if (displayViewOnImportAssigned(getAssignedImport, config) === false) {\n return false;\n }\n return (((_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.shouldPopulateViewAtStartup) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions)) === true ||\n (0, AutoModuleHardware_1.isFullyAssigned)(imports, config));\n}\nfunction displayViewOnImportAssigned(getAssignedImport, config) {\n var shouldPopulateView = true;\n if (config === null || config === void 0 ? void 0 : config.displayViewOnImportAssigned) {\n config.displayViewOnImportAssigned.forEach(function (impKey) {\n if (getAssignedImport(impKey) == undefined) {\n shouldPopulateView = false;\n }\n });\n }\n return shouldPopulateView;\n}\nvar isComponentInvisible = function (component, appModel) {\n var _a, _b;\n var isInvisibleViaProperty = component.isVisibleProperty &&\n appModel.getDerivedFunction(component.isVisibleProperty) == false;\n return (((_b = (_a = appModel.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) === false ||\n isInvisibleViaProperty ||\n isModeActive(\"isVisible\", component, appModel.getComponent) === false);\n};\nexports.isComponentInvisible = isComponentInvisible;\n//# sourceMappingURL=autoModuleViewHelpers.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createFormData = createFormData;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar schema_1 = require(\"./schema\");\nvar TimeComponentHelper_1 = require(\"../TimeComponentHelper\");\nvar FrequencyComponentHelper_1 = require(\"../FrequencyComponentHelper\");\nfunction createFormData(tab, config, model) {\n var _a;\n var formData = {};\n if (config) {\n var components = model.getAutoModuleAppModel().getAllComponents();\n (_a = (0, Utils_1.values)(components)) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {\n var _a;\n if (!config) {\n return;\n }\n var component = entry.component;\n var value = model.getComponentValue(component.name);\n var regex = new RegExp(\"[en,dis]abled?\");\n if (component.type === \"boolean\") {\n if (value && typeof value === 'string') {\n if (regex.test(value.toLowerCase()) && typeof config.booleanValues.true === \"string\") {\n var configVal = config.booleanValues.true;\n if (configVal.toLowerCase() === \"enable\") {\n value = value.toLowerCase().startsWith(configVal.toLowerCase());\n }\n else {\n value = configVal.toLowerCase().startsWith(value.toLowerCase());\n }\n }\n else if (value === \"true\") {\n value = true;\n }\n else if (value === \"false\") {\n value = false;\n }\n }\n else if (value && typeof value === 'boolean') {\n value = value;\n }\n }\n if (component.type === \"DescriptionOnly\") {\n value = null;\n }\n if ((0, schema_1.isInvalidTab)(component.tabs, tab)) {\n return;\n }\n if (component.category === \"table\") {\n value = (0, tables_1.getTableFormData)(model, component, tab);\n }\n if (component.category === \"file_load\") {\n value = \"\";\n }\n if (component.type === \"time\") {\n value = (0, TimeComponentHelper_1.getTimeComponentFormData)(model, component, tab);\n }\n if (component.type === \"frequency\") {\n value = (0, FrequencyComponentHelper_1.getFreqCompFormData)(model, component, tab);\n }\n if (component.category === \"file_save\") {\n value = \"\";\n }\n formData[component.group] = __assign(__assign({}, formData[component.group]), (_a = {}, _a[component.name] = value, _a));\n });\n }\n return formData;\n}\n//# sourceMappingURL=formData.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createScfUiSchema = createScfUiSchema;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar ContextualHelp_1 = require(\"../ContextualHelp\");\nfunction createScfUiSchema(tab, config, model) {\n var _a;\n var scfUiSchema = {};\n if (config) {\n var components_1 = getAllComponents(model);\n (_a = (0, Utils_1.getKeys)(components_1)) === null || _a === void 0 ? void 0 : _a.forEach(function (eachKey) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var component = components_1[eachKey].component;\n var name = component.name, group = component.group;\n var schema = {};\n if (component.tabs.indexOf(tab) == -1)\n return;\n if (!scfUiSchema[group]) {\n scfUiSchema[group] = {};\n }\n if (!scfUiSchema[group][name]) {\n scfUiSchema[group][name] = {};\n }\n var actions = getActions(component, model);\n var transformErrors = model.getDerivedFunction(\"getCustomUiErrors\", name);\n if (model.getImports()) {\n var deviceMeta = model.getImportValue(\"device_meta\");\n var hasSdlSupport = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.hasSdlSupport) !== null && _a !== void 0 ? _a : false;\n if (component.sdlHelp && hasSdlSupport) {\n var helpUrl = component.sdlHelp.url;\n schema[\"helpKeyword\"] = getHelpKeyword(model, name, helpUrl);\n schema[\"tooltip\"] = getTooltip(component);\n }\n }\n if (component.category === \"file_load\") {\n schema[\"fileLoadProps\"] = {};\n schema[\"fileLoadProps\"][\"fileId\"] = eachKey;\n schema[\"fileLoadProps\"][\"saveState\"] = (_c = (_b = component.fileMeta) === null || _b === void 0 ? void 0 : _b.saveState) !== null && _c !== void 0 ? _c : false;\n schema[\"fileLoadProps\"][\"filter\"] = (_d = component.fileMeta) === null || _d === void 0 ? void 0 : _d.filter;\n schema[\"fileLoadProps\"][\"type\"] = \"file_load\";\n schema[\"fileLoadProps\"][\"compText\"] = (_e = component.fileMeta) === null || _e === void 0 ? void 0 : _e.compText;\n }\n if (component.category === \"file_save\") {\n schema[\"fileSaveProps\"] = {};\n schema[\"fileSaveProps\"][\"fileId\"] = eachKey;\n schema[\"fileSaveProps\"][\"fileContents\"] = model.getComponentValue(component.name);\n schema[\"fileSaveProps\"][\"fileName\"] = (_f = component.fileMeta) === null || _f === void 0 ? void 0 : _f.defaultName;\n schema[\"fileSaveProps\"][\"type\"] = \"file_save\";\n schema[\"fileSaveProps\"][\"compText\"] = (_g = component.fileMeta) === null || _g === void 0 ? void 0 : _g.compText;\n }\n if (component.category === \"table\") {\n var tableState = (_k = (_j = (_h = model === null || model === void 0 ? void 0 : model.getState()) === null || _h === void 0 ? void 0 : _h[tab]) === null || _j === void 0 ? void 0 : _j[group]) === null || _k === void 0 ? void 0 : _k[name];\n var uids = (0, tables_1.createTableUids)(component, tab, model, tableState);\n schema[\"table\"] = getTableUiSchema(component, uids);\n actions = (0, tables_1.getTableActions)(component, tab, model, uids);\n }\n schema[\"precision\"] = component[\"precision\"];\n schema[\"shouldDispatchOnChange\"] = component[\"shouldDispatchOnChange\"];\n if (actions) {\n schema[\"actions\"] = actions;\n }\n if (transformErrors) {\n schema[\"transformErrors\"] = transformErrors;\n }\n scfUiSchema[group][name] = __assign({}, schema);\n });\n }\n return scfUiSchema;\n}\nfunction getAllComponents(model) {\n return model.getAutoModuleAppModel().getAllComponents();\n}\nfunction getHelpKeyword(model, componentName, helpUrl) {\n var _a;\n return ((_a = model.getDerivedFunction(\"getHelpUrl\", componentName, helpUrl)) !== null && _a !== void 0 ? _a : (0, ContextualHelp_1.getAutoSdlHelp)(model, componentName, helpUrl));\n}\nfunction getTooltip(component) {\n var _a, _b;\n return (_b = (_a = component.sdlHelp) === null || _a === void 0 ? void 0 : _a.tooltip) !== null && _b !== void 0 ? _b : \"Click for more information\";\n}\nfunction getTableUiSchema(component, uids) {\n var cellValidationInfo = (0, tables_1.getCellValidationInfo)(component);\n return {\n canRemoveRows: component.canRemoveRows,\n canInsertRows: component.canInsertRows,\n canAddRows: component.canAddRows,\n canMoveRowDown: component.canMoveRowDown,\n canMoveRowUp: component.canMoveRowUp,\n canEnableRows: component.canEnableRows,\n uids: uids,\n cellValidationInfo: cellValidationInfo,\n };\n}\nfunction getDependencySelectorActions(component, model) {\n var depSelector = new AutoModuleHelpers_1.DependencySelector(model, component);\n var options = depSelector.generateDropdownOptions();\n var dependencySelectorActions = [];\n options.forEach(function (dropdownOption) {\n var option = dropdownOption.value;\n dependencySelectorActions.push({\n type: \"[Import] SET\",\n payload: {\n importId: component.importId,\n handle: option === null || option === void 0 ? void 0 : option.handle,\n interfaceId: option === null || option === void 0 ? void 0 : option.interfaceId,\n option: dropdownOption.label,\n },\n });\n });\n return JSON.stringify(dependencySelectorActions);\n}\nfunction getActions(component, model) {\n if (component.category === \"import\") {\n return getDependencySelectorActions(component, model);\n }\n var actions = model.getDerivedFunction(\"getActions\", component.name, component.actions);\n return JSON.stringify(actions); //TODO: support map\n}\n//# sourceMappingURL=scfUiSchema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createSchema = createSchema;\nexports.isInvalidTab = isInvalidTab;\nexports.getDependencyComponentSchema = getDependencyComponentSchema;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar TimeComponentHelper_1 = require(\"../TimeComponentHelper\");\nvar FrequencyComponentHelper_1 = require(\"../FrequencyComponentHelper\");\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nfunction createSchema(tab, config, viewModel) {\n var _a, _b, _c, _d, _e, _f, _g;\n var schema = {};\n if (config) {\n var populateView_1 = (0, autoModuleViewHelpers_1.shouldPopulateView)(viewModel.viewModel.derivedFunctions, viewModel.viewModel.imports, viewModel.viewModel.getAssignedImport, config);\n schema = {\n description: (_c = (_b = (_a = viewModel.viewModel).getModuleDescription) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : (0, AutoModuleHelpers_1.getModuleDefaultDescription)(),\n title: config.moduleName,\n type: \"object\",\n properties: {},\n };\n var schemaBuilder_1 = {\n properties: {},\n };\n (_e = (0, Utils_1.values)((_d = viewModel.viewModel.components) !== null && _d !== void 0 ? _d : {})) === null || _e === void 0 ? void 0 : _e.forEach(function (entry) {\n var _a, _b, _c, _d, _e;\n var component = entry.component;\n if ((!populateView_1 && component.category != \"import\") ||\n isInvalidTab(component.tabs, tab)) {\n return;\n }\n if (!schemaBuilder_1[component.group]) {\n schemaBuilder_1[component.group] = {\n title: (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.overrideGroupTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.group)) !== null && _c !== void 0 ? _c : config === null || config === void 0 ? void 0 : config.UIGroups[component.group],\n description: (_e = (_d = viewModel.viewModel.derivedFunctions) === null || _d === void 0 ? void 0 : _d.overrideGroupDescription) === null || _e === void 0 ? void 0 : _e.call(_d, component.group),\n type: \"object\",\n properties: {},\n };\n }\n schemaBuilder_1[component.group].properties = __assign(__assign({}, schemaBuilder_1[component.group].properties), getComponentSchema(component, tab, viewModel));\n });\n //Sort groups based on order of UIGroups and remove groups with no components\n (_g = (0, Utils_1.getKeys)((_f = config.UIGroups) !== null && _f !== void 0 ? _f : {})) === null || _g === void 0 ? void 0 : _g.forEach(function (group) {\n var _a, _b, _c, _d;\n if (((_d = (_c = (0, Utils_1.getKeys)((_b = (_a = schemaBuilder_1[group]) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0 &&\n schema.properties) {\n schema.properties[group] = schemaBuilder_1[group];\n }\n });\n }\n return schema;\n}\nfunction getComponentSchema(component, tab, viewModel) {\n var _a;\n var schema = {};\n if (isInvalidTab(component.tabs, tab) ||\n (viewModel.model && (0, autoModuleViewHelpers_1.isComponentInvisible)(component, viewModel.model))) {\n return schema;\n }\n schema = addComponentSchema(component, viewModel);\n if (schema == undefined) {\n return schema;\n }\n if (shouldAddValidator(component, viewModel.viewModel.derivedFunctions)) {\n schema = addComponentValidator(schema, component, viewModel.viewModel.derivedFunctions);\n }\n var componentName = component.name;\n schema = (_a = {}, _a[componentName] = __assign({}, schema), _a);\n return schema;\n}\nfunction isInvalidTab(tabs, tab) {\n return tabs.indexOf(tab) == -1;\n}\nfunction addComponentValidator(schema, component, derivedFunctions) {\n return __assign(__assign({}, schema), derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name + \"Validator\"]());\n}\nfunction shouldAddValidator(component, derivedFunctions) {\n return (component.validation &&\n derivedFunctions &&\n (derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name + \"Validator\"]) != null);\n}\nfunction addComponentSchema(component, viewModel) {\n if (component.category === \"software\") {\n return getSoftwareComponentSchema(component, viewModel.viewModel.derivedFunctions);\n }\n else if (component.category === \"hardware\") {\n return getHardwareComponentSchema(component, viewModel);\n }\n else if (component.category === \"import\") {\n return getDependencyComponentSchema(component, viewModel);\n }\n else if (component.category === \"file_load\") {\n return getFileLoadComponentSchema(component, viewModel);\n }\n else if (component.category === \"file_save\") {\n return getFileSaveComponentSchema(component, viewModel);\n }\n else if (component[\"category\"] === \"table\") {\n return (0, tables_1.getTableComponentSchema)(component, viewModel);\n }\n return undefined;\n}\nfunction getSoftwareComponentSchema(component, derivedFunctions) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var schema = {};\n if (component.type === \"ComboBox\") {\n schema = {\n type: \"string\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n default: (0, AutoModuleHelpers_1.getDefaultValue)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideDefaultValues, component),\n enum: (0, AutoModuleHelpers_1.getComboOptions)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideOptions, component),\n };\n }\n else if (component.type === \"hex\") {\n schema = {\n type: \"integer\",\n title: (_d = (_c = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _c === void 0 ? void 0 : _c.call(derivedFunctions, component.name)) !== null && _d !== void 0 ? _d : component.description,\n format: \"hex\",\n default: (0, AutoModuleHelpers_1.getDefaultValue)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideDefaultValues, component),\n };\n }\n else if (component.type === \"DescriptionOnly\") {\n schema = {\n type: \"null\",\n title: (_f = (_e = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _e === void 0 ? void 0 : _e.call(derivedFunctions, component.name)) !== null && _f !== void 0 ? _f : component.description,\n };\n }\n else if (component.type === \"time\") {\n schema = (0, TimeComponentHelper_1.getTimeComponentSchema)(component, derivedFunctions);\n }\n else if (component.type === \"frequency\") {\n schema = (0, FrequencyComponentHelper_1.getFreqCompSchema)(component, derivedFunctions);\n }\n else {\n schema = {\n type: component.type,\n title: (_h = (_g = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _g === void 0 ? void 0 : _g.call(derivedFunctions, component.name)) !== null && _h !== void 0 ? _h : component.description,\n };\n if ((0, autoModuleViewHelpers_1.isUrl)(component) && component.urlDescription) {\n schema = __assign(__assign({}, schema), { description: component.urlDescription });\n }\n if ((0, autoModuleViewHelpers_1.isImage)(component) && component.imageDescription) {\n schema = __assign(__assign({}, schema), { description: component.imageDescription });\n }\n }\n return schema;\n}\nfunction getDependencyComponentSchema(component, viewModel) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var schema = {};\n if (((_a = component.uiBehavior) === null || _a === void 0 ? void 0 : _a[\"ui:widget\"]) === \"hidden\") {\n return;\n }\n if (component.type === \"ComboBox\" && viewModel.model) {\n var dependencySelector = new AutoModuleHelpers_1.DependencySelector(viewModel.model, component);\n if (dependencySelector.getDropdownOptionNames().length <= 0) {\n return schema;\n }\n var dropdownOptions_1 = dependencySelector.getDropdownOptionNames();\n var assignedImport = (_c = (_b = viewModel.createProcessedImports) === null || _b === void 0 ? void 0 : _b.call(viewModel, \"views\")) === null || _c === void 0 ? void 0 : _c[component.importId];\n var NONE_1 = \"None\";\n var assignedName = NONE_1;\n var selectedDependency = viewModel.model.getComponentValue(component.name);\n if (assignedImport === null || assignedImport === void 0 ? void 0 : assignedImport.handle) {\n assignedName = dependencySelector.createOptionLabel(assignedImport.handle, assignedImport.payload);\n dropdownOptions_1.push(assignedName);\n }\n else if (selectedDependency) {\n dropdownOptions_1.push(selectedDependency);\n }\n dropdownOptions_1 = dropdownOptions_1.sort(function (a, b) {\n return a.localeCompare(b);\n });\n dropdownOptions_1 = __spreadArray([NONE_1], dropdownOptions_1.filter(function (item) { return item !== NONE_1; }), true);\n var overrideOptionsValue = (_f = (_e = (_d = viewModel === null || viewModel === void 0 ? void 0 : viewModel.viewModel) === null || _d === void 0 ? void 0 : _d.derivedFunctions) === null || _e === void 0 ? void 0 : _e.overrideOptions) === null || _f === void 0 ? void 0 : _f.call(_e, component.name);\n schema = {\n type: \"string\",\n title: (_k = (_j = (_h = (_g = viewModel === null || viewModel === void 0 ? void 0 : viewModel.viewModel) === null || _g === void 0 ? void 0 : _g.derivedFunctions) === null || _h === void 0 ? void 0 : _h.overrideTitle) === null || _j === void 0 ? void 0 : _j.call(_h, component.name)) !== null && _k !== void 0 ? _k : component.description,\n default: assignedName,\n enum: overrideOptionsValue !== undefined\n ? overrideOptionsValue.filter(function (item) { return dropdownOptions_1.includes(item); })\n : dropdownOptions_1,\n };\n }\n return schema;\n}\nfunction getFileLoadComponentSchema(component, viewModel) {\n var _a, _b, _c;\n var schema = {};\n if (viewModel.model) {\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.getDerivedFunction).overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n };\n }\n return schema;\n}\nfunction getFileSaveComponentSchema(component, viewModel) {\n var _a, _b, _c;\n var schema = {};\n if (viewModel.model) {\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.getDerivedFunction).overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n };\n }\n return schema;\n}\nfunction getHardwareComponentSchema(component, viewModel) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var schema = {};\n var model = viewModel.model;\n if (model) {\n if (model.getComponentValue(component.name) !== undefined &&\n component.type !== \"register\") {\n if (component.type === \"ComboBox\") {\n var setting = (0, AutoModuleHelpers_1.getSettingFromComponent)(model, component);\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n default: (0, AutoModuleHelpers_1.getSettingDefaultIfPresent)(component, setting, (_e = (_d = model\n .getDerivedFunctions()).overrideDefaultValues) === null || _e === void 0 ? void 0 : _e.call(_d, component.name)),\n enum: (0, AutoModuleHelpers_1.getSettingOptionsIfPresent)(component, setting, model.getComponentValue((_g = (_f = component.mode) === null || _f === void 0 ? void 0 : _f.masterComponent) !== null && _g !== void 0 ? _g : \"\")),\n };\n }\n else {\n schema = {\n type: component.type,\n title: (_k = (_j = (_h = viewModel.viewModel.derivedFunctions) === null || _h === void 0 ? void 0 : _h.overrideTitle) === null || _j === void 0 ? void 0 : _j.call(_h, component.name)) !== null && _k !== void 0 ? _k : component.description,\n };\n }\n }\n }\n return schema;\n}\n//# sourceMappingURL=schema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createUiSchema = createUiSchema;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nfunction createUiSchema(tab, config, viewModel) {\n var _a;\n var _b, _c, _d;\n var uiSchema = {};\n if (config) {\n if (config.UIOrder) {\n (_c = (0, Utils_1.getKeys)((_b = config.UIOrder) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (group) {\n var _a;\n uiSchema[group] = {\n \"ui:order\": (_a = config === null || config === void 0 ? void 0 : config.UIOrder) === null || _a === void 0 ? void 0 : _a[group],\n };\n });\n }\n var components = viewModel.viewModel.components;\n var isGroupHidden_1 = {};\n (_d = (0, Utils_1.values)(components !== null && components !== void 0 ? components : {})) === null || _d === void 0 ? void 0 : _d.forEach(function (entry) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h;\n var component = entry.component;\n var tabIndex = (_d = (_c = component.tabs) === null || _c === void 0 ? void 0 : _c.indexOf(tab)) !== null && _d !== void 0 ? _d : -1;\n if (tabIndex === -1)\n return;\n var isComponentGroupHidden = isGroupHidden_1[component.group] === undefined ||\n isGroupHidden_1[component.group] === true;\n if (isComponentGroupHidden) {\n var isHidden = ((_e = component.uiBehavior) === null || _e === void 0 ? void 0 : _e[\"ui:widget\"]) === \"hidden\";\n if (((_g = (_f = viewModel.getDerivedFunction).isVisible) === null || _g === void 0 ? void 0 : _g.call(_f, component.name)) === false) {\n isHidden = true;\n }\n isGroupHidden_1[component.group] = isHidden;\n }\n if (component.category === \"table\") {\n var table = component;\n var tableCols_1 = table.columns;\n var colNames = Object.keys(tableCols_1);\n var defaultAlignment_1 = \"left\";\n var displayHeadersHorizontally = (_h = table.displayHeadersHorizontally) !== null && _h !== void 0 ? _h : false;\n var displayHeadersDiagonally_1 = !displayHeadersHorizontally;\n var columns_1 = [];\n var defaultColumnWidth_1 = (0, tables_1.calculateColumnWidth)(tableCols_1);\n var headerMaxLength_1 = colNames\n .map(function (name) { return tableCols_1[name].title.length; })\n .reduce(function (a, b) { return Math.max(a, b); });\n colNames.forEach(function (name) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var isColEditable = !tableCols_1[name].readonly;\n var columnWidth = defaultColumnWidth_1[name];\n var disableRowsForCol = (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.disableTableCells) === null || _b === void 0 ? void 0 : _b.call(_a, name)) !== null && _c !== void 0 ? _c : [];\n columns_1.push({\n dataField: name,\n editable: isColEditable ? undefined : false,\n columnWidth: tableCols_1[name].columnWidth\n ? tableCols_1[name].columnWidth + \"%\"\n : columnWidth + \"%\",\n width: tableCols_1[name].width\n ? tableCols_1[name].width + \"%\"\n : columnWidth + \"%\",\n dataSort: tableCols_1[name].isSortable,\n headerAlign: displayHeadersDiagonally_1\n ? defaultAlignment_1\n : (_e = (_d = tableCols_1[name].headerAlign) !== null && _d !== void 0 ? _d : tableCols_1[name].dataAlign) !== null && _e !== void 0 ? _e : defaultAlignment_1,\n dataAlign: (_g = (_f = tableCols_1[name].dataAlign) !== null && _f !== void 0 ? _f : tableCols_1[name].headerAlign) !== null && _g !== void 0 ? _g : defaultAlignment_1,\n disabledRows: (_h = tableCols_1[name].disabledRows) !== null && _h !== void 0 ? _h : disableRowsForCol,\n tdStyle: (0, tables_1.getCellStyle)(tableCols_1[name].readonly),\n headerText: (_j = tableCols_1[name]) === null || _j === void 0 ? void 0 : _j[\"columnTip\"],\n hidden: (_m = (_l = (_k = viewModel.viewModel.derivedFunctions) === null || _k === void 0 ? void 0 : _k.hideTableColumn) === null || _l === void 0 ? void 0 : _l.call(_k, name)) !== null && _m !== void 0 ? _m : false,\n });\n });\n columns_1 = columns_1.map(function (col) {\n return __assign(__assign({}, col), { thStyle: (0, tables_1.getHeaderStyle)(headerMaxLength_1, displayHeadersDiagonally_1) });\n });\n uiSchema[table.group] = __assign(__assign({}, uiSchema[table.group]), (_a = {}, _a[table.name] = (0, tables_1.getTableUiSchema)(table, columns_1), _a));\n }\n else {\n uiSchema[component.group] = __assign(__assign({}, uiSchema[component.group]), (_b = {}, _b[component.name] = __assign(__assign({}, getUiBehavior(component, viewModel)), getUiSchemaExportArg(component.name, viewModel)), _b));\n }\n });\n for (var group in isGroupHidden_1) {\n if (isGroupHidden_1[group]) {\n uiSchema[group] = __assign(__assign({}, uiSchema[group]), (_a = {}, _a[\"ui:widget\"] = \"hidden\", _a));\n }\n }\n }\n return uiSchema;\n}\nfunction getUiSchemaExportArg(name, viewModel) {\n var uiSchema = {};\n if (viewModel.isControlledByInterface(name)) {\n var expArg = viewModel.getProcessedArgValue(name);\n if (expArg) {\n uiSchema = {\n \"ui:readonly\": true,\n \"ui:help\": \"Controlled by \" + expArg.interface,\n };\n }\n }\n return uiSchema;\n}\nfunction getUiBehavior(component, viewModel) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n var uiBehavior = {};\n if (component.uiBehavior) {\n (_d = (0, Utils_1.getKeys)((_c = component.uiBehavior) !== null && _c !== void 0 ? _c : {})) === null || _d === void 0 ? void 0 : _d.forEach(function (key) {\n var _a, _b;\n switch (key) {\n case \"readonly\":\n uiBehavior[\"ui:readonly\"] = (_a = component.uiBehavior) === null || _a === void 0 ? void 0 : _a[key];\n break;\n default:\n uiBehavior[key] = (_b = component.uiBehavior) === null || _b === void 0 ? void 0 : _b[key];\n break;\n }\n });\n }\n if ((0, autoModuleViewHelpers_1.isUrl)(component)) {\n uiBehavior[\"ui:widget\"] = \"url\";\n }\n else if ((0, autoModuleViewHelpers_1.isImage)(component)) {\n uiBehavior[\"ui:widget\"] = \"image\";\n }\n else if (component.category === \"file_load\") {\n uiBehavior[\"ui:field\"] = \"file_load\";\n uiBehavior[\"ui:readonly\"] = (_e = component.uiBehavior) === null || _e === void 0 ? void 0 : _e.readonly;\n }\n else if (component.type === \"time\") {\n uiBehavior[\"ui:field\"] = \"TimeComponent\";\n }\n else if (component.type === \"frequency\") {\n uiBehavior[\"ui:field\"] = \"frequency\";\n }\n else if (component.category === \"file_save\") {\n uiBehavior[\"ui:field\"] = \"file_save\";\n uiBehavior[\"ui:readonly\"] = (_f = component.uiBehavior) === null || _f === void 0 ? void 0 : _f.readonly;\n }\n var overriddenBehavior = {};\n if (viewModel) {\n var overriddenValue = (_h = (_g = viewModel.getDerivedFunction).getUiBehavior) === null || _h === void 0 ? void 0 : _h.call(_g, component.name);\n if (overriddenValue != undefined) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), overriddenValue);\n if (((_j = (0, Utils_1.getKeys)(overriddenBehavior !== null && overriddenBehavior !== void 0 ? overriddenBehavior : {})) === null || _j === void 0 ? void 0 : _j.indexOf(\"readonly\")) != -1) {\n overriddenBehavior[\"ui:readonly\"] = overriddenBehavior[\"readonly\"];\n delete overriddenBehavior[\"readonly\"];\n }\n }\n var isEnabled = (_m = (_l = (_k = viewModel.getDerivedFunction).isEnabled) === null || _l === void 0 ? void 0 : _l.call(_k, component.name)) !== null && _m !== void 0 ? _m : (0, autoModuleViewHelpers_1.isModeActive)(\"isEnabled\", component, viewModel.viewModel.getComponent);\n if (isEnabled != undefined) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), (_a = {}, _a[\"ui:readonly\"] = !isEnabled, _a));\n }\n var isVisible = (_p = (_o = viewModel.getDerivedFunction).isVisible) === null || _p === void 0 ? void 0 : _p.call(_o, component.name);\n if (isVisible != undefined) {\n if (!isVisible) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), (_b = {}, _b[\"ui:widget\"] = \"hidden\", _b));\n }\n }\n }\n uiBehavior = __assign(__assign({}, uiBehavior), overriddenBehavior);\n return uiBehavior;\n}\n//# sourceMappingURL=uiSchema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = void 0;\nvar createPrototypeExports_1 = require(\"./interfaces/createPrototypeExports\");\nvar createPrototypeImports_1 = require(\"./interfaces/createPrototypeImports\");\nvar create = function (state, getCreatorFunctions) {\n var _a, _b, _c;\n var config = (_b = (_a = getCreatorFunctions()).getModuleConfig) === null || _b === void 0 ? void 0 : _b.call(_a);\n var prototypeImports = (0, createPrototypeImports_1.createPrototypeImports)(state, getCreatorFunctions());\n var prototypeExports = (0, createPrototypeExports_1.createPrototypeExports)(config);\n return {\n payload: state,\n imports: __assign({}, prototypeImports),\n exports: prototypeExports,\n isSingletonPerDevice: config === null || config === void 0 ? void 0 : config.isSingletonPerDevice,\n isEntryPoint: (_c = config === null || config === void 0 ? void 0 : config.isEntryPoint) !== null && _c !== void 0 ? _c : true,\n };\n};\nexports.create = create;\n//# sourceMappingURL=creator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = exports.process = void 0;\nvar processor_1 = require(\"./processor\");\nObject.defineProperty(exports, \"process\", { enumerable: true, get: function () { return processor_1.process; } });\nvar creator_1 = require(\"./creator\");\nObject.defineProperty(exports, \"create\", { enumerable: true, get: function () { return creator_1.create; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeExports = void 0;\nvar Utils_1 = require(\"../Utils\");\nvar createPrototypeExports = function (config) {\n var _a, _b;\n var exports = {};\n (_b = (0, Utils_1.getKeys)((_a = config === null || config === void 0 ? void 0 : config.exports) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (expName) {\n var _a;\n var exp = (_a = config === null || config === void 0 ? void 0 : config.exports) === null || _a === void 0 ? void 0 : _a[expName];\n if (exp == undefined)\n return;\n exports[expName] = __assign(__assign({}, exp), { interfaces: processExportInterfaces(exp.interfaces) });\n });\n return exports;\n};\nexports.createPrototypeExports = createPrototypeExports;\nvar processExportInterfaces = function (int) {\n var newInterfaces = [];\n int.forEach(function (_a) {\n var interfaceId = _a.interfaceId, payload = _a.payload;\n newInterfaces.push({ interfaceId: interfaceId, payload: payload });\n });\n return newInterfaces;\n};\n//# sourceMappingURL=createPrototypeExports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeImports = void 0;\nvar AutoModuleHardware_1 = require(\"../autoModule/AutoModuleHardware\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar createPrototypeImports = function (state, creatorFunctions, config) {\n var _a, _b, _c;\n var prototypeImports = {};\n config = (_a = creatorFunctions.getModuleConfig) === null || _a === void 0 ? void 0 : _a.call(creatorFunctions);\n if (!config)\n return prototypeImports;\n if (config === null || config === void 0 ? void 0 : config.peripherals) {\n config.peripherals.forEach(function (peripheral) {\n var _a;\n var interfaceName = getFriendlyInterfaceId(peripheral.interfaceId.name);\n var prototypeImport = (0, AutoModuleHardware_1.createPrototypeImport)(interfaceName, config);\n if (prototypeImport) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_a = {}, _a[interfaceName] = __assign(__assign({}, prototypeImport), { isRequired: true }), _a));\n }\n });\n }\n (_c = (0, Arrays_1.getKeys)((_b = config === null || config === void 0 ? void 0 : config.imports) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (key) {\n var _a, _b;\n var _c, _d, _e, _f, _g;\n var imp = (_c = config === null || config === void 0 ? void 0 : config.imports) === null || _c === void 0 ? void 0 : _c[key];\n var args = (_d = creatorFunctions === null || creatorFunctions === void 0 ? void 0 : creatorFunctions.getCreatorImportArgs) === null || _d === void 0 ? void 0 : _d.call(creatorFunctions, key, state);\n var shouldOrder = (_f = (_e = creatorFunctions.updateImportWithShouldAssignDescOrder) === null || _e === void 0 ? void 0 : _e.call(creatorFunctions, key)) !== null && _f !== void 0 ? _f : imp === null || imp === void 0 ? void 0 : imp.import.shouldAssignDescendantsInOrder;\n if (imp) {\n if (((_g = creatorFunctions === null || creatorFunctions === void 0 ? void 0 : creatorFunctions.shouldImport) === null || _g === void 0 ? void 0 : _g.call(creatorFunctions, key, state)) != false) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_a = {}, _a[key] = __assign(__assign({}, imp.import), { args: args }), _a));\n }\n if (shouldOrder && shouldOrder.length > 0) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_b = {}, _b[key] = __assign(__assign({}, imp.import), { args: args, shouldAssignDescendantsInOrder: shouldOrder }), _b));\n }\n }\n });\n return prototypeImports;\n};\nexports.createPrototypeImports = createPrototypeImports;\nvar getFriendlyInterfaceId = function (interfaceName) {\n interfaceName = interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n return interfaceName;\n};\n//# sourceMappingURL=createPrototypeImports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyExportInterfaces = exports.createExportInterfaces = void 0;\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar createExportInterfaces = function (exports, model) {\n return new MyExportInterfaces(exports, model);\n};\nexports.createExportInterfaces = createExportInterfaces;\nvar MyExportInterfaces = /** @class */ (function () {\n function MyExportInterfaces(exports, model) {\n var _this = this;\n this.getConfig = function () {\n if (!_this.config) {\n _this.config = (0, getConfigData_1.getConfigData)(_this.model);\n }\n return _this.config;\n };\n this.getComponents = function () {\n if (!_this.components) {\n _this.components = _this.createComponentList();\n }\n return _this.components;\n };\n this.createProcessedExports = function () {\n var _a, _b;\n var exportPayload = _this.exports;\n var config = _this.getConfig();\n if (config.exports) {\n (_b = (0, Arrays_1.getKeys)((_a = config.exports) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var _a;\n var _b, _c, _d, _e;\n var exp = (_b = config.exports) === null || _b === void 0 ? void 0 : _b[key];\n exportPayload = __assign(__assign({}, exportPayload), (_a = {}, _a[key] = __assign(__assign({}, (_c = config.exports) === null || _c === void 0 ? void 0 : _c[key]), { interfaces: [], name: (_d = _this.model.getDerivedFunction(\"exportName\", key)) !== null && _d !== void 0 ? _d : (_e = exportPayload[key]) === null || _e === void 0 ? void 0 : _e.name }), _a));\n exp === null || exp === void 0 ? void 0 : exp.interfaces.forEach(function (int) {\n var _a, _b, _c, _d;\n var processedInterface = _this.getInterface(key, int.interfaceId);\n if (processedInterface) {\n exportPayload[key].interfaces.push(__assign(__assign({}, processedInterface), { payload: (_b = (_a = _this.model) === null || _a === void 0 ? void 0 : _a.getDerivedFunction(int.interfaceId.name + \"_payload\")) !== null && _b !== void 0 ? _b : {}, payloads: (_d = (_c = _this.model) === null || _c === void 0 ? void 0 : _c.getDerivedFunction(int.interfaceId.name + \"_payloads\")) !== null && _d !== void 0 ? _d : {} }));\n }\n });\n });\n }\n return exportPayload;\n };\n this.getInterfaceArgs = function (interfaceKey, interfaceId) {\n var _a;\n return (_a = _this.getInterface(interfaceKey, interfaceId)) === null || _a === void 0 ? void 0 : _a.args;\n };\n this.getInterfaceResults = function (interfaceKey, interfaceId) {\n var _a;\n return (_a = _this.getInterface(interfaceKey, interfaceId)) === null || _a === void 0 ? void 0 : _a.results;\n };\n this.createComponentList = function () {\n var _a, _b;\n var componentList = [];\n var exports = (_a = _this.getConfig().exports) !== null && _a !== void 0 ? _a : {};\n (_b = (0, Arrays_1.getKeys)(exports)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var exp = exports[key];\n exp.interfaces.forEach(function (int) {\n if (int.components) {\n componentList.push.apply(componentList, int.components);\n }\n });\n });\n return componentList;\n };\n this.isControlledByInterface = function (componentName) {\n return _this.getComponents().indexOf(componentName) != -1;\n };\n this.getProcessedArgValue = function (componentName) {\n var _a, _b;\n var processedArgValue;\n var interfaceData = _this.getInterfaceData();\n if (_this.model &&\n _this.model.getDerivedFunctions().getProcessedArgValue &&\n interfaceData != undefined) {\n processedArgValue = (_b = (_a = _this.model\n .getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.getProcessedArgValue) === null || _b === void 0 ? void 0 : _b.call(_a, componentName, interfaceData);\n }\n return processedArgValue;\n };\n this.getInterfaceData = function () {\n var _a, _b;\n var argValues;\n var exports = (_a = _this.getConfig().exports) !== null && _a !== void 0 ? _a : {};\n (_b = (0, Arrays_1.getKeys)(exports)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var exp = exports[key];\n exp.interfaces.forEach(function (int) {\n var _a;\n var args = _this.getInterfaceArgs(key, int.interfaceId);\n if (args) {\n (_a = (0, Arrays_1.getKeys)(args)) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {\n var _a;\n (_a = (0, Arrays_1.getKeys)(args[key])) === null || _a === void 0 ? void 0 : _a.forEach(function (arg) {\n if (!argValues)\n argValues = [];\n argValues.push({\n interface: int.interfaceId.name,\n name: arg,\n value: args[key][arg],\n module: key,\n });\n });\n });\n }\n });\n });\n return argValues;\n };\n this.exports = exports;\n this.model = model;\n }\n MyExportInterfaces.prototype.getInterface = function (interfaceKey, interfaceId) {\n var _a;\n if (!this.exports[interfaceKey])\n return undefined;\n return (0, Arrays_1.find)((_a = this.exports[interfaceKey].interfaces) !== null && _a !== void 0 ? _a : [], function (i) { return JSON.stringify(i.interfaceId) === JSON.stringify(interfaceId); });\n };\n return MyExportInterfaces;\n}());\nexports.MyExportInterfaces = MyExportInterfaces;\n//# sourceMappingURL=exports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyImportInterfaces = exports.createImportInterfaces = void 0;\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar InterruptActions_1 = require(\"../interrupts/InterruptActions\");\nvar Utils_1 = require(\"../Utils\");\nvar createImportInterfaces = function (imports, model, config) {\n return new MyImportInterfaces(imports, model, config);\n};\nexports.createImportInterfaces = createImportInterfaces;\nvar MyImportInterfaces = /** @class */ (function () {\n function MyImportInterfaces(imports, model, config) {\n var _this = this;\n this.createProcessedImports = function (stage) {\n var _a;\n var processedImports = _this.filterImports();\n (_a = (0, Utils_1.getKeys)(processedImports !== null && processedImports !== void 0 ? processedImports : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {\n var _a;\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n processedImports = __assign(__assign({}, processedImports), (_a = {}, _a[key] = __assign(__assign(__assign({}, processedImports[key]), { args: stage === \"arguments\"\n ? (_b = _this.model) === null || _b === void 0 ? void 0 : _b.getDerivedFunction(key + \"_args\")\n : (_c = processedImports[key]) === null || _c === void 0 ? void 0 : _c.args, results: stage === \"results\"\n ? _this.getResults(processedImports, key)\n : (_d = processedImports[key]) === null || _d === void 0 ? void 0 : _d.results, name: (_e = _this.model.getDerivedFunction(\"importName\", key)) !== null && _e !== void 0 ? _e : (_f = processedImports[key]) === null || _f === void 0 ? void 0 : _f.name, handle: (0, AutoModuleHelpers_1.getProcessedHandle)(processedImports[key].handle, processedImports[key].payload), options: (_j = _this.getProcessedImportOptions(key, (_h = (_g = processedImports[key]) === null || _g === void 0 ? void 0 : _g.options) !== null && _h !== void 0 ? _h : [])) !== null && _j !== void 0 ? _j : processedImports[key].options, shouldAssignDescendantsInOrder: (_m = (_l = (_k = _this.model\n .getDerivedFunctions()).updateImportWithShouldAssignDescOrder) === null || _l === void 0 ? void 0 : _l.call(_k, key)) !== null && _m !== void 0 ? _m : processedImports[key].shouldAssignDescendantsInOrder }), (_p = (_o = _this.model\n .getDerivedFunctions()).overrideImport) === null || _p === void 0 ? void 0 : _p.call(_o, key, processedImports[key])), _a));\n });\n return processedImports;\n };\n this.createProcessedImportsForDynamicAssignment = function (stage) {\n var _a;\n var processedImports = _this.filterImports();\n (_a = (0, Utils_1.getKeys)(processedImports !== null && processedImports !== void 0 ? processedImports : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {\n var _a;\n var _b, _c, _d;\n processedImports = __assign(__assign({}, processedImports), (_a = {}, _a[key] = __assign(__assign({}, processedImports[key]), (_d = (_c = (_b = _this.model\n .getDerivedFunctions()).updateImportKeysForDynamicAssignment) === null || _c === void 0 ? void 0 : _c.call(_b, key)) !== null && _d !== void 0 ? _d : {}), _a));\n });\n return processedImports;\n };\n this.filterImports = function () {\n var _a, _b, _c;\n var filteredImports = (_c = (_b = (_a = _this.model.getDerivedFunctions()).filterImports) === null || _b === void 0 ? void 0 : _b.call(_a, _this.imports)) !== null && _c !== void 0 ? _c : _this.imports;\n return filteredImports;\n };\n //Populates option labels with a custom module name if provided in export payload\n this.getProcessedImportOptions = function (importKey, options) {\n var modifiedOptions = [];\n options === null || options === void 0 ? void 0 : options.forEach(function (option, index) {\n var _a, _b;\n modifiedOptions[index] = __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: (_a = _this.model.getDerivedFunction(\"importOptionLabel\", importKey, option)) !== null && _a !== void 0 ? _a : (_b = option.payload) === null || _b === void 0 ? void 0 : _b.moduleName }) });\n });\n return modifiedOptions;\n };\n this.getResults = function (imports, key) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;\n var importResults = (_a = _this.model) === null || _a === void 0 ? void 0 : _a.getDerivedFunction(key + \"_results\");\n if (importResults)\n return importResults;\n var imp = imports[key];\n if (imp.interfaceId.name === \"initializer-system\") {\n var initResults = {\n initializer: {\n name: _this.model.getName() + \"_Initialize\",\n header: (_c = (_b = _this.model) === null || _b === void 0 ? void 0 : _b.getDerivedFunction(\"headerFile\")) !== null && _c !== void 0 ? _c : {\n name: _this.model.getName().toLowerCase() + \".h\",\n path: \"include/\",\n },\n },\n };\n return initResults;\n }\n else if (imp.interfaceId.name === \"pin-standard\") {\n return (_e = (_d = _this.model).getPCPHelper) === null || _e === void 0 ? void 0 : _e.call(_d).getData();\n }\n else if (imp.interfaceId.name === \"pins-interface\") {\n return (_g = (_f = _this.model).getPCPHelper) === null || _g === void 0 ? void 0 : _g.call(_f).getData();\n }\n else if (imp.interfaceId.name === \"interrupt-standard\") {\n var interrupts_1 = [];\n var actions_1 = {};\n var isHighPriority_1 = (_k = (_j = (_h = _this.model) === null || _h === void 0 ? void 0 : _h.getImportValue(\"interrupt_standard\")) === null || _j === void 0 ? void 0 : _j.isHighPriority) !== null && _k !== void 0 ? _k : {};\n (_o = (0, Utils_1.values)((_m = (_l = _this.model.getHardware()) === null || _l === void 0 ? void 0 : _l.getPeripheral().interrupts) !== null && _m !== void 0 ? _m : {})) === null || _o === void 0 ? void 0 : _o.forEach(function (interrupt) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;\n if (!interrupt)\n return;\n var filterInterrupt = (_e = (_d = (_c = _this.model\n .getDerivedFunctions()).filterInterrupts) === null || _d === void 0 ? void 0 : _d.call(_c, interrupt.name)) !== null && _e !== void 0 ? _e : true;\n if (filterInterrupt) {\n var interruptComponentName = (_g = (_f = _this.getInterruptComponentName(interrupt.name)) !== null && _f !== void 0 ? _f : interrupt.name.toLowerCase()) !== null && _g !== void 0 ? _g : \"\";\n var isEnabled_1 = (_h = _this.model.isComponentValue(interruptComponentName !== null && interruptComponentName !== void 0 ? interruptComponentName : \"\")) !== null && _h !== void 0 ? _h : false;\n interrupts_1.push({\n //Standard\n name: (_j = interrupt.name) !== null && _j !== void 0 ? _j : \"\",\n module: (_m = (_l = (_k = _this.model.getHardware()) === null || _k === void 0 ? void 0 : _k.getName()) !== null && _l !== void 0 ? _l : _this.model.getName()) !== null && _m !== void 0 ? _m : \"\",\n isEnabled: isEnabled_1,\n //Callback Extension\n isrCallback: (_r = (_q = (_o = _this.model) === null || _o === void 0 ? void 0 : (_p = _o.getDerivedFunctions()).isrCallback) === null || _q === void 0 ? void 0 : _q.call(_p, interrupt.name)) !== null && _r !== void 0 ? _r : {\n name: _this.model.getName() + interrupt.handlerName,\n header: (_v = (_u = (_s = _this.model) === null || _s === void 0 ? void 0 : (_t = _s.getDerivedFunctions()).headerFile) === null || _u === void 0 ? void 0 : _u.call(_t)) !== null && _v !== void 0 ? _v : {\n name: _this.model.getName().toLowerCase() + \".h\",\n path: \"include/\",\n },\n },\n generateISR: isEnabled_1,\n //Priority Extension\n isHighPriority: (_w = isHighPriority_1[interrupt.name]) !== null && _w !== void 0 ? _w : true,\n });\n var isEnableActions = (_a = ((_z = (_y = (_x = _this.model\n .getDerivedFunctions()).getInterruptActions) === null || _y === void 0 ? void 0 : _y.call(_x, interrupt.name, \"isEnabled\")) !== null && _z !== void 0 ? _z : [])).concat.apply(_a, (0, InterruptActions_1.getDefaultInterruptActions)(_this.model, interruptComponentName));\n if (((_1 = (_0 = _this.model.getState()) === null || _0 === void 0 ? void 0 : _0.contentMeta) === null || _1 === void 0 ? void 0 : _1.isUserEnRegRWMode) === true) {\n isEnableActions = _this.getRegisterEditorInterruptActions(interruptComponentName);\n }\n var isEnableAction = (0, Arrays_1.find)(isEnableActions, function (action) { return action[\"validFor\"] !== isEnabled_1; });\n actions_1 = __assign(__assign({}, actions_1), (_b = {}, _b[interrupt.name] = __assign(__assign({}, actions_1 === null || actions_1 === void 0 ? void 0 : actions_1[interrupt.name]), { isEnabled: isEnableAction ? [isEnableAction] : [] }), _b));\n }\n });\n return {\n interruptList: interrupts_1,\n interruptActions: actions_1,\n moduleName: (_p = _this.model.getName()) !== null && _p !== void 0 ? _p : \"\",\n };\n }\n else if (imp.interfaceId.name === \"api-prefix-registration\") {\n var apiPrefixResults = {\n apiPrefix: (_s = (_r = (_q = _this.model) === null || _q === void 0 ? void 0 : _q.getDerivedFunctions()) === null || _r === void 0 ? void 0 : _r.apiPrefix) !== null && _s !== void 0 ? _s : (_t = _this.model) === null || _t === void 0 ? void 0 : _t.getComponentValue(\"componentName\"),\n moduleName: (_u = _this.model) === null || _u === void 0 ? void 0 : _u.getName(),\n };\n return apiPrefixResults;\n }\n };\n this.getInterruptComponentName = function (interruptName) {\n var _a, _b;\n return (_b = (_a = _this.model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.interruptComponentName) === null || _b === void 0 ? void 0 : _b.call(_a, interruptName);\n };\n this.getRegisterEditorInterruptActions = function (interruptComponentName) {\n var actionIfEnabled = {\n validFor: true,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"register\",\n value: true,\n path: \"interrupts.\" + interruptComponentName.toUpperCase()\n }\n }\n };\n var actionIfDisabled = {\n validFor: false,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"register\",\n value: false,\n path: \"interrupts.\" + interruptComponentName.toUpperCase()\n }\n }\n };\n return [actionIfEnabled, actionIfDisabled];\n };\n this.imports = imports;\n this.model = model;\n }\n return MyImportInterfaces;\n}());\nexports.MyImportInterfaces = MyImportInterfaces;\n//# sourceMappingURL=imports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InterruptActionsBuilder = void 0;\nexports.getDefaultInterruptActions = getDefaultInterruptActions;\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar InterruptActionsBuilder = /** @class */ (function () {\n function InterruptActionsBuilder(model) {\n var _this = this;\n this.actions = [];\n this.createActionFor = function (componentName) {\n var _a;\n _this.actions = _this.buildActions();\n _this.curComponent = componentName\n ? (_a = _this.model.getComponent(componentName)) === null || _a === void 0 ? void 0 : _a.component\n : undefined;\n _this.curComponentName = componentName;\n _this.tableRowId = undefined;\n _this.tableRowCol = undefined;\n _this.tableCellPath = undefined;\n return _this;\n };\n this.addActionIfEnabled = function (actionValue) {\n if (!_this.curComponentName || !_this.curComponent)\n return _this;\n if (!_this.isActionValueAcceptable(_this.curComponent, actionValue))\n return _this;\n var payload = {\n tabId: _this.curComponent.tabs[0],\n value: actionValue,\n };\n if (_this.curComponent.category === \"table\") {\n if (!_this.tableCellPath)\n return _this;\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name, \".\").concat(_this.tableCellPath), rowId: _this.tableRowId });\n }\n else {\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name) });\n }\n _this.actions.push({\n validFor: true,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: payload,\n },\n });\n return _this;\n };\n this.addActionIfDisabled = function (actionValue) {\n if (!_this.curComponentName || !_this.curComponent)\n return _this;\n if (!_this.isActionValueAcceptable(_this.curComponent, actionValue))\n return _this;\n var payload = {\n tabId: _this.curComponent.tabs[0],\n value: actionValue,\n };\n if (_this.curComponent.category === \"table\") {\n if (!_this.tableCellPath)\n return _this;\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name, \".\").concat(_this.tableCellPath), rowId: _this.tableRowId });\n }\n else {\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name) });\n }\n _this.actions.push({\n validFor: false,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: payload,\n },\n });\n return _this;\n };\n this.setPathToTableCell = function (rowIndex, colName) {\n var _a;\n if (((_a = _this.curComponent) === null || _a === void 0 ? void 0 : _a.category) !== \"table\")\n return _this;\n _this.tableRowId = rowIndex;\n _this.tableRowCol = colName;\n _this.tableCellPath = \"\".concat(rowIndex, \".\").concat(colName);\n return _this;\n };\n this.isActionValueAcceptable = function (component, actionValue) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (component.category === \"hardware\") {\n if (component.type === \"ComboBox\") {\n var options = (_a = (0, AutoModuleHelpers_1.getSettingFromComponent)(_this.model, component)) === null || _a === void 0 ? void 0 : _a.options;\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) {\n var _a;\n return option[(_a = component[\"displayOptionSetting\"]) !== null && _a !== void 0 ? _a : \"alias\"] ===\n actionValue;\n }))) {\n return false;\n }\n }\n else if (component.type === \"boolean\") {\n // if (actionValue !== \"enabled\" && actionValue !== \"disabled\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n else if (component.category === \"software\") {\n if (component.type === \"ComboBox\") {\n var options = component[\"options\"];\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) { return option === actionValue; }))) {\n return false;\n }\n }\n else if (component.type === \"boolean\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n else if (component.category === \"table\") {\n if (!_this.tableRowCol)\n return false;\n if (((_c = (_b = component.columns) === null || _b === void 0 ? void 0 : _b[_this.tableRowCol]) === null || _c === void 0 ? void 0 : _c.type) === \"ComboBox\") {\n var options = (_f = (_e = (_d = component.columns) === null || _d === void 0 ? void 0 : _d[_this.tableRowCol]) === null || _e === void 0 ? void 0 : _e.defaultValue) === null || _f === void 0 ? void 0 : _f[\"options\"];\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) { return option === actionValue; }))) {\n return false;\n }\n }\n else if (((_h = (_g = component.columns) === null || _g === void 0 ? void 0 : _g[_this.tableRowCol]) === null || _h === void 0 ? void 0 : _h.type) === \"boolean\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n return true;\n };\n this.buildActions = function () {\n return _this.actions;\n };\n this.model = model;\n }\n InterruptActionsBuilder.createActionBuilder = function (model) {\n return new InterruptActionsBuilder(model);\n };\n return InterruptActionsBuilder;\n}());\nexports.InterruptActionsBuilder = InterruptActionsBuilder;\nfunction getDefaultInterruptActions(model, componentName) {\n if (!componentName)\n return [];\n return (InterruptActionsBuilder.createActionBuilder(model)\n .createActionFor(componentName)\n .addActionIfEnabled(true)\n .addActionIfDisabled(false)\n // .addActionIfEnabled(\"enabled\")\n // .addActionIfDisabled(\"disabled\")\n .buildActions());\n}\n//# sourceMappingURL=InterruptActions.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PCPHelper = void 0;\nexports.stateActionBuilder = stateActionBuilder;\nvar PCPStateActionBuilder_1 = require(\"./PCPStateActionBuilder\");\nfunction stateActionBuilder(pinRow) {\n return new PCPStateActionBuilder_1.PCPStateActionBuilder(pinRow);\n}\nvar PCPHelper = /** @class */ (function () {\n function PCPHelper() {\n var _this = this;\n this.pinCallbacks = undefined;\n this.getAllFilteredRows = function (allRows) {\n var validRows = [];\n allRows.forEach(function (eachRow) {\n var userRowData = _this.userRowData(eachRow);\n // check the validity of user provided data\n if (userRowData && _this.isRowValid(userRowData)) {\n validRows.push(userRowData);\n }\n });\n return validRows;\n };\n this.isRowValid = function (eachRow) {\n if ((eachRow === null || eachRow === void 0 ? void 0 : eachRow.name) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.module) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.function) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.direction) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.behaviour)) {\n return true;\n }\n else {\n return false;\n }\n };\n this.userRowData = function (eachRow) {\n var _a;\n var eachrowret = eachRow;\n if ((_a = _this.pinCallbacks) === null || _a === void 0 ? void 0 : _a.getRowData) {\n eachrowret = _this.pinCallbacks.getRowData(__assign({}, eachRow));\n }\n return eachrowret;\n };\n this.getAllRows = function () {\n var _a, _b, _c, _d, _e;\n var pinRows = (_d = (_c = (_b = (_a = _this.pinCallbacks) === null || _a === void 0 ? void 0 : _a.getPinsData) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.rows) !== null && _d !== void 0 ? _d : [];\n var userdata = {};\n if ((_e = _this.pinCallbacks) === null || _e === void 0 ? void 0 : _e.getCompletePinData) {\n userdata = _this.pinCallbacks.getCompletePinData();\n if (userdata && (userdata === null || userdata === void 0 ? void 0 : userdata.rows)) {\n pinRows = userdata.rows;\n }\n }\n return pinRows;\n };\n this.getData = function () {\n var retData = {\n rows: _this.getAllFilteredRows(_this.getAllRows()),\n };\n return retData;\n };\n }\n PCPHelper.prototype.stateActionBuilder = function (pinRow) {\n return stateActionBuilder(pinRow);\n };\n PCPHelper.prototype.setCallbacks = function (callbacks) {\n this.pinCallbacks = callbacks;\n };\n return PCPHelper;\n}());\nexports.PCPHelper = PCPHelper;\n//# sourceMappingURL=PCPHelper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PCPStateActionBuilder = void 0;\nvar types_1 = require(\"@microchip/pins-interface/lib/types\");\nvar PCPStateActionBuilder = /** @class */ (function () {\n function PCPStateActionBuilder(pinRow) {\n this.actionDataArr = [];\n this.pinRow = pinRow;\n this.tabId = \"main\";\n }\n PCPStateActionBuilder.prototype.rowWithName = function (rowName) {\n this.rowName = rowName;\n return this;\n };\n /**\n *\n * @param tabId - default tabId is \"main\", please change this as per your needs.\n * @returns PCPStateActionBuilder\n */\n PCPStateActionBuilder.prototype.compWithTabId = function (tabId) {\n this.tabId = tabId;\n return this;\n };\n PCPStateActionBuilder.prototype.addIfLockedSetValue = function (pinRegEx, value, pinNameReEx) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.LOCKED,\n validFor: pinRegEx,\n validForpinNameReEx: pinNameReEx,\n value: value,\n actiontype: types_1.actiontype.SETACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.addIfLockedProvideAttribs = function (pinRegEx, attribs) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.LOCKED,\n validFor: pinRegEx,\n value: this.formAttribs(attribs),\n actiontype: types_1.actiontype.ATTRIBACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.addIfUnlockedProvideAttribs = function (pinRegEx, attribs) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.UNLOCK,\n validFor: pinRegEx,\n value: this.formAttribs(attribs),\n actiontype: types_1.actiontype.ATTRIBACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.formAttribs = function (attribarray) {\n return {\n attribs: attribarray,\n };\n };\n PCPStateActionBuilder.prototype.addIfUnLockedSetValue = function (pinRegEx, value) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.UNLOCK,\n validFor: pinRegEx,\n value: value,\n actiontype: types_1.actiontype.SETACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.forComponent = function (component) {\n this.component = component;\n return this;\n };\n PCPStateActionBuilder.prototype.build = function () {\n var _this = this;\n var actionArr = [];\n if (this.pinRow.name === this.rowName) {\n this.actionDataArr.forEach(function (eachData) {\n var _a;\n var _b;\n var actionObj = {\n validFor: eachData.validFor,\n state: (_a = {},\n _a[eachData.pinstate] = {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: _this.tabId,\n path: _this.component.group + \".\" + _this.component.name,\n value: eachData.value,\n },\n },\n _a),\n actiontype: (_b = eachData.actiontype) !== null && _b !== void 0 ? _b : \"\",\n };\n if (eachData.validForpinNameReEx !== undefined) {\n actionObj.validForpinNameReEx = eachData.validForpinNameReEx;\n }\n actionArr.push(actionObj);\n });\n }\n return actionArr;\n };\n return PCPStateActionBuilder;\n}());\nexports.PCPStateActionBuilder = PCPStateActionBuilder;\n/*\n PCPHelper\n .stateActionBuilder(rowData)\n .rowWithName(\"dacoutx\")\n .forComponent(dacOPEnCompo)\n .addIfLockedSetValue(\"DAC1OUT1\", \"DACOUT1 Enabled and DACOUT2 Disabled\")\n .addIfLockedSetValue(\"DAC1OUT2\", \"DACOUT2 Enabled and DACOUT1 Disabled\")\n .addIfUnLockedSetValue(\".*\", \"DACOUT1 and DACOUT2 are Disabled\")\n .build()\n*/\n//# sourceMappingURL=PCPStateActionBuilder.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.process = void 0;\nvar AppModel_1 = require(\"./App/AppModel\");\nvar AutoModuleHelpers_1 = require(\"./autoModule/AutoModuleHelpers\");\nvar AutoModuleTemplates_1 = require(\"./autoModule/AutoModuleTemplates\");\nvar getConfigData_1 = require(\"./autoModule/getConfigData\");\nvar autoModuleView_1 = require(\"./autoModule/views/autoModuleView\");\nvar AnalyticsHelper_1 = require(\"./Analytics/AnalyticsHelper\");\n/**\n * @param initialModule\n * @param stage\n * @param getDerivedData\n */\nvar process = function (initialModule, stage, getDerivedData) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;\n initialModule = (0, AutoModuleHelpers_1.populateLoadedFiles)(initialModule);\n var model = (0, AppModel_1.getModel)(initialModule, getDerivedData);\n if (!model)\n return initialModule;\n model.processDynamicComps();\n var processedOutput = __assign({}, initialModule);\n processedOutput = __assign(__assign({}, processedOutput), { showRegisterEditor: (0, getConfigData_1.getConfigData)(model, true).showRegisterEditor });\n switch (stage) {\n case \"arguments\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_a = model\n .getImportInterfaces()\n .createProcessedImports(stage)) !== null && _a !== void 0 ? _a : initialModule.imports });\n break;\n case \"payloads\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_b = model\n .getImportInterfaces()\n .createProcessedImportsForDynamicAssignment(stage)) !== null && _b !== void 0 ? _b : initialModule.imports, exports: (_c = model\n .getExportInterfaces()\n .createProcessedExports()) !== null && _c !== void 0 ? _c : initialModule.exports, name: model.getName(), help: (_f = (_e = (_d = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _d === void 0 ? void 0 : _d.overrideModuleLevelHelp) === null || _e === void 0 ? void 0 : _e.call(_d)) !== null && _f !== void 0 ? _f : (0, getConfigData_1.getConfigData)(model, true).help });\n break;\n case \"results\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_g = model\n .getImportInterfaces()\n .createProcessedImports(stage)) !== null && _g !== void 0 ? _g : initialModule.imports });\n break;\n case \"views\":\n {\n var customTemplateData = (_k = (_j = model === null || model === void 0 ? void 0 : (_h = model.getDerivedFunctions()).templateData) === null || _j === void 0 ? void 0 : _j.call(_h)) !== null && _k !== void 0 ? _k : {};\n var view = (0, autoModuleView_1.createAutoViewPayloads)(model);\n processedOutput = __assign(__assign({}, processedOutput), { payload: __assign(__assign({}, initialModule.payload), { auto: view, customView: (_m = (_l = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _l === void 0 ? void 0 : _l.getCustomView) === null || _m === void 0 ? void 0 : _m.call(_l, initialModule) }), templateData: customTemplateData, templates: (0, AutoModuleTemplates_1.getTemplates)(model), alerts: (_p = model === null || model === void 0 ? void 0 : (_o = model.getDerivedFunctions()).alerts) === null || _p === void 0 ? void 0 : _p.call(_o), name: model.getActiveName(), category: model.getCategory(), description: (_s = (_r = (_q = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _q === void 0 ? void 0 : _q.getModuleDescription) === null || _r === void 0 ? void 0 : _r.call(_q)) !== null && _s !== void 0 ? _s : (0, AutoModuleHelpers_1.getModuleDefaultDescription)(), globalNames: (_v = (_u = (_t = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _t === void 0 ? void 0 : _t.getGlobalNames) === null || _u === void 0 ? void 0 : _u.call(_t)) !== null && _v !== void 0 ? _v : [], analytics: (_y = (_x = (_w = model.getDerivedFunctions()).getAnalytics) === null || _x === void 0 ? void 0 : _x.call(_w)) !== null && _y !== void 0 ? _y : (0, AnalyticsHelper_1.getAnalyticsDefault)(model) });\n }\n break;\n default:\n return initialModule;\n }\n return processedOutput;\n};\nexports.process = process;\n//# sourceMappingURL=processor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UidMapBuilder = void 0;\nvar UidMapBuilder = /** @class */ (function () {\n function UidMapBuilder() {\n this.uidMap = {};\n }\n UidMapBuilder.prototype.addDefaultRows = function (rowData) {\n var _this = this;\n rowData.forEach(function (row, rowCount) {\n var _a;\n _this.uidMap[row.uid] = (_a = row.rowId) !== null && _a !== void 0 ? _a : rowCount;\n });\n return this;\n };\n UidMapBuilder.prototype.addDynamicRows = function (tableState) {\n var _this = this;\n tableState.forEach(function (row) {\n var uid = row === null || row === void 0 ? void 0 : row.uid;\n if (uid && uid.indexOf(\"dynamicRow_\") > -1) {\n _this.incrementUidAndShift(uid, row.rowId);\n }\n });\n return this;\n };\n UidMapBuilder.prototype.removeRows = function (tableState) {\n var _this = this;\n tableState.forEach(function (row) {\n var uid = row === null || row === void 0 ? void 0 : row.uid;\n if (uid && (row === null || row === void 0 ? void 0 : row.dynamicallyRemoved)) {\n _this.uidMap[uid] = -1;\n }\n });\n return this;\n };\n UidMapBuilder.prototype.sortByValue = function () {\n var _this = this;\n var count = 0;\n var sortedUids = [];\n this.getUidKeys().forEach(function (uid) {\n var _a;\n sortedUids.push((_a = {}, _a[uid] = _this.uidMap[uid], _a));\n });\n sortedUids = sortedUids.sort(function (a, b) { return a[Object.keys(a)[0]] - b[Object.keys(b)[0]]; });\n sortedUids.forEach(function (uid) {\n var uidKey = Object.keys(uid)[0];\n if (_this.uidMap[uidKey] > -1) {\n _this.uidMap[uidKey] = count++;\n }\n });\n return this;\n };\n UidMapBuilder.prototype.create = function () {\n return this.uidMap;\n };\n UidMapBuilder.prototype.incrementUidAndShift = function (uid, rowId) {\n var _this = this;\n this.getUidKeys().forEach(function (uid) {\n if (_this.uidMap[uid] >= rowId) {\n _this.uidMap[uid]++;\n }\n });\n this.uidMap[uid] = rowId;\n };\n UidMapBuilder.prototype.getUidKeys = function () {\n return Object.keys(this.uidMap);\n };\n return UidMapBuilder;\n}());\nexports.UidMapBuilder = UidMapBuilder;\n//# sourceMappingURL=UidMapBuilder.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTableHelpers = void 0;\nexports.getTableComponentSchema = getTableComponentSchema;\nexports.overrideTableDefaultsWithChanges = overrideTableDefaultsWithChanges;\nexports.isTableInState = isTableInState;\nexports.calculateColumnWidth = calculateColumnWidth;\nexports.getInitialTableFormData = getInitialTableFormData;\nexports.createInitialRows = createInitialRows;\nexports.overrideCellValue = overrideCellValue;\nexports.addRowsToTable = addRowsToTable;\nexports.addRowToTable = addRowToTable;\nexports.removeRowFromTable = removeRowFromTable;\nexports.getTableFormData = getTableFormData;\nexports.getValueBasedOnState = getValueBasedOnState;\nexports.overrideDefaultsAndFilterRows = overrideDefaultsAndFilterRows;\nexports.createTableUids = createTableUids;\nexports.getCellValidationInfo = getCellValidationInfo;\nexports.getTableActions = getTableActions;\nexports.getTableUiSchema = getTableUiSchema;\nexports.getCellStyle = getCellStyle;\nexports.getHeaderStyle = getHeaderStyle;\nvar Tables_1 = require(\"@microchip/melody-automodule-interface/lib/src/Tables\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar UidMapBuilder_1 = require(\"./UidMapBuilder\");\nfunction getTableComponentSchema(component, viewModel) {\n var _a, _b, _c, _d;\n var tableColumns = {};\n for (var columnsKey in component.columns) {\n var rjsfType = void 0;\n if (component.columns[columnsKey].type === \"ComboBox\") {\n var colBox = component.columns[columnsKey];\n rjsfType = \"string\";\n tableColumns[columnsKey] = {\n type: rjsfType,\n title: colBox.title,\n default: getDefaultValue(viewModel.overrideDefaultValues, colBox, columnsKey, component.name),\n enum: getComboOptions(viewModel.overrideTableOptions, colBox, columnsKey, component.name),\n };\n }\n else {\n rjsfType = (_a = component === null || component === void 0 ? void 0 : component.columns[columnsKey]) === null || _a === void 0 ? void 0 : _a.type;\n tableColumns[columnsKey] = {\n type: rjsfType,\n title: component.columns[columnsKey].title,\n default: component.columns[columnsKey].defaultValue,\n };\n }\n }\n return {\n type: \"array\",\n title: (_d = (_c = (_b = viewModel.viewModel.derivedFunctions) === null || _b === void 0 ? void 0 : _b.overrideTitle) === null || _c === void 0 ? void 0 : _c.call(_b, component.name)) !== null && _d !== void 0 ? _d : component.description,\n items: {\n type: \"object\",\n properties: __assign({}, tableColumns),\n },\n };\n}\nvar getTableHelpers = function () {\n return {\n addRowToTable: addRowToTable,\n addRowsToTable: addRowsToTable,\n calculateColumnWidth: calculateColumnWidth,\n createInitialRows: createInitialRows,\n createTableUids: createTableUids,\n getCellStyle: getCellStyle,\n getCellValidationInfo: getCellValidationInfo,\n getHeaderStyle: getHeaderStyle,\n getInitialTableFormData: getInitialTableFormData,\n getTableActions: getTableActions,\n getTableFormData: getTableFormData,\n getTableUiSchema: getTableUiSchema,\n getValueBasedOnState: getValueBasedOnState,\n isTableInState: isTableInState,\n overrideCellValue: overrideCellValue,\n overrideDefaultsAndFilterRows: overrideDefaultsAndFilterRows,\n overrideTableDefaultsWithChanges: overrideTableDefaultsWithChanges,\n removeRowFromTable: removeRowFromTable,\n createUidMapBuilder: function () { return new UidMapBuilder_1.UidMapBuilder(); },\n };\n};\nexports.getTableHelpers = getTableHelpers;\nfunction overrideTableDefaultsWithChanges(rowChanged, initialFormData, uidMap) {\n var value = __spreadArray([], initialFormData, true);\n if (Array.isArray(rowChanged)) {\n rowChanged.forEach(function (changedRow) {\n var changedUid = changedRow.uid;\n var rowChangeNum = uidMap[changedUid];\n value[rowChangeNum] = __assign(__assign({}, value[rowChangeNum]), changedRow);\n });\n }\n return value;\n}\nfunction isTableInState(tabState, component) {\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nfunction calculateColumnWidth(columns) {\n if (!columns) {\n return {};\n }\n var runningWidth = 0;\n var booleanFields = 0;\n var columnWidths = {};\n for (var columnName in columns) {\n if (columns[columnName].type === \"boolean\") {\n var width = 8;\n booleanFields++;\n columnWidths[columnName] = width;\n runningWidth += width;\n }\n }\n for (var columnName in columns) {\n if (columns[columnName].type !== \"boolean\") {\n var width = (100 - runningWidth) / (Object.keys(columns).length - booleanFields);\n columnWidths[columnName] = width;\n }\n }\n return columnWidths;\n}\nfunction getInitialTableFormData(table, columnNames, model) {\n var value = [];\n var tableFormData = {};\n columnNames.forEach(function (columnName) {\n if (!tableFormData[columnName]) {\n tableFormData[columnName] = getDefaultValue(model.getDerivedFunctions().overrideTableDefaultValues, table.columns[columnName], columnName, table.name);\n }\n });\n if (!(table === null || table === void 0 ? void 0 : table.rowData)) {\n value = createInitialRows(table, tableFormData);\n }\n else {\n var rowId_1 = 0;\n table === null || table === void 0 ? void 0 : table.rowData.forEach(function (row) {\n var rowDataCols = Object.keys(row);\n columnNames.forEach(function (colName) {\n var _a;\n if (rowDataCols.indexOf(colName) === -1) {\n row = __assign(__assign({}, row), (_a = {}, _a[colName] = tableFormData[colName], _a.uid = createRowUid(Tables_1.RowPrefix.Default, rowId_1), _a));\n }\n });\n value.push(__assign(__assign({}, row), { uid: createRowUid(Tables_1.RowPrefix.Default, rowId_1), rowId: rowId_1 }));\n rowId_1++;\n });\n }\n return value;\n}\nfunction createInitialRows(table, tableFormData) {\n var _a;\n if (tableFormData === void 0) { tableFormData = {}; }\n var value = [];\n var initialRows = (_a = table === null || table === void 0 ? void 0 : table.defaultRowNum) !== null && _a !== void 0 ? _a : 1;\n for (var i = 0; i < initialRows; i++) {\n value.push(__assign(__assign({}, tableFormData), { rowId: i, uid: createRowUid(Tables_1.RowPrefix.Default, i) }));\n }\n return value;\n}\nfunction overrideCellValue(tableData, cell) {\n var modifiedTableData = __spreadArray([], tableData, true);\n modifiedTableData[cell.rowId][cell.columnName] = cell.value;\n return modifiedTableData;\n}\nfunction addRowsToTable(tableData, columns, newRow, numberOfRows) {\n if (numberOfRows <= 0) {\n return tableData;\n }\n var value = addRowToTable(tableData, columns, __assign(__assign({}, newRow), { uid: Tables_1.RowPrefix.Dynamic + (numberOfRows - 1) }));\n return addRowsToTable(value, columns, newRow, numberOfRows - 1);\n}\nfunction addRowToTable(tableData, columns, newRow) {\n var _a;\n var columnNames = Object.keys(columns);\n var newRowCols = Object.keys(newRow);\n var newRowId = newRow.rowId;\n var filteredTableTemp = [];\n if (tableData.length === 0) {\n filteredTableTemp.push(newRow);\n return filteredTableTemp;\n }\n if (newRowId != null) {\n columnNames.forEach(function (colName) {\n var _a;\n var _b, _c;\n var defaultColumnWidth = calculateColumnWidth(columns);\n if (newRowCols.indexOf(colName) === -1) {\n newRow = __assign(__assign({}, newRow), (_a = {}, _a[colName] = (_c = (_b = columns[colName].defaultValue) === null || _b === void 0 ? void 0 : _b[\"value\"]) !== null && _c !== void 0 ? _c : columns[colName].defaultValue, _a.columnWidth = columns[colName].columnWidth\n ? columns[colName].columnWidth + \"%\"\n : defaultColumnWidth[colName] + \"%\", _a));\n }\n });\n var tableFirstHalf = tableData.slice(0, newRowId);\n var tableSecondHalf = tableData.slice(newRowId);\n for (var i = 0; i < tableSecondHalf.length; i++) {\n var currentRowId = tableSecondHalf[i].rowId;\n tableSecondHalf[i] = __assign(__assign({}, tableSecondHalf[i]), { rowId: currentRowId + 1 });\n var actions = (_a = tableSecondHalf[i]) === null || _a === void 0 ? void 0 : _a.actions;\n if (actions) {\n tableSecondHalf[i][\"actions\"] = updateActionsRowId(actions, currentRowId + 1);\n }\n }\n tableFirstHalf.push(newRow);\n filteredTableTemp = __spreadArray(__spreadArray([], tableFirstHalf, true), tableSecondHalf, true);\n return filteredTableTemp;\n }\n return tableData;\n}\nfunction removeRowFromTable(tableData, rowId) {\n var _a;\n var tableRemoved = tableData.filter(function (row) { return row.rowId !== rowId; });\n for (var i = 0; i < tableRemoved.length; i++) {\n tableRemoved[i].rowId = i;\n var actions = (_a = tableRemoved[i]) === null || _a === void 0 ? void 0 : _a.actions;\n if (actions) {\n tableRemoved[i][\"actions\"] = updateActionsRowId(actions, i);\n }\n }\n return tableRemoved;\n}\nfunction getTableFormData(model, table, tab) {\n var _a;\n return ((_a = model.getDerivedFunction(table.name, table, model, tab)) !== null && _a !== void 0 ? _a : getValueBasedOnState(table, model, tab));\n}\nfunction getValueBasedOnState(table, model, tab) {\n var columnNames = Object.keys(table.columns);\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n var initialFormData = getInitialTableFormData(table, columnNames, model);\n if (!isTableInState(tabState, table)) {\n return initialFormData;\n }\n else {\n var rowChanged = tabState[table.group][table.name];\n var tableUids = createTableUids(table, tab, model, rowChanged);\n return overrideDefaultsAndFilterRows(rowChanged, initialFormData, table.columns, tableUids, table, tab);\n }\n}\nfunction overrideDefaultsAndFilterRows(rowChanged, initialFormData, columns, tableUids, component, tab) {\n var modifiedForData = __spreadArray([], initialFormData, true);\n var keys = Object.keys(tableUids);\n rowChanged = rowChanged.filter(function (row) { return row != null; });\n rowChanged.forEach(function (row) {\n if (row.uid.indexOf(Tables_1.RowPrefix.Dynamic) > -1) {\n modifiedForData.push(row);\n }\n });\n var filteredModifed = [];\n keys.forEach(function (uid) {\n modifiedForData.forEach(function (row) {\n if (row.uid === uid) {\n filteredModifed[tableUids[uid]] = __assign(__assign({}, initialFormData[0]), row);\n }\n });\n });\n filteredModifed = filteredModifed.filter(function (row) { return row; });\n for (var i = 0; i < filteredModifed.length; i++) {\n if (filteredModifed[i].uid.indexOf(Tables_1.RowPrefix.Dynamic) > -1)\n continue;\n filteredModifed[i].rowId++;\n }\n var _loop_1 = function (i) {\n Object.keys(columns).forEach(function (columnName) {\n modifiedForData[i].actions = updateActionsRowId(createDefaultTableAction(component, i, columnName, tab, tableUids), i);\n });\n };\n for (var i = 0; i < modifiedForData.length; i++) {\n _loop_1(i);\n }\n return overrideTableDefaultsWithChanges(rowChanged, filteredModifed, tableUids);\n}\nfunction createTableUids(component, tab, model, tableState) {\n var _a, _b, _c;\n var table = component;\n var dynamicTableData = model === null || model === void 0 ? void 0 : model.getDerivedFunction(component.name, component, model, tab);\n if (dynamicTableData) {\n var uidMap_1 = {};\n var rowNum_1 = 0;\n dynamicTableData.forEach(function (entry) {\n var uid = entry === null || entry === void 0 ? void 0 : entry.uid;\n if (uid !== undefined) {\n uidMap_1[uid] = rowNum_1++;\n }\n });\n return uidMap_1;\n }\n var rowData = table[\"rowData\"];\n if (!dynamicTableData && rowData) {\n var _loop_2 = function (i) {\n if (!rowData[i].uid) {\n rowData[i].uid = createRowUid(Tables_1.RowPrefix.Default, i);\n }\n rowData[i].rowId =\n (_b = (_a = (0, Arrays_1.find)(tableState !== null && tableState !== void 0 ? tableState : [], function (row) { return row.uid === (rowData === null || rowData === void 0 ? void 0 : rowData[i].uid); })) === null || _a === void 0 ? void 0 : _a.rowId) !== null && _b !== void 0 ? _b : rowData[i].rowId;\n };\n for (var i = 0; i < rowData.length; i++) {\n _loop_2(i);\n }\n }\n else {\n rowData =\n dynamicTableData !== null && dynamicTableData !== void 0 ? dynamicTableData : createInitialRows(table).map(function (row) {\n var _a, _b;\n return __assign(__assign({}, (row !== null && row !== void 0 ? row : {})), { rowId: (_b = (_a = (0, Arrays_1.find)(tableState !== null && tableState !== void 0 ? tableState : [], function (r) { return r.uid === (row === null || row === void 0 ? void 0 : row.uid); })) === null || _a === void 0 ? void 0 : _a.rowId) !== null && _b !== void 0 ? _b : row.rowId });\n });\n }\n var uidMapBuilder = (_c = model === null || model === void 0 ? void 0 : model.getTableHelpers().createUidMapBuilder()) !== null && _c !== void 0 ? _c : (0, exports.getTableHelpers)().createUidMapBuilder();\n return uidMapBuilder\n .addDefaultRows(rowData)\n .addDynamicRows(tableState !== null && tableState !== void 0 ? tableState : [])\n .removeRows(tableState !== null && tableState !== void 0 ? tableState : [])\n .sortByValue()\n .create();\n}\nfunction getCellValidationInfo(component) {\n var table = component;\n var colInfo = [];\n var columns = table.columns;\n for (var column in columns) {\n var colData = table.columns[column];\n if (colData === null || colData === void 0 ? void 0 : colData[\"cellValidator\"]) {\n colInfo.push({\n type: colData[\"type\"],\n minValue: colData[\"cellValidator\"][\"minValue\"],\n maxValue: colData[\"cellValidator\"][\"maxValue\"],\n errMessage: colData[\"cellValidator\"][\"errorMessage\"],\n errTitle: colData[\"cellValidator\"][\"errorTitle\"],\n cValidation: colData[\"cellValidator\"][\"cValidation\"],\n cValidationErrTitle: colData[\"cellValidator\"][\"cValidationErrorTitle\"],\n cValidationErrMessage: colData[\"cellValidator\"][\"cValidationErrorMessage\"],\n });\n }\n }\n return colInfo;\n}\nfunction getTableActions(component, tab, model, uids, rowFormData) {\n var _a, _b, _c, _d, _e;\n var table = component;\n var dynamicTableData;\n if (!rowFormData) {\n dynamicTableData = model === null || model === void 0 ? void 0 : model.getDerivedFunction(component.name, component, model, tab);\n }\n var rowData = (_b = (_a = rowFormData !== null && rowFormData !== void 0 ? rowFormData : dynamicTableData) !== null && _a !== void 0 ? _a : table[\"rowData\"]) !== null && _b !== void 0 ? _b : createInitialRows(table);\n var columnNames = Object.keys(table.columns);\n var tableActions = { table: {} };\n var rowCount = 0;\n var tableState = (_e = (_d = (_c = model === null || model === void 0 ? void 0 : model.getState()) === null || _c === void 0 ? void 0 : _c[tab]) === null || _d === void 0 ? void 0 : _d[component.group]) === null || _e === void 0 ? void 0 : _e[component.name];\n rowData.forEach(function (row) {\n columnNames.forEach(function (columnName) {\n var _a, _b, _c, _d;\n if (!tableActions[\"table\"][row.uid]) {\n tableActions[\"table\"][row.uid] = {};\n }\n var uid;\n for (var uidsKey in uids) {\n if (uids[uidsKey] === row.rowId) {\n uid = uidsKey;\n }\n }\n uid = uid !== null && uid !== void 0 ? uid : createRowUid(Tables_1.RowPrefix.Default, rowCount);\n var defaultAction = createDefaultTableAction(component, rowCount, columnName, tab, uid);\n if (tableState) {\n var ind_1 = -1;\n var filtered = tableState.filter(function (row, index) {\n ind_1 = index;\n return row.uid === uid;\n });\n if (filtered.length) {\n defaultAction = createDefaultTableAction(component, ind_1, columnName, tab, uid !== null && uid !== void 0 ? uid : createRowUid(Tables_1.RowPrefix.Default, rowCount));\n }\n }\n if (component.columns[columnName].type == \"ComboBox\") {\n defaultAction[\"payload\"] = __assign(__assign({}, defaultAction[\"payload\"]), { options: getComboOptions((_a = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.overrideTableOptions, table.columns[columnName], columnName, component.name) });\n }\n var cellAction = (_c = (_b = row.actions) === null || _b === void 0 ? void 0 : _b[columnName]) !== null && _c !== void 0 ? _c : defaultAction;\n tableActions[\"table\"][row.uid][columnName] =\n (_d = model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getActions\", table.name, cellAction)) !== null && _d !== void 0 ? _d : cellAction;\n });\n rowCount++;\n });\n var uidKeys = Object.keys(uids);\n uidKeys.forEach(function (uidKey) {\n columnNames.forEach(function (columnName) {\n if (uids[uidKey] > -1) {\n if (!tableActions[\"table\"][uidKey]) {\n tableActions[\"table\"][uidKey] = {};\n tableActions[\"table\"][uidKey][columnName] = createDefaultTableAction(table, uids[uidKey], columnName, tab, uidKey);\n }\n else if (!tableActions[\"table\"][uidKey][columnName]) {\n tableActions[\"table\"][uidKey][columnName] = createDefaultTableAction(table, uids[uidKey], columnName, tab, uidKey);\n }\n }\n });\n });\n return JSON.stringify(tableActions);\n}\nfunction getTableUiSchema(table, columns) {\n var _a, _b;\n var tableUi = {\n tableCols: columns,\n search: table[\"isSearchable\"],\n striped: false,\n bordered: false,\n };\n if (table[\"canRemoveRows\"]) {\n tableUi = __assign(__assign({}, tableUi), { rightActions: getTableRightActions() });\n }\n if (table[\"canInsertRows\"]) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: getTableLeftActions() });\n }\n if (table.canMoveRowDown) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: ((_a = tableUi.leftActions) !== null && _a !== void 0 ? _a : []).concat(getTableMoveRowActions()[0]) });\n }\n if (table.canMoveRowUp) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: ((_b = tableUi.leftActions) !== null && _b !== void 0 ? _b : []).concat(getTableMoveRowActions()[1]) });\n }\n return {\n \"ui:field\": \"table\",\n className: \"col-md-12 individualComponent\",\n table: __assign({}, tableUi),\n };\n}\nfunction getCellStyle(isReadonly) {\n var tdStyle = {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n };\n if (isReadonly) {\n tdStyle[\"backgroundColor\"] = \"#EEEEEE\";\n }\n return tdStyle;\n}\nfunction getHeaderStyle(maxHeaderSize, displayHeadersDiagonally) {\n return displayHeadersDiagonally\n ? getDiagonalHeaderStyles(maxHeaderSize)\n : getDefaultHeaderStyles(maxHeaderSize);\n}\nfunction getDiagonalHeaderStyles(maxHeaderSize) {\n var headerSizeMultiplier = 3.3;\n return {\n position: \"relative\",\n bottom: \"-7px\",\n pointerEvents: \"none\",\n left: \"6px\",\n transformOrigin: \"bottom left\",\n transform: \"rotate(-30deg)\",\n paddingTop: \"\".concat(headerSizeMultiplier * maxHeaderSize, \"px\"),\n };\n}\nfunction getDefaultHeaderStyles(maxHeaderSize) {\n return {\n whiteSpace: \"unset\",\n maxWidth: \"\".concat(maxHeaderSize, \"px\"),\n };\n}\nfunction createDefaultTableAction(component, row, column, tab, uid) {\n return {\n type: \"[Table] EDIT_CELL\",\n payload: {\n tabId: tab !== null && tab !== void 0 ? tab : \"main\",\n path: \"\".concat(component === null || component === void 0 ? void 0 : component.group, \".\").concat(component === null || component === void 0 ? void 0 : component.name),\n column: column,\n value: \"%v\",\n uid: uid,\n rowId: row,\n },\n };\n}\nfunction updateActionsRowId(currentActions, rowId) {\n var modifiedActions = __assign({}, currentActions);\n var columnNames = Object.keys(currentActions);\n columnNames.forEach(function (columnName) {\n var _a;\n var payload = (_a = modifiedActions[columnName]) === null || _a === void 0 ? void 0 : _a[\"payload\"];\n if (payload) {\n var path = payload[\"path\"].split(\".\");\n path[path.length - 2] = rowId;\n modifiedActions[columnName][\"payload\"][\"rowId\"] = rowId;\n modifiedActions[columnName][\"payload\"][\"path\"] = path.join(\".\");\n }\n });\n return modifiedActions;\n}\nvar getDefaultValue = function (overrideDefaultValues, component, componentName, tableName) {\n var _a;\n return ((_a = overrideDefaultValues === null || overrideDefaultValues === void 0 ? void 0 : overrideDefaultValues(tableName, componentName)) !== null && _a !== void 0 ? _a : (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue));\n};\nvar getComboOptions = function (overrideOptions, component, componentName, tableName) {\n var _a;\n var dynamicOptions = overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions(tableName, componentName);\n return dynamicOptions && dynamicOptions.length > 0\n ? dynamicOptions\n : (_a = component === null || component === void 0 ? void 0 : component.defaultValue) === null || _a === void 0 ? void 0 : _a[\"options\"];\n};\nfunction getTableLeftActions() {\n return [\n {\n dataField: \"insert-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n tdStyle: { textOverflow: \"unset\" },\n },\n ];\n}\nfunction getTableRightActions() {\n return [\n {\n dataField: \"delete-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n tdStyle: { textOverflow: \"unset\" },\n },\n ];\n}\nfunction getTableMoveRowActions() {\n return [\n {\n dataField: \"row-down-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n },\n {\n dataField: \"row-up-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n },\n ];\n}\nfunction createRowUid(prefix, postfix) {\n return prefix + postfix;\n}\n//# sourceMappingURL=tables.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AlertTypes = void 0;\nexports.hasOptions = hasOptions;\nexports.isAssigned = isAssigned;\nexports.isUnassigned = isUnassigned;\nexports.isSingleton = isSingleton;\nexports.filterOptions = filterOptions;\nexports.mapOptionLabels = mapOptionLabels;\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes || (exports.AlertTypes = AlertTypes = {}));\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction hasOptions(dep) {\n return dep.options !== undefined;\n}\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isAssigned(dep) {\n return typeof dep.handle !== \"undefined\";\n}\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isUnassigned(dep) {\n return typeof dep.handle === \"undefined\";\n}\n/**\n * Type guard function for SingletonExport\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n * @param resource the export to check on being a singleton\n * @deprecated No longer used. Replaced with dynamic singleton identification\n * at runtime.\n */\nfunction isSingleton(resource) {\n return typeof resource.isSingleton !== \"undefined\" && resource.isSingleton;\n}\n/**\n * Returns a copy of `populatedImport` with all options removed which\n * cause `optionFilter` to return false.\n */\nfunction filterOptions(populatedImport, optionFilter) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.filter(optionFilter) });\n }\n return populatedImport;\n}\n/**\n * Returns a copy of `populatedImport` with the options' handle labels\n * mapped according to `labelFactory`.\n */\nfunction mapOptionLabels(populatedImport, labelFactory) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.map(function (option) {\n return __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: labelFactory(option) }) });\n }) });\n }\n return populatedImport;\n}\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Setting_1 = require(\"./Setting\");\nvar Register_1 = require(\"./Register\");\nvar Arrays_1 = require(\"./util/Arrays\");\n/** Builder pattern */\nvar CalculateRegisterValue = /** @class */ (function () {\n function CalculateRegisterValue(register) {\n var _this = this;\n this.modifiedSettings = [];\n /** Assign a numerical value to the given `Setting`. */\n this.withNumberValue = function (setting, value) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign number value to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \".concat(setting.alias, \" is not present in Register \").concat(_this.register.name));\n }\n _this.modifiedSettings = __spreadArray(__spreadArray([], _this.modifiedSettings, true), [\n new NumberSettingValue(setting, value),\n ], false);\n return _this;\n };\n /** Assign the given `Option` to the given `Setting`. */\n this.withOption = function (setting, option) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \".concat(setting.alias, \" is not present in Register \").concat(_this.register.name));\n }\n if (!option || !_this.getOption(setting, option)) {\n throw new Error(\"Option \".concat(option === null || option === void 0 ? void 0 : option.name, \" is not present in Setting \").concat(setting.name));\n }\n _this.modifiedSettings = __spreadArray(__spreadArray([], _this.modifiedSettings, true), [\n new OptionSettingValue(setting, option),\n ], false);\n return _this;\n };\n /** Assign the `Option` matching the given alias to the given `Setting`. */\n this.withOptionAlias = function (setting, optionAlias) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option alias to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByAlias)(optionAlias, setting);\n if (option === undefined) {\n throw new Error(\"Option Alias: \\\"\".concat(optionAlias, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given name to the given `Setting`. */\n this.withOptionName = function (setting, optionName) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option name to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByName)(optionName, setting);\n if (option === undefined) {\n throw new Error(\"Option Name: \\\"\".concat(optionName, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given description to the given `Setting`. */\n this.withOptionDescription = function (setting, optionDescription) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option description to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByDescription)(optionDescription, setting);\n if (option === undefined) {\n throw new Error(\"Option Description: \\\"\".concat(optionDescription, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n this.getSetting = function (setting) {\n return (0, Register_1.getSettingByAlias)(setting.alias, _this.register);\n };\n this.getOption = function (setting, option) {\n return (option === null || option === void 0 ? void 0 : option.name) ? (0, Setting_1.getOptionByName)(option.name, setting) : undefined;\n };\n this.calculate = function () {\n var registerValue = 0;\n _this.modifiedSettings.forEach(function (modifiedSetting) {\n registerValue = _this.setValue(modifiedSetting, registerValue);\n });\n var unmodifiedSettings = _this.getUnmodifiedSettings();\n unmodifiedSettings.forEach(function (unmodifiedSetting) {\n registerValue = _this.setValue(SettingValue.defaultValue(unmodifiedSetting), registerValue);\n });\n return Number(registerValue);\n };\n this.setValue = function (setting, registerValue) {\n var value = registerValue;\n value &= ~setting.getMask(); // Clear bits\n value |= setting.getShiftedValue(); // Set bits\n return value >>> 0;\n };\n this.getUnmodifiedSettings = function () {\n var _a, _b;\n var modifiedSettingNames = (0, Arrays_1.map)(_this.modifiedSettings, function (setting) {\n return setting.getName();\n });\n return (0, Arrays_1.filter)((_b = (0, Arrays_1.values)((_a = _this.register.settings) !== null && _a !== void 0 ? _a : {})) !== null && _b !== void 0 ? _b : [], function (setting) { return modifiedSettingNames.indexOf(setting.name) < 0; });\n };\n /** Calculate and print the register's value as a hex string. */\n this.asHexString = function () { return CalculateRegisterValue.toHexString(_this.calculate()); };\n /** Calculate and print the register's value as a binary string. */\n this.asBinaryString = function () {\n return CalculateRegisterValue.toBinaryString(_this.calculate());\n };\n /** Calculate and print the register's value as a decimal string. */\n this.asDecimalString = function () {\n return CalculateRegisterValue.toDecimalString(_this.calculate());\n };\n /** Calculate and return the register's value as a number. */\n this.asNumber = function () { return _this.calculate(); };\n this.register = register;\n }\n /** Creates a register value calculation object for the given register. */\n CalculateRegisterValue.for = function (register) {\n return new CalculateRegisterValue(register);\n };\n /** Format the given number as a hex string value. */\n CalculateRegisterValue.toHexString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toHexString() illegal argument exception. Value must not be null.\");\n }\n return \"0x\" + value.toString(16);\n };\n /** Format the given number as a binary string value. */\n CalculateRegisterValue.toBinaryString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toBinaryString() illegal argument exception. Value must not be null.\");\n }\n return \"0b\" + value.toString(2);\n };\n /** Format the given number as a decimal string value. */\n CalculateRegisterValue.toDecimalString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toDecimalString() illegal argument exception. Value must not be null.\");\n }\n return value.toString();\n };\n return CalculateRegisterValue;\n}());\nexports.default = CalculateRegisterValue;\nvar SettingValue = /** @class */ (function () {\n function SettingValue(setting) {\n var _this = this;\n this.getMask = function () { return Number(_this.setting.mask); };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getShiftedValue = function () { return _this.getValue() << _this.getShift(); };\n this.getName = function () { return _this.setting.name; };\n this.setting = setting;\n }\n SettingValue.defaultValue = function (setting) {\n var value = Number(setting.porDefault);\n return new NumberSettingValue(setting, value);\n };\n return SettingValue;\n}());\nvar NumberSettingValue = /** @class */ (function (_super) {\n __extends(NumberSettingValue, _super);\n function NumberSettingValue(setting, value) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return _this.value; };\n _this.value = value;\n return _this;\n }\n return NumberSettingValue;\n}(SettingValue));\nvar OptionSettingValue = /** @class */ (function (_super) {\n __extends(OptionSettingValue, _super);\n function OptionSettingValue(setting, option) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return Number(_this.option.value); };\n _this.option = option;\n return _this;\n }\n OptionSettingValue.fromDefaultValue = function (setting, value) {\n var foundValueByName = (0, Setting_1.getOptionByName)(value, setting);\n if (foundValueByName)\n return new OptionSettingValue(setting, foundValueByName);\n var foundValueByAlias = (0, Setting_1.getOptionByAlias)(value, setting);\n if (foundValueByAlias)\n return new OptionSettingValue(setting, foundValueByAlias);\n throw new Error(\"Unable to create default value '\".concat(value, \"' for setting '\").concat(setting.name, \"'.\"));\n };\n return OptionSettingValue;\n}(SettingValue));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSettingByAlias = void 0;\nvar getSettingByAlias = function (alias, register) {\n var _a;\n return (_a = register.settings) === null || _a === void 0 ? void 0 : _a[alias];\n};\nexports.getSettingByAlias = getSettingByAlias;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionDescriptions = exports.getOptionNames = exports.getOptionByDescription = exports.getOptionByName = exports.getOptionByAlias = exports.getBitRange = exports.getBitLabel = void 0;\nvar Arrays_1 = require(\"./util/Arrays\");\n/**\n * Converts a hexadecimal string to binary.\n * Any leading zeros are removed from the returned string.\n */\nvar hexToBinary = function (hex) {\n return parseInt(hex, 16).toString(2);\n};\n/**\n * Returns a string of the corresponding bit position(s).\n */\nvar getBitLabel = function (setting) {\n if (setting.mask === undefined) {\n return undefined;\n }\n var bitRange = (0, exports.getBitRange)(setting);\n if (!bitRange)\n return undefined;\n if (bitRange.high === bitRange.low) {\n return \"bit \".concat(bitRange.high);\n }\n return \"bit \".concat(bitRange.high, \"-\").concat(bitRange.low);\n};\nexports.getBitLabel = getBitLabel;\n/**\n * Converts the hexadecimal mask provided within the register setting\n * and returns an interface containing the corresponding low and high bit positions.\n */\nvar getBitRange = function (setting) {\n if (!setting.mask)\n return undefined;\n var processedHex = hexToBinary(setting.mask);\n return {\n high: processedHex.length - 1,\n low: getBitRangeLow(processedHex),\n };\n};\nexports.getBitRange = getBitRange;\nvar getOptionByAlias = function (alias, setting) {\n var _a, _b;\n var result = (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.alias == alias; });\n if (!result) {\n result = (0, Arrays_1.find)((_b = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _b !== void 0 ? _b : [], function (option) { return option.description == alias; });\n }\n return result;\n};\nexports.getOptionByAlias = getOptionByAlias;\nvar getOptionByName = function (name, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name == name; });\n};\nexports.getOptionByName = getOptionByName;\nvar getOptionByDescription = function (description, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description == description; });\n};\nexports.getOptionByDescription = getOptionByDescription;\nvar getOptionNames = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name; });\n};\nexports.getOptionNames = getOptionNames;\nvar getOptionDescriptions = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description; });\n};\nexports.getOptionDescriptions = getOptionDescriptions;\nfunction getBitRangeLow(processedHex) {\n if (processedHex.charAt(1) === \"1\") {\n var index = 1;\n while (processedHex.charAt(index) === \"1\") {\n index++;\n }\n return processedHex.length - index;\n }\n else {\n return processedHex.length - 1;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.values = exports.getKeys = exports.find = exports.filter = exports.map = void 0;\nvar map = function (arr, callback) {\n var result = [];\n arr.forEach(function (value, index) {\n result[index] = callback(value);\n });\n return result;\n};\nexports.map = map;\nvar filter = function (arr, callback) {\n var result = [];\n arr.forEach(function (value) {\n if (callback(value)) {\n result.push(value);\n }\n });\n return result;\n};\nexports.filter = filter;\n/**\n * Iterates over elements of the array, returning the first element that the predicate returns truthy for.\n */\nvar find = function (arr, callback) {\n for (var i = 0; i < arr.length; i++) {\n if (callback(arr[i])) {\n return arr[i];\n }\n }\n return undefined;\n};\nexports.find = find;\n/** @returns the non-prototype keys of the given object */\nvar getKeys = function (obj) {\n if (!obj)\n return undefined;\n return Object.getOwnPropertyNames(obj);\n};\nexports.getKeys = getKeys;\nvar values = function (obj) {\n var _a;\n if (!obj)\n return undefined;\n return (_a = (0, exports.getKeys)(obj)) === null || _a === void 0 ? void 0 : _a.map(function (key) { return obj[key]; });\n};\nexports.values = values;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildSimpleApi = function (functions) {\n var api = {};\n for (var key in functions) {\n api[key] = buildFunction(functions[key]);\n }\n return api;\n};\nvar buildFunction = function (cFunction) {\n return cFunction.returns + \" \" + cFunction.name + \"(\" + buildArguments(cFunction.arguments) + \")\";\n};\nvar buildArguments = function (args) {\n if (args) {\n return args.map(function (arg) { return arg.type + \" \" + arg.name; }).join(\", \");\n }\n else {\n return \"void\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInterfaceName = function (pkgJson) {\n var strReplace = \"@microchip/\";\n var interfaceName;\n if (pkgJson) {\n interfaceName = pkgJson[\"name\"];\n if (interfaceName) {\n interfaceName = interfaceName.replace(strReplace, \"\");\n }\n }\n if (!interfaceName) {\n throw new Error(\"Invalid Interface Name...!\");\n }\n return interfaceName;\n};\nexports.getInterfaceVersion = function (pkgJson) {\n var versionRegex = new RegExp(\"\\\\d+.\\\\d+.\\\\d+\");\n var version;\n if (pkgJson) {\n version = pkgJson[\"version\"];\n }\n if (!version && !versionRegex.test(version)) {\n throw new Error(\"Invalid Interface Version...!\");\n }\n return version;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar c_function_types_1 = require(\"./c-function-types\");\nexports.buildSimpleApi = c_function_types_1.buildSimpleApi;\nvar helpers_1 = require(\"./helpers\");\nexports.getInterfaceName = helpers_1.getInterfaceName;\nexports.getInterfaceVersion = helpers_1.getInterfaceVersion;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateRegisterView = void 0;\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar ViewSchemaBuilder_1 = require(\"./ViewSchemaBuilder\");\nvar Model_1 = require(\"./Model\");\nvar throwError = function (message) {\n throw new Error(message);\n};\nvar CreateRegisterView = /** @class */ (function () {\n function CreateRegisterView(module) {\n var _this = this;\n this.registers = [];\n this.interrupts = [];\n /** Create a register view */\n this.create = function () {\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n title: \"Register Settings\",\n type: \"object\",\n })\n .withTabName(\"Register Initialization\")\n .withExpandedDefault(false);\n _this.registers.forEach(function (reg) {\n schemaBuilder.addChildComponent(reg.getRegister().name, _this.createRegisterView(reg));\n });\n schemaBuilder.addChildComponent(\"interrupts\", _this.createInterruptView());\n return schemaBuilder.build();\n };\n /** Assign a numerical value to the given register. */\n this.withRegisterValue = function (register, value) {\n _this.getSafeRegisterViewModel(register).setValue(value);\n return _this;\n };\n /** Assign a string value to the given interrupt. */\n this.withInterruptValue = function (interrupt, value) {\n _this.getSafeInterruptViewModel(interrupt).setValue(value);\n return _this;\n };\n /** Assign the interrupt combobox options. */\n this.withInterruptOptions = function (interrupt, options) {\n _this.getSafeInterruptViewModel(interrupt).setOptions(options);\n return _this;\n };\n /** Make all settings in all registers editable */\n this.withAllEditable = function () {\n _this.registers.forEach(function (register) {\n return _this.withEditableRegister(register.getRegister());\n });\n _this.interrupts.forEach(function (interrupt) {\n _this.withEditableInterrupt(interrupt.getInterrupt());\n });\n return _this;\n };\n /** Make settings in the given register editable based on setting type*/\n this.withEditableRegister = function (register) {\n var _a, _b;\n _this.getSafeRegisterViewModel(register).setReadonly(false);\n if (register) {\n (_b = (0, Arrays_1.values)((_a = register === null || register === void 0 ? void 0 : register.settings) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n if ((setting === null || setting === void 0 ? void 0 : setting.type) === \"R\") {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n else {\n _this.getSafeSettingViewModel(register, setting).setReadonly(false);\n }\n });\n }\n return _this;\n };\n /** Make a setting in the given register and setting readonly based on setting*/\n this.withEditableRegisterSetting = function (register, setting) {\n if (register && setting) {\n if ((setting === null || setting === void 0 ? void 0 : setting.type) === \"R\") {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n else {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n }\n return _this;\n };\n this.withInVisibleRegister = function (register) {\n var _a, _b;\n _this.getSafeRegisterViewModel(register).setIsVisible(false);\n if (register) {\n (_b = (0, Arrays_1.values)((_a = register === null || register === void 0 ? void 0 : register.settings) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n _this.getSafeSettingViewModel(register, setting).setIsVisible(false);\n });\n }\n return _this;\n };\n this.withInVisibleRegisterSetting = function (register, setting) {\n if (register && setting) {\n _this.getSafeSettingViewModel(register, setting).setIsVisible(false);\n }\n return _this;\n };\n this.withUpdatedSettingDescription = function (register, setting, overrideTitle) {\n if (register && setting && overrideTitle) {\n _this.getSafeSettingViewModel(register, setting).setDescription(overrideTitle);\n }\n return _this;\n };\n /** Make register non-editable*/\n this.withNonEditableRegister = function (register) {\n _this.getSafeRegisterViewModel(register).setReadonly(true);\n return _this;\n };\n /** Make a given setting in register editable */\n this.withEditableSetting = function (register, setting) {\n _this.getSafeSettingViewModel(register, setting).setReadonly(false);\n return _this;\n };\n /** Make a given interrupt editable */\n this.withEditableInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setReadonly(false);\n return _this;\n };\n /** Make a given interrupt Invisible */\n this.withInVisibleInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setIsVisible(false);\n return _this;\n };\n /** Make a given interrupt non-editable */\n this.withNonEditableInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setReadonly(true);\n return _this;\n };\n this.getSafeRegisterViewModel = function (register) {\n var _a;\n return (_a = _this.getRegisterViewModel(register !== null && register !== void 0 ? register : throwError(\"Invalid register parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get register view model for '\".concat(register.name, \"'. Not found in this module.\"));\n };\n this.getSafeInterruptViewModel = function (interrupt) {\n var _a;\n return (_a = _this.getInterruptViewModel(interrupt !== null && interrupt !== void 0 ? interrupt : throwError(\"Invalid interrupt parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get interrupt view model for '\".concat(interrupt.name, \"'. Not found in this module.\"));\n };\n this.getSafeSettingViewModel = function (register, setting) {\n var _a;\n return (_a = _this.getSafeRegisterViewModel(register).getSettingViewModel(setting !== null && setting !== void 0 ? setting : throwError(\"Invalid setting parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get setting view model for '\".concat(setting.name, \"'. Not found in this module.\"));\n };\n this.getRegisterViewModel = function (register) {\n var name = register.name;\n return (0, Arrays_1.find)(_this.registers, function (rv) { return rv.getRegister().name === name; });\n };\n this.getInterruptViewModel = function (interrupt) {\n var name = interrupt.name;\n return (0, Arrays_1.find)(_this.interrupts, function (rv) { return rv.getInterrupt().name === name; });\n };\n this.createRegisterView = function (register) {\n var registerValue = register.getValue() || 0;\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n type: \"object\",\n title: register.getName() +\n \" : \" +\n CalculateRegisterValue_1.default.toHexString(registerValue),\n description: register.getDescription(),\n properties: {},\n })\n .withUiSchema({})\n .withFormData({});\n register.forEachSetting(function (setting) {\n schemaBuilder.addChildComponent(setting.getName(), _this.createSettingView(setting));\n });\n return schemaBuilder.build();\n };\n this.createSettingView = function (setting) {\n return setting.hasOptions()\n ? _this.createHasOptionsViewSchema(setting)\n : _this.getNoOptionsViewSchema(setting);\n };\n this.createInterruptView = function () {\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n type: \"object\",\n title: \"Interrupts\",\n properties: {},\n })\n .withUiSchema({})\n .withFormData({});\n _this.interrupts.forEach(function (int) {\n schemaBuilder.addChildComponent(int.getInterrupt().name, _this.createInterruptViewSchema(int));\n });\n return schemaBuilder.build();\n };\n this.module = module;\n this.registers = this.createRegisterViewModelForEachRegister(module);\n this.interrupts = this.createInterruptViewModelForEachInterrupt(module);\n }\n CreateRegisterView.prototype.createRegisterViewModelForEachRegister = function (module) {\n var _a;\n var models = [];\n var registers = (_a = module.registers) !== null && _a !== void 0 ? _a : {};\n Object.keys(registers).forEach(function (registerKey) {\n models.push(new Model_1.RegisterViewModel(registers[registerKey]));\n });\n return models;\n };\n CreateRegisterView.prototype.createInterruptViewModelForEachInterrupt = function (module) {\n var _a;\n var models = [];\n var interrupts = (_a = module.interrupts) !== null && _a !== void 0 ? _a : {};\n Object.keys(interrupts).forEach(function (interruptKey) {\n models.push(new Model_1.InterruptViewModel(interrupts[interruptKey]));\n });\n return models;\n };\n CreateRegisterView.prototype.getNoOptionsViewSchema = function (setting) {\n var _a;\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(!setting.getIsVisible() ? \"hidden\" : undefined)\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_a = setting.getDescription()) !== null && _a !== void 0 ? _a : \"\"));\n return {\n schema: this.createSettingViewSchema(setting),\n uiSchema: setting.getMaxValue() > 1\n ? uiSchemaBuilder.build()\n : this.getBinarySettingUiSchema(setting),\n formData: setting.mapToOptionNameIfExists(setting.getValue()),\n };\n };\n CreateRegisterView.prototype.createHasOptionsViewSchema = function (setting) {\n var _a, _b;\n var schemaBuilder = new ViewSchemaBuilder_1.SchemaBuilder(\"string\", (_a = (0, Setting_1.getBitLabel)(setting.getSetting())) !== null && _a !== void 0 ? _a : \"\")\n .withEnum(setting.getOptionNames())\n .withDefault(setting.mapToOptionNameIfExists(setting.getValue()));\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(!setting.getIsVisible() ? \"hidden\" : undefined)\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_b = setting.getDescription()) !== null && _b !== void 0 ? _b : \"\"));\n return {\n schema: schemaBuilder.build(),\n uiSchema: uiSchemaBuilder.build(),\n formData: setting.mapToOptionNameIfExists(setting.getValue()),\n };\n };\n CreateRegisterView.prototype.createSettingViewSchema = function (setting) {\n var _a;\n var schema = new ViewSchemaBuilder_1.SchemaBuilder(\"integer\", (_a = (0, Setting_1.getBitLabel)(setting.getSetting())) !== null && _a !== void 0 ? _a : \"\").withDefault(setting.mapToOptionNameIfExists(setting.getPORDefault()));\n setting.getMaxValue() > 1\n ? schema.withMaximum(setting.getMaxValue()).withMinimum(0)\n : schema.withEnum([0, 1]);\n return schema.build();\n };\n CreateRegisterView.prototype.createInterruptViewSchema = function (interrupt) {\n var _a;\n var schema = new ViewSchemaBuilder_1.SchemaBuilder(\"string\", interrupt.getInterrupt().name)\n .withEnum(interrupt.getOptions())\n .withDefault(interrupt.getValue());\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(interrupt.getIsReadonly())\n .withWidget(!interrupt.getIsVisible() ? \"hidden\" : undefined);\n return {\n schema: schema.build(),\n uiSchema: uiSchemaBuilder.build(),\n formData: (_a = interrupt.getValue()) !== null && _a !== void 0 ? _a : {},\n };\n };\n CreateRegisterView.prototype.getBinarySettingUiSchema = function (setting) {\n var _a;\n return new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(!setting.getIsVisible() ? \"hidden\" : \"radio\")\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_a = setting.getDescription()) !== null && _a !== void 0 ? _a : \"\"))\n .withOptions({ inline: true })\n .build();\n };\n /** Creates Register View Builder for the given module. */\n CreateRegisterView.for = function (moduleDescription) {\n if (!moduleDescription) {\n throwError(\"Creation failed. Invalid module parameter.\");\n }\n if (!moduleDescription.registers && !moduleDescription.interrupts) {\n throwError(\"Creation failed for \".concat(moduleDescription.name, \". Input module contains no registers or interrupts.\"));\n }\n return new CreateRegisterView(moduleDescription);\n };\n return CreateRegisterView;\n}());\nexports.CreateRegisterView = CreateRegisterView;\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SettingViewModel = exports.RegisterViewModel = exports.InterruptViewModel = void 0;\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar InterruptViewModel = /** @class */ (function () {\n function InterruptViewModel(interrupt) {\n var _this = this;\n this.isReadOnly = true;\n this.isVisible = true;\n this.getInterrupt = function () { return _this.interrupt; };\n this.setValue = function (value) {\n _this.value = value;\n };\n this.getValue = function () { return _this.value; };\n this.setOptions = function (options) {\n _this.options = options;\n };\n this.getOptions = function () { var _a; return (_a = _this.options) !== null && _a !== void 0 ? _a : []; };\n this.getIsReadonly = function () { return _this.isReadOnly; };\n this.getIsVisible = function () { return _this.isVisible; };\n this.setReadonly = function (isReadOnly) {\n _this.isReadOnly = isReadOnly;\n };\n this.setIsVisible = function (visibility) {\n _this.isVisible = visibility;\n };\n if (!interrupt) {\n throw new Error(\"IllegalInputArgument for 'interrupt' in InterruptValue\");\n }\n this.interrupt = interrupt;\n }\n return InterruptViewModel;\n}());\nexports.InterruptViewModel = InterruptViewModel;\nvar RegisterViewModel = /** @class */ (function () {\n function RegisterViewModel(register) {\n var _this = this;\n this.settings = [];\n this.getSettings = function () { return _this.settings; };\n this.getSettingViewModel = function (setting) {\n var name = setting.name;\n return (0, Arrays_1.find)(_this.settings, function (rv) { return rv.getSetting().name === name; });\n };\n this.forEachSetting = function (doThis) {\n _this.settings.forEach(doThis);\n };\n this.getRegister = function () { return _this.register; };\n this.getName = function () { return _this.register.name; };\n this.getDescription = function () { return _this.register.desc; };\n this.getValue = function () { return _this.value; };\n this.setValue = function (value) {\n _this.value = value;\n };\n this.setReadonly = function (value) {\n if (value === void 0) { value = true; }\n _this.forEachSetting(function (setting) { return setting.setReadonly(value); });\n };\n this.setIsVisible = function (visibility) {\n _this.forEachSetting(function (setting) { return setting.setReadonly(visibility); });\n };\n this.getDefaultValue = function () { return CalculateRegisterValue_1.default.for(_this.register).asNumber(); };\n this.getValueOrDefault = function () {\n var value = _this.getValue();\n return value !== null && value !== void 0 ? value : _this.getDefaultValue();\n };\n if (!register) {\n throw new Error(\"IllegalInputArgument for 'register' in RegisterValue\");\n }\n this.register = register;\n if (register.settings) {\n this.settings = this.createSettingViewModels(register);\n }\n }\n RegisterViewModel.prototype.createSettingViewModels = function (register) {\n var _this = this;\n var _a;\n var models = [];\n var settings = (_a = register.settings) !== null && _a !== void 0 ? _a : {};\n Object.keys(settings).forEach(function (settingKey) {\n models.push(new SettingViewModel(settings[settingKey], _this.getValueOrDefault));\n });\n return RegisterViewModel.sortSettingsDescending(models);\n };\n /** Sorts the settings in descending order based on bit positions. */\n RegisterViewModel.sortSettingsDescending = function (settings) {\n var result = __spreadArray([], settings, true);\n result.sort(function (settingOne, settingTwo) {\n var _a, _b, _c, _d;\n var bitRangeOne = (_b = (_a = (0, Setting_1.getBitRange)(settingOne.getSetting())) === null || _a === void 0 ? void 0 : _a.high) !== null && _b !== void 0 ? _b : -1;\n var bitRangeTwo = (_d = (_c = (0, Setting_1.getBitRange)(settingTwo.getSetting())) === null || _c === void 0 ? void 0 : _c.high) !== null && _d !== void 0 ? _d : -1;\n return bitRangeTwo - bitRangeOne;\n });\n return result;\n };\n return RegisterViewModel;\n}());\nexports.RegisterViewModel = RegisterViewModel;\nvar SettingViewModel = /** @class */ (function () {\n function SettingViewModel(setting, getRegisterValue) {\n var _this = this;\n this.isReadonly = true;\n this.isVisible = true;\n this.setReadonly = function (value) {\n if (value === void 0) { value = true; }\n _this.isReadonly = value;\n };\n this.setIsVisible = function (visibility) {\n _this.isVisible = visibility;\n };\n this.setDescription = function (value) {\n _this.setting.description = value;\n };\n this.getIsReadonly = function () { return _this.isReadonly; };\n this.getIsVisible = function () { return _this.isVisible; };\n this.getSetting = function () { return _this.setting; };\n this.getName = function () { return _this.setting.name; };\n this.getDescription = function () { return _this.setting.description; };\n this.getPORDefault = function () { return Number(_this.setting.porDefault); };\n this.getMask = function () { return Number(_this.setting.mask); };\n this.hasOptions = function () {\n return !!_this.setting.options;\n };\n this.getOptionNames = function () {\n return (0, Arrays_1.map)(nullSafe(_this.setting.options), function (option) { return option.name; });\n };\n this.mapToOptionNameIfExists = function (value) {\n var option = _this.getOptionForValue(value);\n return option !== undefined ? option.name : value;\n };\n this.getOptionForValue = function (value) {\n return (0, Arrays_1.find)(nullSafe(_this.setting.options), function (option) {\n var optionValue = option.value;\n return optionValue != undefined ? parseInt(optionValue) === value : false;\n });\n };\n this.getValue = function () {\n var value = _this.getRegisterValue();\n value &= _this.getMask();\n return value >>> _this.getShift();\n };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >>> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getMaxValue = function () {\n var mask = _this.getMask();\n while (!(mask & 0x1)) {\n mask = mask >>> 1;\n }\n return mask;\n };\n if (!setting) {\n throw new Error(\"SettingViewModel: Invalid input argument\");\n }\n this.setting = setting;\n this.getRegisterValue = getRegisterValue;\n }\n return SettingViewModel;\n}());\nexports.SettingViewModel = SettingViewModel;\nvar nullSafe = function (array) { return array !== null && array !== void 0 ? array : []; };\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UiSchemaBuilder = exports.SchemaBuilder = exports.ViewSchemaBuilder = void 0;\nvar ViewSchemaBuilder = /** @class */ (function () {\n function ViewSchemaBuilder() {\n this.schema = {};\n this.uiSchema = {};\n this.formData = {};\n this.tabName = \"main\";\n this.expandGroupsByDefault = true;\n }\n ViewSchemaBuilder.prototype.withSchema = function (schema) {\n this.schema = schema;\n return this;\n };\n ViewSchemaBuilder.prototype.withUiSchema = function (uiSchema) {\n this.uiSchema = uiSchema;\n return this;\n };\n ViewSchemaBuilder.prototype.withFormData = function (formData) {\n this.formData = formData;\n return this;\n };\n ViewSchemaBuilder.prototype.withTabName = function (name) {\n this.tabName = name;\n return this;\n };\n ViewSchemaBuilder.prototype.withExpandedDefault = function (expandGroupsByDefault) {\n this.expandGroupsByDefault = expandGroupsByDefault;\n return this;\n };\n ViewSchemaBuilder.prototype.addChildComponent = function (childName, child) {\n var _a, _b, _c;\n this.schema = __assign(__assign({}, this.schema), { properties: __assign(__assign({}, this.schema.properties), (_a = {}, _a[childName] = child.schema, _a)) });\n this.uiSchema = __assign(__assign({}, this.uiSchema), (_b = {}, _b[childName] = child.uiSchema, _b));\n if (this.formData instanceof Object) {\n this.formData = __assign(__assign({}, this.formData), (_c = {}, _c[childName] = child.formData, _c));\n }\n };\n ViewSchemaBuilder.prototype.build = function () {\n return {\n schema: this.schema,\n uiSchema: this.uiSchema,\n formData: this.formData,\n name: this.tabName,\n expandGroupsByDefault: this.expandGroupsByDefault,\n };\n };\n return ViewSchemaBuilder;\n}());\nexports.ViewSchemaBuilder = ViewSchemaBuilder;\nvar SchemaBuilder = /** @class */ (function () {\n function SchemaBuilder(type, title) {\n this.title = title;\n this.type = type;\n }\n SchemaBuilder.prototype.withProperties = function (properties) {\n this.properties = properties;\n return this;\n };\n SchemaBuilder.prototype.withDefault = function (defaultValue) {\n this.default = defaultValue;\n return this;\n };\n SchemaBuilder.prototype.withMaximum = function (maximum) {\n this.maximum = maximum;\n return this;\n };\n SchemaBuilder.prototype.withMinimum = function (minimum) {\n this.minimum = minimum;\n return this;\n };\n SchemaBuilder.prototype.withEnum = function (vals) {\n this.enum = vals;\n return this;\n };\n SchemaBuilder.prototype.build = function () {\n return {\n type: this.type,\n title: this.title,\n properties: this.properties,\n default: this.default,\n maximum: this.maximum,\n minimum: this.minimum,\n enum: this.enum,\n };\n };\n return SchemaBuilder;\n}());\nexports.SchemaBuilder = SchemaBuilder;\nvar UiSchemaBuilder = /** @class */ (function () {\n function UiSchemaBuilder() {\n }\n UiSchemaBuilder.prototype.withReadonlyValue = function (isReadonly) {\n this.isReadOnly = isReadonly;\n return this;\n };\n UiSchemaBuilder.prototype.withWidget = function (widgetName) {\n this.widget = widgetName;\n return this;\n };\n UiSchemaBuilder.prototype.withOptions = function (options) {\n this.options = options;\n return this;\n };\n UiSchemaBuilder.prototype.withUiHelp = function (uiHelp) {\n this.uiHelp = uiHelp;\n return this;\n };\n UiSchemaBuilder.prototype.build = function () {\n return {\n \"ui:readonly\": this.isReadOnly,\n \"ui:widget\": this.widget,\n \"ui:options\": this.options,\n \"ui:help\": this.uiHelp,\n };\n };\n return UiSchemaBuilder;\n}());\nexports.UiSchemaBuilder = UiSchemaBuilder;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeExport = exports.createPrototypeImport = exports.getInterfaceId = void 0;\nvar InterfaceTypes = __importStar(require(\"@microchip/scf-interface\"));\nvar pkgJson = require(\"../package.json\");\nexports.getInterfaceId = function () {\n return {\n name: InterfaceTypes.getInterfaceName(pkgJson),\n version: InterfaceTypes.getInterfaceVersion(pkgJson),\n };\n};\nexports.createPrototypeImport = function () {\n return {\n interfaceId: exports.getInterfaceId(),\n };\n};\nexports.createPrototypeExport = function () {\n return {\n interfaces: [{ interfaceId: exports.getInterfaceId() }],\n };\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar sys_init_basic_interface_1 = require(\"./sys-init-basic-interface\");\nObject.defineProperty(exports, \"Interface\", { enumerable: true, get: function () { return sys_init_basic_interface_1.Interface; } });\nObject.defineProperty(exports, \"INIT_PRIORITY\", { enumerable: true, get: function () { return sys_init_basic_interface_1.INIT_PRIORITY; } });\nObject.defineProperty(exports, \"prioritySorter\", { enumerable: true, get: function () { return sys_init_basic_interface_1.prioritySorter; } });\nObject.defineProperty(exports, \"sortSysInitInitializers\", { enumerable: true, get: function () { return sys_init_basic_interface_1.sortSysInitInitializers; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMock = void 0;\nvar api_1 = require(\"./api\");\nexports.createMock = function () {\n return {\n interfaceId: api_1.getInterfaceId(),\n payload: {\n moduleName: \"MyModule\",\n },\n args: {},\n results: {\n requestId: {\n initializers: [\n {\n name: \"mymodule_init1();\",\n header: {\n name: \"../mymodule.h\",\n path: \"include/\",\n },\n priority: 1,\n },\n ],\n localInitializers: [\n {\n funcDec: \"void mymodule_init2(void);\",\n name: \"mymodule_init2();\",\n funcBody: \"/** \\n * @ingroup systemdriver\\n * @brief Initializes the Peripheral module.\\n * @param None.\\n * @return None.\\n * void mymodule_init2(void){\\n * //IOCMD IOC enabled; CLKRMD CLKR enabled;\\n * PMD0 = 0x0;\\n * }\\n */\",\n priority: 1,\n },\n ],\n },\n },\n };\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Interface = exports.sortSysInitInitializers = exports.prioritySorter = exports.INIT_PRIORITY = void 0;\nvar mock_1 = require(\"./mock\");\nvar api_1 = require(\"./api\");\nvar INIT_PRIORITY;\n(function (INIT_PRIORITY) {\n INIT_PRIORITY[INIT_PRIORITY[\"START\"] = 1] = \"START\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_PERIPHERAL\"] = 50] = \"PRE_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"PERIPHERAL\"] = 100] = \"PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_PERIPHERAL\"] = 150] = \"POST_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"DEFAULT\"] = 200] = \"DEFAULT\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_SOFTWARE\"] = 250] = \"PRE_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"SOFTWARE\"] = 300] = \"SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_SOFTWARE\"] = 350] = \"POST_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"END\"] = 400] = \"END\";\n})(INIT_PRIORITY = exports.INIT_PRIORITY || (exports.INIT_PRIORITY = {}));\n/** Sorting initializer based on the priority. */\nexports.prioritySorter = function (a, b) {\n var _a, _b, _c, _d;\n var result = 0;\n var apriority = (_a = a === null || a === void 0 ? void 0 : a.initializer.priority) !== null && _a !== void 0 ? _a : INIT_PRIORITY.DEFAULT;\n var bpriority = (_b = b === null || b === void 0 ? void 0 : b.initializer.priority) !== null && _b !== void 0 ? _b : INIT_PRIORITY.DEFAULT;\n if (apriority < bpriority) {\n result = -1;\n }\n else if (apriority > bpriority) {\n result = 1;\n }\n else {\n //same priority sort via intializer name alphabetically\n result = (_d = (_c = a === null || a === void 0 ? void 0 : a.initializer.name) === null || _c === void 0 ? void 0 : _c.localeCompare(b === null || b === void 0 ? void 0 : b.initializer.name)) !== null && _d !== void 0 ? _d : 0;\n }\n return result;\n};\n/**Creating list - combination of initializers and localInitializers */\nexports.sortSysInitInitializers = function (data) {\n var retinitializers = __spreadArrays(data);\n var initSystemList = [];\n //iterating initializers[]\n for (var _i = 0, retinitializers_1 = retinitializers; _i < retinitializers_1.length; _i++) {\n var entry = retinitializers_1[_i];\n if (entry.initializers) {\n for (var _a = 0, _b = entry.initializers; _a < _b.length; _a++) {\n var subentry = _b[_a];\n // if (subentry) {\n var temp = {\n initializer: __assign(__assign({}, subentry), { isLocalInit: false, isNewInterface: true }),\n };\n initSystemList.push(temp);\n // }\n }\n }\n }\n //iterating localInitializers[]\n for (var _c = 0, retinitializers_2 = retinitializers; _c < retinitializers_2.length; _c++) {\n var entry = retinitializers_2[_c];\n if (entry.localInitializers) {\n for (var _d = 0, _e = entry.localInitializers; _d < _e.length; _d++) {\n var subentry = _e[_d];\n // if (subentry) {\n var temp = {\n initializer: __assign(__assign({}, subentry), { isLocalInit: true, isNewInterface: true }),\n };\n initSystemList.push(temp);\n // }\n }\n }\n }\n initSystemList.sort(exports.prioritySorter);\n return initSystemList;\n};\nexports.Interface = {\n createPrototypeExport: api_1.createPrototypeExport,\n createPrototypeImport: api_1.createPrototypeImport,\n getInterfaceId: api_1.getInterfaceId,\n createMock: mock_1.createMock,\n};\n","import { pin_row, pin_state } from \"@microchip/pins-interface/lib/types\";\nimport { AppModel } from \"../generated_module/src/types/AutoModuleTypes\";\n\n// provide complete dynamic data for all pin rows. It overrides static pindata.json\nexport const getCompletePinData = (appModel: AppModel): any => {\n // way to programatically override the json data\n return {};\n};\n\n// overrides pin data for a particular row based on model.\nexport function getRowData(appModel: AppModel, rowData: pin_row): pin_row | undefined {\n let retRowJSONdata: pin_row | undefined = rowData;\n let rowActions: any = [];\n const clockOutEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"CLKOUTEN\"];\n\n if (clockOutEnable) {\n delete clockOutEnable[\"setting\"];\n delete clockOutEnable[\"displayOptionSetting\"];\n const selectedOption: string = clockOutEnable[\"defaultValue\"][\"value\"];\n\n if (selectedOption.indexOf(\"CLKOUT function is enabled\") != -1) {\n if (rowData.name === \"clockout\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"CLKOUT\" },\n };\n }\n }\n\n const isPic18ClkOut: boolean =\n selectedOption === \"CLKOUT function is enabled\" ||\n selectedOption === \"CLKOUT function is disabled\"\n ? true\n : false;\n const actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockout\")\n .forComponent(clockOutEnable)\n .addIfLockedSetValue(\n \"CLKOUT\",\n isPic18ClkOut\n ? \"CLKOUT function is enabled\"\n : \"CLKOUT function is enabled; FOSC/4 clock appears at OSC2\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18ClkOut\n ? \"CLKOUT function is disabled\"\n : \"CLKOUT function is disabled; i/o or oscillator function on OSC2\",\n )\n .build();\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")?.handle\n ?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")?.handle\n ?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n }\n\n const extClkSelect = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"FEXTOSC\"];\n\n if (extClkSelect) {\n delete extClkSelect[\"setting\"];\n delete extClkSelect[\"displayOptionSetting\"];\n\n const selectedOption: string = extClkSelect[\"defaultValue\"][\"value\"];\n\n if (\n selectedOption.indexOf(\"(external clock)\") != -1 ||\n selectedOption.indexOf(\"EC\") != -1\n ) {\n if (rowData.name === \"osc1\" || rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (selectedOption.indexOf(\"(crystal oscillator)\") != -1) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (\n selectedOption.indexOf(\"Oscillator not enabled\") != -1 ||\n selectedOption.indexOf(\"Reserved\") != -1\n ) {\n if (\n rowData.name === \"clockin\" ||\n rowData.name === \"osc1\" ||\n rowData.name === \"osc2\"\n ) {\n retRowJSONdata = undefined;\n }\n }\n // Restricting pin actions for clockin, osc1 and osc2 pin rows\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockin\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc1\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc2\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n\n const mclrEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"MCLRE\"];\n const lvpEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"LVP\"];\n\n if (mclrEnable && lvpEnable) {\n delete mclrEnable[\"setting\"];\n delete mclrEnable[\"displayOptionSetting\"];\n const selectedMclrOption: string = mclrEnable[\"defaultValue\"][\"value\"];\n\n delete lvpEnable[\"setting\"];\n delete lvpEnable[\"displayOptionSetting\"];\n const selectedLvpOption: string = lvpEnable[\"defaultValue\"][\"value\"];\n\n if (\n selectedLvpOption.indexOf(\"HV on MCLR/VPP must be used for programming\") !=\n -1 ||\n selectedLvpOption.indexOf(\n \"High Voltage on MCLR/Vpp must be used for programming\",\n ) != -1\n ) {\n if (\n selectedMclrOption.indexOf(\"MCLR pin is MCLR\") != -1 ||\n selectedMclrOption.indexOf(\"MCLR pin is Master Clear function\") != -1 ||\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\"\n ) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const isPic18Mclr: boolean =\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n ? true\n : false;\n const isQ10Mclr: boolean =\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\"\n ? true\n : false;\n let actionArr: any = [];\n\n // For handling Q10 devices\n if (isQ10Mclr) {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\"MCLR\", \"MCLR pin (RE3) is MCLR\")\n .addIfUnLockedSetValue(\n \".*\",\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\",\n )\n .build();\n } else {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\n \"MCLR\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \"\n : \"MCLR pin is Master Clear function\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n : \"MCLR pin function is port defined function\",\n )\n .build();\n }\n\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")\n ?.handle?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")\n ?.handle?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n } else {\n if (selectedMclrOption) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n }\n\n const noscOsccon1 = appModel.getComponentValue(\"noscOsccon1\");\n if (\n noscOsccon1 === \"HFINTOSC\" ||\n noscOsccon1 === \"LFINTOSC\" ||\n noscOsccon1 === \"SOSC\" ||\n noscOsccon1 === \"HFINTOSC with 2x PLL\"\n ) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc1\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosci\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCI\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosco\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCO\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n // The secondary oscillator can be enabled (OSCENbits.SOSCEN) while another source\n // drives the system clock, as SOSC also feeds peripherals such as Timer1/RTC. The\n // crystal still occupies SOSCI/SOSCO, so keep the rows and lock the pins to stop\n // other peripherals being remapped onto them. SOSCO is LOCK_UNLOCK, so it can be\n // released by the user when SOSC is driven by an external clock on SOSCIN alone.\n if (\n !retRowJSONdata &&\n (rowData.name === \"sosci\" || rowData.name === \"sosco\") &&\n appModel.isComponentValue(\"soscenOscen\") === true\n ) {\n retRowJSONdata = {\n ...rowData,\n behaviourMeta: {\n lockPinRegEx: rowData.name === \"sosci\" ? \"SOSCI\" : \"SOSCO\",\n },\n };\n }\n\n if (retRowJSONdata) retRowJSONdata = { ...retRowJSONdata, actions: rowActions };\n\n return retRowJSONdata;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export class StringConstants {\n static readonly SOSC = \"SOSC\";\n static readonly LFINTOSC = \"LFINTOSC\";\n static readonly HFINTOSC = \"HFINTOSC\";\n static readonly HFINTOSC_2xPLL = \"HFINTOSC with 2x PLL\";\n static readonly EXTOSC = \"EXTOSC\";\n static readonly EXTOSC_4xPLL = \"EXTOSC with 4x PLL\";\n static readonly OSC_NOT_NEEDED = \"Oscillator not needed\";\n static readonly ON = \"ON\";\n static readonly ExtClkFreq_64MHz = 64000000;\n static readonly ExtClkFreq_20MHz = 20000000;\n static readonly ExtClkFreq_32MHz = 32000000;\n}\n","import { StringConstants } from \"./StringConstants\";\n\nexport class ClockCalculator {\n private lfintosc = \"31000\";\n private mfintosc = \"500000\";\n private mfintosc_31KHz = \"31250\";\n private sosc = \"32768\";\n private oscSelect: string;\n private HFInternalClk: string;\n private externalClk: number;\n private clkDivider: number;\n\n MAX_PLL = 16000000; // in Hz\n MIN_PLL = 3000000; // in Hz\n\n public constructor(\n oscSelect: string,\n HFInternalClk: string,\n externalClk: number,\n clkDivider: number,\n ) {\n this.oscSelect = oscSelect;\n this.HFInternalClk = HFInternalClk;\n this.externalClk = externalClk;\n this.clkDivider = clkDivider;\n }\n\n public getCurrentSystemClk = (): number => {\n let currentSystemClk: number;\n let HFClk: number;\n\n if (this.oscSelect === StringConstants.SOSC) {\n currentSystemClk = 32768 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.LFINTOSC) {\n currentSystemClk = 31000 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC_2xPLL) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n if (HFClk == 8 || HFClk == 12 || HFClk == 16) {\n currentSystemClk = (HFClk * 2 * 1000000) / this.clkDivider;\n } else {\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n }\n } else if (this.oscSelect === StringConstants.EXTOSC) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n if (this.externalClk <= this.MIN_PLL || this.externalClk > this.MAX_PLL) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n currentSystemClk = (this.externalClk * 4) / this.clkDivider;\n }\n }\n return Math.round(currentSystemClk);\n };\n\n public getHfIntOsc = (): string => {\n return this.HFInternalClk?.replace(\"_MHz\", \"000000\") ?? \"1000000\";\n };\n\n public getMfIntOsc = (): string => {\n return this.mfintosc;\n };\n\n public getMfIntOsc_31KHz = (): string => {\n return this.mfintosc_31KHz;\n };\n\n public getLfIntOsc = (): string => {\n return this.lfintosc;\n };\n\n public getExtOsc = (): string => {\n return this.externalClk.toString();\n };\n\n public getSosc = (): string => {\n return this.sosc;\n };\n}\n","import { pin_row } from \"@microchip/pins-interface/lib/types\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport {\n AppModel,\n PinsLogic,\n} from \"@microchip/melody-automodule-interface/lib/src/types\";\nimport { getPinsDataFromFile, getPinsLogicFromFile } from \"../getUserData\";\n\nconst mockPinsLogic = (getPinsData: GetPinsData): PinsLogic => {\n const getCompletePinData = (appModel: AppModel): any => {\n return {};\n };\n const getRowData = (appModel: AppModel, rowData: pin_row): pin_row => {\n return rowData;\n };\n return {\n getCompletePinData: getCompletePinData,\n getRowData: getRowData,\n getPinsData: getPinsData,\n };\n};\n\ntype GetPinsData = typeof getPinsData;\nexport const getPinsData = (): PinsData => getPinsDataFromFile() ?? { rows: [] };\n\nexport const getPinsLogic = (): PinsLogic => {\n const pinsLogic = getPinsLogicFromFile();\n if (pinsLogic) {\n return {\n ...pinsLogic,\n getPinsData: getPinsData,\n };\n } else {\n return mockPinsLogic(getPinsData);\n }\n};\n","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { ClockCalculator } from \"./ClockCalculator\";\nimport * as config_device from \"@microchip/config-device\";\nimport { StringConstants } from \"./StringConstants\";\nimport osc_clocks from \"@microchip/osc-clocks\";\nimport * as clock from \"@microchip/clock-basic-interface\";\nimport {\n AppModel,\n DerivedData,\n DerivedFunctions,\n} from \"../generated_module/src/types/AutoModuleTypes\";\nimport * as InterfaceTypes from \"@microchip/scf-interface\";\nimport { getPinsLogic } from \"../generated_module/src/pins/PCPHelper\";\nimport * as configbits_basic_interface from \"@microchip/configbits-basic-interface\";\nimport * as sys_init_basic_interface from \"@microchip/sys-init-basic-interface\";\n\nexport const getDerivedData = (dataModel: AppModel): DerivedData => {\n if (dataModel) {\n return new MyDerivedData(dataModel);\n }\n return new EmptyDerivedData();\n};\n\n//This data will be used at the creator stage and relies on only the state\nexport class EmptyDerivedData implements DerivedData {\n getMyFunctions = (): DerivedFunctions => {\n return {};\n };\n getModel = (): AppModel | undefined => {\n return undefined;\n };\n}\n\n//This data will be used at the processor stage\nexport class MyDerivedData implements DerivedData {\n private dataModel: AppModel;\n private clockCalculator: ClockCalculator;\n\n constructor(dataModel: AppModel) {\n this.dataModel = dataModel;\n }\n\n getClockCalculator = (): ClockCalculator => {\n if (!this.clockCalculator) {\n this.clockCalculator = new ClockCalculator(\n this.getModel().getComponentValue(\"noscOsccon1\") ?? \"\",\n this.getModel().getComponentValue(\"hffrqOscfrq\") ?? \"\",\n this.getModel().getComponentValue(\"externalClk\") ?? 32768,\n parseInt(this.getModel().getComponentValue(\"ndivOsccon1\") ?? \"\"),\n );\n }\n return this.clockCalculator;\n };\n\n getMyFunctions = (): DerivedFunctions => {\n return {\n moduleName: this.getModuleName,\n alerts: this.getMyAlerts,\n isEnabled: this.isEnabled,\n isVisible: this.isVisible,\n coscOsccon2: this.getResOscValue,\n currentSystemClk: (): number =>\n this.getClockCalculator().getCurrentSystemClk(),\n \"fosc-hz_payload\": (): string =>\n this.getClockCalculator().getCurrentSystemClk().toString(),\n sys_init_basic_interface_results: this.sys_init_basic_interface_results,\n config_device_results: this.config_device_results,\n templateData: this.getTemplateData,\n overrideDefaultValues: this.overrideDefaultValue,\n configbits_basic_interface_args: this.getConfigbitsBasicInterfaceArgs,\n \"osc-clocks_payload\": this.getOscClocksProcessedPayload,\n \"clock-basic-interface_payload\": this.getClockProcessedPayload,\n doNotShow: (): boolean => false,\n getPinsLogic: getPinsLogic,\n importName: this.friendlyImportName,\n };\n };\n\n private friendlyImportName = (importKey: string): string => {\n if (importKey === \"scf_pic8_osc_v1\") return \"Oscillator Hardware\";\n if (importKey === \"sys_init_basic_interface\") return \"system.c Initialize()\";\n if (importKey === \"config_device\") return \"Configuration Device\";\n if (importKey === \"configbits_basic_interface\") return \"Configuration Request\";\n if (importKey === \"pins_interface\") return \"Pins\";\n return importKey;\n };\n private sys_init_basic_interface_results = (): sys_init_basic_interface.Results => {\n return {\n initializers: [\n {\n name: \"CLOCK_Initialize();\",\n header: {\n name: \"clock.h\",\n path: \"system/\",\n },\n priority: sys_init_basic_interface.INIT_PRIORITY.START,\n },\n ],\n };\n };\n private getConfigbitsBasicInterfaceArgs =\n (): configbits_basic_interface.Arguments => {\n return {\n configsReq: [\"FEXTOSC\", \"CLKOUTEN\", \"MCLRE\", \"LVP\", \"RSTOSC\"],\n };\n };\n\n private getDynamicComponetDefaultValue = (\n componentName: string,\n ): string | undefined => {\n const externalClkSelectedOptions = this.dataModel.getImportValue(\n \"configbits_basic_interface\",\n )?.configsResp?.[componentName];\n let selectedOptionVal: string | undefined;\n\n if (externalClkSelectedOptions) {\n selectedOptionVal = externalClkSelectedOptions[\"defaultValue\"][\"value\"];\n }\n return selectedOptionVal ?? undefined;\n };\n\n private getResOscValue = (): string => {\n const resetOscValue = this.getDynamicComponetDefaultValue(\"RSTOSC\");\n let actualOscValue;\n if (resetOscValue?.indexOf(\"4x PLL\") !== -1) {\n actualOscValue = \"EXTOSC with 4x PLL\";\n } else if (resetOscValue?.indexOf(\"Secondary Oscillator\") !== -1) {\n actualOscValue = \"SOSC\";\n } else if (resetOscValue?.indexOf(\"Low-Frequency\") !== -1) {\n actualOscValue = \"LFINTOSC\";\n } else if (\n resetOscValue?.indexOf(\"HFINTOSC with HFFRQ = 4 MHz and CDIV = 4:1\") !== -1\n ) {\n actualOscValue = \"HFINTOSC\";\n } else if (\n resetOscValue?.indexOf(\"HFINTOSC with HFFRQ = 64 MHz and CDIV = 1:1\") !== -1\n ) {\n actualOscValue = \"HFINTOSC\";\n } else if (resetOscValue?.indexOf(\"FEXTOSC\") !== -1) {\n actualOscValue = \"EXTOSC\";\n } else {\n actualOscValue = undefined;\n }\n return actualOscValue;\n };\n\n private getPLLStatus = (): boolean => {\n const pllStatus = this.getResOscValue();\n const pllEnable = this.dataModel.isComponentValue(\"pllenOscen\");\n const clkSrcVal = this.dataModel.getComponentValue(\"noscOsccon1\");\n if (pllStatus === \"EXTOSC with 4x PLL\") {\n return true;\n } else if (pllEnable === true) {\n return true;\n } else if (clkSrcVal?.indexOf(\"4x PLL\") !== -1) {\n return true;\n } else if (clkSrcVal?.indexOf(\"2x PLL\") !== -1) {\n return true;\n } else {\n return false;\n }\n };\n\n private getOscClocksProcessedPayload = (): osc_clocks.ProcessedPayload => {\n const oscObj: osc_clocks.ProcessedPayload = {\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.isComponentValue(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n oscObj.hasSosc = true;\n oscObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n oscObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return oscObj;\n };\n\n private getClockProcessedPayload = (): clock.Payload => {\n const clockObj: clock.Payload = {\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.getComponent(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n clockObj.hasSosc = true;\n clockObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n clockObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return clockObj;\n };\n\n public getModuleName = (): string => {\n return \"Clock Control\";\n };\n public getModel = (): AppModel => {\n return this.dataModel;\n };\n\n private getTemplateData = (): any => {\n const headers: InterfaceTypes.HeaderFile = {\n name: \"clock.h\",\n path: \"../\",\n };\n const initRegisters = this.dataModel.getRegisterValues();\n //const registerValues = this.dataModel.getRegisterValues();\n return {\n deviceFrequency: this.getClockCalculator().getCurrentSystemClk().toString(),\n\n initRegisters: initRegisters,\n header: headers,\n\n moduleNameUpperCase: this.getModuleName().toUpperCase(),\n moduleNameLowerCase: this.getModuleName().toLowerCase(),\n PackageVersion: \"4.3.7\",\n isPllEnabled: this.getPLLStatus() ?? false,\n //...registerValues,\n\n initializerOptimize:\n this.getModel().getComponentValue(\"generateInitializerCode\") !==\n \"Initialize all registers\"\n ? true\n : false,\n generateCommentedCode:\n this.getModel().getComponentValue(\"generateInitializerCode\") ===\n \"Generate with commented unmodified registers\"\n ? true\n : false,\n };\n };\n\n private config_device_results = (): config_device.Results => {\n return {\n headers: [\n {\n name: \"clock.h\",\n path: \"system/\",\n },\n ],\n };\n };\n\n private isEnabled = (componentName: string): boolean => {\n switch (componentName) {\n case \"hffrqOscfrq\":\n return (\n this.dataModel.getComponentValue(\"noscOsccon1\")?.indexOf(\"HF\") != -1\n );\n case \"currentSystemClk\":\n return false;\n case \"lfIntOscFreq\":\n return false;\n default:\n return true;\n }\n };\n\n private isVisible = (componentName: string): boolean => {\n const componentValue = this.dataModel.getComponentValue(\"noscOsccon1\");\n switch (componentName) {\n case \"externalClk\":\n if (\n componentValue === StringConstants.EXTOSC ||\n componentValue === StringConstants.EXTOSC_4xPLL\n ) {\n return true;\n } else {\n return false;\n }\n case \"lfIntOscFreq\":\n if (componentValue != StringConstants.LFINTOSC) {\n return false;\n } else {\n return true;\n }\n case \"hffrqOscfrq\":\n if (\n componentValue != StringConstants.HFINTOSC &&\n componentValue != StringConstants.HFINTOSC_2xPLL\n ) {\n return false;\n } else {\n return true;\n }\n default:\n return true;\n }\n };\n private getfoscOptions = (): string | undefined => {\n const foscOptions =\n this.dataModel.getHardware()?.getPeripheral()?.registers.OSCFRQ?.settings\n ?.HFFRQ.options ?? [];\n let defaultVal: string | undefined;\n let refClk = parseInt(\"1_MHz\"?.replace(\"_MHz\", \"\") ?? 0);\n if (foscOptions) {\n foscOptions.forEach((option) => {\n const HFClk = parseInt(option.name?.replace(\"_MHz\", \"\") ?? 0);\n\n if (HFClk > refClk) {\n refClk = HFClk;\n defaultVal = option.name;\n }\n });\n }\n return defaultVal;\n };\n\n private overrideDefaultValue = (componentName: string): any => {\n let defVal: string | undefined = undefined;\n switch (componentName) {\n case \"hffrqOscfrq\":\n defVal = this.getfoscOptions();\n break;\n }\n return defVal;\n };\n\n private getMyAlerts = (): Processor.Alert[] => {\n const alerts: Processor.Alert[] = [];\n const selectedOptionVal: string =\n this.getDynamicComponetDefaultValue(\"FEXTOSC\") ?? \"\";\n const noscOsccon1 = this.dataModel.getComponentValue(\"noscOsccon1\");\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n alerts.push({\n type: Processor.AlertTypes.Hint,\n text: 'Please configure required \"External Oscillator Selection\" in System Module config bits',\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL &&\n ((this.getModel().getComponentValue(\"externalClk\") ?? 0) <=\n this.getClockCalculator().MIN_PLL ||\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) >\n this.getClockCalculator().MAX_PLL)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"The frequency selected does not fall within the PLL locking range. Therefore, the actual frequency produced by hardware maybe unpredictable when the PLL is enabled. Either change the clock frequency or select a different option in Oscillator select.\",\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n if (\n selectedOptionVal?.indexOf(\"external clock\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_64MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_64MHz +\n \" Hz)\",\n });\n }\n if (\n selectedOptionVal?.indexOf(\"crystal oscillator\") != -1 &&\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) > 16000000 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_20MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_20MHz +\n \" Hz)\",\n });\n }\n if (\n selectedOptionVal.indexOf(\"Oscillator not enabled\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_32MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_32MHz +\n \" Hz)\",\n });\n }\n }\n\n const HFClk = parseInt(\n this.dataModel.getComponentValue(\"hffrqOscfrq\")?.replace(\"_MHz\", \"\") ?? \"0\",\n );\n if (\n this.dataModel.getComponentValue(\"noscOsccon1\") ===\n StringConstants.HFINTOSC_2xPLL &&\n (HFClk == 1 || HFClk == 2 || HFClk == 4 || HFClk == 32)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"The frequency set in HF Internal Clock may not get generated by the clock hardware properly since it does not fall within the 2xPLL range of 8-16 MHz. Therefore, it is recommended that the option 'HFINTOSC' be selected in the Oscillator select combo box.\",\n });\n }\n\n return alerts;\n };\n}\n","import { ModuleConfig } from \"@microchip/melody-automodule-interface/lib/src/ModuleConfig\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport { PinsLogic } from \"@microchip/melody-automodule-interface/lib/src/types\";\nexport { getCreatorFunctions } from \"../../src/CreatorFunctions\";\nexport { getDerivedData } from \"../../src/DerivedData\";\n\nexport const getPinsDataFromFile = (): PinsData | undefined => {\n try {\n return require(\"../../src/pinsdata.json\");\n } catch {\n return undefined;\n }\n};\n\nexport const getPinsLogicFromFile = (): PinsLogic | undefined => {\n try {\n return require(\"../../src/PinsLogic.ts\");\n } catch {\n return undefined;\n }\n};\n\nexport const getModuleConfigFromFile = (): ModuleConfig | undefined => {\n try {\n return require(\"../../src/moduleConfig.json\");\n } catch {\n return undefined;\n }\n};\n","import { process as autoProcess } from \"@microchip/scf-automodule-impl\";\nimport { AppModel, DerivedData } from \"@microchip/melody-automodule-interface\";\nimport { ProcessorStages } from \"@microchip/melody-automodule-interface/lib/src/InterfaceTypes\";\nimport * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { getModuleConfigFromFile, getDerivedData } from \"./getUserData\";\n\nexport type LegacyProcessFunction = (\n initialModule: Processor.Module,\n stage: ProcessorStages,\n) => Processor.ProcessedModule;\n\nfunction createProcessor(\n getDerivedData: (dataModel?: AppModel) => DerivedData,\n): LegacyProcessFunction {\n const hook = (\n initialModule: Processor.Module,\n stage: ProcessorStages,\n ): Processor.ProcessedModule => {\n const derivedDataGetter = (dataModel: AppModel): DerivedData => {\n return {\n getModuleConfig: getModuleConfigFromFile,\n ...getDerivedData(dataModel),\n };\n };\n return autoProcess(initialModule, stage, derivedDataGetter);\n };\n return hook;\n}\n\nexport const process = createProcessor(getDerivedData);\n"],"names":["COMPTYPE","TABID","Object","defineProperty","exports","value","RowPrefix","data_schema","PIN_ARCH","behaviour","direction","actiontype","pin_attribs_enum","pin_interrupts_enum","pin_state","QueryAdapterKey","$schema","$ref","definitions","intf_data","type","properties","rows","items","required","additionalProperties","pin_row","name","module","function","filter","behaviourMeta","attribs","groupsdata","actions","enum","aliasReEx","lockPinRegEx","pin_attribs","cname","high","inv","wpu","wpd","od","analog","ioc","bidirection_out","pingroups_data","groups","pins_group","datapath","grpfilter","__assign","this","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","logAnalytics","getAnalyticsDefault","getConfigData_1","model","logAlwaysComps","logOnChangeComps","_a","_b","retData","moduleconfig","getConfigData","alwaysCompsDesired","analytics","concat","logAlwaysStaticAndDynamicData","onChangeCompsDesired","moduleState","getState","logOnChangeStaticAndDynamicData","_c","_i","_d","eachDesiredComp","correctMapping","allComps","getAutoModuleAppModel","getAllComponents","compObj","resultantAnalyticsKey","eachCompName","compMapping","component","isCompCategoryAllowed","category","formRegUndercSettNameForComp","JSON","stringify","getComponentValue","undefined","compSetting","setting","regName","getRegNameFromCompSettName","compName","settingName","compNameCaps","toUpperCase","settingNameCaps","replace","logOnChangeDependencyComps","eachCategoryKey","eachSubCategoryKey","eachChangedCompKey","indexOf","result","consolidatedCompNames","eachDesCompName","push","eachcompKey","consolidateDependencyCompNames","consolidatedCompNames_1","getDependencyCompValueForOnChange","getImports","importId","handle","label","__createBinding","create","o","m","k","k2","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","__setModuleDefault","v","__importStar","ownKeys","getOwnPropertyNames","ar","mod","__spreadArray","to","from","pack","l","Array","slice","getModel","Processor","AutoModuleAppModel_1","AutoModuleHelpers_1","exports_1","imports_1","PCPHelper_1","tables_1","getDerivedData","MyAppModel","_this","state","getPayload","payload","imports","getExports","getName","getModuleName","getIdeFlavor","ideFlavor","getCategory","getModuleCategory","getActiveName","getDerivedFunctions","getGlobalNames","autoModuleAppModel","createAutoModuleAppModel","getPrototypeModule","getRegisterValues","interfaceName","registerValues","getMyFunctionNamesCache","getMyFunctionsNames","getInterrupts","interrupts","getHardware","getPeripheral","getProperties","getRegisters","registers","_e","_f","_g","_h","_j","_k","_l","getFriendlyInterfaceId","peripheral_1","instanceNumber","Number","instance","group","defaultHardware","peripheralName","peripherals","interfaceId","peripheral_2","getPeripheralDescription","derivedData","getDerivedDataFunction","getMyFunctionsCache","getDerivedFunction","functionName","args","has","String","getExportInterfaces","exportInterfaces","createExportInterfaces","getImportInterfaces","importInterfaces","createImportInterfaces","isControlledByInterface","componentName","getAssignedImport","importName","isAssigned","getImportValue","filterImportBySetting","populatedImports","importKey","optionFilter","filteredImports","filterOptions","option","isComponentValue","componentMeta","regex","RegExp","test","toLowerCase","getComponent","getPCPHelper","pcpHelper","PCPHelper","setCallbacks","getCompletePinData","getPinsLogic","getRowData","rowData","getPinsData","getTableHelpers","getMyFunctions","Set","keys","processDynamicComps","toDictionary","assertNotNull","map","forEach","values","getKeys","obj","key","action","mapper","val","msg","Error","arr","keyMapper","valueMapper","entry","MyAutoModuleAppModel","Setting_1","Arrays_1","Utils_1","AutoModuleHelper","RegisterEditorHelper_1","config","moduleName","moduleCategory","createComponentList","componentList","components","getComponentList","componentsWithDynamicDependencySelectors","getDefaultDependencySelectors","softwareData","peripheral","registerName","hardwareRegister","settings","getActions","getDefaultComponentAction","tabId","path","getSoftwareComponentValue","tab","overriddenValue","defaultValue","processedArg","getProcessedArgValue","getDefaultValue","overrideDefaultValues","getHardwareComponentValue","hardware","overriddenCompValue","getOverrideDefaultValue","overrideDefaultValue","displayOptionSetting","mode","operation","options","getSettingOptionsIfPresent","masterComponent","getHardwareComponentBooleanValue","result_1","eachOption","alias","startsWith","booleanValues","true","false","getDependencyComponentValue","dependencySelector","DependencySelector","imp","createOptionLabel","getFileLoadComponentValue","loadedFiles","getFileSaveComponentValue","fileMeta","defaultContent","optionType","getOptionByName","updComponentList","updComponents","getDynamicComponents","eachComponent","dynamicDependencySelectors","defaultTab","defaultGroup","tabs","description","uiBehavior","isComponent","componentValue","contentMeta","isUserEnRegRWMode","getRegisterEditorComponentValue","getSettingFromComponent","isFullyAssigned","createPrototypeImport","Processor_1","import","interfaces","getHardwareInterfaces","__importDefault","populateLoadedFiles","getProcessedHandle","filterModeOptions","getSettingDefaultIfPresent","getOptionValueByName","getSettingBits","sortComments","hasConfigBits","getComboOptions","castComponent","getModuleDefaultDescription","CalculateRegisterValue_1","overrideOptions","getRegisterEditorValues","registerValue","reg","comment","valueAsHex","por","registerVal","default","for","comments","set","deviceType","withNumberValue","asNumber","toString","register","sort","a","b","settingA","split","settingB","mask","join","setValNumber","valueAsDesc","getOptionByAlias","valueAsDescription","optionName","bitName","getRegisterFromComponent","porDefault","optionValue","masterComponentValue","filteredOptions","find","optionModes","match","customName","providerId","exportId","processedOutput","consolidatedFiles","eachFileId","eachFile","noneSelection","createOptionEntry","generateDropdownOptions","dropdownOptions","thisImport","shouldAllowUnselectDependency","getDropdownOptionNames","names","isUnassignable","getConfigBits","getTemplateSettings","getTemplatePayload","getTemplates","AutoModuleHardware_1","templates","template","newTemplate","dest","templateName","src","shouldGenerate","generateWithHardware","isGeneratableProperty","templatePayload","uppercase","lowercase","filename","source","header","getComponentPayload","configModule","templateConfigBits_1","registers_1","configName","configBits","configBit","isNaN","getAutoSdlHelp","dataModel","helpUrl","_m","_o","_p","_q","_r","deviceMeta","deviceName","dosid","comp","registerAlias","deviceRegister","getFreqCompFormData","isFreqComponentInState","isFreqValueInState","isFreqUnitInState","isFrequencyComponent","getFreqCompSchema","derivedFunctions","schema","$id","title","overrideTitle","unit","frequencyMeta","min","max","unitOptions","updatedFreqComp","modelState","tabState","valueChanged","unitChanged","hasModes","processRegisterModes","hardwarePeripheral","modifiedHardwarePeripheral","delFlag","targetStr","matchRegEx","flag","getTimeComponentFormData","isTimeComponentInState","isTimeValueInState","isTimeUnitInState","isTimeComponent","getTimeComponentSchema","timeMeta","updatedTimeComponent","isModelInitialized","getModuleConfig","ConfigBuilder","withDynamicConfigData","withDynamicComponents","build","dynamicComponents","dynamicComponentMap","UIGroups","console","error","getMappedComponentData","getRegisterNameList","getRegisterKey","getSettingNameKey","getSettingAliasKey","DerivedFunctions_1","convertToBoolean","registerList","eachRegObj","registersValueObjects","registerInstanceName","settingValueObjects","settingInstanceName","eachSetObj","setInstanceName","setName","_s","_t","_u","_v","_w","_x","_y","_z","_0","_1","_2","_3","_4","_5","_6","_7","_8","_9","_10","_11","_12","_13","_14","_15","_16","_17","_18","_19","_20","_21","_22","_23","_24","harwareRegister","hardwareInterrupts","interruptList","registerKey","deviceDeafultValue","stateData","interruptComponentValue","componentMetaData","compType","SETTING","tabID","REGISTER","parent","settingKey","settingValue","deviceDefaultValue","mappedStateData","settingVal","regVal","harwareRegisters","moduleConfigRegisters","componentData","eachRegKey","eachSet","registerScfUiSchema","createAutoViewPayloads","registerFormData","registerUiSchema","registerInitFormData","scf_register_view_helper_1","registerFilter","autoModuleViewHelpers_1","formData_1","scfUiSchema_1","schema_1","uiSchema_1","payloads","main","getPayloadForTab","showRegisterEditor","registerViewPayloads","registerView","CreateRegisterView","withAllEditable","interruptsKey","foundRegister","withRegisterValue","interrupt","interruptComponent","interruptCompVal","withInterruptValue","withInterruptOptions","formData","uiSchema","scfUiSchema","createSimpleFormPayloadForRegisterEditor","createSimpleFormPayloadRegister","viewModel","schemaViewModel","isVisible","getFunction","overrideTableOptions","uiSchemaViewModel","isEnabled","getUiBehavior","createSchema","createUiSchema","createFormData","createScfUiSchema","table","shouldPopulateView","expandGroupsByDefault","UIGroupCollapse","formDataCopy","hardwareRegisters","hardwareInterrupt","eachRegister","withNonEditableRegister","eachSetting","eachSettingObject","componentMetaData_1","isEnabled_1","withEditableRegisterSetting","isVisible_1","withInVisibleRegisterSetting","withUpdatedSettingDescription","withInVisibleRegister","eachInterrupts","INTERRUPT","withNonEditableInterrupt","withInVisibleInterrupt","hasSdlSupport","architecture","deviceName_1","moduleName_1","dosid_1","settings_1","sdlHelpUrl","helpKeyword","tooltip","isComponentInvisible","isUrl","format","isImage","isModeActive","displayViewOnImportAssigned","impKey","shouldPopulateViewAtStartup","appModel","isInvisibleViaProperty","isVisibleProperty","configVal","isInvalidTab","getTableFormData","TimeComponentHelper_1","FrequencyComponentHelper_1","components_1","eachKey","depSelector","dependencySelectorActions","dropdownOption","getDependencySelectorActions","transformErrors","sdlHelp","url","ContextualHelp_1","getHelpKeyword","getTooltip","saveState","compText","defaultName","tableState","uids","createTableUids","cellValidationInfo","getCellValidationInfo","canRemoveRows","canInsertRows","canAddRows","canMoveRowDown","canMoveRowUp","canEnableRows","getTableUiSchema","getTableActions","populateView_1","getModuleDescription","schemaBuilder_1","overrideGroupTitle","overrideGroupDescription","urlDescription","imageDescription","getSoftwareComponentSchema","getHardwareComponentSchema","getDependencyComponentSchema","getFileLoadComponentSchema","getFileSaveComponentSchema","getTableComponentSchema","addComponentSchema","validation","shouldAddValidator","addComponentValidator","getComponentSchema","dropdownOptions_1","assignedImport","createProcessedImports","NONE_1","assignedName","selectedDependency","localeCompare","item","overrideOptionsValue","includes","UIOrder","isGroupHidden_1","isHidden","tableCols_1","columns","colNames","defaultAlignment_1","displayHeadersDiagonally_1","displayHeadersHorizontally","columns_1","defaultColumnWidth_1","calculateColumnWidth","headerMaxLength_1","reduce","Math","isColEditable","readonly","columnWidth","disableRowsForCol","disableTableCells","dataField","editable","width","dataSort","isSortable","headerAlign","dataAlign","disabledRows","tdStyle","getCellStyle","headerText","hidden","hideTableColumn","col","thStyle","getHeaderStyle","overriddenBehavior","expArg","interface","getUiSchemaExportArg","createPrototypeExports_1","createPrototypeImports_1","getCreatorFunctions","prototypeImports","createPrototypeImports","prototypeExports","createPrototypeExports","isSingletonPerDevice","isEntryPoint","processor_1","process","creator_1","expName","exp","processExportInterfaces","int","newInterfaces","creatorFunctions","prototypeImport","isRequired","getCreatorImportArgs","shouldOrder","updateImportWithShouldAssignDescOrder","shouldAssignDescendantsInOrder","shouldImport","MyExportInterfaces","getConfig","getComponents","createProcessedExports","exportPayload","processedInterface","getInterface","getInterfaceArgs","interfaceKey","getInterfaceResults","results","processedArgValue","interfaceData","getInterfaceData","argValues","arg","MyImportInterfaces","InterruptActions_1","stage","processedImports","filterImports","getResults","getProcessedImportOptions","overrideImport","createProcessedImportsForDynamicAssignment","updateImportKeysForDynamicAssignment","modifiedOptions","index","importResults","initializer","getData","interrupts_1","actions_1","isHighPriority_1","isHighPriority","filterInterrupts","interruptComponentName","getInterruptComponentName","isrCallback","handlerName","headerFile","generateISR","isEnableActions","getInterruptActions","getDefaultInterruptActions","getRegisterEditorInterruptActions","isEnableAction","interruptActions","apiPrefix","interruptName","validFor","InterruptActionsBuilder","createActionBuilder","createActionFor","addActionIfEnabled","addActionIfDisabled","buildActions","curComponent","curComponentName","tableRowId","tableRowCol","tableCellPath","actionValue","isActionValueAcceptable","rowId","setPathToTableCell","rowIndex","colName","some","stateActionBuilder","PCPStateActionBuilder_1","pinRow","PCPStateActionBuilder","pinCallbacks","getAllFilteredRows","allRows","validRows","eachRow","userRowData","isRowValid","eachrowret","getAllRows","pinRows","userdata","callbacks","types_1","actionDataArr","rowWithName","rowName","compWithTabId","addIfLockedSetValue","pinRegEx","pinNameReEx","pinstate","LOCKED","validForpinNameReEx","SETACTION","addIfLockedProvideAttribs","formAttribs","ATTRIBACTION","addIfUnlockedProvideAttribs","UNLOCK","attribarray","addIfUnLockedSetValue","forComponent","actionArr","eachData","actionObj","AppModel_1","AutoModuleTemplates_1","autoModuleView_1","AnalyticsHelper_1","initialModule","help","overrideModuleLevelHelp","customTemplateData","templateData","view","auto","customView","getCustomView","alerts","globalNames","getAnalytics","UidMapBuilder","uidMap","addDefaultRows","row","rowCount","uid","addDynamicRows","incrementUidAndShift","removeRows","dynamicallyRemoved","sortByValue","count","sortedUids","getUidKeys","uidKey","tableColumns","columnsKey","rjsfType","colBox","overrideTableDefaultsWithChanges","isTableInState","getInitialTableFormData","createInitialRows","overrideCellValue","addRowsToTable","addRowToTable","removeRowFromTable","getValueBasedOnState","overrideDefaultsAndFilterRows","Tables_1","UidMapBuilder_1","rowChanged","initialFormData","isArray","changedRow","changedUid","rowChangeNum","runningWidth","booleanFields","columnWidths","columnName","columnNames","tableFormData","overrideTableDefaultValues","rowId_1","rowDataCols","createRowUid","Default","initialRows","defaultRowNum","tableData","cell","modifiedTableData","newRow","numberOfRows","Dynamic","newRowCols","newRowId","filteredTableTemp","defaultColumnWidth","tableFirstHalf","tableSecondHalf","currentRowId","updateActionsRowId","tableRemoved","tableUids","modifiedForData","filteredModifed","_loop_1","createDefaultTableAction","dynamicTableData","uidMap_1","rowNum_1","_loop_2","r","createUidMapBuilder","colInfo","column","colData","minValue","maxValue","errMessage","errTitle","cValidation","cValidationErrTitle","cValidationErrMessage","rowFormData","tableActions","uidsKey","defaultAction","ind_1","filtered","cellAction","tableUi","tableCols","search","striped","bordered","rightActions","displayName","textOverflow","leftActions","className","isReadonly","overflow","maxHeaderSize","displayHeadersDiagonally","position","bottom","pointerEvents","left","transformOrigin","transform","paddingTop","getDiagonalHeaderStyles","whiteSpace","maxWidth","getDefaultHeaderStyles","currentActions","modifiedActions","tableName","dynamicOptions","prefix","postfix","AlertTypes","hasOptions","dep","isUnassigned","isSingleton","resource","populatedImport","mapOptionLabels","labelFactory","__extends","extendStatics","d","setPrototypeOf","__proto__","TypeError","__","constructor","Register_1","CalculateRegisterValue","modifiedSettings","getSetting","NumberSettingValue","withOption","getOption","OptionSettingValue","withOptionAlias","optionAlias","withOptionName","withOptionDescription","optionDescription","getOptionByDescription","getSettingByAlias","calculate","modifiedSetting","setValue","getUnmodifiedSettings","unmodifiedSetting","SettingValue","getMask","getShiftedValue","modifiedSettingNames","asHexString","toHexString","asBinaryString","toBinaryString","asDecimalString","toDecimalString","getShift","shiftIndex","getValue","_super","fromDefaultValue","foundValueByName","foundValueByAlias","getOptionDescriptions","getOptionNames","getBitRange","getBitLabel","bitRange","low","hex","processedHex","parseInt","getBitRangeLow","charAt","callback","buildSimpleApi","functions","api","buildFunction","cFunction","returns","buildArguments","getInterfaceName","pkgJson","getInterfaceVersion","version","versionRegex","c_function_types_1","helpers_1","ViewSchemaBuilder_1","Model_1","throwError","message","schemaBuilder","ViewSchemaBuilder","withSchema","withTabName","withExpandedDefault","addChildComponent","getRegister","createRegisterView","createInterruptView","getSafeRegisterViewModel","getSafeInterruptViewModel","setOptions","withEditableRegister","withEditableInterrupt","getInterrupt","setReadonly","getSafeSettingViewModel","setIsVisible","setDescription","withEditableSetting","getRegisterViewModel","getInterruptViewModel","getSettingViewModel","rv","getDescription","withUiSchema","withFormData","forEachSetting","createSettingView","createHasOptionsViewSchema","getNoOptionsViewSchema","createInterruptViewSchema","createRegisterViewModelForEachRegister","createInterruptViewModelForEachInterrupt","models","RegisterViewModel","interruptKey","InterruptViewModel","uiSchemaBuilder","UiSchemaBuilder","withReadonlyValue","getIsReadonly","withWidget","getIsVisible","withUiHelp","createSettingViewSchema","getMaxValue","getBinarySettingUiSchema","mapToOptionNameIfExists","SchemaBuilder","withEnum","withDefault","getPORDefault","withMaximum","withMinimum","getOptions","withOptions","inline","moduleDescription","SettingViewModel","isReadOnly","visibility","getSettings","doThis","getValueOrDefault","createSettingViewModels","sortSettingsDescending","settingOne","settingTwo","bitRangeOne","getRegisterValue","nullSafe","getOptionForValue","array","tabName","childName","child","withProperties","maximum","minimum","vals","widgetName","widget","uiHelp","createPrototypeExport","getInterfaceId","InterfaceTypes","sys_init_basic_interface_1","INIT_PRIORITY","createMock","api_1","requestId","initializers","priority","localInitializers","funcDec","funcBody","__spreadArrays","il","j","jl","Interface","sortSysInitInitializers","prioritySorter","mock_1","apriority","DEFAULT","bpriority","data","retinitializers","initSystemList","retinitializers_1","subentry","temp","isLocalInit","isNewInterface","retinitializers_2","_appModel$getImportVa","_appModel$getImportVa2","_appModel$getImportVa3","_appModel$getImportVa4","retRowJSONdata","rowActions","clockOutEnable","configsResp","_appModel$getPCPHelpe","selectedOption","_objectSpread","_step","isPic18ClkOut","_iterator","_createForOfIteratorHelper","done","_appModel$getAssigned","eachAction","lockedState","meta","_appModel$getAssigned2","unlockedState","err","e","f","extClkSelect","_appModel$getComponen","_appModel$getPCPHelpe2","_appModel$getPCPHelpe3","_appModel$getPCPHelpe4","mclrKey","mclrEnable","lvpEnable","selectedMclrOption","selectedLvpOption","_appModel$getPCPHelpe5","_appModel$getPCPHelpe6","isPic18Mclr","_step2","_iterator2","_appModel$getAssigned3","_appModel$getAssigned4","_appModel$getComponen2","_appModel$getPCPHelpe7","noscOsccon1","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","prop","Symbol","toStringTag","StringConstants","_createClass","_classCallCheck","_defineProperty","ClockCalculator","oscSelect","HFInternalClk","externalClk","clkDivider","currentSystemClk","HFClk","SOSC","LFINTOSC","HFINTOSC","_this$HFInternalClk$r","_this$HFInternalClk","HFINTOSC_2xPLL","_this$HFInternalClk$r2","_this$HFInternalClk2","EXTOSC","MIN_PLL","MAX_PLL","round","_this$HFInternalClk$r3","_this$HFInternalClk3","mfintosc","mfintosc_31KHz","lfintosc","sosc","_getPinsDataFromFile","getPinsDataFromFile","pinsLogic","getPinsLogicFromFile","mockPinsLogic","EmptyDerivedData","MyDerivedData","_this$getModel$getCom","_this$getModel$getCom2","_this$getModel$getCom3","_this$getModel$getCom4","clockCalculator","getMyAlerts","coscOsccon2","getResOscValue","getClockCalculator","getCurrentSystemClk","sys_init_basic_interface_results","config_device_results","getTemplateData","configbits_basic_interface_args","getConfigbitsBasicInterfaceArgs","getOscClocksProcessedPayload","getClockProcessedPayload","doNotShow","friendlyImportName","sys_init_basic_interface","START","configsReq","_this$dataModel$getIm","_selectedOptionVal","selectedOptionVal","externalClkSelectedOptions","resetOscValue","getDynamicComponetDefaultValue","pllStatus","pllEnable","clkSrcVal","_this$getClockCalcula","_this$getClockCalcula2","_this$getClockCalcula3","_this$getClockCalcula4","_this$getClockCalcula5","_this$getClockCalcula6","_this$getClockCalcula7","oscObj","extosc","getExtOsc","fosc","hfintosc","getHfIntOsc","getLfIntOsc","getMfIntOsc","mfintosc_31Khz","getMfIntOsc_31KHz","getSosc","hasSosc","soscEnabled","soscPowerMode","_this$getClockCalcula8","_this$getClockCalcula9","_this$getClockCalcula10","_this$getClockCalcula11","_this$getClockCalcula12","_this$getClockCalcula13","_this$getClockCalcula14","clockObj","_this$getPLLStatus","initRegisters","deviceFrequency","moduleNameUpperCase","moduleNameLowerCase","PackageVersion","isPllEnabled","getPLLStatus","initializerOptimize","generateCommentedCode","headers","_this$dataModel$getCo","EXTOSC_4xPLL","_this$dataModel$getHa","_this$dataModel$getHa2","_MHz$replace","_MHz","defaultVal","foscOptions","OSCFRQ","HFFRQ","refClk","_option$name$replace","_option$name","defVal","getfoscOptions","_this$getDynamicCompo","_this$getModel$getCom5","_this$getModel$getCom6","_this$dataModel$getCo2","_this$dataModel$getCo3","_this$getModel$getCom7","Hint","text","Warning","ExtClkFreq_64MHz","ExtClkFreq_20MHz","ExtClkFreq_32MHz","require","_unused","_unused2","getModuleConfigFromFile","_unused3","autoProcess","createProcessor"],"sourceRoot":""}
|