@azure/arm-computelimit 1.0.0-beta.1 → 1.0.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/README.md +1 -1
- package/dist/browser/api/computeLimitContext.d.ts +3 -3
- package/dist/browser/api/computeLimitContext.js +4 -23
- package/dist/browser/api/computeLimitContext.js.map +1 -1
- package/dist/browser/api/features/index.d.ts +3 -0
- package/dist/browser/api/features/index.js +4 -0
- package/dist/browser/api/features/index.js.map +1 -0
- package/dist/browser/api/features/operations.d.ts +19 -0
- package/dist/browser/api/features/operations.js +95 -0
- package/dist/browser/api/features/operations.js.map +1 -0
- package/dist/browser/api/features/options.d.ts +13 -0
- package/dist/browser/api/features/options.js +4 -0
- package/dist/browser/api/features/options.js.map +1 -0
- package/dist/browser/api/guestSubscriptions/index.d.ts +1 -1
- package/dist/browser/api/guestSubscriptions/index.js.map +1 -1
- package/dist/browser/api/guestSubscriptions/operations.js +8 -17
- package/dist/browser/api/guestSubscriptions/operations.js.map +1 -1
- package/dist/browser/api/guestSubscriptions/options.js.map +1 -1
- package/dist/browser/api/index.d.ts +2 -1
- package/dist/browser/api/index.js +1 -1
- package/dist/browser/api/index.js.map +1 -1
- package/dist/browser/api/operations/index.d.ts +1 -1
- package/dist/browser/api/operations/index.js.map +1 -1
- package/dist/browser/api/operations/operations.js +3 -6
- package/dist/browser/api/operations/operations.js.map +1 -1
- package/dist/browser/api/sharedLimits/index.d.ts +1 -1
- package/dist/browser/api/sharedLimits/index.js.map +1 -1
- package/dist/browser/api/sharedLimits/operations.js +10 -23
- package/dist/browser/api/sharedLimits/operations.js.map +1 -1
- package/dist/browser/api/sharedLimits/options.js.map +1 -1
- package/dist/browser/classic/features/index.d.ts +16 -0
- package/dist/browser/classic/features/index.js +16 -0
- package/dist/browser/classic/features/index.js.map +1 -0
- package/dist/browser/classic/index.d.ts +4 -3
- package/dist/browser/classic/index.js.map +1 -1
- package/dist/browser/computeLimitClient.d.ts +4 -1
- package/dist/browser/computeLimitClient.js +4 -0
- package/dist/browser/computeLimitClient.js.map +1 -1
- package/dist/browser/index.d.ts +16 -10
- package/dist/browser/index.js +2 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/models/index.d.ts +2 -1
- package/dist/browser/models/index.js +1 -1
- package/dist/browser/models/index.js.map +1 -1
- package/dist/browser/models/models.d.ts +72 -8
- package/dist/browser/models/models.js +68 -8
- package/dist/browser/models/models.js.map +1 -1
- package/dist/browser/restorePollerHelpers.d.ts +21 -0
- package/dist/browser/restorePollerHelpers.js +94 -0
- package/dist/browser/restorePollerHelpers.js.map +1 -0
- package/dist/browser/static-helpers/pagingHelpers.d.ts +2 -0
- package/dist/browser/static-helpers/pagingHelpers.js +28 -3
- package/dist/browser/static-helpers/pagingHelpers.js.map +1 -1
- package/dist/browser/static-helpers/pollingHelpers.d.ts +34 -0
- package/dist/browser/static-helpers/pollingHelpers.js +95 -0
- package/dist/browser/static-helpers/pollingHelpers.js.map +1 -0
- package/dist/browser/static-helpers/urlTemplate.js +20 -5
- package/dist/browser/static-helpers/urlTemplate.js.map +1 -1
- package/dist/commonjs/api/computeLimitContext.d.ts +3 -3
- package/dist/commonjs/api/computeLimitContext.js +43 -44
- package/dist/commonjs/api/computeLimitContext.js.map +7 -1
- package/dist/commonjs/api/features/index.d.ts +3 -0
- package/dist/commonjs/api/features/index.js +32 -0
- package/dist/commonjs/api/features/index.js.map +7 -0
- package/dist/commonjs/api/features/operations.d.ts +19 -0
- package/dist/commonjs/api/features/operations.js +150 -0
- package/dist/commonjs/api/features/operations.js.map +7 -0
- package/dist/commonjs/api/features/options.d.ts +13 -0
- package/dist/commonjs/api/features/options.js +16 -0
- package/dist/commonjs/api/features/options.js.map +7 -0
- package/dist/commonjs/api/guestSubscriptions/index.d.ts +1 -1
- package/dist/commonjs/api/guestSubscriptions/index.js +34 -11
- package/dist/commonjs/api/guestSubscriptions/index.js.map +7 -1
- package/dist/commonjs/api/guestSubscriptions/operations.js +158 -122
- package/dist/commonjs/api/guestSubscriptions/operations.js.map +7 -1
- package/dist/commonjs/api/guestSubscriptions/options.js +16 -5
- package/dist/commonjs/api/guestSubscriptions/options.js.map +7 -1
- package/dist/commonjs/api/index.d.ts +2 -1
- package/dist/commonjs/api/index.js +28 -8
- package/dist/commonjs/api/index.js.map +7 -1
- package/dist/commonjs/api/operations/index.d.ts +1 -1
- package/dist/commonjs/api/operations/index.js +28 -8
- package/dist/commonjs/api/operations/index.js.map +7 -1
- package/dist/commonjs/api/operations/operations.js +62 -33
- package/dist/commonjs/api/operations/operations.js.map +7 -1
- package/dist/commonjs/api/operations/options.js +16 -5
- package/dist/commonjs/api/operations/options.js.map +7 -1
- package/dist/commonjs/api/sharedLimits/index.d.ts +1 -1
- package/dist/commonjs/api/sharedLimits/index.js +34 -11
- package/dist/commonjs/api/sharedLimits/index.js.map +7 -1
- package/dist/commonjs/api/sharedLimits/operations.js +158 -126
- package/dist/commonjs/api/sharedLimits/operations.js.map +7 -1
- package/dist/commonjs/api/sharedLimits/options.js +16 -5
- package/dist/commonjs/api/sharedLimits/options.js.map +7 -1
- package/dist/commonjs/classic/features/index.d.ts +16 -0
- package/dist/commonjs/classic/features/index.js +40 -0
- package/dist/commonjs/classic/features/index.js.map +7 -0
- package/dist/commonjs/classic/guestSubscriptions/index.js +37 -16
- package/dist/commonjs/classic/guestSubscriptions/index.js.map +7 -1
- package/dist/commonjs/classic/index.d.ts +4 -3
- package/dist/commonjs/classic/index.js +16 -5
- package/dist/commonjs/classic/index.js.map +7 -1
- package/dist/commonjs/classic/operations/index.js +34 -13
- package/dist/commonjs/classic/operations/index.js.map +7 -1
- package/dist/commonjs/classic/sharedLimits/index.js +37 -16
- package/dist/commonjs/classic/sharedLimits/index.js.map +7 -1
- package/dist/commonjs/computeLimitClient.d.ts +4 -1
- package/dist/commonjs/computeLimitClient.js +57 -35
- package/dist/commonjs/computeLimitClient.js.map +7 -1
- package/dist/commonjs/index.d.ts +16 -10
- package/dist/commonjs/index.js +47 -16
- package/dist/commonjs/index.js.map +7 -1
- package/dist/commonjs/logger.js +29 -8
- package/dist/commonjs/logger.js.map +7 -1
- package/dist/commonjs/models/index.d.ts +2 -1
- package/dist/commonjs/models/index.js +38 -12
- package/dist/commonjs/models/index.js.map +7 -1
- package/dist/commonjs/models/models.d.ts +72 -8
- package/dist/commonjs/models/models.js +312 -229
- package/dist/commonjs/models/models.js.map +7 -1
- package/dist/commonjs/restorePollerHelpers.d.ts +21 -0
- package/dist/commonjs/restorePollerHelpers.js +107 -0
- package/dist/commonjs/restorePollerHelpers.js.map +7 -0
- package/dist/commonjs/static-helpers/cloudSettingHelpers.js +50 -40
- package/dist/commonjs/static-helpers/cloudSettingHelpers.js.map +7 -1
- package/dist/commonjs/static-helpers/pagingHelpers.d.ts +2 -0
- package/dist/commonjs/static-helpers/pagingHelpers.js +125 -103
- package/dist/commonjs/static-helpers/pagingHelpers.js.map +7 -1
- package/dist/commonjs/static-helpers/pollingHelpers.d.ts +34 -0
- package/dist/commonjs/static-helpers/pollingHelpers.js +101 -0
- package/dist/commonjs/static-helpers/pollingHelpers.js.map +7 -0
- package/dist/commonjs/static-helpers/urlTemplate.js +167 -158
- package/dist/commonjs/static-helpers/urlTemplate.js.map +7 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/esm/api/computeLimitContext.d.ts +3 -3
- package/dist/esm/api/computeLimitContext.js +4 -23
- package/dist/esm/api/computeLimitContext.js.map +1 -1
- package/dist/esm/api/features/index.d.ts +3 -0
- package/dist/esm/api/features/index.js +4 -0
- package/dist/esm/api/features/index.js.map +1 -0
- package/dist/esm/api/features/operations.d.ts +19 -0
- package/dist/esm/api/features/operations.js +95 -0
- package/dist/esm/api/features/operations.js.map +1 -0
- package/dist/esm/api/features/options.d.ts +13 -0
- package/dist/esm/api/features/options.js +4 -0
- package/dist/esm/api/features/options.js.map +1 -0
- package/dist/esm/api/guestSubscriptions/index.d.ts +1 -1
- package/dist/esm/api/guestSubscriptions/index.js.map +1 -1
- package/dist/esm/api/guestSubscriptions/operations.js +8 -17
- package/dist/esm/api/guestSubscriptions/operations.js.map +1 -1
- package/dist/esm/api/guestSubscriptions/options.js.map +1 -1
- package/dist/esm/api/index.d.ts +2 -1
- package/dist/esm/api/index.js +1 -1
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/operations/index.d.ts +1 -1
- package/dist/esm/api/operations/index.js.map +1 -1
- package/dist/esm/api/operations/operations.js +3 -6
- package/dist/esm/api/operations/operations.js.map +1 -1
- package/dist/esm/api/sharedLimits/index.d.ts +1 -1
- package/dist/esm/api/sharedLimits/index.js.map +1 -1
- package/dist/esm/api/sharedLimits/operations.js +10 -23
- package/dist/esm/api/sharedLimits/operations.js.map +1 -1
- package/dist/esm/api/sharedLimits/options.js.map +1 -1
- package/dist/esm/classic/features/index.d.ts +16 -0
- package/dist/esm/classic/features/index.js +16 -0
- package/dist/esm/classic/features/index.js.map +1 -0
- package/dist/esm/classic/index.d.ts +4 -3
- package/dist/esm/classic/index.js.map +1 -1
- package/dist/esm/computeLimitClient.d.ts +4 -1
- package/dist/esm/computeLimitClient.js +4 -0
- package/dist/esm/computeLimitClient.js.map +1 -1
- package/dist/esm/index.d.ts +16 -10
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/index.d.ts +2 -1
- package/dist/esm/models/index.js +1 -1
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/models/models.d.ts +72 -8
- package/dist/esm/models/models.js +68 -8
- package/dist/esm/models/models.js.map +1 -1
- package/dist/esm/restorePollerHelpers.d.ts +21 -0
- package/dist/esm/restorePollerHelpers.js +94 -0
- package/dist/esm/restorePollerHelpers.js.map +1 -0
- package/dist/esm/static-helpers/pagingHelpers.d.ts +2 -0
- package/dist/esm/static-helpers/pagingHelpers.js +28 -3
- package/dist/esm/static-helpers/pagingHelpers.js.map +1 -1
- package/dist/esm/static-helpers/pollingHelpers.d.ts +34 -0
- package/dist/esm/static-helpers/pollingHelpers.js +95 -0
- package/dist/esm/static-helpers/pollingHelpers.js.map +1 -0
- package/dist/esm/static-helpers/urlTemplate.js +20 -5
- package/dist/esm/static-helpers/urlTemplate.js.map +1 -1
- package/dist/react-native/api/computeLimitContext.d.ts +3 -3
- package/dist/react-native/api/computeLimitContext.js +4 -23
- package/dist/react-native/api/computeLimitContext.js.map +1 -1
- package/dist/react-native/api/features/index.d.ts +3 -0
- package/dist/react-native/api/features/index.js +4 -0
- package/dist/react-native/api/features/index.js.map +1 -0
- package/dist/react-native/api/features/operations.d.ts +19 -0
- package/dist/react-native/api/features/operations.js +95 -0
- package/dist/react-native/api/features/operations.js.map +1 -0
- package/dist/react-native/api/features/options.d.ts +13 -0
- package/dist/react-native/api/features/options.js +4 -0
- package/dist/react-native/api/features/options.js.map +1 -0
- package/dist/react-native/api/guestSubscriptions/index.d.ts +1 -1
- package/dist/react-native/api/guestSubscriptions/index.js.map +1 -1
- package/dist/react-native/api/guestSubscriptions/operations.js +8 -17
- package/dist/react-native/api/guestSubscriptions/operations.js.map +1 -1
- package/dist/react-native/api/guestSubscriptions/options.js.map +1 -1
- package/dist/react-native/api/index.d.ts +2 -1
- package/dist/react-native/api/index.js +1 -1
- package/dist/react-native/api/index.js.map +1 -1
- package/dist/react-native/api/operations/index.d.ts +1 -1
- package/dist/react-native/api/operations/index.js.map +1 -1
- package/dist/react-native/api/operations/operations.js +3 -6
- package/dist/react-native/api/operations/operations.js.map +1 -1
- package/dist/react-native/api/sharedLimits/index.d.ts +1 -1
- package/dist/react-native/api/sharedLimits/index.js.map +1 -1
- package/dist/react-native/api/sharedLimits/operations.js +10 -23
- package/dist/react-native/api/sharedLimits/operations.js.map +1 -1
- package/dist/react-native/api/sharedLimits/options.js.map +1 -1
- package/dist/react-native/classic/features/index.d.ts +16 -0
- package/dist/react-native/classic/features/index.js +16 -0
- package/dist/react-native/classic/features/index.js.map +1 -0
- package/dist/react-native/classic/index.d.ts +4 -3
- package/dist/react-native/classic/index.js.map +1 -1
- package/dist/react-native/computeLimitClient.d.ts +4 -1
- package/dist/react-native/computeLimitClient.js +4 -0
- package/dist/react-native/computeLimitClient.js.map +1 -1
- package/dist/react-native/index.d.ts +16 -10
- package/dist/react-native/index.js +2 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/models/index.d.ts +2 -1
- package/dist/react-native/models/index.js +1 -1
- package/dist/react-native/models/index.js.map +1 -1
- package/dist/react-native/models/models.d.ts +72 -8
- package/dist/react-native/models/models.js +68 -8
- package/dist/react-native/models/models.js.map +1 -1
- package/dist/react-native/restorePollerHelpers.d.ts +21 -0
- package/dist/react-native/restorePollerHelpers.js +94 -0
- package/dist/react-native/restorePollerHelpers.js.map +1 -0
- package/dist/react-native/static-helpers/pagingHelpers.d.ts +2 -0
- package/dist/react-native/static-helpers/pagingHelpers.js +28 -3
- package/dist/react-native/static-helpers/pagingHelpers.js.map +1 -1
- package/dist/react-native/static-helpers/pollingHelpers.d.ts +34 -0
- package/dist/react-native/static-helpers/pollingHelpers.js +95 -0
- package/dist/react-native/static-helpers/pollingHelpers.js.map +1 -0
- package/dist/react-native/static-helpers/urlTemplate.js +20 -5
- package/dist/react-native/static-helpers/urlTemplate.js.map +1 -1
- package/package.json +33 -35
|
@@ -1,188 +1,197 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var urlTemplate_exports = {};
|
|
19
|
+
__export(urlTemplate_exports, {
|
|
20
|
+
expandUrlTemplate: () => expandUrlTemplate
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(urlTemplate_exports);
|
|
9
23
|
function encodeComponent(val, reserved, op) {
|
|
10
|
-
|
|
11
|
-
? encodeReservedComponent(val)
|
|
12
|
-
: encodeRFC3986URIComponent(val);
|
|
24
|
+
return (reserved ?? op === "+") || op === "#" ? encodeReservedComponent(val) : encodeRFC3986URIComponent(val);
|
|
13
25
|
}
|
|
14
26
|
function encodeReservedComponent(str) {
|
|
15
|
-
|
|
16
|
-
.split(/(%[0-9A-Fa-f]{2})/g)
|
|
17
|
-
.map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))
|
|
18
|
-
.join("");
|
|
27
|
+
return str.split(/(%[0-9A-Fa-f]{2})/g).map((part) => !/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part).join("");
|
|
19
28
|
}
|
|
20
29
|
function encodeRFC3986URIComponent(str) {
|
|
21
|
-
|
|
30
|
+
return encodeURIComponent(str).replace(
|
|
31
|
+
/[!'()*]/g,
|
|
32
|
+
(c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`
|
|
33
|
+
);
|
|
22
34
|
}
|
|
23
35
|
function isDefined(val) {
|
|
24
|
-
|
|
36
|
+
return val !== void 0 && val !== null;
|
|
25
37
|
}
|
|
26
38
|
function getNamedAndIfEmpty(op) {
|
|
27
|
-
|
|
39
|
+
return [!!op && [";", "?", "&"].includes(op), !!op && ["?", "&"].includes(op) ? "=" : ""];
|
|
28
40
|
}
|
|
29
41
|
function getFirstOrSep(op, isFirst = false) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
else {
|
|
40
|
-
return op;
|
|
41
|
-
}
|
|
42
|
+
if (isFirst) {
|
|
43
|
+
return !op || op === "+" ? "" : op;
|
|
44
|
+
} else if (!op || op === "+" || op === "#") {
|
|
45
|
+
return ",";
|
|
46
|
+
} else if (op === "?") {
|
|
47
|
+
return "&";
|
|
48
|
+
} else {
|
|
49
|
+
return op;
|
|
50
|
+
}
|
|
42
51
|
}
|
|
43
52
|
function getExpandedValue(option) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
else {
|
|
58
|
-
vals.push("=");
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
vals.push(encodeComponent(val, reserved, op));
|
|
62
|
-
isFirst = false;
|
|
53
|
+
let isFirst = option.isFirst;
|
|
54
|
+
const { op, varName, varValue: value, reserved } = option;
|
|
55
|
+
const vals = [];
|
|
56
|
+
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
57
|
+
if (Array.isArray(value)) {
|
|
58
|
+
for (const val of value.filter(isDefined)) {
|
|
59
|
+
vals.push(`${getFirstOrSep(op, isFirst)}`);
|
|
60
|
+
if (named && varName) {
|
|
61
|
+
vals.push(`${encodeURIComponent(varName)}`);
|
|
62
|
+
if (val === "") {
|
|
63
|
+
vals.push(ifEmpty);
|
|
64
|
+
} else {
|
|
65
|
+
vals.push("=");
|
|
63
66
|
}
|
|
67
|
+
}
|
|
68
|
+
vals.push(encodeComponent(val, reserved, op));
|
|
69
|
+
isFirst = false;
|
|
64
70
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
else {
|
|
79
|
-
vals.push("=");
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
vals.push(encodeComponent(val, reserved, op));
|
|
83
|
-
isFirst = false;
|
|
71
|
+
} else if (typeof value === "object") {
|
|
72
|
+
for (const key of Object.keys(value)) {
|
|
73
|
+
const val = value[key];
|
|
74
|
+
if (!isDefined(val)) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
vals.push(`${getFirstOrSep(op, isFirst)}`);
|
|
78
|
+
if (key) {
|
|
79
|
+
vals.push(`${encodeURIComponent(key)}`);
|
|
80
|
+
if (named && val === "") {
|
|
81
|
+
vals.push(ifEmpty);
|
|
82
|
+
} else {
|
|
83
|
+
vals.push("=");
|
|
84
84
|
}
|
|
85
|
+
}
|
|
86
|
+
vals.push(encodeComponent(val, reserved, op));
|
|
87
|
+
isFirst = false;
|
|
85
88
|
}
|
|
86
|
-
|
|
89
|
+
}
|
|
90
|
+
return vals.join("");
|
|
87
91
|
}
|
|
88
92
|
function getNonExpandedValue(option) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
vals.push("=");
|
|
93
|
+
const { op, varName, varValue: value, isFirst, reserved } = option;
|
|
94
|
+
const vals = [];
|
|
95
|
+
const first = getFirstOrSep(op, isFirst);
|
|
96
|
+
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
97
|
+
if (named && varName) {
|
|
98
|
+
vals.push(encodeComponent(varName, reserved, op));
|
|
99
|
+
if (value === "") {
|
|
100
|
+
if (!ifEmpty) {
|
|
101
|
+
vals.push(ifEmpty);
|
|
102
|
+
}
|
|
103
|
+
return !vals.join("") ? void 0 : `${first}${vals.join("")}`;
|
|
102
104
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
vals.push("=");
|
|
106
|
+
}
|
|
107
|
+
const items = [];
|
|
108
|
+
if (Array.isArray(value)) {
|
|
109
|
+
for (const val of value.filter(isDefined)) {
|
|
110
|
+
items.push(encodeComponent(val, reserved, op));
|
|
108
111
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
112
|
+
} else if (typeof value === "object") {
|
|
113
|
+
for (const key of Object.keys(value)) {
|
|
114
|
+
if (!isDefined(value[key])) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
items.push(encodeRFC3986URIComponent(key));
|
|
118
|
+
items.push(encodeComponent(value[key], reserved, op));
|
|
117
119
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
}
|
|
121
|
+
vals.push(items.join(","));
|
|
122
|
+
return !vals.join(",") ? void 0 : `${first}${vals.join("")}`;
|
|
120
123
|
}
|
|
121
124
|
function getVarValue(option) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
+
const { op, varName, modifier, isFirst, reserved, varValue: value } = option;
|
|
126
|
+
if (!isDefined(value)) {
|
|
127
|
+
return void 0;
|
|
128
|
+
} else if (["string", "number", "boolean"].includes(typeof value)) {
|
|
129
|
+
let val = value.toString();
|
|
130
|
+
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
131
|
+
const vals = [getFirstOrSep(op, isFirst)];
|
|
132
|
+
if (named && varName) {
|
|
133
|
+
vals.push(varName);
|
|
134
|
+
if (val === "") {
|
|
135
|
+
vals.push(ifEmpty);
|
|
136
|
+
} else {
|
|
137
|
+
vals.push("=");
|
|
138
|
+
}
|
|
125
139
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
const [named, ifEmpty] = getNamedAndIfEmpty(op);
|
|
129
|
-
const vals = [getFirstOrSep(op, isFirst)];
|
|
130
|
-
if (named && varName) {
|
|
131
|
-
// No need to encode varName considering it is already encoded
|
|
132
|
-
vals.push(varName);
|
|
133
|
-
if (val === "") {
|
|
134
|
-
vals.push(ifEmpty);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
vals.push("=");
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
if (modifier && modifier !== "*") {
|
|
141
|
-
val = val.substring(0, parseInt(modifier, 10));
|
|
142
|
-
}
|
|
143
|
-
vals.push(encodeComponent(val, reserved, op));
|
|
144
|
-
return vals.join("");
|
|
140
|
+
if (modifier && modifier !== "*") {
|
|
141
|
+
val = val.substring(0, parseInt(modifier, 10));
|
|
145
142
|
}
|
|
146
|
-
|
|
147
|
-
|
|
143
|
+
vals.push(encodeComponent(val, reserved, op));
|
|
144
|
+
return vals.join("");
|
|
145
|
+
} else if (modifier === "*") {
|
|
146
|
+
return getExpandedValue(option);
|
|
147
|
+
} else {
|
|
148
|
+
return getNonExpandedValue(option);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function expandUrlTemplate(template, context, option) {
|
|
152
|
+
const result = template.replace(/\{([^{}]+)\}|([^{}]+)/g, (_, expr, text) => {
|
|
153
|
+
if (!expr) {
|
|
154
|
+
return encodeReservedComponent(text);
|
|
148
155
|
}
|
|
149
|
-
|
|
150
|
-
|
|
156
|
+
let op;
|
|
157
|
+
if (["+", "#", ".", "/", ";", "?", "&"].includes(expr[0])) {
|
|
158
|
+
op = expr[0];
|
|
159
|
+
expr = expr.slice(1);
|
|
151
160
|
}
|
|
161
|
+
const varList = expr.split(/,/g);
|
|
162
|
+
const innerResult = [];
|
|
163
|
+
for (const varSpec of varList) {
|
|
164
|
+
const varMatch = /([^:*]*)(?::(\d+)|(\*))?/.exec(varSpec);
|
|
165
|
+
if (!varMatch || !varMatch[1]) {
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
const varValue = getVarValue({
|
|
169
|
+
isFirst: innerResult.length === 0,
|
|
170
|
+
op,
|
|
171
|
+
varValue: context[varMatch[1]],
|
|
172
|
+
varName: varMatch[1],
|
|
173
|
+
modifier: varMatch[2] || varMatch[3],
|
|
174
|
+
reserved: option?.allowReserved
|
|
175
|
+
});
|
|
176
|
+
if (varValue) {
|
|
177
|
+
innerResult.push(varValue);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return innerResult.join("");
|
|
181
|
+
});
|
|
182
|
+
return normalizeUnreserved(result);
|
|
152
183
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
let op;
|
|
162
|
-
if (["+", "#", ".", "/", ";", "?", "&"].includes(expr[0])) {
|
|
163
|
-
op = expr[0];
|
|
164
|
-
expr = expr.slice(1);
|
|
165
|
-
}
|
|
166
|
-
const varList = expr.split(/,/g);
|
|
167
|
-
const result = [];
|
|
168
|
-
for (const varSpec of varList) {
|
|
169
|
-
const varMatch = /([^:*]*)(?::(\d+)|(\*))?/.exec(varSpec);
|
|
170
|
-
if (!varMatch || !varMatch[1]) {
|
|
171
|
-
continue;
|
|
172
|
-
}
|
|
173
|
-
const varValue = getVarValue({
|
|
174
|
-
isFirst: result.length === 0,
|
|
175
|
-
op,
|
|
176
|
-
varValue: context[varMatch[1]],
|
|
177
|
-
varName: varMatch[1],
|
|
178
|
-
modifier: varMatch[2] || varMatch[3],
|
|
179
|
-
reserved: option?.allowReserved,
|
|
180
|
-
});
|
|
181
|
-
if (varValue) {
|
|
182
|
-
result.push(varValue);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
return result.join("");
|
|
186
|
-
});
|
|
184
|
+
function normalizeUnreserved(uri) {
|
|
185
|
+
return uri.replace(/%([0-9A-Fa-f]{2})/g, (match, hex) => {
|
|
186
|
+
const char = String.fromCharCode(parseInt(hex, 16));
|
|
187
|
+
if (/[.~-]/.test(char)) {
|
|
188
|
+
return char;
|
|
189
|
+
}
|
|
190
|
+
return match;
|
|
191
|
+
});
|
|
187
192
|
}
|
|
188
|
-
|
|
193
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
194
|
+
0 && (module.exports = {
|
|
195
|
+
expandUrlTemplate
|
|
196
|
+
});
|
|
197
|
+
//# sourceMappingURL=urlTemplate.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"file":"urlTemplate.js","sourceRoot":"","sources":["../../../src/static-helpers/urlTemplate.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// ---------------------\n// interfaces\n// ---------------------\ninterface ValueOptions {\n isFirst: boolean; // is first value in the expression\n op?: string; // operator\n varValue?: any; // variable value\n varName?: string; // variable name\n modifier?: string; // modifier e.g *\n reserved?: boolean; // if true we'll keep reserved words with not encoding\n}\n\nexport interface UrlTemplateOptions {\n // if set to true, reserved characters will not be encoded\n allowReserved?: boolean;\n}\n\n// ---------------------\n// helpers\n// ---------------------\nfunction encodeComponent(val: string, reserved?: boolean, op?: string): string {\n return (reserved ?? op === \"+\") || op === \"#\"\n ? encodeReservedComponent(val)\n : encodeRFC3986URIComponent(val);\n}\n\nfunction encodeReservedComponent(str: string): string {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))\n .join(\"\");\n}\n\nfunction encodeRFC3986URIComponent(str: string): string {\n return encodeURIComponent(str).replace(\n /[!'()*]/g,\n (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`,\n );\n}\n\nfunction isDefined(val: any): boolean {\n return val !== undefined && val !== null;\n}\n\nfunction getNamedAndIfEmpty(op?: string): [boolean, string] {\n return [!!op && [\";\", \"?\", \"&\"].includes(op), !!op && [\"?\", \"&\"].includes(op) ? \"=\" : \"\"];\n}\n\nfunction getFirstOrSep(op?: string, isFirst = false): string {\n if (isFirst) {\n return !op || op === \"+\" ? \"\" : op;\n } else if (!op || op === \"+\" || op === \"#\") {\n return \",\";\n } else if (op === \"?\") {\n return \"&\";\n } else {\n return op;\n }\n}\n\nfunction getExpandedValue(option: ValueOptions): string {\n let isFirst = option.isFirst;\n const { op, varName, varValue: value, reserved } = option;\n const vals: string[] = [];\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n // prepare the following parts: separator, varName, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (named && varName) {\n vals.push(`${encodeURIComponent(varName)}`);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n const val = value[key];\n if (!isDefined(val)) {\n continue;\n }\n // prepare the following parts: separator, key, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (key) {\n vals.push(`${encodeURIComponent(key)}`);\n if (named && val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n }\n return vals.join(\"\");\n}\n\nfunction getNonExpandedValue(option: ValueOptions): string | undefined {\n const { op, varName, varValue: value, isFirst, reserved } = option;\n const vals: string[] = [];\n const first = getFirstOrSep(op, isFirst);\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n if (named && varName) {\n vals.push(encodeComponent(varName, reserved, op));\n if (value === \"\") {\n if (!ifEmpty) {\n vals.push(ifEmpty);\n }\n return !vals.join(\"\") ? undefined : `${first}${vals.join(\"\")}`;\n }\n vals.push(\"=\");\n }\n\n const items = [];\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n items.push(encodeComponent(val, reserved, op));\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n if (!isDefined(value[key])) {\n continue;\n }\n items.push(encodeRFC3986URIComponent(key));\n items.push(encodeComponent(value[key], reserved, op));\n }\n }\n vals.push(items.join(\",\"));\n return !vals.join(\",\") ? undefined : `${first}${vals.join(\"\")}`;\n}\n\nfunction getVarValue(option: ValueOptions): string | undefined {\n const { op, varName, modifier, isFirst, reserved, varValue: value } = option;\n\n if (!isDefined(value)) {\n return undefined;\n } else if ([\"string\", \"number\", \"boolean\"].includes(typeof value)) {\n let val = value.toString();\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n const vals: string[] = [getFirstOrSep(op, isFirst)];\n if (named && varName) {\n // No need to encode varName considering it is already encoded\n vals.push(varName);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n if (modifier && modifier !== \"*\") {\n val = val.substring(0, parseInt(modifier, 10));\n }\n vals.push(encodeComponent(val, reserved, op));\n return vals.join(\"\");\n } else if (modifier === \"*\") {\n return getExpandedValue(option);\n } else {\n return getNonExpandedValue(option);\n }\n}\n\n// ---------------------------------------------------------------------------------------------------\n// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.\n// ---------------------------------------------------------------------------------------------------\nexport function expandUrlTemplate(\n template: string,\n context: Record<string, any>,\n option?: UrlTemplateOptions,\n): string {\n return template.replace(/\\{([^{}]+)\\}|([^{}]+)/g, (_, expr, text) => {\n if (!expr) {\n return encodeReservedComponent(text);\n }\n let op;\n if ([\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"].includes(expr[0])) {\n op = expr[0];\n expr = expr.slice(1);\n }\n const varList = expr.split(/,/g);\n const result = [];\n for (const varSpec of varList) {\n const varMatch = /([^:*]*)(?::(\\d+)|(\\*))?/.exec(varSpec);\n if (!varMatch || !varMatch[1]) {\n continue;\n }\n const varValue = getVarValue({\n isFirst: result.length === 0,\n op,\n varValue: context[varMatch[1]],\n varName: varMatch[1],\n modifier: varMatch[2] || varMatch[3],\n reserved: option?.allowReserved,\n });\n if (varValue) {\n result.push(varValue);\n }\n }\n return result.join(\"\");\n });\n}\n"]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/static-helpers/urlTemplate.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// ---------------------\n// interfaces\n// ---------------------\ninterface ValueOptions {\n isFirst: boolean; // is first value in the expression\n op?: string; // operator\n varValue?: any; // variable value\n varName?: string; // variable name\n modifier?: string; // modifier e.g *\n reserved?: boolean; // if true we'll keep reserved words with not encoding\n}\n\nexport interface UrlTemplateOptions {\n // if set to true, reserved characters will not be encoded\n allowReserved?: boolean;\n}\n\n// ---------------------\n// helpers\n// ---------------------\nfunction encodeComponent(val: string, reserved?: boolean, op?: string): string {\n return (reserved ?? op === \"+\") || op === \"#\"\n ? encodeReservedComponent(val)\n : encodeRFC3986URIComponent(val);\n}\n\nfunction encodeReservedComponent(str: string): string {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))\n .join(\"\");\n}\n\nfunction encodeRFC3986URIComponent(str: string): string {\n return encodeURIComponent(str).replace(\n /[!'()*]/g,\n (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`,\n );\n}\n\nfunction isDefined(val: any): boolean {\n return val !== undefined && val !== null;\n}\n\nfunction getNamedAndIfEmpty(op?: string): [boolean, string] {\n return [!!op && [\";\", \"?\", \"&\"].includes(op), !!op && [\"?\", \"&\"].includes(op) ? \"=\" : \"\"];\n}\n\nfunction getFirstOrSep(op?: string, isFirst = false): string {\n if (isFirst) {\n return !op || op === \"+\" ? \"\" : op;\n } else if (!op || op === \"+\" || op === \"#\") {\n return \",\";\n } else if (op === \"?\") {\n return \"&\";\n } else {\n return op;\n }\n}\n\nfunction getExpandedValue(option: ValueOptions): string {\n let isFirst = option.isFirst;\n const { op, varName, varValue: value, reserved } = option;\n const vals: string[] = [];\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n // prepare the following parts: separator, varName, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (named && varName) {\n vals.push(`${encodeURIComponent(varName)}`);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n const val = value[key];\n if (!isDefined(val)) {\n continue;\n }\n // prepare the following parts: separator, key, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (key) {\n vals.push(`${encodeURIComponent(key)}`);\n if (named && val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n }\n return vals.join(\"\");\n}\n\nfunction getNonExpandedValue(option: ValueOptions): string | undefined {\n const { op, varName, varValue: value, isFirst, reserved } = option;\n const vals: string[] = [];\n const first = getFirstOrSep(op, isFirst);\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n if (named && varName) {\n vals.push(encodeComponent(varName, reserved, op));\n if (value === \"\") {\n if (!ifEmpty) {\n vals.push(ifEmpty);\n }\n return !vals.join(\"\") ? undefined : `${first}${vals.join(\"\")}`;\n }\n vals.push(\"=\");\n }\n\n const items = [];\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n items.push(encodeComponent(val, reserved, op));\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n if (!isDefined(value[key])) {\n continue;\n }\n items.push(encodeRFC3986URIComponent(key));\n items.push(encodeComponent(value[key], reserved, op));\n }\n }\n vals.push(items.join(\",\"));\n return !vals.join(\",\") ? undefined : `${first}${vals.join(\"\")}`;\n}\n\nfunction getVarValue(option: ValueOptions): string | undefined {\n const { op, varName, modifier, isFirst, reserved, varValue: value } = option;\n\n if (!isDefined(value)) {\n return undefined;\n } else if ([\"string\", \"number\", \"boolean\"].includes(typeof value)) {\n let val = value.toString();\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n const vals: string[] = [getFirstOrSep(op, isFirst)];\n if (named && varName) {\n // No need to encode varName considering it is already encoded\n vals.push(varName);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n if (modifier && modifier !== \"*\") {\n val = val.substring(0, parseInt(modifier, 10));\n }\n vals.push(encodeComponent(val, reserved, op));\n return vals.join(\"\");\n } else if (modifier === \"*\") {\n return getExpandedValue(option);\n } else {\n return getNonExpandedValue(option);\n }\n}\n\n// ---------------------------------------------------------------------------------------------------\n// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.\n// ---------------------------------------------------------------------------------------------------\nexport function expandUrlTemplate(\n template: string,\n context: Record<string, any>,\n option?: UrlTemplateOptions,\n): string {\n const result = template.replace(/\\{([^{}]+)\\}|([^{}]+)/g, (_, expr, text) => {\n if (!expr) {\n return encodeReservedComponent(text);\n }\n let op;\n if ([\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"].includes(expr[0])) {\n op = expr[0];\n expr = expr.slice(1);\n }\n const varList = expr.split(/,/g);\n const innerResult = [];\n for (const varSpec of varList) {\n const varMatch = /([^:*]*)(?::(\\d+)|(\\*))?/.exec(varSpec);\n if (!varMatch || !varMatch[1]) {\n continue;\n }\n const varValue = getVarValue({\n isFirst: innerResult.length === 0,\n op,\n varValue: context[varMatch[1]],\n varName: varMatch[1],\n modifier: varMatch[2] || varMatch[3],\n reserved: option?.allowReserved,\n });\n if (varValue) {\n innerResult.push(varValue);\n }\n }\n return innerResult.join(\"\");\n });\n\n return normalizeUnreserved(result);\n}\n\n/**\n * Normalize an expanded URI by decoding percent-encoded unreserved characters.\n * RFC 3986 unreserved: \"-\" / \".\" / \"~\"\n */\nfunction normalizeUnreserved(uri: string): string {\n return uri.replace(/%([0-9A-Fa-f]{2})/g, (match, hex) => {\n const char = String.fromCharCode(parseInt(hex, 16));\n // Decode only if it's unreserved\n if (/[.~-]/.test(char)) {\n return char;\n }\n return match; // leave other encodings intact\n });\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -3,11 +3,11 @@ import type { Client, ClientOptions } from "@azure-rest/core-client";
|
|
|
3
3
|
import type { TokenCredential } from "@azure/core-auth";
|
|
4
4
|
/** Microsoft Azure Compute Limit Resource Provider. */
|
|
5
5
|
export interface ComputeLimitContext extends Client {
|
|
6
|
-
/** The API version to use for this operation. */
|
|
7
|
-
/** Known values of {@link KnownVersions} that the service accepts. */
|
|
8
|
-
apiVersion: string;
|
|
9
6
|
/** The ID of the target subscription. The value must be an UUID. */
|
|
10
7
|
subscriptionId: string;
|
|
8
|
+
/** The API version to use for this operation. */
|
|
9
|
+
/** Known values of {@link KnownVersions} that the service accepts. */
|
|
10
|
+
apiVersion?: string;
|
|
11
11
|
}
|
|
12
12
|
/** Optional parameters for the client. */
|
|
13
13
|
export interface ComputeLimitClientOptionalParams extends ClientOptions {
|
|
@@ -7,7 +7,7 @@ import { getClient } from "@azure-rest/core-client";
|
|
|
7
7
|
export function createComputeLimit(credential, subscriptionId, options = {}) {
|
|
8
8
|
const endpointUrl = options.endpoint ?? getArmEndpoint(options.cloudSetting) ?? "https://management.azure.com";
|
|
9
9
|
const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;
|
|
10
|
-
const userAgentInfo = `azsdk-js-arm-computelimit/1.0.0
|
|
10
|
+
const userAgentInfo = `azsdk-js-arm-computelimit/1.0.0`;
|
|
11
11
|
const userAgentPrefix = prefixFromOptions
|
|
12
12
|
? `${prefixFromOptions} azsdk-js-api ${userAgentInfo}`
|
|
13
13
|
: `azsdk-js-api ${userAgentInfo}`;
|
|
@@ -15,29 +15,10 @@ export function createComputeLimit(credential, subscriptionId, options = {}) {
|
|
|
15
15
|
...options,
|
|
16
16
|
userAgentOptions: { userAgentPrefix },
|
|
17
17
|
loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info },
|
|
18
|
-
credentials: {
|
|
19
|
-
scopes: options.credentials?.scopes ?? [`${endpointUrl}/.default`],
|
|
20
|
-
},
|
|
18
|
+
credentials: { scopes: options.credentials?.scopes ?? [`${endpointUrl}/.default`] },
|
|
21
19
|
};
|
|
22
20
|
const clientContext = getClient(endpointUrl, credential, updatedOptions);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
clientContext.pipeline.addPolicy({
|
|
26
|
-
name: "ClientApiVersionPolicy",
|
|
27
|
-
sendRequest: (req, next) => {
|
|
28
|
-
// Use the apiVersion defined in request url directly
|
|
29
|
-
// Append one if there is no apiVersion and we have one at client options
|
|
30
|
-
const url = new URL(req.url);
|
|
31
|
-
if (!url.searchParams.get("api-version")) {
|
|
32
|
-
req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${apiVersion}`;
|
|
33
|
-
}
|
|
34
|
-
return next(req);
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
return {
|
|
38
|
-
...clientContext,
|
|
39
|
-
apiVersion,
|
|
40
|
-
subscriptionId,
|
|
41
|
-
};
|
|
21
|
+
const apiVersion = options.apiVersion;
|
|
22
|
+
return { ...clientContext, apiVersion, subscriptionId };
|
|
42
23
|
}
|
|
43
24
|
//# sourceMappingURL=computeLimitContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeLimitContext.js","sourceRoot":"","sources":["../../../src/api/computeLimitContext.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAqBpD,uDAAuD;AACvD,MAAM,UAAU,kBAAkB,CAChC,UAA2B,EAC3B,cAAsB,EACtB,UAA4C,EAAE;IAE9C,MAAM,WAAW,GACf,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,8BAA8B,CAAC;IAC7F,MAAM,iBAAiB,GAAG,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC;IACrE,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"computeLimitContext.js","sourceRoot":"","sources":["../../../src/api/computeLimitContext.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAqBpD,uDAAuD;AACvD,MAAM,UAAU,kBAAkB,CAChC,UAA2B,EAC3B,cAAsB,EACtB,UAA4C,EAAE;IAE9C,MAAM,WAAW,GACf,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,8BAA8B,CAAC;IAC7F,MAAM,iBAAiB,GAAG,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC;IACrE,MAAM,aAAa,GAAG,iCAAiC,CAAC;IACxD,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC,GAAG,iBAAiB,iBAAiB,aAAa,EAAE;QACtD,CAAC,CAAC,gBAAgB,aAAa,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG;QAC3C,GAAG,OAAO;QACV,gBAAgB,EAAE,EAAE,eAAe,EAAE;QACrC,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;QACzE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,GAAG,WAAW,WAAW,CAAC,EAAE;KACpF,CAAC;IACF,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,OAAO,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,cAAc,EAAyB,CAAC;AACjF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { logger } from \"../logger.js\";\nimport { KnownVersions } from \"../models/models.js\";\nimport type { AzureSupportedClouds } from \"../static-helpers/cloudSettingHelpers.js\";\nimport { getArmEndpoint } from \"../static-helpers/cloudSettingHelpers.js\";\nimport type { Client, ClientOptions } from \"@azure-rest/core-client\";\nimport { getClient } from \"@azure-rest/core-client\";\nimport type { TokenCredential } from \"@azure/core-auth\";\n\n/** Microsoft Azure Compute Limit Resource Provider. */\nexport interface ComputeLimitContext extends Client {\n /** The ID of the target subscription. The value must be an UUID. */\n subscriptionId: string;\n /** The API version to use for this operation. */\n /** Known values of {@link KnownVersions} that the service accepts. */\n apiVersion?: string;\n}\n\n/** Optional parameters for the client. */\nexport interface ComputeLimitClientOptionalParams extends ClientOptions {\n /** The API version to use for this operation. */\n /** Known values of {@link KnownVersions} that the service accepts. */\n apiVersion?: string;\n /** Specifies the Azure cloud environment for the client. */\n cloudSetting?: AzureSupportedClouds;\n}\n\n/** Microsoft Azure Compute Limit Resource Provider. */\nexport function createComputeLimit(\n credential: TokenCredential,\n subscriptionId: string,\n options: ComputeLimitClientOptionalParams = {},\n): ComputeLimitContext {\n const endpointUrl =\n options.endpoint ?? getArmEndpoint(options.cloudSetting) ?? \"https://management.azure.com\";\n const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;\n const userAgentInfo = `azsdk-js-arm-computelimit/1.0.0`;\n const userAgentPrefix = prefixFromOptions\n ? `${prefixFromOptions} azsdk-js-api ${userAgentInfo}`\n : `azsdk-js-api ${userAgentInfo}`;\n const { apiVersion: _, ...updatedOptions } = {\n ...options,\n userAgentOptions: { userAgentPrefix },\n loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info },\n credentials: { scopes: options.credentials?.scopes ?? [`${endpointUrl}/.default`] },\n };\n const clientContext = getClient(endpointUrl, credential, updatedOptions);\n const apiVersion = options.apiVersion;\n return { ...clientContext, apiVersion, subscriptionId } as ComputeLimitContext;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/features/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,MAAM,EAAE,kCAAkC,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { enable, listBySubscriptionLocationResource, get } from \"./operations.js\";\nexport type {\n FeaturesEnableOptionalParams,\n FeaturesListBySubscriptionLocationResourceOptionalParams,\n FeaturesGetOptionalParams,\n} from \"./options.js\";\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ComputeLimitContext as Client } from "../index.js";
|
|
2
|
+
import type { Feature, _FeatureListResult, OperationStatusResult } from "../../models/models.js";
|
|
3
|
+
import type { PagedAsyncIterableIterator } from "../../static-helpers/pagingHelpers.js";
|
|
4
|
+
import type { FeaturesEnableOptionalParams, FeaturesListBySubscriptionLocationResourceOptionalParams, FeaturesGetOptionalParams } from "./options.js";
|
|
5
|
+
import type { StreamableMethod, PathUncheckedResponse } from "@azure-rest/core-client";
|
|
6
|
+
import type { PollerLike, OperationState } from "@azure/core-lro";
|
|
7
|
+
export declare function _enableSend(context: Client, location: string, featureName: string, options?: FeaturesEnableOptionalParams): StreamableMethod;
|
|
8
|
+
export declare function _enableDeserialize(result: PathUncheckedResponse): Promise<OperationStatusResult>;
|
|
9
|
+
/** Enables a compute limit feature for the subscription at the specified location. */
|
|
10
|
+
export declare function enable(context: Client, location: string, featureName: string, options?: FeaturesEnableOptionalParams): PollerLike<OperationState<OperationStatusResult>, OperationStatusResult>;
|
|
11
|
+
export declare function _listBySubscriptionLocationResourceSend(context: Client, location: string, options?: FeaturesListBySubscriptionLocationResourceOptionalParams): StreamableMethod;
|
|
12
|
+
export declare function _listBySubscriptionLocationResourceDeserialize(result: PathUncheckedResponse): Promise<_FeatureListResult>;
|
|
13
|
+
/** Lists all compute limit features for the subscription at the specified location. */
|
|
14
|
+
export declare function listBySubscriptionLocationResource(context: Client, location: string, options?: FeaturesListBySubscriptionLocationResourceOptionalParams): PagedAsyncIterableIterator<Feature>;
|
|
15
|
+
export declare function _getSend(context: Client, location: string, featureName: string, options?: FeaturesGetOptionalParams): StreamableMethod;
|
|
16
|
+
export declare function _getDeserialize(result: PathUncheckedResponse): Promise<Feature>;
|
|
17
|
+
/** Gets the properties of a compute limit feature. */
|
|
18
|
+
export declare function get(context: Client, location: string, featureName: string, options?: FeaturesGetOptionalParams): Promise<Feature>;
|
|
19
|
+
//# sourceMappingURL=operations.d.ts.map
|