@azure/app-configuration-importer 1.1.3-preview → 3.0.0-preview

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.
Files changed (50) hide show
  1. package/dist/index.js +206 -93
  2. package/dist/index.js.map +1 -1
  3. package/dist-esm/src/appConfigurationImporter.js +138 -66
  4. package/dist-esm/src/appConfigurationImporter.js.map +1 -1
  5. package/dist-esm/src/enums.js +10 -0
  6. package/dist-esm/src/enums.js.map +1 -1
  7. package/dist-esm/src/index.js +1 -0
  8. package/dist-esm/src/index.js.map +1 -1
  9. package/dist-esm/src/internal/parsers/configurationSettingsConverter.js.map +1 -1
  10. package/dist-esm/src/internal/parsers/defaultConfigurationSettingsConverter.js.map +1 -1
  11. package/dist-esm/src/internal/utils.js.map +1 -1
  12. package/dist-esm/src/models.js.map +1 -1
  13. package/dist-esm/src/{importOptions.js → options.js} +1 -1
  14. package/dist-esm/src/options.js.map +1 -0
  15. package/dist-esm/src/settingsImport/configurationChangesSource.js +33 -0
  16. package/dist-esm/src/settingsImport/configurationChangesSource.js.map +1 -0
  17. package/dist-esm/src/settingsImport/configurationSettingsSource.js.map +1 -1
  18. package/dist-esm/src/settingsImport/iterableConfigurationSettingsSource.js.map +1 -1
  19. package/dist-esm/src/settingsImport/readableStreamConfigurationSettingsSource.js.map +1 -1
  20. package/dist-esm/src/settingsImport/stringConfigurationSettingsSource.js.map +1 -1
  21. package/package.json +1 -1
  22. package/types/azure-app-configuration-importer.d.ts +104 -12
  23. package/types/src/appConfigurationImporter.d.ts +37 -10
  24. package/types/src/appConfigurationImporter.d.ts.map +1 -1
  25. package/types/src/enums.d.ts +9 -0
  26. package/types/src/enums.d.ts.map +1 -1
  27. package/types/src/index.d.ts +3 -2
  28. package/types/src/index.d.ts.map +1 -1
  29. package/types/src/internal/parsers/configurationSettingsConverter.d.ts +1 -1
  30. package/types/src/internal/parsers/configurationSettingsConverter.d.ts.map +1 -1
  31. package/types/src/internal/parsers/defaultConfigurationSettingsConverter.d.ts +1 -1
  32. package/types/src/internal/parsers/defaultConfigurationSettingsConverter.d.ts.map +1 -1
  33. package/types/src/internal/utils.d.ts +1 -1
  34. package/types/src/internal/utils.d.ts.map +1 -1
  35. package/types/src/models.d.ts +9 -0
  36. package/types/src/models.d.ts.map +1 -1
  37. package/types/src/{importOptions.d.ts → options.d.ts} +26 -3
  38. package/types/src/options.d.ts.map +1 -0
  39. package/types/src/settingsImport/configurationChangesSource.d.ts +27 -0
  40. package/types/src/settingsImport/configurationChangesSource.d.ts.map +1 -0
  41. package/types/src/settingsImport/configurationSettingsSource.d.ts +4 -3
  42. package/types/src/settingsImport/configurationSettingsSource.d.ts.map +1 -1
  43. package/types/src/settingsImport/iterableConfigurationSettingsSource.d.ts +1 -1
  44. package/types/src/settingsImport/iterableConfigurationSettingsSource.d.ts.map +1 -1
  45. package/types/src/settingsImport/readableStreamConfigurationSettingsSource.d.ts +1 -1
  46. package/types/src/settingsImport/readableStreamConfigurationSettingsSource.d.ts.map +1 -1
  47. package/types/src/settingsImport/stringConfigurationSettingsSource.d.ts +1 -1
  48. package/types/src/settingsImport/stringConfigurationSettingsSource.d.ts.map +1 -1
  49. package/dist-esm/src/importOptions.js.map +0 -1
  50. package/types/src/importOptions.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { ConfigurationFormat, ConfigurationProfile, ImportMode } from \"./enums\";\nimport { Tags, ImportProgress } from \"./models\";\nimport { ConfigurationSetting, ListConfigurationSettingPage } from \"@azure/app-configuration\";\n\ntype Options = {\n label?: string;\n skipFeatureFlags?: boolean;\n prefix?: string;\n contentType?: string;\n tags?: Tags;\n}\n\n/**\n * Base options for configuration import\n *\n * @internal\n */\nexport type SourceOptions = {\n format: ConfigurationFormat;\n separator?: string;\n depth?: number;\n profile?: ConfigurationProfile;\n} & Options;\n\n/**\n * Provides options for importing from string data source\n *\n */\nexport type StringSourceOptions = SourceOptions & {data: string; };\nexport type IterableSourceOptions = Options & { data: PagedAsyncIterableIterator<ConfigurationSetting<string>, ListConfigurationSettingPage, PageSettings>; trimPrefix?: string; };\nexport type ReadableStreamSourceOptions = SourceOptions & { data: ReadableStream<Uint8Array> | NodeJS.ReadableStream };\n\n/**\n * Options for importing configuration settings\n */\nexport interface ImportOptions {\n /**\n * Seconds of entire import progress timeout.\n */\n timeout: number;\n /**\n * Callback to report the progress of import.\n */\n progressCallback?: (progress: ImportProgress) => unknown;\n /**\n * Use strict mode to delete settings not in source.\n */\n strict?: boolean;\n /**\n * Determines the behavior when importing key-values. \n * The default value, 'All' will import all key-values in the input file to App Configuration. \n * 'Ignore-Match' will only import settings that have no matching key-value in App Configuration.\n */\n importMode?: ImportMode;\n}"]}
@@ -0,0 +1,33 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+ import { ArgumentError } from "../errors";
4
+ /**
5
+ * A ConfigurationSettingsSource that wraps pre-calculated configuration changes.
6
+ *
7
+ * Use this class to import changes that were previously obtained via GetConfigurationChanges().
8
+ *
9
+ * Example usage:
10
+ * ```ts
11
+ * // First, get the configuration changes
12
+ * const changes = await importer.GetConfigurationChanges(source);
13
+ *
14
+ * // Import the pre-calculated changes
15
+ * const changesSource = new ConfigurationChangesSource(changes);
16
+ * await importer.Import(changesSource, { timeout: 60 });
17
+ * ```
18
+ */
19
+ export class ConfigurationChangesSource {
20
+ constructor(configurationChanges, filterOptions) {
21
+ if (filterOptions && Object.keys(filterOptions).length > 0) {
22
+ throw new ArgumentError("FilterOptions are not supported for ConfigurationChangesSource.");
23
+ }
24
+ this.configurationChanges = configurationChanges;
25
+ }
26
+ /**
27
+ * @inheritdoc
28
+ */
29
+ async GetConfigurationSettings() {
30
+ return this.configurationChanges;
31
+ }
32
+ }
33
+ //# sourceMappingURL=configurationChangesSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurationChangesSource.js","sourceRoot":"","sources":["../../../src/settingsImport/configurationChangesSource.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,0BAA0B;IAGrC,YAAY,oBAAuD,EAAE,aAAgD;QACnH,IAAI,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1D,MAAM,IAAI,aAAa,CAAC,iEAAiE,CAAC,CAAC;SAC5F;QACD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED;;SAEK;IACE,KAAK,CAAC,wBAAwB;QACnC,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ConfigurationSettingsSource } from \"./configurationSettingsSource\";\nimport { ConfigurationSettingChange } from \"../models\";\nimport { ListConfigurationSettingsOptions } from \"@azure/app-configuration\";\nimport { ArgumentError } from \"../errors\";\n\n/**\n * A ConfigurationSettingsSource that wraps pre-calculated configuration changes.\n * \n * Use this class to import changes that were previously obtained via GetConfigurationChanges().\n * \n * Example usage:\n * ```ts\n * // First, get the configuration changes\n * const changes = await importer.GetConfigurationChanges(source);\n * \n * // Import the pre-calculated changes\n * const changesSource = new ConfigurationChangesSource(changes);\n * await importer.Import(changesSource, { timeout: 60 });\n * ```\n */\nexport class ConfigurationChangesSource implements ConfigurationSettingsSource {\n private readonly configurationChanges: Array<ConfigurationSettingChange>;\n\n constructor(configurationChanges: Array<ConfigurationSettingChange>, filterOptions?: ListConfigurationSettingsOptions) {\n if (filterOptions && Object.keys(filterOptions).length > 0) {\n throw new ArgumentError(\"FilterOptions are not supported for ConfigurationChangesSource.\");\n }\n this.configurationChanges = configurationChanges;\n }\n\n /**\n * @inheritdoc\n */\n public async GetConfigurationSettings(): Promise<Array<ConfigurationSettingChange>> {\n return this.configurationChanges;\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"configurationSettingsSource.js","sourceRoot":"","sources":["../../../src/settingsImport/configurationSettingsSource.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n FeatureFlagValue,\n ListConfigurationSettingsOptions,\n SecretReferenceValue,\n SetConfigurationSettingParam\n} from \"@azure/app-configuration\";\n\n/**\n * Interface of all ConfigurationSettingsSource\n */\nexport interface ConfigurationSettingsSource {\n /**\n * Get ConfigurationSettings collection from source.\n *\n * @returns Collection of ConfigurationSettings\n */\n GetConfigurationSettings(): Promise<Array<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>>>;\n\n /**\n * Get label and prefix filter\n *\n * @returns label and prefix\n */\n FilterOptions: ListConfigurationSettingsOptions;\n}\n"]}
1
+ {"version":3,"file":"configurationSettingsSource.js","sourceRoot":"","sources":["../../../src/settingsImport/configurationSettingsSource.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n FeatureFlagValue,\n ListConfigurationSettingsOptions,\n SecretReferenceValue,\n SetConfigurationSettingParam\n} from \"@azure/app-configuration\";\nimport { ConfigurationSettingChange } from \"../models\";\n\n/**\n * Interface of all ConfigurationSettingsSource\n */\nexport interface ConfigurationSettingsSource {\n /**\n * Get ConfigurationSettings collection from source.\n *\n * @returns Collection of ConfigurationSettings or ConfigurationSettingChanges\n */\n GetConfigurationSettings(): Promise<Array<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>> | Array<ConfigurationSettingChange>>;\n\n /**\n * Get label and prefix filter\n *\n * @returns label and prefix\n */\n FilterOptions?: ListConfigurationSettingsOptions;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iterableConfigurationSettingsSource.js","sourceRoot":"","sources":["../../../src/settingsImport/iterableConfigurationSettingsSource.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { ConfigurationSettingsSource } from \"./configurationSettingsSource\";\nimport { \n ConfigurationSetting, \n SetConfigurationSettingParam, \n FeatureFlagValue,\n SecretReferenceValue,\n ListConfigurationSettingsOptions, \n ListConfigurationSettingPage, \n featureFlagContentType,\n featureFlagPrefix,\n secretReferenceContentType} from \"@azure/app-configuration\";\nimport { IterableSourceOptions } from \"../importOptions\";\nimport { ArgumentError } from \"../errors\";\n\nexport class IterableConfigurationSettingsSource implements ConfigurationSettingsSource {\n public FilterOptions: ListConfigurationSettingsOptions = {};\n\n private data: PagedAsyncIterableIterator<ConfigurationSetting<string>, ListConfigurationSettingPage, PageSettings>;\n private options: IterableSourceOptions;\n\n constructor(options: IterableSourceOptions) {\n this.data = options.data;\n this.options = options;\n \n this.FilterOptions = {\n keyFilter: options.prefix ? options.prefix + \"*\" : undefined,\n labelFilter: options.label ? options.label : \"\\0\"\n };\n }\n \n /**\n * @inheritdoc\n */\n public async GetConfigurationSettings(): Promise<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[]> {\n const result: SetConfigurationSettingParam[] = [];\n\n for await (const configuration of this.data) {\n const isFeatureFlag: boolean = configuration.key.startsWith(featureFlagPrefix) && configuration.contentType == featureFlagContentType;\n const isKeyVaultReference: boolean = configuration.contentType == secretReferenceContentType;\n const contentType: string | undefined = isFeatureFlag || isKeyVaultReference ?\n configuration.contentType :\n this.options.contentType || configuration.contentType;\n\n let generatedKey: string = configuration.key;\n \n if (this.options.prefix || this.options.trimPrefix) {\n if (isFeatureFlag) {\n generatedKey = generatedKey.substring(featureFlagPrefix.length);\n }\n\n if (this.options.trimPrefix && generatedKey.startsWith(this.options.trimPrefix)) {\n generatedKey = generatedKey.substring(this.options.trimPrefix.length);\n }\n\n if (this.options.prefix) {\n generatedKey = this.options.prefix + generatedKey;\n }\n\n if(isFeatureFlag) {\n generatedKey = featureFlagPrefix + generatedKey;\n }\n }\n \n if (generatedKey === \".\" || generatedKey === \"..\" || generatedKey.indexOf(\"%\") > -1) {\n throw new ArgumentError(\"Key cannot be a '.' or '..', or contain the '%' character.\");\n }\n \n if (this.options.skipFeatureFlags && isFeatureFlag) {\n continue;\n }\n\n result.push({\n key: generatedKey,\n label: this.options.label || configuration.label,\n value: configuration.value,\n contentType: contentType,\n tags: configuration.tags\n });\n }\n\n return result;\n }\n}"]}
1
+ {"version":3,"file":"iterableConfigurationSettingsSource.js","sourceRoot":"","sources":["../../../src/settingsImport/iterableConfigurationSettingsSource.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { ConfigurationSettingsSource } from \"./configurationSettingsSource\";\nimport { \n ConfigurationSetting, \n SetConfigurationSettingParam, \n FeatureFlagValue,\n SecretReferenceValue,\n ListConfigurationSettingsOptions, \n ListConfigurationSettingPage, \n featureFlagContentType,\n featureFlagPrefix,\n secretReferenceContentType} from \"@azure/app-configuration\";\nimport { IterableSourceOptions } from \"../options\";\nimport { ArgumentError } from \"../errors\";\n\nexport class IterableConfigurationSettingsSource implements ConfigurationSettingsSource {\n public FilterOptions: ListConfigurationSettingsOptions = {};\n\n private data: PagedAsyncIterableIterator<ConfigurationSetting<string>, ListConfigurationSettingPage, PageSettings>;\n private options: IterableSourceOptions;\n\n constructor(options: IterableSourceOptions) {\n this.data = options.data;\n this.options = options;\n \n this.FilterOptions = {\n keyFilter: options.prefix ? options.prefix + \"*\" : undefined,\n labelFilter: options.label ? options.label : \"\\0\"\n };\n }\n \n /**\n * @inheritdoc\n */\n public async GetConfigurationSettings(): Promise<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[]> {\n const result: SetConfigurationSettingParam[] = [];\n\n for await (const configuration of this.data) {\n const isFeatureFlag: boolean = configuration.key.startsWith(featureFlagPrefix) && configuration.contentType == featureFlagContentType;\n const isKeyVaultReference: boolean = configuration.contentType == secretReferenceContentType;\n const contentType: string | undefined = isFeatureFlag || isKeyVaultReference ?\n configuration.contentType :\n this.options.contentType || configuration.contentType;\n\n let generatedKey: string = configuration.key;\n \n if (this.options.prefix || this.options.trimPrefix) {\n if (isFeatureFlag) {\n generatedKey = generatedKey.substring(featureFlagPrefix.length);\n }\n\n if (this.options.trimPrefix && generatedKey.startsWith(this.options.trimPrefix)) {\n generatedKey = generatedKey.substring(this.options.trimPrefix.length);\n }\n\n if (this.options.prefix) {\n generatedKey = this.options.prefix + generatedKey;\n }\n\n if(isFeatureFlag) {\n generatedKey = featureFlagPrefix + generatedKey;\n }\n }\n \n if (generatedKey === \".\" || generatedKey === \"..\" || generatedKey.indexOf(\"%\") > -1) {\n throw new ArgumentError(\"Key cannot be a '.' or '..', or contain the '%' character.\");\n }\n \n if (this.options.skipFeatureFlags && isFeatureFlag) {\n continue;\n }\n\n result.push({\n key: generatedKey,\n label: this.options.label || configuration.label,\n value: configuration.value,\n contentType: contentType,\n tags: configuration.tags\n });\n }\n\n return result;\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"readableStreamConfigurationSettingsSource.js","sourceRoot":"","sources":["../../../src/settingsImport/readableStreamConfigurationSettingsSource.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAEnD,MAAM,OAAO,yCAAyC;IAKpD,YAAY,OAAoC;QAJzC,kBAAa,GAAqC,EAAE,CAAC;QAK1D,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,OAAO,CAAC,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE;YACnD,IAAI,CAAC,aAAa,GAAG;gBACnB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC5D,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;aAClD,CAAC;SACH;aACI,IAAI,OAAO,CAAC,OAAO,IAAI,oBAAoB,CAAC,KAAK,EAAE;YACtD,IAAI,CAAC,aAAa,GAAG;gBACnB,SAAS,EAAE,GAAG;gBACd,WAAW,EAAE,GAAG;aACjB,CAAC;SACH;IACH,CAAC;IAEM,KAAK,CAAC,wBAAwB;QACnC,MAAM,MAAM,GAAgC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC/E,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI;YACF,IAAI,OAAO,GAAG,EAAE,CAAC;YAEjB,iDAAiD;YACjD,OAAO,IAAI,EAAE;gBACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE;oBACR,MAAM,YAAY,GAAG,IAAI,iCAAiC,iCAAK,IAAI,CAAC,OAAO,KAAE,IAAI,EAAE,OAAO,IAAE,CAAC;oBAC7F,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,wBAAwB,EAAE,CAAC;oBAE/D,OAAO,QAAQ,CAAC;iBACjB;gBAED,IAAI,KAAK,EAAE;oBACT,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACtC;aACF;SACF;gBACM;YACL,MAAM,CAAC,WAAW,EAAE,CAAC;SACtB;IACH,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { SetConfigurationSettingParam, FeatureFlagValue, SecretReferenceValue, ListConfigurationSettingsOptions } from \"@azure/app-configuration\";\nimport { toWebStream } from \"../internal/stream\";\nimport { ReadableStreamSourceOptions, SourceOptions } from \"../importOptions\";\nimport { ConfigurationSettingsSource } from \"./configurationSettingsSource\";\nimport { ConfigurationProfile } from \"../enums\";\nimport { StringConfigurationSettingsSource } from \"./stringConfigurationSettingsSource\";\nimport { validateOptions} from \"../internal/utils\";\n\nexport class ReadableStreamConfigurationSettingsSource implements ConfigurationSettingsSource { \n public FilterOptions: ListConfigurationSettingsOptions = {};\n private options: SourceOptions;\n private data: ReadableStream<Uint8Array> | NodeJS.ReadableStream;\n\n constructor(options: ReadableStreamSourceOptions) {\n validateOptions(options);\n this.options = options;\n this.data = options.data;\n\n if (options.profile == ConfigurationProfile.Default) {\n this.FilterOptions = {\n keyFilter: options.prefix ? options.prefix + \"*\" : undefined,\n labelFilter: options.label ? options.label : \"\\0\"\n };\n }\n else if (options.profile == ConfigurationProfile.KvSet) {\n this.FilterOptions = {\n keyFilter: \"*\",\n labelFilter: \"*\"\n };\n }\n }\n\n public async GetConfigurationSettings(): Promise<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[]> {\n const reader: ReadableStreamDefaultReader = toWebStream(this.data).getReader();\n const textDecoder = new TextDecoder(\"utf-8\");\n\n try {\n let allData = \"\";\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n const stringSource = new StringConfigurationSettingsSource({...this.options, data: allData});\n const settings = await stringSource.GetConfigurationSettings();\n\n return settings;\n }\n\n if (value) {\n allData += textDecoder.decode(value);\n }\n }\n }\n finally{\n reader.releaseLock();\n }\n }\n}"]}
1
+ {"version":3,"file":"readableStreamConfigurationSettingsSource.js","sourceRoot":"","sources":["../../../src/settingsImport/readableStreamConfigurationSettingsSource.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAEnD,MAAM,OAAO,yCAAyC;IAKpD,YAAY,OAAoC;QAJzC,kBAAa,GAAqC,EAAE,CAAC;QAK1D,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,OAAO,CAAC,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE;YACnD,IAAI,CAAC,aAAa,GAAG;gBACnB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC5D,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;aAClD,CAAC;SACH;aACI,IAAI,OAAO,CAAC,OAAO,IAAI,oBAAoB,CAAC,KAAK,EAAE;YACtD,IAAI,CAAC,aAAa,GAAG;gBACnB,SAAS,EAAE,GAAG;gBACd,WAAW,EAAE,GAAG;aACjB,CAAC;SACH;IACH,CAAC;IAEM,KAAK,CAAC,wBAAwB;QACnC,MAAM,MAAM,GAAgC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC/E,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI;YACF,IAAI,OAAO,GAAG,EAAE,CAAC;YAEjB,iDAAiD;YACjD,OAAO,IAAI,EAAE;gBACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE;oBACR,MAAM,YAAY,GAAG,IAAI,iCAAiC,iCAAK,IAAI,CAAC,OAAO,KAAE,IAAI,EAAE,OAAO,IAAE,CAAC;oBAC7F,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,wBAAwB,EAAE,CAAC;oBAE/D,OAAO,QAAQ,CAAC;iBACjB;gBAED,IAAI,KAAK,EAAE;oBACT,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACtC;aACF;SACF;gBACM;YACL,MAAM,CAAC,WAAW,EAAE,CAAC;SACtB;IACH,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { SetConfigurationSettingParam, FeatureFlagValue, SecretReferenceValue, ListConfigurationSettingsOptions } from \"@azure/app-configuration\";\nimport { toWebStream } from \"../internal/stream\";\nimport { ReadableStreamSourceOptions, SourceOptions } from \"../options\";\nimport { ConfigurationSettingsSource } from \"./configurationSettingsSource\";\nimport { ConfigurationProfile } from \"../enums\";\nimport { StringConfigurationSettingsSource } from \"./stringConfigurationSettingsSource\";\nimport { validateOptions} from \"../internal/utils\";\n\nexport class ReadableStreamConfigurationSettingsSource implements ConfigurationSettingsSource { \n public FilterOptions: ListConfigurationSettingsOptions = {};\n private options: SourceOptions;\n private data: ReadableStream<Uint8Array> | NodeJS.ReadableStream;\n\n constructor(options: ReadableStreamSourceOptions) {\n validateOptions(options);\n this.options = options;\n this.data = options.data;\n\n if (options.profile == ConfigurationProfile.Default) {\n this.FilterOptions = {\n keyFilter: options.prefix ? options.prefix + \"*\" : undefined,\n labelFilter: options.label ? options.label : \"\\0\"\n };\n }\n else if (options.profile == ConfigurationProfile.KvSet) {\n this.FilterOptions = {\n keyFilter: \"*\",\n labelFilter: \"*\"\n };\n }\n }\n\n public async GetConfigurationSettings(): Promise<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[]> {\n const reader: ReadableStreamDefaultReader = toWebStream(this.data).getReader();\n const textDecoder = new TextDecoder(\"utf-8\");\n\n try {\n let allData = \"\";\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n const stringSource = new StringConfigurationSettingsSource({...this.options, data: allData});\n const settings = await stringSource.GetConfigurationSettings();\n\n return settings;\n }\n\n if (value) {\n allData += textDecoder.decode(value);\n }\n }\n }\n finally{\n reader.releaseLock();\n }\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stringConfigurationSettingsSource.js","sourceRoot":"","sources":["../../../src/settingsImport/stringConfigurationSettingsSource.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n FeatureFlagValue,\n ListConfigurationSettingsOptions,\n SecretReferenceValue,\n SetConfigurationSettingParam\n} from \"@azure/app-configuration\";\nimport * as jsyaml from \"js-yaml\";\nimport stripJSONComments from \"strip-json-comments\";\nimport { getProperties } from \"properties-file\";\nimport { SourceOptions, StringSourceOptions } from \"../importOptions\";\nimport { ConfigurationSettingsSource } from \"./configurationSettingsSource\";\nimport { ConfigurationFormat, ConfigurationProfile } from \"../enums\";\nimport { ArgumentError, ParseError } from \"../errors\";\nimport { validateOptions } from \"../internal/utils\";\nimport { ConfigurationSettingsConverter } from \"../internal/parsers/configurationSettingsConverter\";\nimport { DefaultConfigurationSettingsConverter } from \"../internal/parsers/defaultConfigurationSettingsConverter\";\nimport { KvSetConfigurationSettingsConverter } from \"../internal/parsers/kvSetConfigurationSettingsConverter\";\n\n/**\n * ConfigurationSettingsSource implementation of string data configuration source\n */\nexport class StringConfigurationSettingsSource implements ConfigurationSettingsSource {\n public FilterOptions: ListConfigurationSettingsOptions = {};\n private options: SourceOptions;\n private data: string;\n\n constructor(options: StringSourceOptions) {\n validateOptions(options);\n this.options = options;\n this.data = options.data;\n\n if (options.profile == ConfigurationProfile.Default) {\n this.FilterOptions = {\n keyFilter: options.prefix ? options.prefix + \"*\" : undefined,\n labelFilter: options.label ? options.label : \"\\0\"\n };\n }\n else if (options.profile == ConfigurationProfile.KvSet) {\n this.FilterOptions = {\n keyFilter: \"*\",\n labelFilter: \"*\"\n };\n }\n }\n\n /**\n * @inheritdoc\n */\n public async GetConfigurationSettings(): Promise<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[]> {\n return this.getConfigurationSettingsInternal(this.data);\n }\n\n /**\n * Get the ConfigurationSettings from supplied data string source.\n * \n * @param data The string data being parsed.\n * @returns Collection of ConfigurationSettings\n */\n protected getConfigurationSettingsInternal(data: string): Array<\n SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>\n > {\n let loadedData: any = {};\n // Checking string encoding format\n if (/^\\uFEFF/.test(data)) {\n throw new ParseError(\n \"Failed to parse data: An invalid encoding, UTF-8 with BOM, was detected. Please update encoding to UTF-8 without BOM.\"\n );\n }\n\n try {\n switch (this.options.format) {\n case ConfigurationFormat.Json: {\n loadedData = JSON.parse(stripJSONComments(data));\n break;\n }\n case ConfigurationFormat.Yaml: {\n const temp = jsyaml.load(data, { schema: jsyaml.JSON_SCHEMA });\n if (temp === undefined) {\n throw new ParseError(\n \"Failed to parse data: Not a valid yaml format.\"\n );\n }\n else {\n loadedData = temp;\n }\n break;\n }\n case ConfigurationFormat.Properties: {\n loadedData = getProperties(data);\n break;\n }\n default: {\n throw new ArgumentError(\"Data Format provided is not supported. Supported values are: Json, Yaml and Properties.\");\n }\n }\n }\n catch (e: any) {\n throw new ParseError(`Failed to parse data: ${e.message}`);\n }\n\n if (typeof loadedData !== \"object\") {\n throw new ParseError(\n `Type of data be parsed is ${typeof loadedData}, not a valid object type`\n );\n }\n\n let converter: ConfigurationSettingsConverter;\n if (this.options.profile === ConfigurationProfile.KvSet) {\n converter = new KvSetConfigurationSettingsConverter();\n }\n else {\n converter = new DefaultConfigurationSettingsConverter();\n }\n\n return converter.Convert(loadedData, this.options);\n }\n}"]}
1
+ {"version":3,"file":"stringConfigurationSettingsSource.js","sourceRoot":"","sources":["../../../src/settingsImport/stringConfigurationSettingsSource.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n FeatureFlagValue,\n ListConfigurationSettingsOptions,\n SecretReferenceValue,\n SetConfigurationSettingParam\n} from \"@azure/app-configuration\";\nimport * as jsyaml from \"js-yaml\";\nimport stripJSONComments from \"strip-json-comments\";\nimport { getProperties } from \"properties-file\";\nimport { SourceOptions, StringSourceOptions } from \"../options\";\nimport { ConfigurationSettingsSource } from \"./configurationSettingsSource\";\nimport { ConfigurationFormat, ConfigurationProfile } from \"../enums\";\nimport { ArgumentError, ParseError } from \"../errors\";\nimport { validateOptions } from \"../internal/utils\";\nimport { ConfigurationSettingsConverter } from \"../internal/parsers/configurationSettingsConverter\";\nimport { DefaultConfigurationSettingsConverter } from \"../internal/parsers/defaultConfigurationSettingsConverter\";\nimport { KvSetConfigurationSettingsConverter } from \"../internal/parsers/kvSetConfigurationSettingsConverter\";\n\n/**\n * ConfigurationSettingsSource implementation of string data configuration source\n */\nexport class StringConfigurationSettingsSource implements ConfigurationSettingsSource {\n public FilterOptions: ListConfigurationSettingsOptions = {};\n private options: SourceOptions;\n private data: string;\n\n constructor(options: StringSourceOptions) {\n validateOptions(options);\n this.options = options;\n this.data = options.data;\n\n if (options.profile == ConfigurationProfile.Default) {\n this.FilterOptions = {\n keyFilter: options.prefix ? options.prefix + \"*\" : undefined,\n labelFilter: options.label ? options.label : \"\\0\"\n };\n }\n else if (options.profile == ConfigurationProfile.KvSet) {\n this.FilterOptions = {\n keyFilter: \"*\",\n labelFilter: \"*\"\n };\n }\n }\n\n /**\n * @inheritdoc\n */\n public async GetConfigurationSettings(): Promise<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[]> {\n return this.getConfigurationSettingsInternal(this.data);\n }\n\n /**\n * Get the ConfigurationSettings from supplied data string source.\n * \n * @param data The string data being parsed.\n * @returns Collection of ConfigurationSettings\n */\n protected getConfigurationSettingsInternal(data: string): Array<\n SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>\n > {\n let loadedData: any = {};\n // Checking string encoding format\n if (/^\\uFEFF/.test(data)) {\n throw new ParseError(\n \"Failed to parse data: An invalid encoding, UTF-8 with BOM, was detected. Please update encoding to UTF-8 without BOM.\"\n );\n }\n\n try {\n switch (this.options.format) {\n case ConfigurationFormat.Json: {\n loadedData = JSON.parse(stripJSONComments(data));\n break;\n }\n case ConfigurationFormat.Yaml: {\n const temp = jsyaml.load(data, { schema: jsyaml.JSON_SCHEMA });\n if (temp === undefined) {\n throw new ParseError(\n \"Failed to parse data: Not a valid yaml format.\"\n );\n }\n else {\n loadedData = temp;\n }\n break;\n }\n case ConfigurationFormat.Properties: {\n loadedData = getProperties(data);\n break;\n }\n default: {\n throw new ArgumentError(\"Data Format provided is not supported. Supported values are: Json, Yaml and Properties.\");\n }\n }\n }\n catch (e: any) {\n throw new ParseError(`Failed to parse data: ${e.message}`);\n }\n\n if (typeof loadedData !== \"object\") {\n throw new ParseError(\n `Type of data be parsed is ${typeof loadedData}, not a valid object type`\n );\n }\n\n let converter: ConfigurationSettingsConverter;\n if (this.options.profile === ConfigurationProfile.KvSet) {\n converter = new KvSetConfigurationSettingsConverter();\n }\n else {\n converter = new DefaultConfigurationSettingsConverter();\n }\n\n return converter.Convert(loadedData, this.options);\n }\n}"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@azure/app-configuration-importer",
3
3
  "author": "Microsoft Corporation",
4
4
  "description": "A client library for importing/exporting key-values between configuration sources and Azure App Configuration service",
5
- "version": "1.1.3-preview",
5
+ "version": "3.0.0-preview",
6
6
  "sdk-type": "client",
7
7
  "keywords": [
8
8
  "node",
@@ -6,6 +6,7 @@ import { ErrorObject } from 'ajv';
6
6
  import { FeatureFlagValue } from '@azure/app-configuration';
7
7
  import { ListConfigurationSettingPage } from '@azure/app-configuration';
8
8
  import { ListConfigurationSettingsOptions } from '@azure/app-configuration';
9
+ import { OperationOptions } from '@azure/core-client';
9
10
  import { PagedAsyncIterableIterator } from '@azure/core-paging';
10
11
  import { PageSettings } from '@azure/core-paging';
11
12
  import { SecretReferenceValue } from '@azure/app-configuration';
@@ -34,26 +35,51 @@ export declare class AppConfigurationImporter {
34
35
  */
35
36
  constructor(configurationClient: AppConfigurationClient);
36
37
  /**
37
- * Import source settings into the Azure App Configuration service
38
+ * Import settings into the Azure App Configuration service.
38
39
  *
39
40
  * Example usage:
40
41
  * ```ts
41
42
  * const fileData = fs.readFileSync("mylocalPath").toString();
42
- * const result = await asyncClient.Import(new StringConfigurationSettingsSource({data:fileData, format: ConfigurationFormat.Json}));
43
+ * const source = new StringConfigurationSettingsSource({data:fileData, format: ConfigurationFormat.Json});
44
+ * await importer.Import(source, { timeout: 60 });
45
+ * ```
46
+ *
47
+ * @param configurationSettingsSource - A ConfigurationSettingsSource instance.
48
+ * @param options - Import options including timeout, progress callback, strict mode, and import mode.
49
+ * @returns Promise<void>
50
+ */
51
+ Import(configurationSettingsSource: ConfigurationSettingsSource, options: ImportOptions): Promise<void>;
52
+ /**
53
+ * Get configuration changes between source settings and existing settings in Azure App Configuration service without applying any changes
54
+ *
55
+ * Example usage:
56
+ * ```ts
57
+ * const fileData = fs.readFileSync("mylocalPath").toString();
58
+ * const configurationChanges = await client.GetConfigurationChanges(
59
+ * new StringConfigurationSettingsSource({data:fileData, format: ConfigurationFormat.Json}),
60
+ * false,
61
+ * ImportMode.All,
62
+ * options
63
+ * );
43
64
  * ```
44
65
  * @param configSettingsSource - A ConfigurationSettingsSource instance.
45
- * @param strict - Use strict mode or not.
46
- * @param timeout - Seconds of entire import progress timeout
47
- * @param progressCallback - Callback for report the progress of import
48
- * @param importMode - Determines the behavior when importing key-values. The default value, 'All' will import all key-values in the input file to App Configuration. 'Ignore-Match' will only import settings that have no matching key-value in App Configuration.
49
- * @param dryRun - When dry run is enabled, no updates will be performed to App Configuration. Instead, any updates that would have been performed in a normal run will be printed to the console for review
66
+ * @param strict - Use strict mode to delete settings not in source.
67
+ * @param importMode - Determines the behavior when analyzing key-values.
68
+ * 'All' will include all key-values.
69
+ * 'Ignore-Match' will exclude settings that have matching key-values in App Configuration.
70
+ * @param customHeadersOption - Custom headers for the operation.
71
+ * @returns Array of ConfigurationSettingChange objects representing the changes
50
72
  */
51
- Import(configSettingsSource: ConfigurationSettingsSource, timeout: number, strict?: boolean, progressCallback?: (progress: ImportResult) => unknown, importMode?: ImportMode, dryRun?: boolean): Promise<void>;
52
- private printUpdatesToConsole;
73
+ GetConfigurationChanges(configSettingsSource: ConfigurationSettingsSource, strict?: boolean, importMode?: ImportMode, customHeadersOption?: OperationOptions): Promise<Array<ConfigurationSettingChange>>;
53
74
  private applyUpdatesToServer;
54
75
  private newAdaptiveTaskManager;
55
76
  private executeTasksWithTimeout;
56
77
  private validateImportMode;
78
+ /**
79
+ * Type guard to detect a ConfigurationChanges object.
80
+ * @internal
81
+ */
82
+ private isConfigurationChanges;
57
83
  }
58
84
 
59
85
  /**
@@ -69,6 +95,40 @@ export declare class ArgumentError extends Error {
69
95
  export declare class ArgumentNullError extends Error {
70
96
  }
71
97
 
98
+ /**
99
+ * Enums of change type for configuration settings changes
100
+ */
101
+ export declare enum ChangeType {
102
+ None = 0,
103
+ Create = 1,
104
+ Delete = 2,
105
+ Update = 3
106
+ }
107
+
108
+ /**
109
+ * A ConfigurationSettingsSource that wraps pre-calculated configuration changes.
110
+ *
111
+ * Use this class to import changes that were previously obtained via GetConfigurationChanges().
112
+ *
113
+ * Example usage:
114
+ * ```ts
115
+ * // First, get the configuration changes
116
+ * const changes = await importer.GetConfigurationChanges(source);
117
+ *
118
+ * // Import the pre-calculated changes
119
+ * const changesSource = new ConfigurationChangesSource(changes);
120
+ * await importer.Import(changesSource, { timeout: 60 });
121
+ * ```
122
+ */
123
+ export declare class ConfigurationChangesSource implements ConfigurationSettingsSource {
124
+ private readonly configurationChanges;
125
+ constructor(configurationChanges: Array<ConfigurationSettingChange>, filterOptions?: ListConfigurationSettingsOptions);
126
+ /**
127
+ * @inheritdoc
128
+ */
129
+ GetConfigurationSettings(): Promise<Array<ConfigurationSettingChange>>;
130
+ }
131
+
72
132
  /**
73
133
  * Enums of configuration Format.
74
134
  */
@@ -86,6 +146,14 @@ export declare enum ConfigurationProfile {
86
146
  KvSet = 1
87
147
  }
88
148
 
149
+ export declare interface ConfigurationSettingChange {
150
+ changeType: ChangeType;
151
+ /** The current value of the configuration setting */
152
+ currentValue: ConfigurationSetting<string> | null;
153
+ /** The new value of the configuration setting */
154
+ newValue: SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue> | null;
155
+ }
156
+
89
157
  /**
90
158
  * Interface of all ConfigurationSettingsSource
91
159
  */
@@ -93,15 +161,15 @@ export declare interface ConfigurationSettingsSource {
93
161
  /**
94
162
  * Get ConfigurationSettings collection from source.
95
163
  *
96
- * @returns Collection of ConfigurationSettings
164
+ * @returns Collection of ConfigurationSettings or ConfigurationSettingChanges
97
165
  */
98
- GetConfigurationSettings(): Promise<Array<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>>>;
166
+ GetConfigurationSettings(): Promise<Array<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>> | Array<ConfigurationSettingChange>>;
99
167
  /**
100
168
  * Get label and prefix filter
101
169
  *
102
170
  * @returns label and prefix
103
171
  */
104
- FilterOptions: ListConfigurationSettingsOptions;
172
+ FilterOptions?: ListConfigurationSettingsOptions;
105
173
  }
106
174
 
107
175
  /**
@@ -112,6 +180,30 @@ export declare enum ImportMode {
112
180
  IgnoreMatch = 1
113
181
  }
114
182
 
183
+ /**
184
+ * Options for importing configuration settings
185
+ */
186
+ export declare interface ImportOptions {
187
+ /**
188
+ * Seconds of entire import progress timeout.
189
+ */
190
+ timeout: number;
191
+ /**
192
+ * Callback to report the progress of import.
193
+ */
194
+ progressCallback?: (progress: ImportResult) => unknown;
195
+ /**
196
+ * Use strict mode to delete settings not in source.
197
+ */
198
+ strict?: boolean;
199
+ /**
200
+ * Determines the behavior when importing key-values.
201
+ * The default value, 'All' will import all key-values in the input file to App Configuration.
202
+ * 'Ignore-Match' will only import settings that have no matching key-value in App Configuration.
203
+ */
204
+ importMode?: ImportMode;
205
+ }
206
+
115
207
  export declare interface ImportResult {
116
208
  successCount: number;
117
209
  importCount: number;
@@ -1,7 +1,9 @@
1
1
  import { AppConfigurationClient } from "@azure/app-configuration";
2
2
  import { ConfigurationSettingsSource } from "./settingsImport/configurationSettingsSource";
3
3
  import { ImportMode } from "./enums";
4
- import { ImportProgress } from "./models";
4
+ import { ConfigurationSettingChange } from "./models";
5
+ import { OperationOptions } from "@azure/core-client";
6
+ import { ImportOptions } from "./options";
5
7
  /**
6
8
  * Entrypoint class for sync configuration
7
9
  */
@@ -13,25 +15,50 @@ export declare class AppConfigurationImporter {
13
15
  */
14
16
  constructor(configurationClient: AppConfigurationClient);
15
17
  /**
16
- * Import source settings into the Azure App Configuration service
18
+ * Import settings into the Azure App Configuration service.
17
19
  *
18
20
  * Example usage:
19
21
  * ```ts
20
22
  * const fileData = fs.readFileSync("mylocalPath").toString();
21
- * const result = await asyncClient.Import(new StringConfigurationSettingsSource({data:fileData, format: ConfigurationFormat.Json}));
23
+ * const source = new StringConfigurationSettingsSource({data:fileData, format: ConfigurationFormat.Json});
24
+ * await importer.Import(source, { timeout: 60 });
25
+ * ```
26
+ *
27
+ * @param configurationSettingsSource - A ConfigurationSettingsSource instance.
28
+ * @param options - Import options including timeout, progress callback, strict mode, and import mode.
29
+ * @returns Promise<void>
30
+ */
31
+ Import(configurationSettingsSource: ConfigurationSettingsSource, options: ImportOptions): Promise<void>;
32
+ /**
33
+ * Get configuration changes between source settings and existing settings in Azure App Configuration service without applying any changes
34
+ *
35
+ * Example usage:
36
+ * ```ts
37
+ * const fileData = fs.readFileSync("mylocalPath").toString();
38
+ * const configurationChanges = await client.GetConfigurationChanges(
39
+ * new StringConfigurationSettingsSource({data:fileData, format: ConfigurationFormat.Json}),
40
+ * false,
41
+ * ImportMode.All,
42
+ * options
43
+ * );
22
44
  * ```
23
45
  * @param configSettingsSource - A ConfigurationSettingsSource instance.
24
- * @param strict - Use strict mode or not.
25
- * @param timeout - Seconds of entire import progress timeout
26
- * @param progressCallback - Callback for report the progress of import
27
- * @param importMode - Determines the behavior when importing key-values. The default value, 'All' will import all key-values in the input file to App Configuration. 'Ignore-Match' will only import settings that have no matching key-value in App Configuration.
28
- * @param dryRun - When dry run is enabled, no updates will be performed to App Configuration. Instead, any updates that would have been performed in a normal run will be printed to the console for review
46
+ * @param strict - Use strict mode to delete settings not in source.
47
+ * @param importMode - Determines the behavior when analyzing key-values.
48
+ * 'All' will include all key-values.
49
+ * 'Ignore-Match' will exclude settings that have matching key-values in App Configuration.
50
+ * @param customHeadersOption - Custom headers for the operation.
51
+ * @returns Array of ConfigurationSettingChange objects representing the changes
29
52
  */
30
- Import(configSettingsSource: ConfigurationSettingsSource, timeout: number, strict?: boolean, progressCallback?: (progress: ImportProgress) => unknown, importMode?: ImportMode, dryRun?: boolean): Promise<void>;
31
- private printUpdatesToConsole;
53
+ GetConfigurationChanges(configSettingsSource: ConfigurationSettingsSource, strict?: boolean, importMode?: ImportMode, customHeadersOption?: OperationOptions): Promise<Array<ConfigurationSettingChange>>;
32
54
  private applyUpdatesToServer;
33
55
  private newAdaptiveTaskManager;
34
56
  private executeTasksWithTimeout;
35
57
  private validateImportMode;
58
+ /**
59
+ * Type guard to detect a ConfigurationChanges object.
60
+ * @internal
61
+ */
62
+ private isConfigurationChanges;
36
63
  }
37
64
  //# sourceMappingURL=appConfigurationImporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"appConfigurationImporter.d.ts","sourceRoot":"","sources":["../../src/appConfigurationImporter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EAIA,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAkB,MAAM,UAAU,CAAC;AAM1D;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,mBAAmB,CAAyB;IACpD;;;OAGG;gBACS,mBAAmB,EAAE,sBAAsB;IAIvD;;;;;;;;;;;;;;OAcG;IACU,MAAM,CACjB,oBAAoB,EAAE,2BAA2B,EACjD,OAAO,EAAE,MAAM,EACf,MAAM,UAAQ,EACd,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,EACxD,UAAU,CAAC,EAAE,UAAU,EACvB,MAAM,CAAC,EAAE,OAAO;IA4DlB,OAAO,CAAC,qBAAqB;YAiBf,oBAAoB;IAkBlC,OAAO,CAAC,sBAAsB;YAchB,uBAAuB;IAWrC,OAAO,CAAC,kBAAkB;CAM3B"}
1
+ {"version":3,"file":"appConfigurationImporter.d.ts","sourceRoot":"","sources":["../../src/appConfigurationImporter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EAIA,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAGjD,OAAO,EAAkC,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAItF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,mBAAmB,CAAyB;IACpD;;;OAGG;gBACS,mBAAmB,EAAE,sBAAsB;IAIvD;;;;;;;;;;;;;OAaG;IACU,MAAM,CACjB,2BAA2B,EAAE,2BAA2B,EACxD,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,uBAAuB,CAClC,oBAAoB,EAAE,2BAA2B,EACjD,MAAM,UAAQ,EACd,UAAU,aAAyB,EACnC,mBAAmB,CAAC,EAAE,gBAAgB,GACrC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAkF/B,oBAAoB;IAkBlC,OAAO,CAAC,sBAAsB;YAchB,uBAAuB;IAWrC,OAAO,CAAC,kBAAkB;IAO1B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAe/B"}
@@ -20,4 +20,13 @@ export declare enum ImportMode {
20
20
  All = 0,
21
21
  IgnoreMatch = 1
22
22
  }
23
+ /**
24
+ * Enums of change type for configuration settings changes
25
+ */
26
+ export declare enum ChangeType {
27
+ None = 0,
28
+ Create = 1,
29
+ Delete = 2,
30
+ Update = 3
31
+ }
23
32
  //# sourceMappingURL=enums.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,IAAI,IAAA;IACJ,UAAU,IAAA;IACV,IAAI,IAAA;CACL;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,GAAG,IAAA;IACH,WAAW,IAAA;CACZ"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,IAAI,IAAA;IACJ,UAAU,IAAA;IACV,IAAI,IAAA;CACL;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,GAAG,IAAA;IACH,WAAW,IAAA;CACZ;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;CACP"}
@@ -1,10 +1,11 @@
1
1
  export { AppConfigurationImporter } from "./appConfigurationImporter";
2
- export { StringSourceOptions, IterableSourceOptions, ReadableStreamSourceOptions } from "./importOptions";
2
+ export { StringSourceOptions, IterableSourceOptions, ReadableStreamSourceOptions, ImportOptions } from "./options";
3
3
  export * from "./enums";
4
4
  export * from "./errors";
5
- export { ImportProgress as ImportResult } from "./models";
5
+ export { ImportProgress as ImportResult, ConfigurationSettingChange } from "./models";
6
6
  export { StringConfigurationSettingsSource } from "./settingsImport/stringConfigurationSettingsSource";
7
7
  export { ConfigurationSettingsSource } from "./settingsImport/configurationSettingsSource";
8
+ export { ConfigurationChangesSource } from "./settingsImport/configurationChangesSource";
8
9
  export { IterableConfigurationSettingsSource } from "./settingsImport/iterableConfigurationSettingsSource";
9
10
  export { ReadableStreamConfigurationSettingsSource } from "./settingsImport/readableStreamConfigurationSettingsSource";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,cAAc,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,yCAAyC,EAAE,MAAM,4DAA4D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC3B,aAAa,EACd,MAAM,WAAW,CAAC;AACnB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,cAAc,IAAI,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,yCAAyC,EAAE,MAAM,4DAA4D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { SetConfigurationSettingParam, FeatureFlagValue, SecretReferenceValue } from "@azure/app-configuration";
2
- import { SourceOptions } from "../../importOptions";
2
+ import { SourceOptions } from "../../options";
3
3
  /**
4
4
  * ConfigurationSettings converter for different configuration content.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"configurationSettingsConverter.d.ts","sourceRoot":"","sources":["../../../../src/internal/parsers/configurationSettingsConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;KAIK;AACL,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,KAAK,CAAC,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,CAAC,CAAC;CAC1F"}
1
+ {"version":3,"file":"configurationSettingsConverter.d.ts","sourceRoot":"","sources":["../../../../src/internal/parsers/configurationSettingsConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;KAIK;AACL,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,KAAK,CAAC,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,CAAC,CAAC;CAC1F"}
@@ -1,5 +1,5 @@
1
1
  import { SetConfigurationSettingParam, SecretReferenceValue } from "@azure/app-configuration";
2
- import { SourceOptions } from "../../importOptions";
2
+ import { SourceOptions } from "../../options";
3
3
  import { ConfigurationSettingsConverter } from "./configurationSettingsConverter";
4
4
  /**
5
5
  * Format Parser for common key-value configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"defaultConfigurationSettingsConverter.d.ts","sourceRoot":"","sources":["../../../../src/internal/parsers/defaultConfigurationSettingsConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,EAG5B,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAWlF;;;;KAIK;AACL,qBAAa,qCAAsC,YAAW,8BAA8B;IAC1F;;;;;SAKK;IACE,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,4BAA4B,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE;IA2EhE,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,uBAAuB;CAyChC"}
1
+ {"version":3,"file":"defaultConfigurationSettingsConverter.d.ts","sourceRoot":"","sources":["../../../../src/internal/parsers/defaultConfigurationSettingsConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,EAG5B,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAWlF;;;;KAIK;AACL,qBAAa,qCAAsC,YAAW,8BAA8B;IAC1F;;;;;SAKK;IACE,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,4BAA4B,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE;IA2EhE,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,uBAAuB;CAyChC"}
@@ -1,6 +1,6 @@
1
1
  import { ConfigurationSetting, SetConfigurationSettingParam, FeatureFlagValue, SecretReferenceValue } from "@azure/app-configuration";
2
2
  import { Tags } from "../models";
3
- import { SourceOptions } from "../importOptions";
3
+ import { SourceOptions } from "../options";
4
4
  import { MsFeatureFlagValue } from "../featureFlag";
5
5
  /** @internal*/
6
6
  export declare function isJsonContentType(contentType?: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/internal/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EAEhB,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,IAAI,EAA4B,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAE,kBAAkB,EAAW,MAAM,gBAAgB,CAAC;AAE7D,eAAe;AACf,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAsB/D;AAED,eAAe;AACf,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,EAAE,QAAQ,EAAE,oBAAoB,WAa5J;AAED,eAAe;AACf,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAe9D;AAED,eAAe;AACf;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CA2C5D;AAiED,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,MAAM,CAgCtF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/internal/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EAEhB,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,IAAI,EAA4B,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,EAAE,kBAAkB,EAAW,MAAM,gBAAgB,CAAC;AAE7D,eAAe;AACf,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAsB/D;AAED,eAAe;AACf,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,EAAE,QAAQ,EAAE,oBAAoB,WAa5J;AAED,eAAe;AACf,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAe9D;AAED,eAAe;AACf;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CA2C5D;AAiED,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,MAAM,CAgCtF"}
@@ -1,3 +1,5 @@
1
+ import { SecretReferenceValue, ConfigurationSetting, SetConfigurationSettingParam, FeatureFlagValue } from "@azure/app-configuration";
2
+ import { ChangeType } from "./enums";
1
3
  /**
2
4
  * @internal
3
5
  */
@@ -39,4 +41,11 @@ export interface KeyLabelLookup {
39
41
  [label: string]: boolean;
40
42
  };
41
43
  }
44
+ export interface ConfigurationSettingChange {
45
+ changeType: ChangeType;
46
+ /** The current value of the configuration setting */
47
+ currentValue: ConfigurationSetting<string> | null;
48
+ /** The new value of the configuration setting */
49
+ newValue: SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue> | null;
50
+ }
42
51
  //# sourceMappingURL=models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC3C,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,CAAC,KAAK,EAAE,MAAM,GAAI,OAAO,CAAA;KAC1B,CAAA;CACF"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC3C,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,CAAC,KAAK,EAAE,MAAM,GAAI,OAAO,CAAA;KAC1B,CAAA;CACF;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,UAAU,CAAC;IACvB,qDAAqD;IACrD,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClD,iDAAiD;IACjD,QAAQ,EAAE,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,IAAI,CAAC;CACjG"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging";
3
- import { ConfigurationFormat, ConfigurationProfile } from "./enums";
4
- import { Tags } from "./models";
3
+ import { ConfigurationFormat, ConfigurationProfile, ImportMode } from "./enums";
4
+ import { Tags, ImportProgress } from "./models";
5
5
  import { ConfigurationSetting, ListConfigurationSettingPage } from "@azure/app-configuration";
6
6
  type Options = {
7
7
  label?: string;
@@ -35,5 +35,28 @@ export type IterableSourceOptions = Options & {
35
35
  export type ReadableStreamSourceOptions = SourceOptions & {
36
36
  data: ReadableStream<Uint8Array> | NodeJS.ReadableStream;
37
37
  };
38
+ /**
39
+ * Options for importing configuration settings
40
+ */
41
+ export interface ImportOptions {
42
+ /**
43
+ * Seconds of entire import progress timeout.
44
+ */
45
+ timeout: number;
46
+ /**
47
+ * Callback to report the progress of import.
48
+ */
49
+ progressCallback?: (progress: ImportProgress) => unknown;
50
+ /**
51
+ * Use strict mode to delete settings not in source.
52
+ */
53
+ strict?: boolean;
54
+ /**
55
+ * Determines the behavior when importing key-values.
56
+ * The default value, 'All' will import all key-values in the input file to App Configuration.
57
+ * 'Ignore-Match' will only import settings that have no matching key-value in App Configuration.
58
+ */
59
+ importMode?: ImportMode;
60
+ }
38
61
  export {};
39
- //# sourceMappingURL=importOptions.d.ts.map
62
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAE9F,KAAK,OAAO,GAAG;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,GAAG,OAAO,CAAC;AAEZ;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG;IAAE,IAAI,EAAE,0BAA0B,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,4BAA4B,EAAE,YAAY,CAAC,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;CAAE,CAAC;AACpL,MAAM,MAAM,2BAA2B,GAAG,aAAa,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,CAAA;CAAE,CAAC;AAEvH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC;IACzD;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB"}
@@ -0,0 +1,27 @@
1
+ import { ConfigurationSettingsSource } from "./configurationSettingsSource";
2
+ import { ConfigurationSettingChange } from "../models";
3
+ import { ListConfigurationSettingsOptions } from "@azure/app-configuration";
4
+ /**
5
+ * A ConfigurationSettingsSource that wraps pre-calculated configuration changes.
6
+ *
7
+ * Use this class to import changes that were previously obtained via GetConfigurationChanges().
8
+ *
9
+ * Example usage:
10
+ * ```ts
11
+ * // First, get the configuration changes
12
+ * const changes = await importer.GetConfigurationChanges(source);
13
+ *
14
+ * // Import the pre-calculated changes
15
+ * const changesSource = new ConfigurationChangesSource(changes);
16
+ * await importer.Import(changesSource, { timeout: 60 });
17
+ * ```
18
+ */
19
+ export declare class ConfigurationChangesSource implements ConfigurationSettingsSource {
20
+ private readonly configurationChanges;
21
+ constructor(configurationChanges: Array<ConfigurationSettingChange>, filterOptions?: ListConfigurationSettingsOptions);
22
+ /**
23
+ * @inheritdoc
24
+ */
25
+ GetConfigurationSettings(): Promise<Array<ConfigurationSettingChange>>;
26
+ }
27
+ //# sourceMappingURL=configurationChangesSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurationChangesSource.d.ts","sourceRoot":"","sources":["../../../src/settingsImport/configurationChangesSource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAG5E;;;;;;;;;;;;;;GAcG;AACH,qBAAa,0BAA2B,YAAW,2BAA2B;IAC5E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAoC;gBAE7D,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,CAAC,EAAE,aAAa,CAAC,EAAE,gCAAgC;IAOrH;;SAEK;IACQ,wBAAwB,IAAI,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;CAGpF"}