@microsoft/windows-admin-center-sdk 2.128.0 → 2.152.0
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/angular/assets/strings/cs-CZ/strings.json +1 -1
- package/angular/assets/strings/de-DE/strings.json +1 -1
- package/angular/assets/strings/es-ES/strings.json +1 -1
- package/angular/assets/strings/fr-FR/strings.json +1 -1
- package/angular/assets/strings/hu-HU/strings.json +1 -1
- package/angular/assets/strings/it-IT/strings.json +1 -1
- package/angular/assets/strings/ja-JP/strings.json +1 -1
- package/angular/assets/strings/ko-KR/strings.json +1 -1
- package/angular/assets/strings/nl-NL/strings.json +1 -1
- package/angular/assets/strings/pl-PL/strings.json +1 -1
- package/angular/assets/strings/pt-BR/strings.json +1 -1
- package/angular/assets/strings/pt-PT/strings.json +1 -1
- package/angular/assets/strings/ru-RU/strings.json +1 -1
- package/angular/assets/strings/sv-SE/strings.json +1 -1
- package/angular/assets/strings/tr-TR/strings.json +1 -1
- package/angular/assets/strings/zh-CN/strings.json +1 -1
- package/angular/assets/strings/zh-TW/strings.json +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +558 -367
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
- package/angular/esm2015/src/controls/accordion/index.js +5 -0
- package/angular/esm2015/src/controls/data-table/data-table.component.js +5 -5
- package/angular/esm2015/src/controls/dialog/dialog.component.js +2 -2
- package/angular/esm2015/src/controls/dropdown/dropdown.service.js +3 -2
- package/angular/esm2015/src/controls/form/form-field/array/array-form-field.component.js +29 -22
- package/angular/esm2015/src/controls/form/form-field/datetime-range/datetime-range-form-field.component.js +4 -3
- package/angular/esm2015/src/controls/form/form-field/list/list-form-field.component.js +1 -1
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.component.js +3 -2
- package/angular/esm2015/src/controls/index.js +2 -1
- package/angular/esm2015/src/controls/pivot/pivot.component.js +21 -9
- package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +38 -34
- package/angular/esm2015/src/controls/settings/settings-content.component.js +3 -2
- package/angular/esm2015/src/controls/settings/settings.component.js +45 -13
- package/angular/esm2015/src/controls/settings/settings.module.js +5 -1
- package/angular/esm2015/src/controls/tooltip/tooltip-zone.directive.js +2 -2
- package/angular/esm2015/src/controls/wizard/models/index.js +1 -1
- package/angular/esm2015/src/controls/wizard/models/wizard-builder-interface.js +2 -0
- package/angular/esm2015/src/controls/wizard/models/wizard-navigation-interface.js +2 -0
- package/angular/esm2015/src/controls/wizard/wizard-builder.js +70 -1
- package/angular/esm2015/src/controls/wizard/wizard-navigation-information.js +56 -2
- package/angular/esm2015/src/controls/wizard/wizard.component.js +8 -2
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +508 -322
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
- package/angular/src/controls/accordion/index.d.ts +4 -0
- package/angular/src/controls/form/form-field/array/array-form-field.component.d.ts +2 -1
- package/angular/src/controls/index.d.ts +1 -0
- package/angular/src/controls/pivot/pivot.component.d.ts +2 -2
- package/angular/src/controls/settings/settings.component.d.ts +3 -0
- package/angular/src/controls/settings/settings.module.d.ts +3 -2
- package/angular/src/controls/wizard/models/index.d.ts +2 -0
- package/angular/src/controls/wizard/models/wizard-builder-interface.d.ts +8 -0
- package/angular/src/controls/wizard/models/wizard-navigation-interface.d.ts +4 -0
- package/angular/src/controls/wizard/wizard-builder.d.ts +36 -1
- package/angular/src/controls/wizard/wizard-navigation-information.d.ts +48 -5
- package/angular/src/controls/wizard/wizard.component.d.ts +2 -1
- package/core/data/resource-cache.d.ts +1 -1
- package/core/data/resource-cache.js +1 -1
- package/core/data/resource-cache.js.map +1 -1
- package/core/security/authorization-manager.js +1 -1
- package/core/security/authorization-manager.js.map +1 -1
- package/package.json +2 -3
- package/styles/css/main.css +1 -1
- package/tools/gulp-ps-cim/index.js +1 -1
- package/tools/gulp-ps-cim/index.js.map +1 -1
|
@@ -191,7 +191,7 @@ function keyArgumentsParameters(mapData) {
|
|
|
191
191
|
var keySeparator = '';
|
|
192
192
|
var propLine = null;
|
|
193
193
|
var dataLine = null;
|
|
194
|
-
if (mapData.keyProperties) {
|
|
194
|
+
if (mapData.keyProperties && Array.isArray(mapData.keyProperties)) {
|
|
195
195
|
keyLine = '';
|
|
196
196
|
propLine = '';
|
|
197
197
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/tools/gulp-ps-cim/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["'use strict';\r\n\r\nimport log = require('fancy-log');\r\nimport pluginError = require('plugin-error');\r\nimport through2 = require('through2');\r\nimport Vinyl = require('vinyl');\r\nimport util = require('../utilities');\r\n\r\nconst PLUGIN_NAME = 'gulp-ps-cim';\r\n\r\ninterface MapData {\r\n name: string;\r\n description: string;\r\n scope: string;\r\n roles: string[];\r\n type: string;\r\n namespace: string;\r\n className: string;\r\n methodName: string;\r\n query: string;\r\n keyProperties: [\r\n {\r\n name: string;\r\n type: string;\r\n }];\r\n property: [\r\n {\r\n name: string;\r\n type: string;\r\n value: any;\r\n }];\r\n arguments: [\r\n {\r\n name: string;\r\n type: string;\r\n value: any;\r\n }];\r\n}\r\n\r\nfunction gulpPowerShellCim(options) {\r\n //\r\n // (Options):\r\n //\r\n\r\n // override options settings if not specified.\r\n options = Object.assign(options || {});\r\n\r\n let collection: MapData[] = null;\r\n\r\n return through2.obj(\r\n /**\r\n * Transform\r\n */\r\n function (file, encoding, callback) {\r\n collection = JSON.parse(file.contents.toString()).collection;\r\n return callback();\r\n },\r\n /**\r\n * Flush\r\n */\r\n function (callback) {\r\n try {\r\n for (const mapData of collection) {\r\n const contents = cimScript(mapData).join('\\r\\n');\r\n const scopePath = mapData.scope ? mapData.scope + '/' : '';\r\n const scriptFile = new Vinyl({\r\n cwd: './',\r\n path: scopePath + mapData.name + '.ps1',\r\n contents: Buffer.from(contents, 'utf8')\r\n });\r\n // tslint:disable-next-line:no-invalid-this\r\n this.push(scriptFile);\r\n }\r\n } catch (e) {\r\n const error = (!e.plugin || (e.plugin !== PLUGIN_NAME)) ?\r\n util.extendError(new pluginError({ plugin: PLUGIN_NAME, message: e.message }), e) : e;\r\n log.error(error);\r\n }\r\n\r\n callback();\r\n });\r\n}\r\n\r\nfunction cimScript(mapData: MapData): string[] {\r\n let line: string;\r\n const bodySection: string[] = [];\r\n const commentSection: string[] = [];\r\n let paramSection: string[] = [];\r\n commentSection.push(\r\n '<#',\r\n '',\r\n '.SYNOPSIS',\r\n mapData.description,\r\n '',\r\n '.DESCRIPTION',\r\n mapData.description,\r\n '',\r\n '.ROLE');\r\n commentSection.push(...mapData.roles),\r\n commentSection.push(\r\n '',\r\n '#>',\r\n '##SkipCheck=true##');\r\n\r\n switch (mapData.type) {\r\n case 'getInstanceMultiple':\r\n case 'getBatchInstanceMultiple':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n line = `Get-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'getInstanceSingle':\r\n case 'getBatchInstanceSingle':\r\n // namespace the cim namespace.\r\n // lassName the class name.\r\n // keyProperties the key properties object\r\n let parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `$keyInstance = New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}} -ClientOnly`;\r\n bodySection.push(line);\r\n line = 'Get-CimInstance $keyInstance';\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'invokeMethodInstance':\r\n case 'invokeBatchMethodInstance':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n // methodName the method name.\r\n // keyProperties the key properties object.\r\n // data the method input data.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `$keyInstance = New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}} -ClientOnly`;\r\n bodySection.push(line);\r\n line = `Invoke-CimMethod $keyInstance -MethodName ${mapData.methodName}`;\r\n if (parameters.argumentsLine) {\r\n line += ` -Arguments @{${parameters.argumentsLine}}`;\r\n }\r\n\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'invokeMethodStatic':\r\n case 'invokeBatchMethodStatic':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n // methodName the method name.\r\n // data the method input data.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `Invoke-CimMethod -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -MethodName ${mapData.methodName}`;\r\n if (parameters.argumentsLine) {\r\n line += ` -Arguments @{${parameters.argumentsLine}}`;\r\n }\r\n\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'setInstance':\r\n case 'setBatchInstance':\r\n // namespace the cim namespace.\r\n // lassName the class name.\r\n // keyProperties the key properties object.\r\n // data the method input data.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}${parameters.argumentsLine}}`;\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'modifyInstance':\r\n case 'modifyBatchInstance':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n // keyProperties the key properties object.\r\n // data the method input data.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `$instance = New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}} -ClientOnly`;\r\n bodySection.push(line);\r\n line = '$instance = Get-CimInstance $instance';\r\n bodySection.push(line);\r\n bodySection.push(...parameters.updateSection);\r\n line = 'Set-CimInstance $instance';\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'deleteInstance':\r\n case 'deleteBatchInstance':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n // keyProperties the key properties object.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `$instance = New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}} -ClientOnly`;\r\n bodySection.push(line);\r\n line = 'Remove-CimInstance $instance';\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'getInstanceQuery':\r\n case 'getBatchInstanceQuery':\r\n // namespace the cim namespace.\r\n // query the WQL string.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `Get-CimInstance -Namespace ${mapData.namespace} -Query \"${mapData.query}\"`;\r\n bodySection.push(line);\r\n break;\r\n }\r\n\r\n const content: string[] = [];\r\n content.push(...commentSection);\r\n content.push('');\r\n content.push(...paramSection);\r\n content.push('');\r\n content.push('import-module CimCmdlets');\r\n content.push('');\r\n content.push(...bodySection);\r\n content.push('');\r\n return content;\r\n}\r\n\r\nfunction keyArgumentsParameters(mapData: MapData): {\r\n keyLine: string,\r\n propertyLine: string,\r\n argumentsLine: string,\r\n updateSection: string[],\r\n paramSection: string[]\r\n} {\r\n const paramSection: string[] = [];\r\n paramSection.push('Param(');\r\n let keyLine: string = null;\r\n let keySeparator = '';\r\n let propLine: string = null;\r\n let dataLine: string = null;\r\n if (mapData.keyProperties) {\r\n keyLine = '';\r\n propLine = '';\r\n for (const key of mapData.keyProperties) {\r\n paramSection.push(`[${key.type}]$${key.name}`);\r\n keyLine += `${keySeparator}'${key.name}'`;\r\n propLine += `${key.name}=$${key.name};`;\r\n keySeparator = ',';\r\n }\r\n }\r\n\r\n const updateSection: string[] = [];\r\n updateSection.push('');\r\n if (mapData.arguments) {\r\n dataLine = '';\r\n for (const data of mapData.arguments) {\r\n paramSection.push(`[${data.type}]$${data.name}`);\r\n dataLine += `${data.name}=$${data.name};`;\r\n updateSection.push(`$instance.${data.name}=$${data.name}`);\r\n }\r\n }\r\n\r\n if (paramSection.length > 2) {\r\n for (let i = 1; i < paramSection.length - 1; i++) {\r\n paramSection[i] += ',';\r\n }\r\n }\r\n\r\n paramSection.push(')');\r\n return {\r\n keyLine: keyLine,\r\n propertyLine: propLine,\r\n argumentsLine: dataLine,\r\n updateSection: updateSection,\r\n paramSection: paramSection\r\n };\r\n}\r\n\r\nmodule.exports = gulpPowerShellCim;\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../packages/tools/gulp-ps-cim/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["'use strict';\r\n\r\nimport log = require('fancy-log');\r\nimport pluginError = require('plugin-error');\r\nimport through2 = require('through2');\r\nimport Vinyl = require('vinyl');\r\nimport util = require('../utilities');\r\n\r\nconst PLUGIN_NAME = 'gulp-ps-cim';\r\n\r\ninterface MapData {\r\n name: string;\r\n description: string;\r\n scope: string;\r\n roles: string[];\r\n type: string;\r\n namespace: string;\r\n className: string;\r\n methodName: string;\r\n query: string;\r\n keyProperties: [\r\n {\r\n name: string;\r\n type: string;\r\n }];\r\n property: [\r\n {\r\n name: string;\r\n type: string;\r\n value: any;\r\n }];\r\n arguments: [\r\n {\r\n name: string;\r\n type: string;\r\n value: any;\r\n }];\r\n}\r\n\r\nfunction gulpPowerShellCim(options) {\r\n //\r\n // (Options):\r\n //\r\n\r\n // override options settings if not specified.\r\n options = Object.assign(options || {});\r\n\r\n let collection: MapData[] = null;\r\n\r\n return through2.obj(\r\n /**\r\n * Transform\r\n */\r\n function (file, encoding, callback) {\r\n collection = JSON.parse(file.contents.toString()).collection;\r\n return callback();\r\n },\r\n /**\r\n * Flush\r\n */\r\n function (callback) {\r\n try {\r\n for (const mapData of collection) {\r\n const contents = cimScript(mapData).join('\\r\\n');\r\n const scopePath = mapData.scope ? mapData.scope + '/' : '';\r\n const scriptFile = new Vinyl({\r\n cwd: './',\r\n path: scopePath + mapData.name + '.ps1',\r\n contents: Buffer.from(contents, 'utf8')\r\n });\r\n // tslint:disable-next-line:no-invalid-this\r\n this.push(scriptFile);\r\n }\r\n } catch (e) {\r\n const error = (!e.plugin || (e.plugin !== PLUGIN_NAME)) ?\r\n util.extendError(new pluginError({ plugin: PLUGIN_NAME, message: e.message }), e) : e;\r\n log.error(error);\r\n }\r\n\r\n callback();\r\n });\r\n}\r\n\r\nfunction cimScript(mapData: MapData): string[] {\r\n let line: string;\r\n const bodySection: string[] = [];\r\n const commentSection: string[] = [];\r\n let paramSection: string[] = [];\r\n commentSection.push(\r\n '<#',\r\n '',\r\n '.SYNOPSIS',\r\n mapData.description,\r\n '',\r\n '.DESCRIPTION',\r\n mapData.description,\r\n '',\r\n '.ROLE');\r\n commentSection.push(...mapData.roles),\r\n commentSection.push(\r\n '',\r\n '#>',\r\n '##SkipCheck=true##');\r\n\r\n switch (mapData.type) {\r\n case 'getInstanceMultiple':\r\n case 'getBatchInstanceMultiple':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n line = `Get-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'getInstanceSingle':\r\n case 'getBatchInstanceSingle':\r\n // namespace the cim namespace.\r\n // lassName the class name.\r\n // keyProperties the key properties object\r\n let parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `$keyInstance = New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}} -ClientOnly`;\r\n bodySection.push(line);\r\n line = 'Get-CimInstance $keyInstance';\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'invokeMethodInstance':\r\n case 'invokeBatchMethodInstance':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n // methodName the method name.\r\n // keyProperties the key properties object.\r\n // data the method input data.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `$keyInstance = New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}} -ClientOnly`;\r\n bodySection.push(line);\r\n line = `Invoke-CimMethod $keyInstance -MethodName ${mapData.methodName}`;\r\n if (parameters.argumentsLine) {\r\n line += ` -Arguments @{${parameters.argumentsLine}}`;\r\n }\r\n\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'invokeMethodStatic':\r\n case 'invokeBatchMethodStatic':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n // methodName the method name.\r\n // data the method input data.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `Invoke-CimMethod -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -MethodName ${mapData.methodName}`;\r\n if (parameters.argumentsLine) {\r\n line += ` -Arguments @{${parameters.argumentsLine}}`;\r\n }\r\n\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'setInstance':\r\n case 'setBatchInstance':\r\n // namespace the cim namespace.\r\n // lassName the class name.\r\n // keyProperties the key properties object.\r\n // data the method input data.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}${parameters.argumentsLine}}`;\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'modifyInstance':\r\n case 'modifyBatchInstance':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n // keyProperties the key properties object.\r\n // data the method input data.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `$instance = New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}} -ClientOnly`;\r\n bodySection.push(line);\r\n line = '$instance = Get-CimInstance $instance';\r\n bodySection.push(line);\r\n bodySection.push(...parameters.updateSection);\r\n line = 'Set-CimInstance $instance';\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'deleteInstance':\r\n case 'deleteBatchInstance':\r\n // namespace the cim namespace.\r\n // className the class name.\r\n // keyProperties the key properties object.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `$instance = New-CimInstance -Namespace ${mapData.namespace} -ClassName ${mapData.className}`;\r\n line += ` -Key @(${parameters.keyLine}) -Property @{${parameters.propertyLine}} -ClientOnly`;\r\n bodySection.push(line);\r\n line = 'Remove-CimInstance $instance';\r\n bodySection.push(line);\r\n break;\r\n\r\n case 'getInstanceQuery':\r\n case 'getBatchInstanceQuery':\r\n // namespace the cim namespace.\r\n // query the WQL string.\r\n parameters = keyArgumentsParameters(mapData);\r\n paramSection = parameters.paramSection;\r\n line = `Get-CimInstance -Namespace ${mapData.namespace} -Query \"${mapData.query}\"`;\r\n bodySection.push(line);\r\n break;\r\n }\r\n\r\n const content: string[] = [];\r\n content.push(...commentSection);\r\n content.push('');\r\n content.push(...paramSection);\r\n content.push('');\r\n content.push('import-module CimCmdlets');\r\n content.push('');\r\n content.push(...bodySection);\r\n content.push('');\r\n return content;\r\n}\r\n\r\nfunction keyArgumentsParameters(mapData: MapData): {\r\n keyLine: string,\r\n propertyLine: string,\r\n argumentsLine: string,\r\n updateSection: string[],\r\n paramSection: string[]\r\n} {\r\n const paramSection: string[] = [];\r\n paramSection.push('Param(');\r\n let keyLine: string = null;\r\n let keySeparator = '';\r\n let propLine: string = null;\r\n let dataLine: string = null;\r\n if (mapData.keyProperties && Array.isArray(mapData.keyProperties)) {\r\n keyLine = '';\r\n propLine = '';\r\n for (const key of mapData.keyProperties) {\r\n paramSection.push(`[${key.type}]$${key.name}`);\r\n keyLine += `${keySeparator}'${key.name}'`;\r\n propLine += `${key.name}=$${key.name};`;\r\n keySeparator = ',';\r\n }\r\n }\r\n\r\n const updateSection: string[] = [];\r\n updateSection.push('');\r\n if (mapData.arguments) {\r\n dataLine = '';\r\n for (const data of mapData.arguments) {\r\n paramSection.push(`[${data.type}]$${data.name}`);\r\n dataLine += `${data.name}=$${data.name};`;\r\n updateSection.push(`$instance.${data.name}=$${data.name}`);\r\n }\r\n }\r\n\r\n if (paramSection.length > 2) {\r\n for (let i = 1; i < paramSection.length - 1; i++) {\r\n paramSection[i] += ',';\r\n }\r\n }\r\n\r\n paramSection.push(')');\r\n return {\r\n keyLine: keyLine,\r\n propertyLine: propLine,\r\n argumentsLine: dataLine,\r\n updateSection: updateSection,\r\n paramSection: paramSection\r\n };\r\n}\r\n\r\nmodule.exports = gulpPowerShellCim;\r\n"]}
|