@azure/app-configuration 1.4.1-alpha.20230406.2 → 1.4.1

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 (35) hide show
  1. package/dist/index.js +11 -96
  2. package/dist/index.js.map +1 -1
  3. package/dist-esm/samples-dev/featureFlag.js +12 -5
  4. package/dist-esm/samples-dev/featureFlag.js.map +1 -1
  5. package/dist-esm/samples-dev/getSettingOnlyIfChanged.js +13 -6
  6. package/dist-esm/samples-dev/getSettingOnlyIfChanged.js.map +1 -1
  7. package/dist-esm/samples-dev/helloworld.js +12 -5
  8. package/dist-esm/samples-dev/helloworld.js.map +1 -1
  9. package/dist-esm/samples-dev/helloworldWithLabels.js +12 -5
  10. package/dist-esm/samples-dev/helloworldWithLabels.js.map +1 -1
  11. package/dist-esm/samples-dev/listConfigurationSettings.js +23 -9
  12. package/dist-esm/samples-dev/listConfigurationSettings.js.map +1 -1
  13. package/dist-esm/samples-dev/listRevisions.js +25 -11
  14. package/dist-esm/samples-dev/listRevisions.js.map +1 -1
  15. package/dist-esm/samples-dev/optimisticConcurrencyViaEtag.js +13 -6
  16. package/dist-esm/samples-dev/optimisticConcurrencyViaEtag.js.map +1 -1
  17. package/dist-esm/samples-dev/secretReference.js +12 -5
  18. package/dist-esm/samples-dev/secretReference.js.map +1 -1
  19. package/dist-esm/samples-dev/setReadOnlySample.js +13 -6
  20. package/dist-esm/samples-dev/setReadOnlySample.js.map +1 -1
  21. package/dist-esm/samples-dev/updateSyncTokenSample.js +12 -5
  22. package/dist-esm/samples-dev/updateSyncTokenSample.js.map +1 -1
  23. package/dist-esm/src/generated/src/appConfiguration.js +10 -18
  24. package/dist-esm/src/generated/src/appConfiguration.js.map +1 -1
  25. package/dist-esm/src/generated/src/models/index.js +17 -72
  26. package/dist-esm/src/generated/src/models/index.js.map +1 -1
  27. package/dist-esm/src/generated/src/models/parameters.js +1 -78
  28. package/dist-esm/src/generated/src/models/parameters.js.map +1 -1
  29. package/dist-esm/test/public/featureFlag.spec.js +36 -22
  30. package/dist-esm/test/public/featureFlag.spec.js.map +1 -1
  31. package/dist-esm/test/public/secretReference.spec.js +35 -21
  32. package/dist-esm/test/public/secretReference.spec.js.map +1 -1
  33. package/dist-esm/test/public/utils/testHelpers.js +50 -22
  34. package/dist-esm/test/public/utils/testHelpers.js.map +1 -1
  35. package/package.json +5 -5
@@ -53,73 +53,101 @@ export function createAppConfigurationClientForTests(options) {
53
53
  return new AppConfigurationClient(connectionString, options);
54
54
  }
55
55
  export async function deleteKeyCompletely(keys, client) {
56
- var e_1, _a;
56
+ var _a, e_1, _b, _c;
57
57
  const settingsIterator = client.listConfigurationSettings({
58
58
  keyFilter: keys.join(","),
59
59
  });
60
60
  try {
61
- for (var settingsIterator_1 = __asyncValues(settingsIterator), settingsIterator_1_1; settingsIterator_1_1 = await settingsIterator_1.next(), !settingsIterator_1_1.done;) {
62
- const setting = settingsIterator_1_1.value;
63
- if (setting.isReadOnly) {
64
- await client.setReadOnly(setting, false);
61
+ for (var _d = true, settingsIterator_1 = __asyncValues(settingsIterator), settingsIterator_1_1; settingsIterator_1_1 = await settingsIterator_1.next(), _a = settingsIterator_1_1.done, !_a;) {
62
+ _c = settingsIterator_1_1.value;
63
+ _d = false;
64
+ try {
65
+ const setting = _c;
66
+ if (setting.isReadOnly) {
67
+ await client.setReadOnly(setting, false);
68
+ }
69
+ await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });
70
+ }
71
+ finally {
72
+ _d = true;
65
73
  }
66
- await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });
67
74
  }
68
75
  }
69
76
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
70
77
  finally {
71
78
  try {
72
- if (settingsIterator_1_1 && !settingsIterator_1_1.done && (_a = settingsIterator_1.return)) await _a.call(settingsIterator_1);
79
+ if (!_d && !_a && (_b = settingsIterator_1.return)) await _b.call(settingsIterator_1);
73
80
  }
74
81
  finally { if (e_1) throw e_1.error; }
75
82
  }
76
83
  }
77
84
  export async function deleteEverySetting() {
78
- var e_2, _a;
85
+ var _a, e_2, _b, _c;
79
86
  const client = createAppConfigurationClientForTests();
80
87
  const settingsList = client.listConfigurationSettings({});
81
88
  try {
82
- for (var settingsList_1 = __asyncValues(settingsList), settingsList_1_1; settingsList_1_1 = await settingsList_1.next(), !settingsList_1_1.done;) {
83
- const setting = settingsList_1_1.value;
84
- await client.setReadOnly({ key: setting.key, label: setting.label }, false);
85
- await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });
89
+ for (var _d = true, settingsList_1 = __asyncValues(settingsList), settingsList_1_1; settingsList_1_1 = await settingsList_1.next(), _a = settingsList_1_1.done, !_a;) {
90
+ _c = settingsList_1_1.value;
91
+ _d = false;
92
+ try {
93
+ const setting = _c;
94
+ await client.setReadOnly({ key: setting.key, label: setting.label }, false);
95
+ await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });
96
+ }
97
+ finally {
98
+ _d = true;
99
+ }
86
100
  }
87
101
  }
88
102
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
89
103
  finally {
90
104
  try {
91
- if (settingsList_1_1 && !settingsList_1_1.done && (_a = settingsList_1.return)) await _a.call(settingsList_1);
105
+ if (!_d && !_a && (_b = settingsList_1.return)) await _b.call(settingsList_1);
92
106
  }
93
107
  finally { if (e_2) throw e_2.error; }
94
108
  }
95
109
  }
96
110
  export async function toSortedArray(pagedIterator, compareFn) {
97
- var e_3, _a, e_4, _b;
111
+ var _a, e_3, _b, _c, _d, e_4, _e, _f;
98
112
  const settings = [];
99
113
  try {
100
- for (var pagedIterator_1 = __asyncValues(pagedIterator), pagedIterator_1_1; pagedIterator_1_1 = await pagedIterator_1.next(), !pagedIterator_1_1.done;) {
101
- const setting = pagedIterator_1_1.value;
102
- settings.push(setting);
114
+ for (var _g = true, pagedIterator_1 = __asyncValues(pagedIterator), pagedIterator_1_1; pagedIterator_1_1 = await pagedIterator_1.next(), _a = pagedIterator_1_1.done, !_a;) {
115
+ _c = pagedIterator_1_1.value;
116
+ _g = false;
117
+ try {
118
+ const setting = _c;
119
+ settings.push(setting);
120
+ }
121
+ finally {
122
+ _g = true;
123
+ }
103
124
  }
104
125
  }
105
126
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
106
127
  finally {
107
128
  try {
108
- if (pagedIterator_1_1 && !pagedIterator_1_1.done && (_a = pagedIterator_1.return)) await _a.call(pagedIterator_1);
129
+ if (!_g && !_a && (_b = pagedIterator_1.return)) await _b.call(pagedIterator_1);
109
130
  }
110
131
  finally { if (e_3) throw e_3.error; }
111
132
  }
112
133
  let settingsViaPageIterator = [];
113
134
  try {
114
- for (var _c = __asyncValues(pagedIterator.byPage()), _d; _d = await _c.next(), !_d.done;) {
115
- const page = _d.value;
116
- settingsViaPageIterator = settingsViaPageIterator.concat(page.items);
135
+ for (var _h = true, _j = __asyncValues(pagedIterator.byPage()), _k; _k = await _j.next(), _d = _k.done, !_d;) {
136
+ _f = _k.value;
137
+ _h = false;
138
+ try {
139
+ const page = _f;
140
+ settingsViaPageIterator = settingsViaPageIterator.concat(page.items);
141
+ }
142
+ finally {
143
+ _h = true;
144
+ }
117
145
  }
118
146
  }
119
147
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
120
148
  finally {
121
149
  try {
122
- if (_d && !_d.done && (_b = _c.return)) await _b.call(_c);
150
+ if (!_h && !_d && (_e = _j.return)) await _e.call(_j);
123
151
  }
124
152
  finally { if (e_4) throw e_4.error; }
125
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../../../../test/public/utils/testHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AppConfigurationClient, AppConfigurationClientOptions } from \"../../../src\";\nimport {\n ConfigurationSetting,\n ListConfigurationSettingPage,\n ListRevisionsPage,\n} from \"../../../src\";\nimport { Recorder, RecorderStartOptions, env, isPlaybackMode } from \"@azure-tools/test-recorder\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\nimport { TokenCredential } from \"@azure/identity\";\nimport { assert } from \"chai\";\nimport { createTestCredential } from \"@azure-tools/test-credential\";\n\nlet connectionStringNotPresentWarning = false;\nlet tokenCredentialsNotPresentWarning = false;\n\nexport interface CredsAndEndpoint {\n credential: TokenCredential;\n endpoint: string;\n}\n\nexport async function startRecorder(that: Mocha.Context): Promise<Recorder> {\n const recorderStartOptions: RecorderStartOptions = {\n envSetupForPlayback: {\n APPCONFIG_CONNECTION_STRING:\n \"Endpoint=https://myappconfig.azconfig.io;Id=123456;Secret=123456\",\n AZ_CONFIG_ENDPOINT: \"https://myappconfig.azconfig.io\",\n AZURE_CLIENT_ID: \"azure_client_id\",\n AZURE_CLIENT_SECRET: \"azure_client_secret\",\n AZURE_TENANT_ID: \"azuretenantid\",\n },\n };\n\n const recorder = new Recorder(that.currentTest);\n await recorder.start(recorderStartOptions);\n return recorder;\n}\n\nexport function getTokenAuthenticationCredential(): CredsAndEndpoint {\n const requiredEnvironmentVariables = [\n \"AZ_CONFIG_ENDPOINT\",\n \"AZURE_CLIENT_ID\",\n \"AZURE_TENANT_ID\",\n \"AZURE_CLIENT_SECRET\",\n ];\n\n for (const name of requiredEnvironmentVariables) {\n const value = env[name];\n\n if (value == null) {\n if (tokenCredentialsNotPresentWarning) {\n tokenCredentialsNotPresentWarning = true;\n }\n\n throw new Error(\"Invalid value for requiredEnvironmentVariables\");\n }\n }\n\n return {\n credential: createTestCredential(),\n endpoint: env[\"AZ_CONFIG_ENDPOINT\"]!,\n };\n}\n\nexport function createAppConfigurationClientForTests<\n Options extends AppConfigurationClientOptions = AppConfigurationClientOptions\n>(options?: Options): AppConfigurationClient {\n const connectionString = env[\"APPCONFIG_CONNECTION_STRING\"];\n\n if (connectionString == null) {\n if (!connectionStringNotPresentWarning) {\n connectionStringNotPresentWarning = true;\n }\n throw new Error(\"Invalid value for APPCONFIG_CONNECTION_STRING\");\n }\n\n return new AppConfigurationClient(connectionString, options);\n}\n\nexport async function deleteKeyCompletely(\n keys: string[],\n client: AppConfigurationClient\n): Promise<void> {\n const settingsIterator = client.listConfigurationSettings({\n keyFilter: keys.join(\",\"),\n });\n\n for await (const setting of settingsIterator) {\n if (setting.isReadOnly) {\n await client.setReadOnly(setting, false);\n }\n\n await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });\n }\n}\n\nexport async function deleteEverySetting(): Promise<void> {\n const client = createAppConfigurationClientForTests();\n const settingsList = client.listConfigurationSettings({});\n\n for await (const setting of settingsList) {\n await client.setReadOnly({ key: setting.key, label: setting.label }, false);\n await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });\n }\n}\n\nexport async function toSortedArray(\n pagedIterator: PagedAsyncIterableIterator<\n ConfigurationSetting,\n ListConfigurationSettingPage | ListRevisionsPage\n >,\n compareFn?: (a: ConfigurationSetting, b: ConfigurationSetting) => number\n): Promise<ConfigurationSetting[]> {\n const settings: ConfigurationSetting[] = [];\n\n for await (const setting of pagedIterator) {\n settings.push(setting);\n }\n\n let settingsViaPageIterator: ConfigurationSetting[] = [];\n\n for await (const page of pagedIterator.byPage()) {\n settingsViaPageIterator = settingsViaPageIterator.concat(page.items);\n }\n\n // just a sanity-check\n assert.deepEqual(settings, settingsViaPageIterator);\n\n settings.sort((a, b) =>\n compareFn\n ? compareFn(a, b)\n : `${a.key}-${a.label}-${a.value}`.localeCompare(`${b.key}-${b.label}-${b.value}`)\n );\n\n return settings;\n}\n\nexport function assertEqualSettings(\n expected: Pick<ConfigurationSetting, \"key\" | \"value\" | \"label\" | \"isReadOnly\">[],\n actual: ConfigurationSetting[]\n): void {\n actual = actual.map((setting) => {\n return {\n key: setting.key,\n label: setting.label || undefined,\n value: setting.value,\n isReadOnly: setting.isReadOnly,\n };\n });\n\n assert.deepEqual(expected, actual);\n}\n\nexport async function assertThrowsRestError(\n testFunction: () => Promise<any>,\n expectedStatusCode: number,\n message: string = \"\"\n): Promise<Error> {\n try {\n await testFunction();\n assert.fail(`${message}: No error thrown`);\n } catch (err: any) {\n if (!(err instanceof Error)) {\n throw new Error(\"Error is not recognized\");\n }\n if (err.name === \"RestError\") {\n const restError = err as RestError;\n assert.equal(expectedStatusCode, restError.statusCode, message);\n return err;\n }\n\n assert.fail(`${message}: Caught error but wasn't a RestError: ${err}`);\n }\n\n return new Error(\"We won't reach this - both cases above throw because of assert.fail()\");\n}\n\nexport async function assertThrowsAbortError(\n testFunction: () => Promise<any>,\n message = \"\"\n): Promise<Error> {\n try {\n await testFunction();\n assert.fail(`${message}: No error thrown`);\n } catch (e: any) {\n if (!(e instanceof Error)) {\n throw new Error(\"Error is not recognized\");\n }\n if (isPlaybackMode() && (e.name === \"FetchError\" || e.name === \"AbortError\")) {\n return e;\n } else {\n assert.equal(e.name, \"AbortError\");\n return e;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../../../../test/public/utils/testHelpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;AAElC,OAAO,EAAE,sBAAsB,EAAiC,MAAM,cAAc,CAAC;AAMrF,OAAO,EAAE,QAAQ,EAAwB,GAAG,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjG,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,IAAI,iCAAiC,GAAG,KAAK,CAAC;AAC9C,IAAI,iCAAiC,GAAG,KAAK,CAAC;AAO9C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IACrD,MAAM,oBAAoB,GAAyB;QACjD,mBAAmB,EAAE;YACnB,2BAA2B,EACzB,kEAAkE;YACpE,kBAAkB,EAAE,iCAAiC;YACrD,eAAe,EAAE,iBAAiB;YAClC,mBAAmB,EAAE,qBAAqB;YAC1C,eAAe,EAAE,eAAe;SACjC;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,MAAM,4BAA4B,GAAG;QACnC,oBAAoB;QACpB,iBAAiB;QACjB,iBAAiB;QACjB,qBAAqB;KACtB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,4BAA4B,EAAE;QAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,iCAAiC,EAAE;gBACrC,iCAAiC,GAAG,IAAI,CAAC;aAC1C;YAED,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;KACF;IAED,OAAO;QACL,UAAU,EAAE,oBAAoB,EAAE;QAClC,QAAQ,EAAE,GAAG,CAAC,oBAAoB,CAAE;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAElD,OAAiB;IACjB,MAAM,gBAAgB,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE5D,IAAI,gBAAgB,IAAI,IAAI,EAAE;QAC5B,IAAI,CAAC,iCAAiC,EAAE;YACtC,iCAAiC,GAAG,IAAI,CAAC;SAC1C;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAED,OAAO,IAAI,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAc,EACd,MAA8B;;IAE9B,MAAM,gBAAgB,GAAG,MAAM,CAAC,yBAAyB,CAAC;QACxD,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KAC1B,CAAC,CAAC;;QAEH,KAA4B,eAAA,qBAAA,cAAA,gBAAgB,CAAA,sBAAA;YAAhB,gCAAgB;YAAhB,WAAgB;;gBAAjC,MAAM,OAAO,KAAA,CAAA;gBACtB,IAAI,OAAO,CAAC,UAAU,EAAE;oBACtB,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;iBAC1C;gBAED,MAAM,MAAM,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;;;;;SACrF;;;;;;;;;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;;IACtC,MAAM,MAAM,GAAG,oCAAoC,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;;QAE1D,KAA4B,eAAA,iBAAA,cAAA,YAAY,CAAA,kBAAA;YAAZ,4BAAY;YAAZ,WAAY;;gBAA7B,MAAM,OAAO,KAAA,CAAA;gBACtB,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC5E,MAAM,MAAM,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;;;;;SACrF;;;;;;;;;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAGC,EACD,SAAwE;;IAExE,MAAM,QAAQ,GAA2B,EAAE,CAAC;;QAE5C,KAA4B,eAAA,kBAAA,cAAA,aAAa,CAAA,mBAAA;YAAb,6BAAa;YAAb,WAAa;;gBAA9B,MAAM,OAAO,KAAA,CAAA;gBACtB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;;;;SACxB;;;;;;;;;IAED,IAAI,uBAAuB,GAA2B,EAAE,CAAC;;QAEzD,KAAyB,eAAA,KAAA,cAAA,aAAa,CAAC,MAAM,EAAE,CAAA,IAAA;YAAtB,cAAsB;YAAtB,WAAsB;;gBAApC,MAAM,IAAI,KAAA,CAAA;gBACnB,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;SACtE;;;;;;;;;IAED,sBAAsB;IACtB,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAEpD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACrB,SAAS;QACP,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CACrF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgF,EAChF,MAA8B;IAE9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,YAAgC,EAChC,kBAA0B,EAC1B,UAAkB,EAAE;IAEpB,IAAI;QACF,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,mBAAmB,CAAC,CAAC;KAC5C;IAAC,OAAO,GAAQ,EAAE;QACjB,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE;YAC5B,MAAM,SAAS,GAAG,GAAgB,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAChE,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,0CAA0C,GAAG,EAAE,CAAC,CAAC;KACxE;IAED,OAAO,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAgC,EAChC,OAAO,GAAG,EAAE;IAEZ,IAAI;QACF,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,mBAAmB,CAAC,CAAC;KAC5C;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QACD,IAAI,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE;YAC5E,OAAO,CAAC,CAAC;SACV;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACnC,OAAO,CAAC,CAAC;SACV;KACF;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AppConfigurationClient, AppConfigurationClientOptions } from \"../../../src\";\nimport {\n ConfigurationSetting,\n ListConfigurationSettingPage,\n ListRevisionsPage,\n} from \"../../../src\";\nimport { Recorder, RecorderStartOptions, env, isPlaybackMode } from \"@azure-tools/test-recorder\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\nimport { TokenCredential } from \"@azure/identity\";\nimport { assert } from \"chai\";\nimport { createTestCredential } from \"@azure-tools/test-credential\";\n\nlet connectionStringNotPresentWarning = false;\nlet tokenCredentialsNotPresentWarning = false;\n\nexport interface CredsAndEndpoint {\n credential: TokenCredential;\n endpoint: string;\n}\n\nexport async function startRecorder(that: Mocha.Context): Promise<Recorder> {\n const recorderStartOptions: RecorderStartOptions = {\n envSetupForPlayback: {\n APPCONFIG_CONNECTION_STRING:\n \"Endpoint=https://myappconfig.azconfig.io;Id=123456;Secret=123456\",\n AZ_CONFIG_ENDPOINT: \"https://myappconfig.azconfig.io\",\n AZURE_CLIENT_ID: \"azure_client_id\",\n AZURE_CLIENT_SECRET: \"azure_client_secret\",\n AZURE_TENANT_ID: \"azuretenantid\",\n },\n };\n\n const recorder = new Recorder(that.currentTest);\n await recorder.start(recorderStartOptions);\n return recorder;\n}\n\nexport function getTokenAuthenticationCredential(): CredsAndEndpoint {\n const requiredEnvironmentVariables = [\n \"AZ_CONFIG_ENDPOINT\",\n \"AZURE_CLIENT_ID\",\n \"AZURE_TENANT_ID\",\n \"AZURE_CLIENT_SECRET\",\n ];\n\n for (const name of requiredEnvironmentVariables) {\n const value = env[name];\n\n if (value == null) {\n if (tokenCredentialsNotPresentWarning) {\n tokenCredentialsNotPresentWarning = true;\n }\n\n throw new Error(\"Invalid value for requiredEnvironmentVariables\");\n }\n }\n\n return {\n credential: createTestCredential(),\n endpoint: env[\"AZ_CONFIG_ENDPOINT\"]!,\n };\n}\n\nexport function createAppConfigurationClientForTests<\n Options extends AppConfigurationClientOptions = AppConfigurationClientOptions\n>(options?: Options): AppConfigurationClient {\n const connectionString = env[\"APPCONFIG_CONNECTION_STRING\"];\n\n if (connectionString == null) {\n if (!connectionStringNotPresentWarning) {\n connectionStringNotPresentWarning = true;\n }\n throw new Error(\"Invalid value for APPCONFIG_CONNECTION_STRING\");\n }\n\n return new AppConfigurationClient(connectionString, options);\n}\n\nexport async function deleteKeyCompletely(\n keys: string[],\n client: AppConfigurationClient\n): Promise<void> {\n const settingsIterator = client.listConfigurationSettings({\n keyFilter: keys.join(\",\"),\n });\n\n for await (const setting of settingsIterator) {\n if (setting.isReadOnly) {\n await client.setReadOnly(setting, false);\n }\n\n await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });\n }\n}\n\nexport async function deleteEverySetting(): Promise<void> {\n const client = createAppConfigurationClientForTests();\n const settingsList = client.listConfigurationSettings({});\n\n for await (const setting of settingsList) {\n await client.setReadOnly({ key: setting.key, label: setting.label }, false);\n await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });\n }\n}\n\nexport async function toSortedArray(\n pagedIterator: PagedAsyncIterableIterator<\n ConfigurationSetting,\n ListConfigurationSettingPage | ListRevisionsPage\n >,\n compareFn?: (a: ConfigurationSetting, b: ConfigurationSetting) => number\n): Promise<ConfigurationSetting[]> {\n const settings: ConfigurationSetting[] = [];\n\n for await (const setting of pagedIterator) {\n settings.push(setting);\n }\n\n let settingsViaPageIterator: ConfigurationSetting[] = [];\n\n for await (const page of pagedIterator.byPage()) {\n settingsViaPageIterator = settingsViaPageIterator.concat(page.items);\n }\n\n // just a sanity-check\n assert.deepEqual(settings, settingsViaPageIterator);\n\n settings.sort((a, b) =>\n compareFn\n ? compareFn(a, b)\n : `${a.key}-${a.label}-${a.value}`.localeCompare(`${b.key}-${b.label}-${b.value}`)\n );\n\n return settings;\n}\n\nexport function assertEqualSettings(\n expected: Pick<ConfigurationSetting, \"key\" | \"value\" | \"label\" | \"isReadOnly\">[],\n actual: ConfigurationSetting[]\n): void {\n actual = actual.map((setting) => {\n return {\n key: setting.key,\n label: setting.label || undefined,\n value: setting.value,\n isReadOnly: setting.isReadOnly,\n };\n });\n\n assert.deepEqual(expected, actual);\n}\n\nexport async function assertThrowsRestError(\n testFunction: () => Promise<any>,\n expectedStatusCode: number,\n message: string = \"\"\n): Promise<Error> {\n try {\n await testFunction();\n assert.fail(`${message}: No error thrown`);\n } catch (err: any) {\n if (!(err instanceof Error)) {\n throw new Error(\"Error is not recognized\");\n }\n if (err.name === \"RestError\") {\n const restError = err as RestError;\n assert.equal(expectedStatusCode, restError.statusCode, message);\n return err;\n }\n\n assert.fail(`${message}: Caught error but wasn't a RestError: ${err}`);\n }\n\n return new Error(\"We won't reach this - both cases above throw because of assert.fail()\");\n}\n\nexport async function assertThrowsAbortError(\n testFunction: () => Promise<any>,\n message = \"\"\n): Promise<Error> {\n try {\n await testFunction();\n assert.fail(`${message}: No error thrown`);\n } catch (e: any) {\n if (!(e instanceof Error)) {\n throw new Error(\"Error is not recognized\");\n }\n if (isPlaybackMode() && (e.name === \"FetchError\" || e.name === \"AbortError\")) {\n return e;\n } else {\n assert.equal(e.name, \"AbortError\");\n return e;\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@azure/app-configuration",
3
3
  "author": "Microsoft Corporation",
4
4
  "description": "An isomorphic client library for the Azure App Configuration service.",
5
- "version": "1.4.1-alpha.20230406.2",
5
+ "version": "1.4.1",
6
6
  "sdk-type": "client",
7
7
  "keywords": [
8
8
  "node",
@@ -92,14 +92,14 @@
92
92
  "tslib": "^2.2.0"
93
93
  },
94
94
  "devDependencies": {
95
- "@azure/dev-tool": ">=1.0.0-alpha <1.0.0-alphb",
96
- "@azure/eslint-plugin-azure-sdk": ">=3.0.0-alpha <3.0.0-alphb",
95
+ "@azure/dev-tool": "^1.0.0",
96
+ "@azure/eslint-plugin-azure-sdk": "^3.0.0",
97
97
  "@azure/eventgrid": "^4.9.0",
98
98
  "@azure/identity": "^2.0.1",
99
99
  "@azure/keyvault-secrets": "^4.2.0",
100
100
  "@azure-tools/test-credential": "^1.0.0",
101
101
  "@azure-tools/test-recorder": "^3.0.0",
102
- "@azure/test-utils": ">=1.0.0-alpha <1.0.0-alphb",
102
+ "@azure/test-utils": "^1.0.0",
103
103
  "@microsoft/api-extractor": "^7.31.1",
104
104
  "@types/chai": "^4.1.6",
105
105
  "@types/mocha": "^7.0.2",
@@ -127,7 +127,7 @@
127
127
  "rimraf": "^3.0.0",
128
128
  "sinon": "^9.0.2",
129
129
  "ts-node": "^10.0.0",
130
- "typescript": "~4.8.0",
130
+ "typescript": "~5.0.0",
131
131
  "uglify-js": "^3.4.9",
132
132
  "uuid": "^8.3.0",
133
133
  "cross-env": "^7.0.2"