aws-cdk 2.1135.0 → 2.1136.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/THIRD_PARTY_LICENSES +15 -15
- package/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/index.js +1299 -923
- package/lib/index_bg.wasm +0 -0
- package/lib/init-templates/.init-version.json +1 -1
- package/package.json +9 -9
package/lib/index.js
CHANGED
|
@@ -3695,7 +3695,7 @@ var require_semver2 = __commonJS({
|
|
|
3695
3695
|
// ../@aws-cdk/cloud-assembly-schema/cli-version.json
|
|
3696
3696
|
var require_cli_version = __commonJS({
|
|
3697
3697
|
"../@aws-cdk/cloud-assembly-schema/cli-version.json"(exports2, module2) {
|
|
3698
|
-
module2.exports = { version: "2.
|
|
3698
|
+
module2.exports = { version: "2.1136.0" };
|
|
3699
3699
|
}
|
|
3700
3700
|
});
|
|
3701
3701
|
|
|
@@ -35739,7 +35739,7 @@ var init_package = __esm({
|
|
|
35739
35739
|
"../../node_modules/@aws-sdk/nested-clients/package.json"() {
|
|
35740
35740
|
package_default = {
|
|
35741
35741
|
name: "@aws-sdk/nested-clients",
|
|
35742
|
-
version: "3.997.
|
|
35742
|
+
version: "3.997.41",
|
|
35743
35743
|
description: "Nested clients for AWS SDK packages.",
|
|
35744
35744
|
homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients",
|
|
35745
35745
|
license: "Apache-2.0",
|
|
@@ -35839,7 +35839,7 @@ var init_package = __esm({
|
|
|
35839
35839
|
"test:watch": "yarn g:vitest watch"
|
|
35840
35840
|
},
|
|
35841
35841
|
dependencies: {
|
|
35842
|
-
"@aws-sdk/core": "^3.977.
|
|
35842
|
+
"@aws-sdk/core": "^3.977.6",
|
|
35843
35843
|
"@aws-sdk/signature-v4-multi-region": "^3.996.43",
|
|
35844
35844
|
"@aws-sdk/types": "^3.974.2",
|
|
35845
35845
|
"@smithy/core": "^3.31.1",
|
|
@@ -37558,30 +37558,54 @@ var init_UnionSerde = __esm({
|
|
|
37558
37558
|
}
|
|
37559
37559
|
});
|
|
37560
37560
|
|
|
37561
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/detectBufferParsing.js
|
|
37562
|
+
function detectBufferParsing() {
|
|
37563
|
+
if (canParseBuffer === void 0) {
|
|
37564
|
+
try {
|
|
37565
|
+
if (typeof Buffer !== "function") {
|
|
37566
|
+
canParseBuffer = false;
|
|
37567
|
+
} else {
|
|
37568
|
+
const result2 = JSON.parse(Buffer.from([123, 125]));
|
|
37569
|
+
canParseBuffer = result2 !== null && typeof result2 === "object";
|
|
37570
|
+
}
|
|
37571
|
+
} catch {
|
|
37572
|
+
canParseBuffer = false;
|
|
37573
|
+
}
|
|
37574
|
+
}
|
|
37575
|
+
return canParseBuffer;
|
|
37576
|
+
}
|
|
37577
|
+
var canParseBuffer;
|
|
37578
|
+
var init_detectBufferParsing = __esm({
|
|
37579
|
+
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/detectBufferParsing.js"() {
|
|
37580
|
+
__name(detectBufferParsing, "detectBufferParsing");
|
|
37581
|
+
}
|
|
37582
|
+
});
|
|
37583
|
+
|
|
37561
37584
|
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReviver.js
|
|
37562
37585
|
function jsonReviver(key, value2, context) {
|
|
37563
37586
|
if (context?.source) {
|
|
37564
37587
|
const numericString = context.source;
|
|
37565
37588
|
if (typeof value2 === "number") {
|
|
37566
37589
|
const inSafeRange = value2 <= Number.MAX_SAFE_INTEGER && value2 >= Number.MIN_SAFE_INTEGER;
|
|
37567
|
-
if (
|
|
37568
|
-
if (
|
|
37590
|
+
if (inSafeRange) {
|
|
37591
|
+
if (isRepresentable(numericString, value2)) {
|
|
37569
37592
|
return value2;
|
|
37570
37593
|
}
|
|
37571
|
-
|
|
37594
|
+
return new NumericValue(numericString, "bigDecimal");
|
|
37595
|
+
} else {
|
|
37596
|
+
if (isFractionalBigNumeric(numericString)) {
|
|
37572
37597
|
return new NumericValue(numericString, "bigDecimal");
|
|
37573
|
-
} else {
|
|
37574
|
-
if (/[eE]/.test(numericString)) {
|
|
37575
|
-
return BigInt(Number(numericString));
|
|
37576
|
-
}
|
|
37577
|
-
return BigInt(numericString);
|
|
37578
37598
|
}
|
|
37599
|
+
if (/[eE]/.test(numericString)) {
|
|
37600
|
+
return expandExponentToBigInt(numericString);
|
|
37601
|
+
}
|
|
37602
|
+
return BigInt(numericString);
|
|
37579
37603
|
}
|
|
37580
37604
|
}
|
|
37581
37605
|
}
|
|
37582
37606
|
return value2;
|
|
37583
37607
|
}
|
|
37584
|
-
function
|
|
37608
|
+
function isFractionalBigNumeric(s2) {
|
|
37585
37609
|
const dotIndex = s2.indexOf(".");
|
|
37586
37610
|
if (dotIndex === -1) {
|
|
37587
37611
|
return false;
|
|
@@ -37594,11 +37618,91 @@ function isFractionalNumeric(s2) {
|
|
|
37594
37618
|
const exp = parseInt(s2.slice(eIndex + 1), 10);
|
|
37595
37619
|
return exp < fracDigits;
|
|
37596
37620
|
}
|
|
37621
|
+
function isRepresentable(numericString, value2) {
|
|
37622
|
+
if (numericString === String(value2)) {
|
|
37623
|
+
return true;
|
|
37624
|
+
}
|
|
37625
|
+
if (Object.is(value2, -0)) {
|
|
37626
|
+
return true;
|
|
37627
|
+
}
|
|
37628
|
+
if (/[eE]/.test(numericString)) {
|
|
37629
|
+
return expandToDecimal(numericString) === expandToDecimal(String(value2));
|
|
37630
|
+
}
|
|
37631
|
+
const normalized = numericString.replace(/(\.\d*?)0+$/, "$1").replace(/\.$/, "");
|
|
37632
|
+
const canonical = String(value2);
|
|
37633
|
+
if (normalized === canonical) {
|
|
37634
|
+
return true;
|
|
37635
|
+
}
|
|
37636
|
+
if (/[eE]/.test(canonical)) {
|
|
37637
|
+
return normalized === expandToDecimal(canonical);
|
|
37638
|
+
}
|
|
37639
|
+
return false;
|
|
37640
|
+
}
|
|
37641
|
+
function expandToDecimal(s2) {
|
|
37642
|
+
const negative = s2.startsWith("-");
|
|
37643
|
+
const abs = negative ? s2.slice(1) : s2;
|
|
37644
|
+
const eIndex = abs.search(/[eE]/);
|
|
37645
|
+
let result2;
|
|
37646
|
+
if (eIndex === -1) {
|
|
37647
|
+
result2 = abs;
|
|
37648
|
+
} else {
|
|
37649
|
+
const exp = parseInt(abs.slice(eIndex + 1), 10);
|
|
37650
|
+
const mantissa = abs.slice(0, eIndex);
|
|
37651
|
+
const dotIndex = mantissa.indexOf(".");
|
|
37652
|
+
let digits;
|
|
37653
|
+
let intLen;
|
|
37654
|
+
if (dotIndex === -1) {
|
|
37655
|
+
digits = mantissa;
|
|
37656
|
+
intLen = mantissa.length;
|
|
37657
|
+
} else {
|
|
37658
|
+
digits = mantissa.slice(0, dotIndex) + mantissa.slice(dotIndex + 1);
|
|
37659
|
+
intLen = dotIndex;
|
|
37660
|
+
}
|
|
37661
|
+
digits = digits.replace(/0+$/, "") || "0";
|
|
37662
|
+
const newDotPos = intLen + exp;
|
|
37663
|
+
if (digits === "0") {
|
|
37664
|
+
result2 = "0";
|
|
37665
|
+
} else if (newDotPos <= 0) {
|
|
37666
|
+
result2 = "0." + "0".repeat(-newDotPos) + digits;
|
|
37667
|
+
} else if (newDotPos >= digits.length) {
|
|
37668
|
+
result2 = digits + "0".repeat(newDotPos - digits.length);
|
|
37669
|
+
} else {
|
|
37670
|
+
result2 = digits.slice(0, newDotPos) + "." + digits.slice(newDotPos);
|
|
37671
|
+
}
|
|
37672
|
+
}
|
|
37673
|
+
if (result2.includes(".")) {
|
|
37674
|
+
result2 = result2.replace(/(\.\d*?)0+$/, "$1").replace(/\.$/, "");
|
|
37675
|
+
}
|
|
37676
|
+
return (negative ? "-" : "") + result2;
|
|
37677
|
+
}
|
|
37678
|
+
function expandExponentToBigInt(s2) {
|
|
37679
|
+
const eIndex = s2.search(/[eE]/);
|
|
37680
|
+
const exp = parseInt(s2.slice(eIndex + 1), 10);
|
|
37681
|
+
const negative = s2.startsWith("-");
|
|
37682
|
+
const mantissa = s2.slice(negative ? 1 : 0, eIndex);
|
|
37683
|
+
const dotIndex = mantissa.indexOf(".");
|
|
37684
|
+
let digits;
|
|
37685
|
+
let shift;
|
|
37686
|
+
if (dotIndex === -1) {
|
|
37687
|
+
digits = mantissa;
|
|
37688
|
+
shift = exp;
|
|
37689
|
+
} else {
|
|
37690
|
+
digits = mantissa.slice(0, dotIndex) + mantissa.slice(dotIndex + 1);
|
|
37691
|
+
const fracDigits = mantissa.length - dotIndex - 1;
|
|
37692
|
+
shift = exp - fracDigits;
|
|
37693
|
+
}
|
|
37694
|
+
digits = digits.replace(/0+$/, "") || "0";
|
|
37695
|
+
const result2 = BigInt(digits) * 10n ** BigInt(shift + (mantissa.replace(".", "").length - digits.length));
|
|
37696
|
+
return negative ? -result2 : result2;
|
|
37697
|
+
}
|
|
37597
37698
|
var init_jsonReviver = __esm({
|
|
37598
37699
|
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReviver.js"() {
|
|
37599
37700
|
init_serde();
|
|
37600
37701
|
__name(jsonReviver, "jsonReviver");
|
|
37601
|
-
__name(
|
|
37702
|
+
__name(isFractionalBigNumeric, "isFractionalBigNumeric");
|
|
37703
|
+
__name(isRepresentable, "isRepresentable");
|
|
37704
|
+
__name(expandToDecimal, "expandToDecimal");
|
|
37705
|
+
__name(expandExponentToBigInt, "expandExponentToBigInt");
|
|
37602
37706
|
}
|
|
37603
37707
|
});
|
|
37604
37708
|
|
|
@@ -37660,29 +37764,6 @@ var init_common2 = __esm({
|
|
|
37660
37764
|
}
|
|
37661
37765
|
});
|
|
37662
37766
|
|
|
37663
|
-
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/detectBufferParsing.js
|
|
37664
|
-
function detectBufferParsing() {
|
|
37665
|
-
if (canParseBuffer === void 0) {
|
|
37666
|
-
try {
|
|
37667
|
-
if (typeof Buffer !== "function") {
|
|
37668
|
-
canParseBuffer = false;
|
|
37669
|
-
} else {
|
|
37670
|
-
const result2 = JSON.parse(Buffer.from([123, 125]));
|
|
37671
|
-
canParseBuffer = result2 !== null && typeof result2 === "object";
|
|
37672
|
-
}
|
|
37673
|
-
} catch {
|
|
37674
|
-
canParseBuffer = false;
|
|
37675
|
-
}
|
|
37676
|
-
}
|
|
37677
|
-
return canParseBuffer;
|
|
37678
|
-
}
|
|
37679
|
-
var canParseBuffer;
|
|
37680
|
-
var init_detectBufferParsing = __esm({
|
|
37681
|
-
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/detectBufferParsing.js"() {
|
|
37682
|
-
__name(detectBufferParsing, "detectBufferParsing");
|
|
37683
|
-
}
|
|
37684
|
-
});
|
|
37685
|
-
|
|
37686
37767
|
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js
|
|
37687
37768
|
async function parseJsonBody(streamBody, context, schema) {
|
|
37688
37769
|
let parsingInput;
|
|
@@ -37788,23 +37869,23 @@ var init_writeKey = __esm({
|
|
|
37788
37869
|
}
|
|
37789
37870
|
});
|
|
37790
37871
|
|
|
37791
|
-
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
37792
|
-
var
|
|
37793
|
-
var
|
|
37794
|
-
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
37872
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js
|
|
37873
|
+
var JsonShapeDeserializer2;
|
|
37874
|
+
var init_JsonShapeDeserializer2 = __esm({
|
|
37875
|
+
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js"() {
|
|
37795
37876
|
init_protocols();
|
|
37796
37877
|
init_schema4();
|
|
37797
37878
|
init_serde();
|
|
37798
|
-
init_serde();
|
|
37799
37879
|
init_ConfigurableSerdeContext();
|
|
37800
37880
|
init_UnionSerde();
|
|
37881
|
+
init_detectBufferParsing();
|
|
37801
37882
|
init_jsonReviver();
|
|
37802
37883
|
init_needsReviver();
|
|
37803
37884
|
init_parseJsonBody();
|
|
37804
37885
|
init_writeKey();
|
|
37805
|
-
|
|
37886
|
+
JsonShapeDeserializer2 = class extends SerdeContextConfig {
|
|
37806
37887
|
static {
|
|
37807
|
-
__name(this, "
|
|
37888
|
+
__name(this, "JsonShapeDeserializer2");
|
|
37808
37889
|
}
|
|
37809
37890
|
settings;
|
|
37810
37891
|
constructor(settings) {
|
|
@@ -37813,7 +37894,22 @@ var init_JsonShapeDeserializer = __esm({
|
|
|
37813
37894
|
}
|
|
37814
37895
|
async read(schema, data) {
|
|
37815
37896
|
const reviver = needsReviver(schema) ? jsonReviver : void 0;
|
|
37816
|
-
|
|
37897
|
+
let parsed;
|
|
37898
|
+
if (typeof data === "string") {
|
|
37899
|
+
if (data.length === 0) {
|
|
37900
|
+
return {};
|
|
37901
|
+
}
|
|
37902
|
+
parsed = JSON.parse(data, reviver);
|
|
37903
|
+
} else if (data instanceof Uint8Array && detectBufferParsing()) {
|
|
37904
|
+
if (data.byteLength === 0) {
|
|
37905
|
+
return {};
|
|
37906
|
+
}
|
|
37907
|
+
const buf2 = Buffer.isBuffer(data) ? data : Buffer.from(data.buffer, data.byteOffset, data.byteLength);
|
|
37908
|
+
parsed = JSON.parse(buf2, reviver);
|
|
37909
|
+
} else {
|
|
37910
|
+
parsed = await parseJsonBody(data, this.serdeContext, schema);
|
|
37911
|
+
}
|
|
37912
|
+
return this._read(schema, parsed);
|
|
37817
37913
|
}
|
|
37818
37914
|
readObject(schema, data) {
|
|
37819
37915
|
return this._read(schema, data);
|
|
@@ -37823,62 +37919,29 @@ var init_JsonShapeDeserializer = __esm({
|
|
|
37823
37919
|
const ns = NormalizedSchema.of(schema);
|
|
37824
37920
|
if (isObject3) {
|
|
37825
37921
|
if (ns.isStructSchema()) {
|
|
37826
|
-
|
|
37827
|
-
const union = ns.isUnionSchema();
|
|
37828
|
-
const out = {};
|
|
37829
|
-
let nameMap = void 0;
|
|
37830
|
-
const { jsonName } = this.settings;
|
|
37831
|
-
if (jsonName) {
|
|
37832
|
-
nameMap = {};
|
|
37833
|
-
}
|
|
37834
|
-
let unionSerde;
|
|
37835
|
-
if (union) {
|
|
37836
|
-
unionSerde = new UnionSerde(record, out);
|
|
37837
|
-
}
|
|
37838
|
-
for (const [memberName, memberSchema] of ns.structIterator()) {
|
|
37839
|
-
let fromKey = memberName;
|
|
37840
|
-
if (jsonName) {
|
|
37841
|
-
fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;
|
|
37842
|
-
nameMap[fromKey] = memberName;
|
|
37843
|
-
}
|
|
37844
|
-
if (union) {
|
|
37845
|
-
unionSerde.mark(fromKey);
|
|
37846
|
-
}
|
|
37847
|
-
if (record[fromKey] != null) {
|
|
37848
|
-
out[memberName] = this._read(memberSchema, record[fromKey]);
|
|
37849
|
-
}
|
|
37850
|
-
}
|
|
37851
|
-
if (union) {
|
|
37852
|
-
unionSerde.writeUnknown();
|
|
37853
|
-
} else if (typeof record.__type === "string") {
|
|
37854
|
-
for (const k6 in record) {
|
|
37855
|
-
const v = record[k6];
|
|
37856
|
-
const t = jsonName ? nameMap[k6] ?? k6 : k6;
|
|
37857
|
-
if (!(t in out)) {
|
|
37858
|
-
out[t] = v;
|
|
37859
|
-
}
|
|
37860
|
-
}
|
|
37861
|
-
}
|
|
37862
|
-
return out;
|
|
37922
|
+
return this._readStruct(ns, value2);
|
|
37863
37923
|
}
|
|
37864
37924
|
if (Array.isArray(value2) && ns.isListSchema()) {
|
|
37865
37925
|
const listMember = ns.getValueSchema();
|
|
37866
|
-
|
|
37867
|
-
|
|
37868
|
-
|
|
37926
|
+
if (this.needsTransform(listMember)) {
|
|
37927
|
+
for (let i6 = 0; i6 < value2.length; ++i6) {
|
|
37928
|
+
value2[i6] = this._read(listMember, value2[i6]);
|
|
37929
|
+
}
|
|
37869
37930
|
}
|
|
37870
|
-
return
|
|
37931
|
+
return value2;
|
|
37871
37932
|
}
|
|
37872
37933
|
if (ns.isMapSchema()) {
|
|
37873
37934
|
const mapMember = ns.getValueSchema();
|
|
37874
|
-
const
|
|
37875
|
-
|
|
37876
|
-
|
|
37877
|
-
|
|
37935
|
+
const map3 = value2;
|
|
37936
|
+
if (this.needsTransform(mapMember)) {
|
|
37937
|
+
for (const k6 in map3) {
|
|
37938
|
+
if (k6 === "__proto__") {
|
|
37939
|
+
writeKey(map3);
|
|
37940
|
+
}
|
|
37941
|
+
map3[k6] = this._read(mapMember, map3[k6]);
|
|
37878
37942
|
}
|
|
37879
|
-
out[_k] = this._read(mapMember, value2[_k]);
|
|
37880
37943
|
}
|
|
37881
|
-
return
|
|
37944
|
+
return map3;
|
|
37882
37945
|
}
|
|
37883
37946
|
}
|
|
37884
37947
|
if (ns.isBlobSchema() && typeof value2 === "string") {
|
|
@@ -37932,292 +37995,723 @@ var init_JsonShapeDeserializer = __esm({
|
|
|
37932
37995
|
}
|
|
37933
37996
|
if (ns.isDocumentSchema()) {
|
|
37934
37997
|
if (isObject3) {
|
|
37935
|
-
|
|
37936
|
-
|
|
37937
|
-
|
|
37938
|
-
|
|
37998
|
+
if (Array.isArray(value2)) {
|
|
37999
|
+
for (let i6 = 0; i6 < value2.length; ++i6) {
|
|
38000
|
+
const v = value2[i6];
|
|
38001
|
+
if (!(v instanceof NumericValue)) {
|
|
38002
|
+
value2[i6] = this._read(ns, v);
|
|
38003
|
+
}
|
|
37939
38004
|
}
|
|
37940
|
-
|
|
37941
|
-
|
|
37942
|
-
|
|
37943
|
-
|
|
37944
|
-
|
|
38005
|
+
} else {
|
|
38006
|
+
const doc = value2;
|
|
38007
|
+
for (const k6 in doc) {
|
|
38008
|
+
if (k6 === "__proto__") {
|
|
38009
|
+
writeKey(doc);
|
|
38010
|
+
}
|
|
38011
|
+
const v = doc[k6];
|
|
38012
|
+
if (!(v instanceof NumericValue)) {
|
|
38013
|
+
doc[k6] = this._read(ns, v);
|
|
38014
|
+
}
|
|
37945
38015
|
}
|
|
37946
38016
|
}
|
|
37947
|
-
return out;
|
|
37948
|
-
} else {
|
|
37949
|
-
return structuredClone(value2);
|
|
37950
38017
|
}
|
|
37951
38018
|
}
|
|
37952
38019
|
return value2;
|
|
37953
38020
|
}
|
|
38021
|
+
_readStruct(ns, record) {
|
|
38022
|
+
const union = ns.isUnionSchema();
|
|
38023
|
+
const out = {};
|
|
38024
|
+
let nameMap;
|
|
38025
|
+
const hasType = typeof record.__type === "string";
|
|
38026
|
+
const { jsonName } = this.settings;
|
|
38027
|
+
if (jsonName && hasType) {
|
|
38028
|
+
nameMap = {};
|
|
38029
|
+
}
|
|
38030
|
+
let unionSerde;
|
|
38031
|
+
if (union) {
|
|
38032
|
+
unionSerde = new UnionSerde(record, out);
|
|
38033
|
+
}
|
|
38034
|
+
for (const [memberName, memberSchema] of ns.structIterator()) {
|
|
38035
|
+
let fromKey = memberName;
|
|
38036
|
+
if (jsonName) {
|
|
38037
|
+
fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;
|
|
38038
|
+
if (hasType) {
|
|
38039
|
+
nameMap[fromKey] = memberName;
|
|
38040
|
+
}
|
|
38041
|
+
}
|
|
38042
|
+
if (union) {
|
|
38043
|
+
unionSerde.mark(fromKey);
|
|
38044
|
+
}
|
|
38045
|
+
if (record[fromKey] != null) {
|
|
38046
|
+
out[memberName] = this._read(memberSchema, record[fromKey]);
|
|
38047
|
+
}
|
|
38048
|
+
}
|
|
38049
|
+
if (union) {
|
|
38050
|
+
unionSerde.writeUnknown();
|
|
38051
|
+
} else if (hasType) {
|
|
38052
|
+
for (const k6 in record) {
|
|
38053
|
+
const v = record[k6];
|
|
38054
|
+
const t = jsonName ? nameMap[k6] ?? k6 : k6;
|
|
38055
|
+
if (!(t in out)) {
|
|
38056
|
+
out[t] = v;
|
|
38057
|
+
}
|
|
38058
|
+
}
|
|
38059
|
+
}
|
|
38060
|
+
return out;
|
|
38061
|
+
}
|
|
38062
|
+
needsTransform(ns) {
|
|
38063
|
+
if (ns.isBlobSchema() || ns.isTimestampSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {
|
|
38064
|
+
return true;
|
|
38065
|
+
}
|
|
38066
|
+
if (ns.isDocumentSchema() || ns.isStructSchema() || ns.isListSchema() || ns.isMapSchema()) {
|
|
38067
|
+
return true;
|
|
38068
|
+
}
|
|
38069
|
+
if (ns.isStringSchema() && ns.getMergedTraits().mediaType) {
|
|
38070
|
+
return true;
|
|
38071
|
+
}
|
|
38072
|
+
return false;
|
|
38073
|
+
}
|
|
37954
38074
|
};
|
|
37955
38075
|
}
|
|
37956
38076
|
});
|
|
37957
38077
|
|
|
37958
|
-
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/
|
|
37959
|
-
var
|
|
37960
|
-
var
|
|
37961
|
-
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/
|
|
38078
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js
|
|
38079
|
+
var JsonBytesStringAdapter, warned;
|
|
38080
|
+
var init_JsonBytesStringAdapter = __esm({
|
|
38081
|
+
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js"() {
|
|
37962
38082
|
init_serde();
|
|
37963
|
-
|
|
37964
|
-
JsonReplacer = class {
|
|
38083
|
+
JsonBytesStringAdapter = class _JsonBytesStringAdapter extends Uint8Array {
|
|
37965
38084
|
static {
|
|
37966
|
-
__name(this, "
|
|
38085
|
+
__name(this, "JsonBytesStringAdapter");
|
|
37967
38086
|
}
|
|
37968
|
-
|
|
37969
|
-
|
|
37970
|
-
|
|
37971
|
-
|
|
37972
|
-
|
|
37973
|
-
throw new Error("@aws-sdk/core/protocols - JsonReplacer already created.");
|
|
38087
|
+
string = null;
|
|
38088
|
+
static allocUnsafe(bytes) {
|
|
38089
|
+
if (typeof Buffer === "function") {
|
|
38090
|
+
const buffer = Buffer.allocUnsafe(bytes);
|
|
38091
|
+
return new _JsonBytesStringAdapter(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
37974
38092
|
}
|
|
37975
|
-
|
|
37976
|
-
|
|
38093
|
+
return new _JsonBytesStringAdapter(bytes);
|
|
38094
|
+
}
|
|
38095
|
+
toString() {
|
|
38096
|
+
return this.s();
|
|
38097
|
+
}
|
|
38098
|
+
valueOf() {
|
|
38099
|
+
return this.s();
|
|
38100
|
+
}
|
|
38101
|
+
includes(searchString, position) {
|
|
38102
|
+
if (typeof searchString === "string") {
|
|
38103
|
+
return this.s().includes(searchString, position);
|
|
37977
38104
|
}
|
|
37978
|
-
this
|
|
37979
|
-
return (key, value2) => {
|
|
37980
|
-
if (value2 instanceof NumericValue) {
|
|
37981
|
-
const v = `${NUMERIC_CONTROL_CHAR + "nv" + this.counter++}_` + value2.string;
|
|
37982
|
-
this.values.set(`"${v}"`, value2.string);
|
|
37983
|
-
return v;
|
|
37984
|
-
}
|
|
37985
|
-
if (typeof value2 === "bigint") {
|
|
37986
|
-
const s2 = value2.toString();
|
|
37987
|
-
const v = `${NUMERIC_CONTROL_CHAR + "b" + this.counter++}_` + s2;
|
|
37988
|
-
this.values.set(`"${v}"`, s2);
|
|
37989
|
-
return v;
|
|
37990
|
-
}
|
|
37991
|
-
return value2;
|
|
37992
|
-
};
|
|
38105
|
+
return Uint8Array.prototype.includes.call(this, searchString, position);
|
|
37993
38106
|
}
|
|
37994
|
-
|
|
37995
|
-
if (
|
|
37996
|
-
|
|
38107
|
+
indexOf(searchString, position) {
|
|
38108
|
+
if (typeof searchString === "string") {
|
|
38109
|
+
return this.s().indexOf(searchString, position);
|
|
37997
38110
|
}
|
|
37998
|
-
|
|
37999
|
-
|
|
38111
|
+
return Uint8Array.prototype.indexOf.call(this, searchString, position);
|
|
38112
|
+
}
|
|
38113
|
+
lastIndexOf(searchString, position) {
|
|
38114
|
+
if (typeof searchString === "string") {
|
|
38115
|
+
return this.s().lastIndexOf(searchString, position);
|
|
38000
38116
|
}
|
|
38001
|
-
|
|
38002
|
-
if (
|
|
38003
|
-
return
|
|
38117
|
+
const fn = Uint8Array.prototype.lastIndexOf;
|
|
38118
|
+
if (position !== void 0) {
|
|
38119
|
+
return fn.call(this, searchString, position);
|
|
38004
38120
|
}
|
|
38005
|
-
|
|
38006
|
-
|
|
38121
|
+
return fn.call(this, searchString);
|
|
38122
|
+
}
|
|
38123
|
+
startsWith(searchString, position) {
|
|
38124
|
+
return this.s().startsWith(searchString, position);
|
|
38125
|
+
}
|
|
38126
|
+
endsWith(searchString, endPosition) {
|
|
38127
|
+
return this.s().endsWith(searchString, endPosition);
|
|
38128
|
+
}
|
|
38129
|
+
match(regexp) {
|
|
38130
|
+
return this.s().match(regexp);
|
|
38131
|
+
}
|
|
38132
|
+
replace(searchValue, replaceValue) {
|
|
38133
|
+
return this.s().replace(searchValue, replaceValue);
|
|
38134
|
+
}
|
|
38135
|
+
search(regexp) {
|
|
38136
|
+
return this.s().search(regexp);
|
|
38137
|
+
}
|
|
38138
|
+
split(separator, limit) {
|
|
38139
|
+
return this.s().split(separator, limit);
|
|
38140
|
+
}
|
|
38141
|
+
substring(start, end2) {
|
|
38142
|
+
return this.s().substring(start, end2);
|
|
38143
|
+
}
|
|
38144
|
+
trim() {
|
|
38145
|
+
return this.s().trim();
|
|
38146
|
+
}
|
|
38147
|
+
trimStart() {
|
|
38148
|
+
return this.s().trimStart();
|
|
38149
|
+
}
|
|
38150
|
+
trimEnd() {
|
|
38151
|
+
return this.s().trimEnd();
|
|
38152
|
+
}
|
|
38153
|
+
charAt(pos2) {
|
|
38154
|
+
return this.s().charAt(pos2);
|
|
38155
|
+
}
|
|
38156
|
+
charCodeAt(index) {
|
|
38157
|
+
return this.s().charCodeAt(index);
|
|
38158
|
+
}
|
|
38159
|
+
padStart(maxLength, fillString) {
|
|
38160
|
+
return this.s().padStart(maxLength, fillString);
|
|
38161
|
+
}
|
|
38162
|
+
padEnd(maxLength, fillString) {
|
|
38163
|
+
return this.s().padEnd(maxLength, fillString);
|
|
38164
|
+
}
|
|
38165
|
+
repeat(count) {
|
|
38166
|
+
return this.s().repeat(count);
|
|
38167
|
+
}
|
|
38168
|
+
toUpperCase() {
|
|
38169
|
+
return this.s().toUpperCase();
|
|
38170
|
+
}
|
|
38171
|
+
toLowerCase() {
|
|
38172
|
+
return this.s().toLowerCase();
|
|
38173
|
+
}
|
|
38174
|
+
s() {
|
|
38175
|
+
if (this.string == null) {
|
|
38176
|
+
const n3 = Date.now();
|
|
38177
|
+
if (n3 > warned + 6e4) {
|
|
38178
|
+
console.warn("@aws-sdk/core/protocols - WARN - JsonCodec2: you have called a string method on a Uint8Array request body. It has been automatically converted to string. In a future version this will throw an error.");
|
|
38179
|
+
warned = n3;
|
|
38180
|
+
}
|
|
38181
|
+
this.string = toUtf8(this);
|
|
38007
38182
|
}
|
|
38008
|
-
return
|
|
38183
|
+
return this.string;
|
|
38009
38184
|
}
|
|
38010
38185
|
};
|
|
38186
|
+
warned = 0;
|
|
38011
38187
|
}
|
|
38012
38188
|
});
|
|
38013
38189
|
|
|
38014
|
-
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
38015
|
-
|
|
38016
|
-
|
|
38017
|
-
|
|
38190
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js
|
|
38191
|
+
function alloc(size) {
|
|
38192
|
+
return JsonBytesStringAdapter.allocUnsafe(size);
|
|
38193
|
+
}
|
|
38194
|
+
var encoder, OPEN_BRACE, CLOSE_BRACE, OPEN_BRACKET, CLOSE_BRACKET, QUOTE, COLON, COMMA, BACKSLASH, TRUE, FALSE, NULL, ESCAPE_TABLE, INITIAL_BUFFER_SIZE2, JsonShapeSerializer2;
|
|
38195
|
+
var init_JsonShapeSerializer2 = __esm({
|
|
38196
|
+
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js"() {
|
|
38018
38197
|
init_protocols();
|
|
38019
38198
|
init_schema4();
|
|
38020
38199
|
init_serde();
|
|
38021
38200
|
init_ConfigurableSerdeContext();
|
|
38022
|
-
|
|
38023
|
-
|
|
38024
|
-
|
|
38201
|
+
init_JsonBytesStringAdapter();
|
|
38202
|
+
encoder = new TextEncoder();
|
|
38203
|
+
OPEN_BRACE = 123;
|
|
38204
|
+
CLOSE_BRACE = 125;
|
|
38205
|
+
OPEN_BRACKET = 91;
|
|
38206
|
+
CLOSE_BRACKET = 93;
|
|
38207
|
+
QUOTE = 34;
|
|
38208
|
+
COLON = 58;
|
|
38209
|
+
COMMA = 44;
|
|
38210
|
+
BACKSLASH = 92;
|
|
38211
|
+
TRUE = new Uint8Array([116, 114, 117, 101]);
|
|
38212
|
+
FALSE = new Uint8Array([102, 97, 108, 115, 101]);
|
|
38213
|
+
NULL = new Uint8Array([110, 117, 108, 108]);
|
|
38214
|
+
ESCAPE_TABLE = new Array(128).fill(null);
|
|
38215
|
+
ESCAPE_TABLE[8] = "b";
|
|
38216
|
+
ESCAPE_TABLE[9] = "t";
|
|
38217
|
+
ESCAPE_TABLE[10] = "n";
|
|
38218
|
+
ESCAPE_TABLE[12] = "f";
|
|
38219
|
+
ESCAPE_TABLE[13] = "r";
|
|
38220
|
+
ESCAPE_TABLE[34] = '"';
|
|
38221
|
+
ESCAPE_TABLE[92] = "\\";
|
|
38222
|
+
for (let i6 = 0; i6 < 32; i6++) {
|
|
38223
|
+
if (ESCAPE_TABLE[i6] === null) {
|
|
38224
|
+
ESCAPE_TABLE[i6] = "u00" + i6.toString(16).padStart(2, "0");
|
|
38225
|
+
}
|
|
38226
|
+
}
|
|
38227
|
+
INITIAL_BUFFER_SIZE2 = 2048;
|
|
38228
|
+
__name(alloc, "alloc");
|
|
38229
|
+
JsonShapeSerializer2 = class _JsonShapeSerializer2 extends SerdeContextConfig {
|
|
38025
38230
|
static {
|
|
38026
|
-
__name(this, "
|
|
38231
|
+
__name(this, "JsonShapeSerializer2");
|
|
38027
38232
|
}
|
|
38028
38233
|
settings;
|
|
38029
|
-
|
|
38030
|
-
|
|
38234
|
+
json;
|
|
38235
|
+
i = 0;
|
|
38031
38236
|
rootSchema;
|
|
38237
|
+
rawValue;
|
|
38238
|
+
passthrough = false;
|
|
38032
38239
|
constructor(settings) {
|
|
38033
38240
|
super();
|
|
38034
38241
|
this.settings = settings;
|
|
38242
|
+
this.json = alloc(INITIAL_BUFFER_SIZE2);
|
|
38035
38243
|
}
|
|
38036
38244
|
write(schema, value2) {
|
|
38245
|
+
this.i = 0;
|
|
38246
|
+
this.rawValue = value2;
|
|
38037
38247
|
this.rootSchema = NormalizedSchema.of(schema);
|
|
38038
|
-
this.
|
|
38248
|
+
this.passthrough = this.rootSchema.isBlobSchema() || this.rootSchema.isStringSchema();
|
|
38249
|
+
if (!this.passthrough) {
|
|
38250
|
+
this.writeValue(this.rootSchema, value2, void 0);
|
|
38251
|
+
}
|
|
38252
|
+
}
|
|
38253
|
+
writeDiscriminatedDocument(schema, value2) {
|
|
38254
|
+
this.i = 0;
|
|
38255
|
+
this.rootSchema = NormalizedSchema.of(schema);
|
|
38256
|
+
const ns = this.rootSchema;
|
|
38257
|
+
if (ns.isStructSchema() && value2 != null && typeof value2 === "object") {
|
|
38258
|
+
this.writeValue(ns, value2, void 0);
|
|
38259
|
+
const prefix = `"__type":"${ns.getName(true) ?? "Unknown"}",`;
|
|
38260
|
+
const z = prefix.length;
|
|
38261
|
+
this.ensure(z);
|
|
38262
|
+
this.json.copyWithin(1 + z, 1, this.i);
|
|
38263
|
+
encoder.encodeInto(prefix, this.json.subarray(1));
|
|
38264
|
+
this.i += z;
|
|
38265
|
+
} else {
|
|
38266
|
+
this.writeValue(ns, value2, void 0);
|
|
38267
|
+
}
|
|
38039
38268
|
}
|
|
38040
38269
|
flush() {
|
|
38041
|
-
const { rootSchema, useReplacer } = this;
|
|
38042
38270
|
this.rootSchema = void 0;
|
|
38043
|
-
|
|
38044
|
-
|
|
38045
|
-
|
|
38046
|
-
|
|
38271
|
+
const finalPosition = this.i;
|
|
38272
|
+
this.i = 0;
|
|
38273
|
+
const raw = this.rawValue;
|
|
38274
|
+
this.rawValue = void 0;
|
|
38275
|
+
if (finalPosition === 0) {
|
|
38276
|
+
return raw;
|
|
38277
|
+
}
|
|
38278
|
+
const result2 = this.json.subarray(0, finalPosition);
|
|
38279
|
+
this.json = alloc(INITIAL_BUFFER_SIZE2);
|
|
38280
|
+
return result2;
|
|
38281
|
+
}
|
|
38282
|
+
ensure(byteCount) {
|
|
38283
|
+
const { i: i6, json } = this;
|
|
38284
|
+
if (i6 + byteCount > json.length) {
|
|
38285
|
+
let newSize = json.length * 2;
|
|
38286
|
+
while (newSize < i6 + byteCount) {
|
|
38287
|
+
newSize *= 2;
|
|
38047
38288
|
}
|
|
38048
|
-
const
|
|
38049
|
-
|
|
38289
|
+
const next = alloc(newSize);
|
|
38290
|
+
next.set(this.json);
|
|
38291
|
+
this.json = next;
|
|
38050
38292
|
}
|
|
38051
|
-
return this.buffer;
|
|
38052
38293
|
}
|
|
38053
|
-
|
|
38054
|
-
|
|
38055
|
-
|
|
38056
|
-
|
|
38294
|
+
writeAscii(s2) {
|
|
38295
|
+
const z = s2.length;
|
|
38296
|
+
this.ensure(z);
|
|
38297
|
+
let { i: i6, json } = this;
|
|
38298
|
+
for (let j6 = 0; j6 < z; ++j6) {
|
|
38299
|
+
json[i6] = s2.charCodeAt(j6);
|
|
38300
|
+
i6 += 1;
|
|
38057
38301
|
}
|
|
38302
|
+
this.i = i6;
|
|
38058
38303
|
}
|
|
38059
|
-
|
|
38060
|
-
const
|
|
38061
|
-
|
|
38062
|
-
|
|
38063
|
-
|
|
38064
|
-
|
|
38065
|
-
|
|
38066
|
-
|
|
38067
|
-
|
|
38068
|
-
|
|
38069
|
-
|
|
38070
|
-
|
|
38071
|
-
|
|
38072
|
-
|
|
38073
|
-
|
|
38074
|
-
|
|
38075
|
-
|
|
38076
|
-
|
|
38077
|
-
|
|
38078
|
-
|
|
38079
|
-
|
|
38080
|
-
|
|
38081
|
-
|
|
38304
|
+
writeAsciiQuoted(s2) {
|
|
38305
|
+
const z = s2.length;
|
|
38306
|
+
this.ensure(z + 4);
|
|
38307
|
+
let { json, i: i6 } = this;
|
|
38308
|
+
json[i6++] = QUOTE;
|
|
38309
|
+
for (let j6 = 0; j6 < z; ++j6) {
|
|
38310
|
+
json[i6++] = s2.charCodeAt(j6);
|
|
38311
|
+
}
|
|
38312
|
+
json[i6++] = QUOTE;
|
|
38313
|
+
this.i = i6;
|
|
38314
|
+
}
|
|
38315
|
+
writeJsonString(s2) {
|
|
38316
|
+
this.ensure(s2.length * 3 + 2);
|
|
38317
|
+
this.json[this.i++] = QUOTE;
|
|
38318
|
+
const z = s2.length;
|
|
38319
|
+
for (let j6 = 0; j6 < z; ++j6) {
|
|
38320
|
+
const c6 = s2.charCodeAt(j6);
|
|
38321
|
+
if (c6 > 34 && c6 < 92) {
|
|
38322
|
+
this.json[this.i++] = c6;
|
|
38323
|
+
} else if (c6 < 128) {
|
|
38324
|
+
const esc = ESCAPE_TABLE[c6];
|
|
38325
|
+
if (esc !== null) {
|
|
38326
|
+
this.ensure(esc.length + 1);
|
|
38327
|
+
this.json[this.i++] = BACKSLASH;
|
|
38328
|
+
for (let k6 = 0; k6 < esc.length; k6++) {
|
|
38329
|
+
this.json[this.i++] = esc.charCodeAt(k6);
|
|
38082
38330
|
}
|
|
38331
|
+
} else {
|
|
38332
|
+
this.json[this.i++] = c6;
|
|
38083
38333
|
}
|
|
38084
|
-
|
|
38085
|
-
|
|
38086
|
-
|
|
38087
|
-
|
|
38088
|
-
|
|
38089
|
-
|
|
38090
|
-
|
|
38091
|
-
|
|
38092
|
-
|
|
38093
|
-
|
|
38094
|
-
for (const k6 in record) {
|
|
38095
|
-
const v = record[k6];
|
|
38096
|
-
const targetKey = jsonName ? nameMap[k6] ?? k6 : k6;
|
|
38097
|
-
if (!(targetKey in out)) {
|
|
38098
|
-
out[targetKey] = this._write(15, v);
|
|
38099
|
-
}
|
|
38100
|
-
}
|
|
38334
|
+
} else if (c6 >= 55296 && c6 <= 56319) {
|
|
38335
|
+
const next = j6 + 1 < z ? s2.charCodeAt(j6 + 1) : 0;
|
|
38336
|
+
if (next >= 56320 && next <= 57343) {
|
|
38337
|
+
this.ensure(4);
|
|
38338
|
+
const { written } = encoder.encodeInto(s2.substring(j6, j6 + 2), this.json.subarray(this.i));
|
|
38339
|
+
this.i += written;
|
|
38340
|
+
++j6;
|
|
38341
|
+
} else {
|
|
38342
|
+
this.ensure(6);
|
|
38343
|
+
this.writeUnicodeEscape(c6);
|
|
38101
38344
|
}
|
|
38102
|
-
|
|
38345
|
+
} else if (c6 >= 56320 && c6 <= 57343) {
|
|
38346
|
+
this.ensure(6);
|
|
38347
|
+
this.writeUnicodeEscape(c6);
|
|
38348
|
+
} else {
|
|
38349
|
+
let { i: i6, json } = this;
|
|
38350
|
+
if (c6 < 2048) {
|
|
38351
|
+
json[i6++] = 192 | c6 >> 6;
|
|
38352
|
+
json[i6++] = 128 | c6 & 63;
|
|
38353
|
+
} else {
|
|
38354
|
+
json[i6++] = 224 | c6 >> 12;
|
|
38355
|
+
json[i6++] = 128 | c6 >> 6 & 63;
|
|
38356
|
+
json[i6++] = 128 | c6 & 63;
|
|
38357
|
+
}
|
|
38358
|
+
this.i = i6;
|
|
38103
38359
|
}
|
|
38104
|
-
|
|
38105
|
-
|
|
38106
|
-
|
|
38107
|
-
|
|
38108
|
-
|
|
38109
|
-
|
|
38110
|
-
|
|
38360
|
+
}
|
|
38361
|
+
this.json[this.i++] = QUOTE;
|
|
38362
|
+
}
|
|
38363
|
+
writeUnicodeEscape(code) {
|
|
38364
|
+
let { json, i: i6 } = this;
|
|
38365
|
+
json[i6++] = BACKSLASH;
|
|
38366
|
+
json[i6++] = 117;
|
|
38367
|
+
const hex = code.toString(16).padStart(4, "0");
|
|
38368
|
+
for (let j6 = 0; j6 < 4; ++j6) {
|
|
38369
|
+
json[i6++] = hex.charCodeAt(j6);
|
|
38370
|
+
}
|
|
38371
|
+
this.i = i6;
|
|
38372
|
+
}
|
|
38373
|
+
static B64 = (() => {
|
|
38374
|
+
const chars3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
38375
|
+
const table3 = new Uint8Array(64);
|
|
38376
|
+
for (let i6 = 0; i6 < 64; ++i6) {
|
|
38377
|
+
table3[i6] = chars3.charCodeAt(i6);
|
|
38378
|
+
}
|
|
38379
|
+
return table3;
|
|
38380
|
+
})();
|
|
38381
|
+
writeBase64(data) {
|
|
38382
|
+
const b64Len = Math.ceil(data.length / 3) * 4;
|
|
38383
|
+
this.ensure(b64Len + 2);
|
|
38384
|
+
const json = this.json;
|
|
38385
|
+
const B64 = _JsonShapeSerializer2.B64;
|
|
38386
|
+
let i6 = this.i;
|
|
38387
|
+
json[i6++] = QUOTE;
|
|
38388
|
+
const len = data.length;
|
|
38389
|
+
const remainder = len % 3;
|
|
38390
|
+
const mainLen = len - remainder;
|
|
38391
|
+
for (let j6 = 0; j6 < mainLen; j6 += 3) {
|
|
38392
|
+
const a6 = data[j6];
|
|
38393
|
+
const b6 = data[j6 + 1];
|
|
38394
|
+
const c6 = data[j6 + 2];
|
|
38395
|
+
json[i6++] = B64[a6 >> 2];
|
|
38396
|
+
json[i6++] = B64[(a6 & 3) << 4 | b6 >> 4];
|
|
38397
|
+
json[i6++] = B64[(b6 & 15) << 2 | c6 >> 6];
|
|
38398
|
+
json[i6++] = B64[c6 & 63];
|
|
38399
|
+
}
|
|
38400
|
+
if (remainder === 2) {
|
|
38401
|
+
const a6 = data[mainLen];
|
|
38402
|
+
const b6 = data[mainLen + 1];
|
|
38403
|
+
json[i6++] = B64[a6 >> 2];
|
|
38404
|
+
json[i6++] = B64[(a6 & 3) << 4 | b6 >> 4];
|
|
38405
|
+
json[i6++] = B64[(b6 & 15) << 2];
|
|
38406
|
+
json[i6++] = 61;
|
|
38407
|
+
} else if (remainder === 1) {
|
|
38408
|
+
const a6 = data[mainLen];
|
|
38409
|
+
json[i6++] = B64[a6 >> 2];
|
|
38410
|
+
json[i6++] = B64[(a6 & 3) << 4];
|
|
38411
|
+
json[i6++] = 61;
|
|
38412
|
+
json[i6++] = 61;
|
|
38413
|
+
}
|
|
38414
|
+
json[i6++] = QUOTE;
|
|
38415
|
+
this.i = i6;
|
|
38416
|
+
}
|
|
38417
|
+
writeValue(schema, value2, container) {
|
|
38418
|
+
if (value2 == null) {
|
|
38419
|
+
if (container?.isStructSchema()) {
|
|
38420
|
+
if (value2 === void 0) {
|
|
38421
|
+
const ns2 = NormalizedSchema.of(schema);
|
|
38422
|
+
if (ns2.isIdempotencyToken()) {
|
|
38423
|
+
this.writeAsciiQuoted(generateIdempotencyToken());
|
|
38424
|
+
return;
|
|
38111
38425
|
}
|
|
38112
38426
|
}
|
|
38113
|
-
return
|
|
38427
|
+
return;
|
|
38114
38428
|
}
|
|
38115
|
-
|
|
38116
|
-
|
|
38117
|
-
|
|
38118
|
-
|
|
38119
|
-
|
|
38120
|
-
|
|
38121
|
-
|
|
38122
|
-
|
|
38123
|
-
|
|
38124
|
-
|
|
38125
|
-
|
|
38126
|
-
|
|
38429
|
+
this.ensure(4);
|
|
38430
|
+
this.json.set(NULL, this.i);
|
|
38431
|
+
this.i += 4;
|
|
38432
|
+
return;
|
|
38433
|
+
}
|
|
38434
|
+
const ns = NormalizedSchema.of(schema);
|
|
38435
|
+
const isObject3 = typeof value2 === "object";
|
|
38436
|
+
if (ns.isStringSchema()) {
|
|
38437
|
+
const mediaType = ns.getMergedTraits().mediaType;
|
|
38438
|
+
if (mediaType) {
|
|
38439
|
+
const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
|
|
38440
|
+
if (isJson) {
|
|
38441
|
+
this.writeJsonString(LazyJsonString.from(value2).toString());
|
|
38442
|
+
return;
|
|
38127
38443
|
}
|
|
38128
|
-
|
|
38444
|
+
}
|
|
38445
|
+
}
|
|
38446
|
+
if (isObject3) {
|
|
38447
|
+
if (ns.isStructSchema()) {
|
|
38448
|
+
this.writeStruct(ns, value2);
|
|
38449
|
+
return;
|
|
38450
|
+
}
|
|
38451
|
+
if (Array.isArray(value2) && (ns.isListSchema() || ns.isDocumentSchema())) {
|
|
38452
|
+
this.writeList(ns, value2, ns.isDocumentSchema());
|
|
38453
|
+
return;
|
|
38454
|
+
}
|
|
38455
|
+
if (ns.isMapSchema()) {
|
|
38456
|
+
this.writeMap(ns, value2, false);
|
|
38457
|
+
return;
|
|
38129
38458
|
}
|
|
38130
38459
|
if (value2 instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {
|
|
38131
|
-
|
|
38132
|
-
|
|
38133
|
-
}
|
|
38134
|
-
return (this.serdeContext?.base64Encoder ?? toBase64)(value2);
|
|
38460
|
+
this.writeBase64(value2);
|
|
38461
|
+
return;
|
|
38135
38462
|
}
|
|
38136
38463
|
if (value2 instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {
|
|
38137
|
-
|
|
38138
|
-
|
|
38139
|
-
case 5:
|
|
38140
|
-
return value2.toISOString().replace(".000Z", "Z");
|
|
38141
|
-
case 6:
|
|
38142
|
-
return dateToUtcString(value2);
|
|
38143
|
-
case 7:
|
|
38144
|
-
return value2.getTime() / 1e3;
|
|
38145
|
-
default:
|
|
38146
|
-
console.warn("Missing timestamp format, using epoch seconds", value2);
|
|
38147
|
-
return value2.getTime() / 1e3;
|
|
38148
|
-
}
|
|
38464
|
+
this.writeTimestamp(ns, value2);
|
|
38465
|
+
return;
|
|
38149
38466
|
}
|
|
38150
38467
|
if (value2 instanceof NumericValue) {
|
|
38151
|
-
this.
|
|
38468
|
+
this.writeAscii(value2.string);
|
|
38469
|
+
return;
|
|
38152
38470
|
}
|
|
38471
|
+
if (ns.isDocumentSchema()) {
|
|
38472
|
+
if (Array.isArray(value2)) {
|
|
38473
|
+
this.writeList(ns, value2, true);
|
|
38474
|
+
} else {
|
|
38475
|
+
this.writeMap(ns, value2, true);
|
|
38476
|
+
}
|
|
38477
|
+
return;
|
|
38478
|
+
}
|
|
38479
|
+
const json = JSON.stringify(value2);
|
|
38480
|
+
this.writeAscii(json);
|
|
38481
|
+
return;
|
|
38153
38482
|
}
|
|
38154
|
-
if (value2 ===
|
|
38155
|
-
|
|
38483
|
+
if (typeof value2 === "string") {
|
|
38484
|
+
if (ns.isBlobSchema()) {
|
|
38485
|
+
const b64 = (this.serdeContext?.base64Encoder ?? toBase64)(value2);
|
|
38486
|
+
this.writeAsciiQuoted(b64);
|
|
38487
|
+
return;
|
|
38488
|
+
}
|
|
38489
|
+
this.writeJsonString(value2);
|
|
38490
|
+
return;
|
|
38156
38491
|
}
|
|
38157
|
-
if (
|
|
38158
|
-
if (
|
|
38159
|
-
|
|
38492
|
+
if (typeof value2 === "number") {
|
|
38493
|
+
if (Math.abs(value2) === Infinity || Number.isNaN(value2)) {
|
|
38494
|
+
this.writeAsciiQuoted(String(value2));
|
|
38495
|
+
return;
|
|
38160
38496
|
}
|
|
38161
|
-
const
|
|
38162
|
-
|
|
38163
|
-
|
|
38164
|
-
|
|
38165
|
-
|
|
38166
|
-
|
|
38497
|
+
const numStr = String(value2);
|
|
38498
|
+
this.writeAscii(numStr);
|
|
38499
|
+
return;
|
|
38500
|
+
}
|
|
38501
|
+
if (typeof value2 === "boolean") {
|
|
38502
|
+
this.ensure(5);
|
|
38503
|
+
let { i: i6, json } = this;
|
|
38504
|
+
if (value2) {
|
|
38505
|
+
json.set(TRUE, i6);
|
|
38506
|
+
i6 += 4;
|
|
38507
|
+
} else {
|
|
38508
|
+
json.set(FALSE, i6);
|
|
38509
|
+
i6 += 5;
|
|
38167
38510
|
}
|
|
38168
|
-
|
|
38511
|
+
this.i = i6;
|
|
38512
|
+
return;
|
|
38169
38513
|
}
|
|
38170
|
-
if (typeof value2 === "
|
|
38171
|
-
|
|
38172
|
-
|
|
38514
|
+
if (typeof value2 === "bigint") {
|
|
38515
|
+
this.writeAscii(value2.toString());
|
|
38516
|
+
return;
|
|
38517
|
+
}
|
|
38518
|
+
this.writeAscii(String(value2));
|
|
38519
|
+
}
|
|
38520
|
+
writeStruct(ns, value2) {
|
|
38521
|
+
this.ensure(2);
|
|
38522
|
+
this.json[this.i++] = OPEN_BRACE;
|
|
38523
|
+
let wroteAny = false;
|
|
38524
|
+
const hasType = typeof value2.__type === "string";
|
|
38525
|
+
let writtenKeys;
|
|
38526
|
+
if (hasType) {
|
|
38527
|
+
writtenKeys = /* @__PURE__ */ new Set();
|
|
38528
|
+
}
|
|
38529
|
+
for (const [memberName, memberSchema] of ns.structIterator()) {
|
|
38530
|
+
const item = value2[memberName];
|
|
38531
|
+
if (item == null && !memberSchema.isIdempotencyToken()) {
|
|
38532
|
+
continue;
|
|
38173
38533
|
}
|
|
38174
|
-
|
|
38534
|
+
if (wroteAny) {
|
|
38535
|
+
this.ensure(1);
|
|
38536
|
+
this.json[this.i++] = COMMA;
|
|
38537
|
+
}
|
|
38538
|
+
wroteAny = true;
|
|
38539
|
+
const targetKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;
|
|
38540
|
+
if (writtenKeys) {
|
|
38541
|
+
writtenKeys.add(memberName);
|
|
38542
|
+
writtenKeys.add(targetKey);
|
|
38543
|
+
}
|
|
38544
|
+
this.writeAsciiQuoted(targetKey);
|
|
38545
|
+
this.json[this.i++] = COLON;
|
|
38546
|
+
this.writeValue(memberSchema, item, ns);
|
|
38175
38547
|
}
|
|
38176
|
-
if (
|
|
38177
|
-
|
|
38178
|
-
|
|
38548
|
+
if (!wroteAny && ns.isUnionSchema()) {
|
|
38549
|
+
const { $unknown } = value2;
|
|
38550
|
+
if (Array.isArray($unknown)) {
|
|
38551
|
+
const [k6, v] = $unknown;
|
|
38552
|
+
this.writeAsciiQuoted(k6);
|
|
38553
|
+
this.ensure(1);
|
|
38554
|
+
this.json[this.i++] = COLON;
|
|
38555
|
+
this.writeValue(15, v, ns);
|
|
38556
|
+
}
|
|
38557
|
+
} else if (hasType) {
|
|
38558
|
+
for (const k6 in value2) {
|
|
38559
|
+
if (writtenKeys.has(k6)) {
|
|
38560
|
+
continue;
|
|
38561
|
+
}
|
|
38562
|
+
writtenKeys.add(k6);
|
|
38563
|
+
const v = value2[k6];
|
|
38564
|
+
if (wroteAny) {
|
|
38565
|
+
this.ensure(1);
|
|
38566
|
+
this.json[this.i++] = COMMA;
|
|
38567
|
+
}
|
|
38568
|
+
wroteAny = true;
|
|
38569
|
+
this.writeAsciiQuoted(k6);
|
|
38570
|
+
this.ensure(1);
|
|
38571
|
+
this.json[this.i++] = COLON;
|
|
38572
|
+
this.writeValue(15, v, void 0);
|
|
38179
38573
|
}
|
|
38180
|
-
return (this.serdeContext?.base64Encoder ?? toBase64)(value2);
|
|
38181
38574
|
}
|
|
38182
|
-
|
|
38183
|
-
|
|
38575
|
+
this.ensure(1);
|
|
38576
|
+
this.json[this.i++] = CLOSE_BRACE;
|
|
38577
|
+
}
|
|
38578
|
+
writeList(ns, value2, isDocument) {
|
|
38579
|
+
const sparse = !!ns.getMergedTraits().sparse;
|
|
38580
|
+
const valueSchema = ns.getValueSchema();
|
|
38581
|
+
if (!isDocument) {
|
|
38582
|
+
if (valueSchema.isStringSchema() || valueSchema.isNumericSchema() || valueSchema.isBooleanSchema()) {
|
|
38583
|
+
let hasSpecials = false;
|
|
38584
|
+
for (let i6 = 0; i6 < value2.length; ++i6) {
|
|
38585
|
+
const v = value2[i6];
|
|
38586
|
+
if (Number.isNaN(v) || v === Infinity || v === -Infinity || v == null && !sparse) {
|
|
38587
|
+
hasSpecials = true;
|
|
38588
|
+
break;
|
|
38589
|
+
}
|
|
38590
|
+
}
|
|
38591
|
+
let json;
|
|
38592
|
+
if (!hasSpecials) {
|
|
38593
|
+
json = JSON.stringify(value2);
|
|
38594
|
+
} else {
|
|
38595
|
+
const out = [];
|
|
38596
|
+
for (let i6 = 0; i6 < value2.length; ++i6) {
|
|
38597
|
+
const v = value2[i6];
|
|
38598
|
+
if (v == null && !sparse)
|
|
38599
|
+
continue;
|
|
38600
|
+
if (Number.isNaN(v) || v === Infinity || v === -Infinity) {
|
|
38601
|
+
out.push(String(v));
|
|
38602
|
+
} else {
|
|
38603
|
+
out.push(v);
|
|
38604
|
+
}
|
|
38605
|
+
}
|
|
38606
|
+
json = JSON.stringify(out);
|
|
38607
|
+
}
|
|
38608
|
+
this.ensure(json.length * 3);
|
|
38609
|
+
this.i += encoder.encodeInto(json, this.json.subarray(this.i)).written;
|
|
38610
|
+
return;
|
|
38611
|
+
}
|
|
38184
38612
|
}
|
|
38185
|
-
|
|
38186
|
-
|
|
38187
|
-
|
|
38613
|
+
this.ensure(2);
|
|
38614
|
+
this.json[this.i++] = OPEN_BRACKET;
|
|
38615
|
+
let wroteFirstItem = false;
|
|
38616
|
+
for (let i6 = 0; i6 < value2.length; ++i6) {
|
|
38617
|
+
const item = value2[i6];
|
|
38618
|
+
if (isDocument ? item === void 0 : item == null && !sparse) {
|
|
38619
|
+
continue;
|
|
38620
|
+
}
|
|
38621
|
+
if (wroteFirstItem) {
|
|
38622
|
+
this.ensure(1);
|
|
38623
|
+
this.json[this.i++] = COMMA;
|
|
38624
|
+
}
|
|
38625
|
+
this.writeValue(valueSchema, item, void 0);
|
|
38626
|
+
wroteFirstItem = true;
|
|
38627
|
+
}
|
|
38628
|
+
this.ensure(1);
|
|
38629
|
+
this.json[this.i++] = CLOSE_BRACKET;
|
|
38630
|
+
}
|
|
38631
|
+
writeMap(ns, value2, isDocument) {
|
|
38632
|
+
const sparse = !!ns.getMergedTraits().sparse;
|
|
38633
|
+
const valueSchema = ns.getValueSchema();
|
|
38634
|
+
if (!isDocument) {
|
|
38635
|
+
if (valueSchema.isStringSchema() || valueSchema.isNumericSchema() || valueSchema.isBooleanSchema()) {
|
|
38636
|
+
let modifications;
|
|
38188
38637
|
for (const k6 in value2) {
|
|
38189
38638
|
const v = value2[k6];
|
|
38190
|
-
if (
|
|
38191
|
-
|
|
38192
|
-
|
|
38193
|
-
if (v
|
|
38194
|
-
|
|
38195
|
-
|
|
38196
|
-
} else {
|
|
38197
|
-
out[k6] = this._write(ns, v);
|
|
38639
|
+
if (Number.isNaN(v) || v === Infinity || v === -Infinity) {
|
|
38640
|
+
(modifications ??= {})[k6] = v;
|
|
38641
|
+
value2[k6] = String(v);
|
|
38642
|
+
} else if (v === null && !sparse) {
|
|
38643
|
+
(modifications ??= {})[k6] = null;
|
|
38644
|
+
value2[k6] = void 0;
|
|
38198
38645
|
}
|
|
38199
38646
|
}
|
|
38200
|
-
|
|
38201
|
-
|
|
38202
|
-
|
|
38647
|
+
const json = JSON.stringify(value2);
|
|
38648
|
+
if (modifications) {
|
|
38649
|
+
Object.assign(value2, modifications);
|
|
38650
|
+
}
|
|
38651
|
+
this.ensure(json.length * 3);
|
|
38652
|
+
this.i += encoder.encodeInto(json, this.json.subarray(this.i)).written;
|
|
38653
|
+
return;
|
|
38654
|
+
}
|
|
38655
|
+
}
|
|
38656
|
+
this.ensure(2);
|
|
38657
|
+
this.json[this.i++] = OPEN_BRACE;
|
|
38658
|
+
let first = true;
|
|
38659
|
+
for (const k6 in value2) {
|
|
38660
|
+
const v = value2[k6];
|
|
38661
|
+
if (isDocument ? v === void 0 : v == null && !sparse) {
|
|
38662
|
+
continue;
|
|
38663
|
+
}
|
|
38664
|
+
if (!first) {
|
|
38665
|
+
this.ensure(1);
|
|
38666
|
+
this.json[this.i++] = COMMA;
|
|
38667
|
+
}
|
|
38668
|
+
first = false;
|
|
38669
|
+
this.writeJsonString(k6);
|
|
38670
|
+
this.ensure(1);
|
|
38671
|
+
this.json[this.i++] = COLON;
|
|
38672
|
+
this.writeValue(valueSchema, v, void 0);
|
|
38673
|
+
}
|
|
38674
|
+
this.ensure(1);
|
|
38675
|
+
this.json[this.i++] = CLOSE_BRACE;
|
|
38676
|
+
}
|
|
38677
|
+
writeTimestamp(ns, value2) {
|
|
38678
|
+
const format30 = determineTimestampFormat(ns, this.settings);
|
|
38679
|
+
switch (format30) {
|
|
38680
|
+
case 5: {
|
|
38681
|
+
const iso = value2.toISOString().replace(".000Z", "Z");
|
|
38682
|
+
this.writeAsciiQuoted(iso);
|
|
38683
|
+
return;
|
|
38684
|
+
}
|
|
38685
|
+
case 6: {
|
|
38686
|
+
this.writeAsciiQuoted(dateToUtcString(value2));
|
|
38687
|
+
return;
|
|
38688
|
+
}
|
|
38689
|
+
case 7: {
|
|
38690
|
+
const epochSecs = String(value2.getTime() / 1e3);
|
|
38691
|
+
this.writeAscii(epochSecs);
|
|
38692
|
+
return;
|
|
38693
|
+
}
|
|
38694
|
+
default: {
|
|
38695
|
+
const epochSecs = String(value2.getTime() / 1e3);
|
|
38696
|
+
this.writeAscii(epochSecs);
|
|
38697
|
+
return;
|
|
38203
38698
|
}
|
|
38204
38699
|
}
|
|
38205
|
-
return value2;
|
|
38206
38700
|
}
|
|
38207
38701
|
};
|
|
38208
38702
|
}
|
|
38209
38703
|
});
|
|
38210
38704
|
|
|
38211
|
-
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
38212
|
-
var
|
|
38213
|
-
var
|
|
38214
|
-
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
38705
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js
|
|
38706
|
+
var JsonCodec2;
|
|
38707
|
+
var init_JsonCodec2 = __esm({
|
|
38708
|
+
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js"() {
|
|
38215
38709
|
init_ConfigurableSerdeContext();
|
|
38216
|
-
|
|
38217
|
-
|
|
38218
|
-
|
|
38710
|
+
init_JsonShapeDeserializer2();
|
|
38711
|
+
init_JsonShapeSerializer2();
|
|
38712
|
+
JsonCodec2 = class extends SerdeContextConfig {
|
|
38219
38713
|
static {
|
|
38220
|
-
__name(this, "
|
|
38714
|
+
__name(this, "JsonCodec2");
|
|
38221
38715
|
}
|
|
38222
38716
|
settings;
|
|
38223
38717
|
constructor(settings) {
|
|
@@ -38225,12 +38719,12 @@ var init_JsonCodec = __esm({
|
|
|
38225
38719
|
this.settings = settings;
|
|
38226
38720
|
}
|
|
38227
38721
|
createSerializer() {
|
|
38228
|
-
const serializer = new
|
|
38722
|
+
const serializer = new JsonShapeSerializer2(this.settings);
|
|
38229
38723
|
serializer.setSerdeContext(this.serdeContext);
|
|
38230
38724
|
return serializer;
|
|
38231
38725
|
}
|
|
38232
38726
|
createDeserializer() {
|
|
38233
|
-
const deserializer = new
|
|
38727
|
+
const deserializer = new JsonShapeDeserializer2(this.settings);
|
|
38234
38728
|
deserializer.setSerdeContext(this.serdeContext);
|
|
38235
38729
|
return deserializer;
|
|
38236
38730
|
}
|
|
@@ -38245,7 +38739,7 @@ var init_AwsJsonRpcProtocol = __esm({
|
|
|
38245
38739
|
init_protocols();
|
|
38246
38740
|
init_schema4();
|
|
38247
38741
|
init_ProtocolLib();
|
|
38248
|
-
|
|
38742
|
+
init_JsonCodec2();
|
|
38249
38743
|
init_parseJsonBody();
|
|
38250
38744
|
AwsJsonRpcProtocol = class extends RpcProtocol {
|
|
38251
38745
|
static {
|
|
@@ -38263,7 +38757,7 @@ var init_AwsJsonRpcProtocol = __esm({
|
|
|
38263
38757
|
errorTypeRegistries: errorTypeRegistries6
|
|
38264
38758
|
});
|
|
38265
38759
|
this.serviceTarget = serviceTarget;
|
|
38266
|
-
this.codec = jsonCodec ?? new
|
|
38760
|
+
this.codec = jsonCodec ?? new JsonCodec2({
|
|
38267
38761
|
timestampFormat: {
|
|
38268
38762
|
useTrait: true,
|
|
38269
38763
|
default: 7
|
|
@@ -38393,7 +38887,7 @@ var init_AwsRestJsonProtocol = __esm({
|
|
|
38393
38887
|
init_protocols();
|
|
38394
38888
|
init_schema4();
|
|
38395
38889
|
init_ProtocolLib();
|
|
38396
|
-
|
|
38890
|
+
init_JsonCodec2();
|
|
38397
38891
|
init_parseJsonBody();
|
|
38398
38892
|
AwsRestJsonProtocol = class extends HttpBindingProtocol {
|
|
38399
38893
|
static {
|
|
@@ -38403,7 +38897,7 @@ var init_AwsRestJsonProtocol = __esm({
|
|
|
38403
38897
|
deserializer;
|
|
38404
38898
|
codec;
|
|
38405
38899
|
mixin = new ProtocolLib();
|
|
38406
|
-
constructor({ defaultNamespace, errorTypeRegistries: errorTypeRegistries6 }) {
|
|
38900
|
+
constructor({ defaultNamespace, errorTypeRegistries: errorTypeRegistries6, jsonCodec }) {
|
|
38407
38901
|
super({
|
|
38408
38902
|
defaultNamespace,
|
|
38409
38903
|
errorTypeRegistries: errorTypeRegistries6
|
|
@@ -38416,7 +38910,7 @@ var init_AwsRestJsonProtocol = __esm({
|
|
|
38416
38910
|
httpBindings: true,
|
|
38417
38911
|
jsonName: true
|
|
38418
38912
|
};
|
|
38419
|
-
this.codec = new
|
|
38913
|
+
this.codec = jsonCodec ?? new JsonCodec2(settings);
|
|
38420
38914
|
this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);
|
|
38421
38915
|
this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);
|
|
38422
38916
|
}
|
|
@@ -38481,24 +38975,23 @@ var init_AwsRestJsonProtocol = __esm({
|
|
|
38481
38975
|
}
|
|
38482
38976
|
});
|
|
38483
38977
|
|
|
38484
|
-
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
38485
|
-
var
|
|
38486
|
-
var
|
|
38487
|
-
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
38978
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js
|
|
38979
|
+
var JsonShapeDeserializer;
|
|
38980
|
+
var init_JsonShapeDeserializer = __esm({
|
|
38981
|
+
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js"() {
|
|
38488
38982
|
init_protocols();
|
|
38489
38983
|
init_schema4();
|
|
38490
38984
|
init_serde();
|
|
38491
38985
|
init_serde();
|
|
38492
38986
|
init_ConfigurableSerdeContext();
|
|
38493
38987
|
init_UnionSerde();
|
|
38494
|
-
init_detectBufferParsing();
|
|
38495
38988
|
init_jsonReviver();
|
|
38496
38989
|
init_needsReviver();
|
|
38497
38990
|
init_parseJsonBody();
|
|
38498
38991
|
init_writeKey();
|
|
38499
|
-
|
|
38992
|
+
JsonShapeDeserializer = class extends SerdeContextConfig {
|
|
38500
38993
|
static {
|
|
38501
|
-
__name(this, "
|
|
38994
|
+
__name(this, "JsonShapeDeserializer");
|
|
38502
38995
|
}
|
|
38503
38996
|
settings;
|
|
38504
38997
|
constructor(settings) {
|
|
@@ -38507,16 +39000,7 @@ var init_JsonShapeDeserializer2 = __esm({
|
|
|
38507
39000
|
}
|
|
38508
39001
|
async read(schema, data) {
|
|
38509
39002
|
const reviver = needsReviver(schema) ? jsonReviver : void 0;
|
|
38510
|
-
|
|
38511
|
-
if (typeof data === "string") {
|
|
38512
|
-
parsed = JSON.parse(data, reviver);
|
|
38513
|
-
} else if (data instanceof Uint8Array && detectBufferParsing()) {
|
|
38514
|
-
const buf2 = Buffer.isBuffer(data) ? data : Buffer.from(data.buffer, data.byteOffset, data.byteLength);
|
|
38515
|
-
parsed = JSON.parse(buf2, reviver);
|
|
38516
|
-
} else {
|
|
38517
|
-
parsed = await parseJsonBody(data, this.serdeContext);
|
|
38518
|
-
}
|
|
38519
|
-
return this._read(schema, parsed);
|
|
39003
|
+
return this._read(schema, typeof data === "string" ? JSON.parse(data, reviver) : await parseJsonBody(data, this.serdeContext, schema));
|
|
38520
39004
|
}
|
|
38521
39005
|
readObject(schema, data) {
|
|
38522
39006
|
return this._read(schema, data);
|
|
@@ -38526,25 +39010,62 @@ var init_JsonShapeDeserializer2 = __esm({
|
|
|
38526
39010
|
const ns = NormalizedSchema.of(schema);
|
|
38527
39011
|
if (isObject3) {
|
|
38528
39012
|
if (ns.isStructSchema()) {
|
|
38529
|
-
|
|
39013
|
+
const record = value2;
|
|
39014
|
+
const union = ns.isUnionSchema();
|
|
39015
|
+
const out = {};
|
|
39016
|
+
let nameMap = void 0;
|
|
39017
|
+
const { jsonName } = this.settings;
|
|
39018
|
+
if (jsonName) {
|
|
39019
|
+
nameMap = {};
|
|
39020
|
+
}
|
|
39021
|
+
let unionSerde;
|
|
39022
|
+
if (union) {
|
|
39023
|
+
unionSerde = new UnionSerde(record, out);
|
|
39024
|
+
}
|
|
39025
|
+
for (const [memberName, memberSchema] of ns.structIterator()) {
|
|
39026
|
+
let fromKey = memberName;
|
|
39027
|
+
if (jsonName) {
|
|
39028
|
+
fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;
|
|
39029
|
+
nameMap[fromKey] = memberName;
|
|
39030
|
+
}
|
|
39031
|
+
if (union) {
|
|
39032
|
+
unionSerde.mark(fromKey);
|
|
39033
|
+
}
|
|
39034
|
+
if (record[fromKey] != null) {
|
|
39035
|
+
out[memberName] = this._read(memberSchema, record[fromKey]);
|
|
39036
|
+
}
|
|
39037
|
+
}
|
|
39038
|
+
if (union) {
|
|
39039
|
+
unionSerde.writeUnknown();
|
|
39040
|
+
} else if (typeof record.__type === "string") {
|
|
39041
|
+
for (const k6 in record) {
|
|
39042
|
+
const v = record[k6];
|
|
39043
|
+
const t = jsonName ? nameMap[k6] ?? k6 : k6;
|
|
39044
|
+
if (!(t in out)) {
|
|
39045
|
+
out[t] = v;
|
|
39046
|
+
}
|
|
39047
|
+
}
|
|
39048
|
+
}
|
|
39049
|
+
return out;
|
|
38530
39050
|
}
|
|
38531
39051
|
if (Array.isArray(value2) && ns.isListSchema()) {
|
|
38532
39052
|
const listMember = ns.getValueSchema();
|
|
38533
|
-
|
|
38534
|
-
|
|
39053
|
+
const out = [];
|
|
39054
|
+
for (const item of value2) {
|
|
39055
|
+
out.push(this._read(listMember, item));
|
|
38535
39056
|
}
|
|
38536
|
-
return
|
|
39057
|
+
return out;
|
|
38537
39058
|
}
|
|
38538
39059
|
if (ns.isMapSchema()) {
|
|
38539
39060
|
const mapMember = ns.getValueSchema();
|
|
38540
|
-
const
|
|
38541
|
-
for (const
|
|
38542
|
-
if (
|
|
38543
|
-
writeKey(
|
|
39061
|
+
const out = {};
|
|
39062
|
+
for (const _k in value2) {
|
|
39063
|
+
if (_k === "__proto__") {
|
|
39064
|
+
writeKey(out);
|
|
38544
39065
|
}
|
|
38545
|
-
|
|
39066
|
+
out[_k] = this._read(mapMember, value2[_k]);
|
|
38546
39067
|
}
|
|
38547
|
-
return
|
|
39068
|
+
return out;
|
|
38548
39069
|
}
|
|
38549
39070
|
}
|
|
38550
39071
|
if (ns.isBlobSchema() && typeof value2 === "string") {
|
|
@@ -38598,577 +39119,295 @@ var init_JsonShapeDeserializer2 = __esm({
|
|
|
38598
39119
|
}
|
|
38599
39120
|
if (ns.isDocumentSchema()) {
|
|
38600
39121
|
if (isObject3) {
|
|
38601
|
-
|
|
38602
|
-
|
|
38603
|
-
|
|
38604
|
-
|
|
38605
|
-
value2[i6] = this._read(ns, v);
|
|
38606
|
-
}
|
|
39122
|
+
const out = Array.isArray(value2) ? [] : {};
|
|
39123
|
+
for (const k6 in value2) {
|
|
39124
|
+
if (k6 === "__proto__") {
|
|
39125
|
+
writeKey(out);
|
|
38607
39126
|
}
|
|
38608
|
-
|
|
38609
|
-
|
|
38610
|
-
|
|
38611
|
-
|
|
38612
|
-
|
|
38613
|
-
}
|
|
38614
|
-
const v = doc[k6];
|
|
38615
|
-
if (!(v instanceof NumericValue)) {
|
|
38616
|
-
doc[k6] = this._read(ns, v);
|
|
38617
|
-
}
|
|
39127
|
+
const v = value2[k6];
|
|
39128
|
+
if (v instanceof NumericValue) {
|
|
39129
|
+
out[k6] = v;
|
|
39130
|
+
} else {
|
|
39131
|
+
out[k6] = this._read(ns, v);
|
|
38618
39132
|
}
|
|
38619
39133
|
}
|
|
38620
|
-
return
|
|
39134
|
+
return out;
|
|
38621
39135
|
} else {
|
|
38622
|
-
return value2;
|
|
39136
|
+
return structuredClone(value2);
|
|
38623
39137
|
}
|
|
38624
39138
|
}
|
|
38625
39139
|
return value2;
|
|
38626
39140
|
}
|
|
38627
|
-
|
|
38628
|
-
|
|
38629
|
-
|
|
38630
|
-
|
|
38631
|
-
|
|
38632
|
-
|
|
38633
|
-
|
|
39141
|
+
};
|
|
39142
|
+
}
|
|
39143
|
+
});
|
|
39144
|
+
|
|
39145
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReplacer.js
|
|
39146
|
+
var NUMERIC_CONTROL_CHAR, JsonReplacer;
|
|
39147
|
+
var init_jsonReplacer = __esm({
|
|
39148
|
+
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReplacer.js"() {
|
|
39149
|
+
init_serde();
|
|
39150
|
+
NUMERIC_CONTROL_CHAR = String.fromCharCode(925);
|
|
39151
|
+
JsonReplacer = class {
|
|
39152
|
+
static {
|
|
39153
|
+
__name(this, "JsonReplacer");
|
|
39154
|
+
}
|
|
39155
|
+
values = /* @__PURE__ */ new Map();
|
|
39156
|
+
counter = 0;
|
|
39157
|
+
stage = 0;
|
|
39158
|
+
createReplacer() {
|
|
39159
|
+
if (this.stage === 1) {
|
|
39160
|
+
throw new Error("@aws-sdk/core/protocols - JsonReplacer already created.");
|
|
38634
39161
|
}
|
|
38635
|
-
|
|
38636
|
-
|
|
38637
|
-
unionSerde = new UnionSerde(record, out);
|
|
39162
|
+
if (this.stage === 2) {
|
|
39163
|
+
throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");
|
|
38638
39164
|
}
|
|
38639
|
-
|
|
38640
|
-
|
|
38641
|
-
if (
|
|
38642
|
-
|
|
38643
|
-
|
|
38644
|
-
|
|
38645
|
-
if (union) {
|
|
38646
|
-
unionSerde.mark(fromKey);
|
|
39165
|
+
this.stage = 1;
|
|
39166
|
+
return (key, value2) => {
|
|
39167
|
+
if (value2 instanceof NumericValue) {
|
|
39168
|
+
const v = `${NUMERIC_CONTROL_CHAR + "nv" + this.counter++}_` + value2.string;
|
|
39169
|
+
this.values.set(`"${v}"`, value2.string);
|
|
39170
|
+
return v;
|
|
38647
39171
|
}
|
|
38648
|
-
if (
|
|
38649
|
-
|
|
39172
|
+
if (typeof value2 === "bigint") {
|
|
39173
|
+
const s2 = value2.toString();
|
|
39174
|
+
const v = `${NUMERIC_CONTROL_CHAR + "b" + this.counter++}_` + s2;
|
|
39175
|
+
this.values.set(`"${v}"`, s2);
|
|
39176
|
+
return v;
|
|
38650
39177
|
}
|
|
39178
|
+
return value2;
|
|
39179
|
+
};
|
|
39180
|
+
}
|
|
39181
|
+
replaceInJson(json) {
|
|
39182
|
+
if (this.stage === 0) {
|
|
39183
|
+
throw new Error("@aws-sdk/core/protocols - JsonReplacer not created yet.");
|
|
38651
39184
|
}
|
|
38652
|
-
if (
|
|
38653
|
-
|
|
38654
|
-
} else if (typeof record.__type === "string") {
|
|
38655
|
-
for (const k6 in record) {
|
|
38656
|
-
const v = record[k6];
|
|
38657
|
-
const t = jsonName ? nameMap[k6] ?? k6 : k6;
|
|
38658
|
-
if (!(t in out)) {
|
|
38659
|
-
out[t] = v;
|
|
38660
|
-
}
|
|
38661
|
-
}
|
|
39185
|
+
if (this.stage === 2) {
|
|
39186
|
+
throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");
|
|
38662
39187
|
}
|
|
38663
|
-
|
|
39188
|
+
this.stage = 2;
|
|
39189
|
+
if (this.counter === 0) {
|
|
39190
|
+
return json;
|
|
39191
|
+
}
|
|
39192
|
+
for (const [key, value2] of this.values) {
|
|
39193
|
+
json = json.replace(key, value2);
|
|
39194
|
+
}
|
|
39195
|
+
return json;
|
|
38664
39196
|
}
|
|
38665
39197
|
};
|
|
38666
39198
|
}
|
|
38667
39199
|
});
|
|
38668
39200
|
|
|
38669
|
-
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
38670
|
-
|
|
38671
|
-
|
|
38672
|
-
|
|
38673
|
-
var encoder, OPEN_BRACE, CLOSE_BRACE, OPEN_BRACKET, CLOSE_BRACKET, QUOTE, COLON, COMMA, BACKSLASH, TRUE, FALSE, NULL, ESCAPE_TABLE, INITIAL_BUFFER_SIZE2, JsonShapeSerializer2;
|
|
38674
|
-
var init_JsonShapeSerializer2 = __esm({
|
|
38675
|
-
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js"() {
|
|
39201
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js
|
|
39202
|
+
var JsonShapeSerializer;
|
|
39203
|
+
var init_JsonShapeSerializer = __esm({
|
|
39204
|
+
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js"() {
|
|
38676
39205
|
init_protocols();
|
|
38677
39206
|
init_schema4();
|
|
38678
39207
|
init_serde();
|
|
38679
39208
|
init_ConfigurableSerdeContext();
|
|
39209
|
+
init_jsonReplacer();
|
|
38680
39210
|
init_writeKey();
|
|
38681
|
-
|
|
38682
|
-
OPEN_BRACE = 123;
|
|
38683
|
-
CLOSE_BRACE = 125;
|
|
38684
|
-
OPEN_BRACKET = 91;
|
|
38685
|
-
CLOSE_BRACKET = 93;
|
|
38686
|
-
QUOTE = 34;
|
|
38687
|
-
COLON = 58;
|
|
38688
|
-
COMMA = 44;
|
|
38689
|
-
BACKSLASH = 92;
|
|
38690
|
-
TRUE = new Uint8Array([116, 114, 117, 101]);
|
|
38691
|
-
FALSE = new Uint8Array([102, 97, 108, 115, 101]);
|
|
38692
|
-
NULL = new Uint8Array([110, 117, 108, 108]);
|
|
38693
|
-
ESCAPE_TABLE = new Array(128).fill(null);
|
|
38694
|
-
ESCAPE_TABLE[8] = "b";
|
|
38695
|
-
ESCAPE_TABLE[9] = "t";
|
|
38696
|
-
ESCAPE_TABLE[10] = "n";
|
|
38697
|
-
ESCAPE_TABLE[12] = "f";
|
|
38698
|
-
ESCAPE_TABLE[13] = "r";
|
|
38699
|
-
ESCAPE_TABLE[34] = '"';
|
|
38700
|
-
ESCAPE_TABLE[92] = "\\";
|
|
38701
|
-
for (let i6 = 0; i6 < 32; i6++) {
|
|
38702
|
-
if (ESCAPE_TABLE[i6] === null) {
|
|
38703
|
-
ESCAPE_TABLE[i6] = "u00" + i6.toString(16).padStart(2, "0");
|
|
38704
|
-
}
|
|
38705
|
-
}
|
|
38706
|
-
INITIAL_BUFFER_SIZE2 = 2048;
|
|
38707
|
-
__name(alloc, "alloc");
|
|
38708
|
-
JsonShapeSerializer2 = class _JsonShapeSerializer2 extends SerdeContextConfig {
|
|
39211
|
+
JsonShapeSerializer = class extends SerdeContextConfig {
|
|
38709
39212
|
static {
|
|
38710
|
-
__name(this, "
|
|
39213
|
+
__name(this, "JsonShapeSerializer");
|
|
38711
39214
|
}
|
|
38712
39215
|
settings;
|
|
38713
|
-
|
|
38714
|
-
|
|
39216
|
+
buffer;
|
|
39217
|
+
useReplacer = false;
|
|
38715
39218
|
rootSchema;
|
|
38716
|
-
rawValue;
|
|
38717
|
-
passthrough = false;
|
|
38718
39219
|
constructor(settings) {
|
|
38719
39220
|
super();
|
|
38720
39221
|
this.settings = settings;
|
|
38721
|
-
this.json = alloc(INITIAL_BUFFER_SIZE2);
|
|
38722
39222
|
}
|
|
38723
39223
|
write(schema, value2) {
|
|
38724
|
-
this.i = 0;
|
|
38725
|
-
this.rawValue = value2;
|
|
38726
|
-
this.rootSchema = NormalizedSchema.of(schema);
|
|
38727
|
-
this.passthrough = !this.rootSchema.isStructSchema() && !this.rootSchema.isDocumentSchema() && (this.rootSchema.isBlobSchema() || this.rootSchema.isStringSchema());
|
|
38728
|
-
if (!this.passthrough) {
|
|
38729
|
-
this.writeValue(this.rootSchema, value2, void 0);
|
|
38730
|
-
}
|
|
38731
|
-
}
|
|
38732
|
-
writeDiscriminatedDocument(schema, value2) {
|
|
38733
|
-
this.i = 0;
|
|
38734
39224
|
this.rootSchema = NormalizedSchema.of(schema);
|
|
38735
|
-
|
|
38736
|
-
if (ns.isStructSchema() && value2 != null && typeof value2 === "object") {
|
|
38737
|
-
this.ensure(2);
|
|
38738
|
-
this.json[this.i++] = OPEN_BRACE;
|
|
38739
|
-
this.writeAsciiQuoted("__type");
|
|
38740
|
-
this.json[this.i++] = COLON;
|
|
38741
|
-
this.writeAsciiQuoted(ns.getName(true) ?? "Unknown");
|
|
38742
|
-
let wroteAny = true;
|
|
38743
|
-
const { jsonName } = this.settings;
|
|
38744
|
-
for (const [memberName, memberSchema] of ns.structIterator()) {
|
|
38745
|
-
const item = value2[memberName];
|
|
38746
|
-
if (item == null && !memberSchema.isIdempotencyToken()) {
|
|
38747
|
-
continue;
|
|
38748
|
-
}
|
|
38749
|
-
if (wroteAny) {
|
|
38750
|
-
this.ensure(1);
|
|
38751
|
-
this.json[this.i++] = COMMA;
|
|
38752
|
-
}
|
|
38753
|
-
const targetKey = jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;
|
|
38754
|
-
this.writeAsciiQuoted(targetKey);
|
|
38755
|
-
this.json[this.i++] = COLON;
|
|
38756
|
-
this.writeValue(memberSchema, item, ns);
|
|
38757
|
-
wroteAny = true;
|
|
38758
|
-
}
|
|
38759
|
-
this.ensure(1);
|
|
38760
|
-
this.json[this.i++] = CLOSE_BRACE;
|
|
38761
|
-
} else {
|
|
38762
|
-
this.writeValue(ns, value2, void 0);
|
|
38763
|
-
}
|
|
39225
|
+
this.buffer = this._write(this.rootSchema, value2);
|
|
38764
39226
|
}
|
|
38765
39227
|
flush() {
|
|
39228
|
+
const { rootSchema, useReplacer } = this;
|
|
38766
39229
|
this.rootSchema = void 0;
|
|
38767
|
-
|
|
38768
|
-
|
|
38769
|
-
|
|
38770
|
-
|
|
38771
|
-
if (finalPosition === 0) {
|
|
38772
|
-
return raw;
|
|
38773
|
-
}
|
|
38774
|
-
const result2 = this.json.subarray(0, finalPosition);
|
|
38775
|
-
this.json = alloc(INITIAL_BUFFER_SIZE2);
|
|
38776
|
-
return result2;
|
|
38777
|
-
}
|
|
38778
|
-
ensure(byteCount) {
|
|
38779
|
-
const { i: i6, json } = this;
|
|
38780
|
-
if (i6 + byteCount > json.length) {
|
|
38781
|
-
let newSize = json.length * 2;
|
|
38782
|
-
while (newSize < i6 + byteCount) {
|
|
38783
|
-
newSize *= 2;
|
|
39230
|
+
this.useReplacer = false;
|
|
39231
|
+
if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {
|
|
39232
|
+
if (!useReplacer) {
|
|
39233
|
+
return JSON.stringify(this.buffer);
|
|
38784
39234
|
}
|
|
38785
|
-
const
|
|
38786
|
-
|
|
38787
|
-
this.json = next;
|
|
38788
|
-
}
|
|
38789
|
-
}
|
|
38790
|
-
writeAscii(s2) {
|
|
38791
|
-
const z = s2.length;
|
|
38792
|
-
this.ensure(z);
|
|
38793
|
-
let { i: i6, json } = this;
|
|
38794
|
-
for (let j6 = 0; j6 < z; ++j6) {
|
|
38795
|
-
json[i6] = s2.charCodeAt(j6);
|
|
38796
|
-
i6 += 1;
|
|
39235
|
+
const replacer = new JsonReplacer();
|
|
39236
|
+
return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));
|
|
38797
39237
|
}
|
|
38798
|
-
this.
|
|
39238
|
+
return this.buffer;
|
|
38799
39239
|
}
|
|
38800
|
-
|
|
38801
|
-
|
|
38802
|
-
this.
|
|
38803
|
-
|
|
38804
|
-
json[i6++] = QUOTE;
|
|
38805
|
-
for (let j6 = 0; j6 < z; ++j6) {
|
|
38806
|
-
json[i6++] = s2.charCodeAt(j6);
|
|
39240
|
+
writeDiscriminatedDocument(schema, value2) {
|
|
39241
|
+
this.write(schema, value2);
|
|
39242
|
+
if (typeof this.buffer === "object") {
|
|
39243
|
+
this.buffer.__type = NormalizedSchema.of(schema).getName(true);
|
|
38807
39244
|
}
|
|
38808
|
-
json[i6++] = QUOTE;
|
|
38809
|
-
this.i = i6;
|
|
38810
39245
|
}
|
|
38811
|
-
|
|
38812
|
-
|
|
38813
|
-
|
|
38814
|
-
|
|
38815
|
-
|
|
38816
|
-
|
|
38817
|
-
|
|
38818
|
-
|
|
38819
|
-
|
|
38820
|
-
|
|
38821
|
-
|
|
38822
|
-
this.ensure(esc.length + 1);
|
|
38823
|
-
this.json[this.i++] = BACKSLASH;
|
|
38824
|
-
for (let k6 = 0; k6 < esc.length; k6++) {
|
|
38825
|
-
this.json[this.i++] = esc.charCodeAt(k6);
|
|
38826
|
-
}
|
|
38827
|
-
} else {
|
|
38828
|
-
this.json[this.i++] = c6;
|
|
38829
|
-
}
|
|
38830
|
-
} else if (c6 >= 55296 && c6 <= 56319) {
|
|
38831
|
-
const next = j6 + 1 < z ? s2.charCodeAt(j6 + 1) : 0;
|
|
38832
|
-
if (next >= 56320 && next <= 57343) {
|
|
38833
|
-
this.ensure(4);
|
|
38834
|
-
const { written } = encoder.encodeInto(s2.substring(j6, j6 + 2), this.json.subarray(this.i));
|
|
38835
|
-
this.i += written;
|
|
38836
|
-
j6++;
|
|
38837
|
-
} else {
|
|
38838
|
-
this.ensure(6);
|
|
38839
|
-
this.writeUnicodeEscape(c6);
|
|
39246
|
+
_write(schema, value2, container) {
|
|
39247
|
+
const isObject3 = value2 !== null && typeof value2 === "object";
|
|
39248
|
+
const ns = NormalizedSchema.of(schema);
|
|
39249
|
+
if (isObject3) {
|
|
39250
|
+
if (ns.isStructSchema()) {
|
|
39251
|
+
const record = value2;
|
|
39252
|
+
const out = {};
|
|
39253
|
+
const { jsonName } = this.settings;
|
|
39254
|
+
let nameMap = void 0;
|
|
39255
|
+
if (jsonName) {
|
|
39256
|
+
nameMap = {};
|
|
38840
39257
|
}
|
|
38841
|
-
|
|
38842
|
-
|
|
38843
|
-
|
|
38844
|
-
|
|
38845
|
-
|
|
38846
|
-
|
|
38847
|
-
|
|
38848
|
-
|
|
38849
|
-
|
|
38850
|
-
|
|
38851
|
-
|
|
38852
|
-
|
|
39258
|
+
let outCount = 0;
|
|
39259
|
+
for (const [memberName, memberSchema] of ns.structIterator()) {
|
|
39260
|
+
const serializableValue = this._write(memberSchema, record[memberName], ns);
|
|
39261
|
+
if (serializableValue !== void 0) {
|
|
39262
|
+
let targetKey = memberName;
|
|
39263
|
+
if (jsonName) {
|
|
39264
|
+
targetKey = memberSchema.getMergedTraits().jsonName ?? memberName;
|
|
39265
|
+
nameMap[memberName] = targetKey;
|
|
39266
|
+
}
|
|
39267
|
+
out[targetKey] = serializableValue;
|
|
39268
|
+
outCount++;
|
|
39269
|
+
}
|
|
38853
39270
|
}
|
|
38854
|
-
|
|
38855
|
-
|
|
38856
|
-
|
|
38857
|
-
|
|
38858
|
-
|
|
38859
|
-
|
|
38860
|
-
|
|
38861
|
-
|
|
38862
|
-
|
|
38863
|
-
|
|
38864
|
-
|
|
38865
|
-
|
|
38866
|
-
|
|
38867
|
-
|
|
38868
|
-
|
|
38869
|
-
|
|
38870
|
-
const chars3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
38871
|
-
const table3 = new Uint8Array(64);
|
|
38872
|
-
for (let i6 = 0; i6 < 64; i6++)
|
|
38873
|
-
table3[i6] = chars3.charCodeAt(i6);
|
|
38874
|
-
return table3;
|
|
38875
|
-
})();
|
|
38876
|
-
writeBase64(data) {
|
|
38877
|
-
const b64Len = Math.ceil(data.length / 3) * 4;
|
|
38878
|
-
this.ensure(b64Len + 2);
|
|
38879
|
-
const json = this.json;
|
|
38880
|
-
const B64 = _JsonShapeSerializer2.B64;
|
|
38881
|
-
let i6 = this.i;
|
|
38882
|
-
json[i6++] = QUOTE;
|
|
38883
|
-
const len = data.length;
|
|
38884
|
-
const remainder = len % 3;
|
|
38885
|
-
const mainLen = len - remainder;
|
|
38886
|
-
for (let j6 = 0; j6 < mainLen; j6 += 3) {
|
|
38887
|
-
const a6 = data[j6];
|
|
38888
|
-
const b6 = data[j6 + 1];
|
|
38889
|
-
const c6 = data[j6 + 2];
|
|
38890
|
-
json[i6++] = B64[a6 >> 2];
|
|
38891
|
-
json[i6++] = B64[(a6 & 3) << 4 | b6 >> 4];
|
|
38892
|
-
json[i6++] = B64[(b6 & 15) << 2 | c6 >> 6];
|
|
38893
|
-
json[i6++] = B64[c6 & 63];
|
|
38894
|
-
}
|
|
38895
|
-
if (remainder === 2) {
|
|
38896
|
-
const a6 = data[mainLen];
|
|
38897
|
-
const b6 = data[mainLen + 1];
|
|
38898
|
-
json[i6++] = B64[a6 >> 2];
|
|
38899
|
-
json[i6++] = B64[(a6 & 3) << 4 | b6 >> 4];
|
|
38900
|
-
json[i6++] = B64[(b6 & 15) << 2];
|
|
38901
|
-
json[i6++] = 61;
|
|
38902
|
-
} else if (remainder === 1) {
|
|
38903
|
-
const a6 = data[mainLen];
|
|
38904
|
-
json[i6++] = B64[a6 >> 2];
|
|
38905
|
-
json[i6++] = B64[(a6 & 3) << 4];
|
|
38906
|
-
json[i6++] = 61;
|
|
38907
|
-
json[i6++] = 61;
|
|
38908
|
-
}
|
|
38909
|
-
json[i6++] = QUOTE;
|
|
38910
|
-
this.i = i6;
|
|
38911
|
-
}
|
|
38912
|
-
writeValue(schema, value2, container) {
|
|
38913
|
-
if (value2 == null) {
|
|
38914
|
-
if (container?.isStructSchema()) {
|
|
38915
|
-
if (value2 === void 0) {
|
|
38916
|
-
const ns2 = NormalizedSchema.of(schema);
|
|
38917
|
-
if (ns2.isIdempotencyToken()) {
|
|
38918
|
-
this.writeAsciiQuoted(generateIdempotencyToken());
|
|
38919
|
-
return;
|
|
39271
|
+
if (ns.isUnionSchema() && outCount === 0) {
|
|
39272
|
+
const { $unknown } = record;
|
|
39273
|
+
if (Array.isArray($unknown)) {
|
|
39274
|
+
const [k6, v] = $unknown;
|
|
39275
|
+
if (k6 === "__proto__") {
|
|
39276
|
+
writeKey(out);
|
|
39277
|
+
}
|
|
39278
|
+
out[k6] = this._write(15, v);
|
|
39279
|
+
}
|
|
39280
|
+
} else if (typeof record.__type === "string") {
|
|
39281
|
+
for (const k6 in record) {
|
|
39282
|
+
const v = record[k6];
|
|
39283
|
+
const targetKey = jsonName ? nameMap[k6] ?? k6 : k6;
|
|
39284
|
+
if (!(targetKey in out)) {
|
|
39285
|
+
out[targetKey] = this._write(15, v);
|
|
39286
|
+
}
|
|
38920
39287
|
}
|
|
38921
39288
|
}
|
|
38922
|
-
return;
|
|
39289
|
+
return out;
|
|
38923
39290
|
}
|
|
38924
|
-
|
|
38925
|
-
|
|
38926
|
-
|
|
38927
|
-
|
|
38928
|
-
|
|
38929
|
-
|
|
38930
|
-
|
|
38931
|
-
|
|
38932
|
-
const mediaType = ns.getMergedTraits().mediaType;
|
|
38933
|
-
if (mediaType) {
|
|
38934
|
-
const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
|
|
38935
|
-
if (isJson) {
|
|
38936
|
-
this.writeJsonString(LazyJsonString.from(value2).toString());
|
|
38937
|
-
return;
|
|
39291
|
+
if (Array.isArray(value2) && ns.isListSchema()) {
|
|
39292
|
+
const listMember = ns.getValueSchema();
|
|
39293
|
+
const out = [];
|
|
39294
|
+
const sparse = !!ns.getMergedTraits().sparse;
|
|
39295
|
+
for (const item of value2) {
|
|
39296
|
+
if (sparse || item != null) {
|
|
39297
|
+
out.push(this._write(listMember, item));
|
|
39298
|
+
}
|
|
38938
39299
|
}
|
|
38939
|
-
|
|
38940
|
-
}
|
|
38941
|
-
if (isObject3) {
|
|
38942
|
-
if (ns.isStructSchema()) {
|
|
38943
|
-
this.writeStruct(ns, value2);
|
|
38944
|
-
return;
|
|
38945
|
-
}
|
|
38946
|
-
if (Array.isArray(value2) && (ns.isListSchema() || ns.isDocumentSchema())) {
|
|
38947
|
-
this.writeList(ns, value2, ns.isDocumentSchema());
|
|
38948
|
-
return;
|
|
39300
|
+
return out;
|
|
38949
39301
|
}
|
|
38950
39302
|
if (ns.isMapSchema()) {
|
|
38951
|
-
|
|
38952
|
-
|
|
39303
|
+
const mapMember = ns.getValueSchema();
|
|
39304
|
+
const out = {};
|
|
39305
|
+
const sparse = !!ns.getMergedTraits().sparse;
|
|
39306
|
+
for (const _k in value2) {
|
|
39307
|
+
const _v = value2[_k];
|
|
39308
|
+
if (sparse || _v != null) {
|
|
39309
|
+
if (_k === "__proto__") {
|
|
39310
|
+
writeKey(out);
|
|
39311
|
+
}
|
|
39312
|
+
out[_k] = this._write(mapMember, _v);
|
|
39313
|
+
}
|
|
39314
|
+
}
|
|
39315
|
+
return out;
|
|
38953
39316
|
}
|
|
38954
|
-
if (value2 instanceof Uint8Array &&
|
|
38955
|
-
this.
|
|
38956
|
-
|
|
39317
|
+
if (value2 instanceof Uint8Array && ns.isBlobSchema()) {
|
|
39318
|
+
if (ns === this.rootSchema) {
|
|
39319
|
+
return value2;
|
|
39320
|
+
}
|
|
39321
|
+
return (this.serdeContext?.base64Encoder ?? toBase64)(value2);
|
|
38957
39322
|
}
|
|
38958
39323
|
if (value2 instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {
|
|
38959
|
-
|
|
38960
|
-
|
|
39324
|
+
const format30 = determineTimestampFormat(ns, this.settings);
|
|
39325
|
+
switch (format30) {
|
|
39326
|
+
case 5:
|
|
39327
|
+
return value2.toISOString().replace(".000Z", "Z");
|
|
39328
|
+
case 6:
|
|
39329
|
+
return dateToUtcString(value2);
|
|
39330
|
+
case 7:
|
|
39331
|
+
return value2.getTime() / 1e3;
|
|
39332
|
+
default:
|
|
39333
|
+
console.warn("Missing timestamp format, using epoch seconds", value2);
|
|
39334
|
+
return value2.getTime() / 1e3;
|
|
39335
|
+
}
|
|
38961
39336
|
}
|
|
38962
39337
|
if (value2 instanceof NumericValue) {
|
|
38963
|
-
this.
|
|
38964
|
-
return;
|
|
38965
|
-
}
|
|
38966
|
-
if (ns.isDocumentSchema()) {
|
|
38967
|
-
if (Array.isArray(value2)) {
|
|
38968
|
-
this.writeList(ns, value2, true);
|
|
38969
|
-
} else {
|
|
38970
|
-
this.writeMap(ns, value2, true);
|
|
38971
|
-
}
|
|
38972
|
-
return;
|
|
39338
|
+
this.useReplacer = true;
|
|
38973
39339
|
}
|
|
38974
|
-
const json = JSON.stringify(value2);
|
|
38975
|
-
this.writeAscii(json);
|
|
38976
|
-
return;
|
|
38977
39340
|
}
|
|
38978
|
-
if (
|
|
38979
|
-
|
|
38980
|
-
|
|
38981
|
-
|
|
38982
|
-
|
|
39341
|
+
if (value2 === null && container?.isStructSchema()) {
|
|
39342
|
+
return void 0;
|
|
39343
|
+
}
|
|
39344
|
+
if (ns.isStringSchema()) {
|
|
39345
|
+
if (typeof value2 === "undefined" && ns.isIdempotencyToken()) {
|
|
39346
|
+
return generateIdempotencyToken();
|
|
38983
39347
|
}
|
|
38984
|
-
|
|
38985
|
-
|
|
39348
|
+
const mediaType = ns.getMergedTraits().mediaType;
|
|
39349
|
+
if (value2 != null && mediaType) {
|
|
39350
|
+
const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
|
|
39351
|
+
if (isJson) {
|
|
39352
|
+
return LazyJsonString.from(value2);
|
|
39353
|
+
}
|
|
39354
|
+
}
|
|
39355
|
+
return value2;
|
|
38986
39356
|
}
|
|
38987
39357
|
if (typeof value2 === "number") {
|
|
38988
|
-
if (
|
|
38989
|
-
|
|
38990
|
-
return;
|
|
39358
|
+
if (Math.abs(value2) === Infinity || isNaN(value2)) {
|
|
39359
|
+
return String(value2);
|
|
38991
39360
|
}
|
|
38992
|
-
|
|
38993
|
-
this.writeAscii(numStr);
|
|
38994
|
-
return;
|
|
39361
|
+
return value2;
|
|
38995
39362
|
}
|
|
38996
|
-
if (typeof value2 === "
|
|
38997
|
-
this.
|
|
38998
|
-
|
|
38999
|
-
this.json.set(TRUE, this.i);
|
|
39000
|
-
this.i += 4;
|
|
39001
|
-
} else {
|
|
39002
|
-
this.json.set(FALSE, this.i);
|
|
39003
|
-
this.i += 5;
|
|
39363
|
+
if (typeof value2 === "string" && ns.isBlobSchema()) {
|
|
39364
|
+
if (ns === this.rootSchema) {
|
|
39365
|
+
return value2;
|
|
39004
39366
|
}
|
|
39005
|
-
return;
|
|
39367
|
+
return (this.serdeContext?.base64Encoder ?? toBase64)(value2);
|
|
39006
39368
|
}
|
|
39007
39369
|
if (typeof value2 === "bigint") {
|
|
39008
|
-
this.
|
|
39009
|
-
return;
|
|
39010
|
-
}
|
|
39011
|
-
this.writeAscii(String(value2));
|
|
39012
|
-
}
|
|
39013
|
-
writeStruct(ns, value2) {
|
|
39014
|
-
this.ensure(2);
|
|
39015
|
-
this.json[this.i++] = OPEN_BRACE;
|
|
39016
|
-
let first = true;
|
|
39017
|
-
let wroteAny = false;
|
|
39018
|
-
const hasType = typeof value2.__type === "string";
|
|
39019
|
-
let writtenKeys;
|
|
39020
|
-
if (hasType) {
|
|
39021
|
-
writtenKeys = /* @__PURE__ */ new Set();
|
|
39022
|
-
}
|
|
39023
|
-
for (const [memberName, memberSchema] of ns.structIterator()) {
|
|
39024
|
-
const item = value2[memberName];
|
|
39025
|
-
if (item == null && !memberSchema.isIdempotencyToken())
|
|
39026
|
-
continue;
|
|
39027
|
-
if (!first) {
|
|
39028
|
-
this.ensure(1);
|
|
39029
|
-
this.json[this.i++] = COMMA;
|
|
39030
|
-
}
|
|
39031
|
-
first = false;
|
|
39032
|
-
wroteAny = true;
|
|
39033
|
-
const targetKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;
|
|
39034
|
-
if (writtenKeys) {
|
|
39035
|
-
writtenKeys.add(memberName);
|
|
39036
|
-
writtenKeys.add(targetKey);
|
|
39037
|
-
}
|
|
39038
|
-
this.writeAsciiQuoted(targetKey);
|
|
39039
|
-
this.json[this.i++] = COLON;
|
|
39040
|
-
this.writeValue(memberSchema, item, ns);
|
|
39370
|
+
this.useReplacer = true;
|
|
39041
39371
|
}
|
|
39042
|
-
if (
|
|
39043
|
-
|
|
39044
|
-
|
|
39045
|
-
|
|
39046
|
-
this.writeAsciiQuoted(k6);
|
|
39047
|
-
this.ensure(1);
|
|
39048
|
-
this.json[this.i++] = COLON;
|
|
39049
|
-
this.writeValue(15, v, ns);
|
|
39050
|
-
}
|
|
39051
|
-
} else if (hasType) {
|
|
39052
|
-
for (const k6 in value2) {
|
|
39053
|
-
const targetKey = this.settings.jsonName ? writtenKeys.has(k6) ? k6 : k6 : k6;
|
|
39054
|
-
if (writtenKeys.has(targetKey))
|
|
39055
|
-
continue;
|
|
39056
|
-
writtenKeys.add(targetKey);
|
|
39057
|
-
const v = value2[k6];
|
|
39058
|
-
if (!first) {
|
|
39059
|
-
this.ensure(1);
|
|
39060
|
-
this.json[this.i++] = COMMA;
|
|
39372
|
+
if (ns.isDocumentSchema()) {
|
|
39373
|
+
if (isObject3) {
|
|
39374
|
+
if (value2 instanceof Uint8Array) {
|
|
39375
|
+
return (this.serdeContext?.base64Encoder ?? toBase64)(value2);
|
|
39061
39376
|
}
|
|
39062
|
-
|
|
39063
|
-
|
|
39064
|
-
|
|
39065
|
-
|
|
39066
|
-
|
|
39067
|
-
|
|
39068
|
-
|
|
39069
|
-
|
|
39070
|
-
|
|
39071
|
-
|
|
39072
|
-
|
|
39073
|
-
this.ensure(2);
|
|
39074
|
-
this.json[this.i++] = OPEN_BRACKET;
|
|
39075
|
-
const sparse = !!ns.getMergedTraits().sparse;
|
|
39076
|
-
const valueSchema = ns.getValueSchema();
|
|
39077
|
-
for (let i6 = 0; i6 < value2.length; ++i6) {
|
|
39078
|
-
const item = value2[i6];
|
|
39079
|
-
if (isDocument ? item === void 0 : item == null && !sparse) {
|
|
39080
|
-
continue;
|
|
39081
|
-
}
|
|
39082
|
-
if (i6 !== 0) {
|
|
39083
|
-
this.ensure(1);
|
|
39084
|
-
this.json[this.i++] = COMMA;
|
|
39085
|
-
}
|
|
39086
|
-
this.writeValue(valueSchema, item, void 0);
|
|
39087
|
-
}
|
|
39088
|
-
this.ensure(1);
|
|
39089
|
-
this.json[this.i++] = CLOSE_BRACKET;
|
|
39090
|
-
}
|
|
39091
|
-
writeMap(ns, value2, isDocument) {
|
|
39092
|
-
const sparse = !!ns.getMergedTraits().sparse;
|
|
39093
|
-
const valueSchema = ns.getValueSchema();
|
|
39094
|
-
if (!isDocument) {
|
|
39095
|
-
if (valueSchema.isStringSchema() || valueSchema.isNumericSchema() || valueSchema.isBooleanSchema()) {
|
|
39096
|
-
let input = value2;
|
|
39097
|
-
if (sparse) {
|
|
39098
|
-
input = {};
|
|
39099
|
-
for (const k6 in value2) {
|
|
39100
|
-
if (k6 === "__proto__") {
|
|
39101
|
-
writeKey(input);
|
|
39102
|
-
}
|
|
39103
|
-
input[k6] = value2[k6] ?? null;
|
|
39377
|
+
const out = Array.isArray(value2) ? [] : {};
|
|
39378
|
+
for (const k6 in value2) {
|
|
39379
|
+
const v = value2[k6];
|
|
39380
|
+
if (k6 === "__proto__") {
|
|
39381
|
+
writeKey(out);
|
|
39382
|
+
}
|
|
39383
|
+
if (v instanceof NumericValue) {
|
|
39384
|
+
this.useReplacer = true;
|
|
39385
|
+
out[k6] = v;
|
|
39386
|
+
} else {
|
|
39387
|
+
out[k6] = this._write(ns, v);
|
|
39104
39388
|
}
|
|
39105
39389
|
}
|
|
39106
|
-
|
|
39107
|
-
|
|
39108
|
-
|
|
39109
|
-
this.i += written;
|
|
39110
|
-
return;
|
|
39111
|
-
}
|
|
39112
|
-
}
|
|
39113
|
-
this.ensure(2);
|
|
39114
|
-
this.json[this.i++] = OPEN_BRACE;
|
|
39115
|
-
let first = true;
|
|
39116
|
-
for (const k6 in value2) {
|
|
39117
|
-
const v = value2[k6];
|
|
39118
|
-
if (isDocument ? v === void 0 : v == null && !sparse) {
|
|
39119
|
-
continue;
|
|
39120
|
-
}
|
|
39121
|
-
if (!first) {
|
|
39122
|
-
this.ensure(1);
|
|
39123
|
-
this.json[this.i++] = COMMA;
|
|
39124
|
-
}
|
|
39125
|
-
first = false;
|
|
39126
|
-
this.writeJsonString(k6);
|
|
39127
|
-
this.ensure(1);
|
|
39128
|
-
this.json[this.i++] = COLON;
|
|
39129
|
-
this.writeValue(valueSchema, v, void 0);
|
|
39130
|
-
}
|
|
39131
|
-
this.ensure(1);
|
|
39132
|
-
this.json[this.i++] = CLOSE_BRACE;
|
|
39133
|
-
}
|
|
39134
|
-
writeTimestamp(ns, value2) {
|
|
39135
|
-
const format30 = determineTimestampFormat(ns, this.settings);
|
|
39136
|
-
switch (format30) {
|
|
39137
|
-
case 5: {
|
|
39138
|
-
const iso = value2.toISOString().replace(".000Z", "Z");
|
|
39139
|
-
this.writeAsciiQuoted(iso);
|
|
39140
|
-
return;
|
|
39141
|
-
}
|
|
39142
|
-
case 6: {
|
|
39143
|
-
this.writeAsciiQuoted(dateToUtcString(value2));
|
|
39144
|
-
return;
|
|
39145
|
-
}
|
|
39146
|
-
case 7: {
|
|
39147
|
-
const epochSecs = String(value2.getTime() / 1e3);
|
|
39148
|
-
this.writeAscii(epochSecs);
|
|
39149
|
-
return;
|
|
39150
|
-
}
|
|
39151
|
-
default: {
|
|
39152
|
-
const epochSecs = String(value2.getTime() / 1e3);
|
|
39153
|
-
this.writeAscii(epochSecs);
|
|
39154
|
-
return;
|
|
39390
|
+
return out;
|
|
39391
|
+
} else {
|
|
39392
|
+
return structuredClone(value2);
|
|
39155
39393
|
}
|
|
39156
39394
|
}
|
|
39395
|
+
return value2;
|
|
39157
39396
|
}
|
|
39158
39397
|
};
|
|
39159
39398
|
}
|
|
39160
39399
|
});
|
|
39161
39400
|
|
|
39162
|
-
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
39163
|
-
var
|
|
39164
|
-
var
|
|
39165
|
-
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-
|
|
39401
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonCodec.js
|
|
39402
|
+
var JsonCodec;
|
|
39403
|
+
var init_JsonCodec = __esm({
|
|
39404
|
+
"../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonCodec.js"() {
|
|
39166
39405
|
init_ConfigurableSerdeContext();
|
|
39167
|
-
|
|
39168
|
-
|
|
39169
|
-
|
|
39406
|
+
init_JsonShapeDeserializer();
|
|
39407
|
+
init_JsonShapeSerializer();
|
|
39408
|
+
JsonCodec = class extends SerdeContextConfig {
|
|
39170
39409
|
static {
|
|
39171
|
-
__name(this, "
|
|
39410
|
+
__name(this, "JsonCodec");
|
|
39172
39411
|
}
|
|
39173
39412
|
settings;
|
|
39174
39413
|
constructor(settings) {
|
|
@@ -39176,12 +39415,12 @@ var init_JsonCodec2 = __esm({
|
|
|
39176
39415
|
this.settings = settings;
|
|
39177
39416
|
}
|
|
39178
39417
|
createSerializer() {
|
|
39179
|
-
const serializer = new
|
|
39418
|
+
const serializer = new JsonShapeSerializer(this.settings);
|
|
39180
39419
|
serializer.setSerdeContext(this.serdeContext);
|
|
39181
39420
|
return serializer;
|
|
39182
39421
|
}
|
|
39183
39422
|
createDeserializer() {
|
|
39184
|
-
const deserializer = new
|
|
39423
|
+
const deserializer = new JsonShapeDeserializer(this.settings);
|
|
39185
39424
|
deserializer.setSerdeContext(this.serdeContext);
|
|
39186
39425
|
return deserializer;
|
|
39187
39426
|
}
|
|
@@ -44951,7 +45190,7 @@ var init_signin = __esm({
|
|
|
44951
45190
|
var require_dist_cjs11 = __commonJS({
|
|
44952
45191
|
"../../node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js"(exports2) {
|
|
44953
45192
|
var { setCredentialFeature: setCredentialFeature2 } = (init_client3(), __toCommonJS(client_exports2));
|
|
44954
|
-
var { CredentialsProviderError: CredentialsProviderError2,
|
|
45193
|
+
var { CredentialsProviderError: CredentialsProviderError2, parseKnownFiles: parseKnownFiles2, getProfileName: getProfileName2 } = (init_config2(), __toCommonJS(config_exports));
|
|
44955
45194
|
var { HttpRequest: HttpRequest2 } = (init_protocols(), __toCommonJS(protocols_exports));
|
|
44956
45195
|
var { createHash: createHash8, createPrivateKey, createPublicKey, sign: sign3 } = require("node:crypto");
|
|
44957
45196
|
var { promises: promises8 } = require("node:fs");
|
|
@@ -44982,13 +45221,7 @@ var require_dist_cjs11 = __commonJS({
|
|
|
44982
45221
|
if (timeUntilExpiry <= _LoginCredentialsFetcher.REFRESH_THRESHOLD) {
|
|
44983
45222
|
return this.refresh(token);
|
|
44984
45223
|
}
|
|
44985
|
-
return
|
|
44986
|
-
accessKeyId: accessToken.accessKeyId,
|
|
44987
|
-
secretAccessKey: accessToken.secretAccessKey,
|
|
44988
|
-
sessionToken: accessToken.sessionToken,
|
|
44989
|
-
accountId: accessToken.accountId,
|
|
44990
|
-
expiration: new Date(accessToken.expiresAt)
|
|
44991
|
-
};
|
|
45224
|
+
return this.toCredentials(token.accessToken);
|
|
44992
45225
|
}
|
|
44993
45226
|
get logger() {
|
|
44994
45227
|
return this.init?.logger;
|
|
@@ -44996,7 +45229,25 @@ var require_dist_cjs11 = __commonJS({
|
|
|
44996
45229
|
get loginSession() {
|
|
44997
45230
|
return this.profileData.login_session;
|
|
44998
45231
|
}
|
|
45232
|
+
toCredentials(token) {
|
|
45233
|
+
return {
|
|
45234
|
+
accessKeyId: token.accessKeyId,
|
|
45235
|
+
secretAccessKey: token.secretAccessKey,
|
|
45236
|
+
sessionToken: token.sessionToken,
|
|
45237
|
+
accountId: token.accountId,
|
|
45238
|
+
expiration: new Date(token.expiresAt)
|
|
45239
|
+
};
|
|
45240
|
+
}
|
|
44999
45241
|
async refresh(token) {
|
|
45242
|
+
const diskToken = await this.loadToken().catch(() => token);
|
|
45243
|
+
const now = Date.now();
|
|
45244
|
+
const diskExpiry = new Date(diskToken.accessToken.expiresAt).getTime();
|
|
45245
|
+
const tokenExpiry = new Date(token.accessToken.expiresAt).getTime();
|
|
45246
|
+
const freshToken = diskExpiry <= now && tokenExpiry > now ? token : diskToken;
|
|
45247
|
+
const freshExpiry = new Date(freshToken.accessToken.expiresAt).getTime();
|
|
45248
|
+
if (freshExpiry - Date.now() > _LoginCredentialsFetcher.REFRESH_THRESHOLD) {
|
|
45249
|
+
return this.toCredentials(freshToken.accessToken);
|
|
45250
|
+
}
|
|
45000
45251
|
const { SigninClient: SigninClient2, CreateOAuth2TokenCommand: CreateOAuth2TokenCommand2 } = (init_signin(), __toCommonJS(signin_exports));
|
|
45001
45252
|
const { logger: logger2, userAgentAppId } = this.callerClientConfig ?? {};
|
|
45002
45253
|
const isH22 = /* @__PURE__ */ __name((requestHandler2) => {
|
|
@@ -45018,8 +45269,8 @@ var require_dist_cjs11 = __commonJS({
|
|
|
45018
45269
|
this.createDPoPInterceptor(client.middlewareStack);
|
|
45019
45270
|
const commandInput = {
|
|
45020
45271
|
tokenInput: {
|
|
45021
|
-
clientId:
|
|
45022
|
-
refreshToken:
|
|
45272
|
+
clientId: freshToken.clientId,
|
|
45273
|
+
refreshToken: freshToken.refreshToken,
|
|
45023
45274
|
grantType: "refresh_token"
|
|
45024
45275
|
}
|
|
45025
45276
|
};
|
|
@@ -45036,9 +45287,9 @@ var require_dist_cjs11 = __commonJS({
|
|
|
45036
45287
|
const expiresInMs = (expiresIn ?? 900) * 1e3;
|
|
45037
45288
|
const expiration = new Date(Date.now() + expiresInMs);
|
|
45038
45289
|
const updatedToken = {
|
|
45039
|
-
...
|
|
45290
|
+
...freshToken,
|
|
45040
45291
|
accessToken: {
|
|
45041
|
-
...
|
|
45292
|
+
...freshToken.accessToken,
|
|
45042
45293
|
accessKeyId,
|
|
45043
45294
|
secretAccessKey,
|
|
45044
45295
|
sessionToken,
|
|
@@ -45047,14 +45298,7 @@ var require_dist_cjs11 = __commonJS({
|
|
|
45047
45298
|
refreshToken
|
|
45048
45299
|
};
|
|
45049
45300
|
await this.saveToken(updatedToken);
|
|
45050
|
-
|
|
45051
|
-
return {
|
|
45052
|
-
accessKeyId: newAccessToken.accessKeyId,
|
|
45053
|
-
secretAccessKey: newAccessToken.secretAccessKey,
|
|
45054
|
-
sessionToken: newAccessToken.sessionToken,
|
|
45055
|
-
accountId: newAccessToken.accountId,
|
|
45056
|
-
expiration
|
|
45057
|
-
};
|
|
45301
|
+
return this.toCredentials(updatedToken.accessToken);
|
|
45058
45302
|
} catch (error3) {
|
|
45059
45303
|
if (error3.name === "AccessDeniedException") {
|
|
45060
45304
|
const errorType = error3.error;
|
|
@@ -45072,7 +45316,15 @@ var require_dist_cjs11 = __commonJS({
|
|
|
45072
45316
|
default:
|
|
45073
45317
|
message2 = `Failed to refresh token: ${String(error3)}. Please re-authenticate using \`aws login\``;
|
|
45074
45318
|
}
|
|
45075
|
-
throw new CredentialsProviderError2(message2, {
|
|
45319
|
+
throw new CredentialsProviderError2(message2, {
|
|
45320
|
+
logger: this.logger,
|
|
45321
|
+
tryNextLink: false
|
|
45322
|
+
});
|
|
45323
|
+
}
|
|
45324
|
+
const tokenExpiry2 = new Date(freshToken.accessToken.expiresAt).getTime();
|
|
45325
|
+
if (tokenExpiry2 > Date.now()) {
|
|
45326
|
+
this.logger?.warn?.(`Failed to refresh token: ${String(error3)}. Using existing token until expiry.`);
|
|
45327
|
+
return this.toCredentials(freshToken.accessToken);
|
|
45076
45328
|
}
|
|
45077
45329
|
throw new CredentialsProviderError2(`Failed to refresh token: ${String(error3)}. Please re-authenticate using aws login`, { logger: this.logger });
|
|
45078
45330
|
}
|
|
@@ -45080,12 +45332,7 @@ var require_dist_cjs11 = __commonJS({
|
|
|
45080
45332
|
async loadToken() {
|
|
45081
45333
|
const tokenFilePath = this.getTokenFilePath();
|
|
45082
45334
|
try {
|
|
45083
|
-
|
|
45084
|
-
try {
|
|
45085
|
-
tokenData = await readFile11(tokenFilePath, { ignoreCache: this.init?.ignoreCache });
|
|
45086
|
-
} catch {
|
|
45087
|
-
tokenData = await promises8.readFile(tokenFilePath, "utf8");
|
|
45088
|
-
}
|
|
45335
|
+
const tokenData = await promises8.readFile(tokenFilePath, "utf8");
|
|
45089
45336
|
const token = JSON.parse(tokenData);
|
|
45090
45337
|
const missingFields = ["accessToken", "clientId", "refreshToken", "dpopKey"].filter((k6) => !token[k6]);
|
|
45091
45338
|
if (!token.accessToken?.accountId) {
|
|
@@ -78038,10 +78285,10 @@ ${pair.comment}` : item.comment;
|
|
|
78038
78285
|
}
|
|
78039
78286
|
}
|
|
78040
78287
|
__name(warnFileDeprecation, "warnFileDeprecation");
|
|
78041
|
-
var
|
|
78288
|
+
var warned2 = {};
|
|
78042
78289
|
function warnOptionDeprecation(name, alternative) {
|
|
78043
|
-
if (!
|
|
78044
|
-
|
|
78290
|
+
if (!warned2[name] && shouldWarn(true)) {
|
|
78291
|
+
warned2[name] = true;
|
|
78045
78292
|
let msg = `The option '${name}' will be removed in a future release`;
|
|
78046
78293
|
msg += alternative ? `, use '${alternative}' instead.` : ".";
|
|
78047
78294
|
warn2(msg, "DeprecationWarning");
|
|
@@ -108288,7 +108535,6 @@ async function deployStack(options, ioHelper) {
|
|
|
108288
108535
|
await ioHelper.defaults.info("Falling back to doing a full deployment");
|
|
108289
108536
|
options.sdk.appendCustomUserAgent("cdk-hotswap/fallback");
|
|
108290
108537
|
deploymentMethod = deploymentMethod.fallback;
|
|
108291
|
-
options = { ...options, express: true };
|
|
108292
108538
|
} else {
|
|
108293
108539
|
return {
|
|
108294
108540
|
type: "did-deploy-stack",
|
|
@@ -296826,9 +297072,6 @@ function stripReferences(value2, exports2) {
|
|
|
296826
297072
|
if ("Fn::GetAtt" in value2) {
|
|
296827
297073
|
return { __cloud_ref__: "Fn::GetAtt" };
|
|
296828
297074
|
}
|
|
296829
|
-
if ("DependsOn" in value2) {
|
|
296830
|
-
return { __cloud_ref__: "DependsOn" };
|
|
296831
|
-
}
|
|
296832
297075
|
if ("Fn::ImportValue" in value2) {
|
|
296833
297076
|
const exp = exports2[value2["Fn::ImportValue"]];
|
|
296834
297077
|
if (exp != null) {
|
|
@@ -296846,6 +297089,9 @@ function stripReferences(value2, exports2) {
|
|
|
296846
297089
|
}
|
|
296847
297090
|
const result2 = {};
|
|
296848
297091
|
for (const [k6, v] of Object.entries(value2)) {
|
|
297092
|
+
if (k6 === "DependsOn") {
|
|
297093
|
+
continue;
|
|
297094
|
+
}
|
|
296849
297095
|
result2[k6] = stripReferences(v, exports2);
|
|
296850
297096
|
}
|
|
296851
297097
|
return result2;
|
|
@@ -316741,7 +316987,7 @@ var require_lru_cache = __commonJS({
|
|
|
316741
316987
|
}
|
|
316742
316988
|
}
|
|
316743
316989
|
};
|
|
316744
|
-
var
|
|
316990
|
+
var warned2 = /* @__PURE__ */ new Set();
|
|
316745
316991
|
var deprecatedOption = /* @__PURE__ */ __name((opt, instead) => {
|
|
316746
316992
|
const code = `LRU_CACHE_OPTION_${opt}`;
|
|
316747
316993
|
if (shouldWarn(code)) {
|
|
@@ -316767,9 +317013,9 @@ var require_lru_cache = __commonJS({
|
|
|
316767
317013
|
var emitWarning = /* @__PURE__ */ __name((...a6) => {
|
|
316768
317014
|
typeof process === "object" && process && typeof process.emitWarning === "function" ? process.emitWarning(...a6) : console.error(...a6);
|
|
316769
317015
|
}, "emitWarning");
|
|
316770
|
-
var shouldWarn = /* @__PURE__ */ __name((code) => !
|
|
317016
|
+
var shouldWarn = /* @__PURE__ */ __name((code) => !warned2.has(code), "shouldWarn");
|
|
316771
317017
|
var warn2 = /* @__PURE__ */ __name((code, what, instead, fn) => {
|
|
316772
|
-
|
|
317018
|
+
warned2.add(code);
|
|
316773
317019
|
const msg = `The ${what} is deprecated. Please use ${instead} instead.`;
|
|
316774
317020
|
emitWarning(msg, "DeprecationWarning", code, fn);
|
|
316775
317021
|
}, "warn");
|
|
@@ -316929,7 +317175,7 @@ var require_lru_cache = __commonJS({
|
|
|
316929
317175
|
if (!this.ttlAutopurge && !this.max && !this.maxSize) {
|
|
316930
317176
|
const code = "LRU_CACHE_UNBOUNDED";
|
|
316931
317177
|
if (shouldWarn(code)) {
|
|
316932
|
-
|
|
317178
|
+
warned2.add(code);
|
|
316933
317179
|
const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
|
|
316934
317180
|
emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
|
|
316935
317181
|
}
|
|
@@ -318253,10 +318499,10 @@ var require_browser = __commonJS({
|
|
|
318253
318499
|
exports2.useColors = useColors;
|
|
318254
318500
|
exports2.storage = localstorage();
|
|
318255
318501
|
exports2.destroy = /* @__PURE__ */ (() => {
|
|
318256
|
-
let
|
|
318502
|
+
let warned2 = false;
|
|
318257
318503
|
return () => {
|
|
318258
|
-
if (!
|
|
318259
|
-
|
|
318504
|
+
if (!warned2) {
|
|
318505
|
+
warned2 = true;
|
|
318260
318506
|
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
|
|
318261
318507
|
}
|
|
318262
318508
|
};
|
|
@@ -320483,8 +320729,10 @@ var require_common5 = __commonJS({
|
|
|
320483
320729
|
"use strict";
|
|
320484
320730
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
320485
320731
|
exports2.isInSubnet = isInSubnet;
|
|
320732
|
+
exports2.isHostInSubnet = isHostInSubnet;
|
|
320486
320733
|
exports2.isCorrect = isCorrect;
|
|
320487
320734
|
exports2.prefixLengthFromMask = prefixLengthFromMask;
|
|
320735
|
+
exports2.assertByteArray = assertByteArray;
|
|
320488
320736
|
exports2.numberToPaddedHex = numberToPaddedHex;
|
|
320489
320737
|
exports2.stringToPaddedHex = stringToPaddedHex;
|
|
320490
320738
|
exports2.testBit = testBit;
|
|
@@ -320493,14 +320741,15 @@ var require_common5 = __commonJS({
|
|
|
320493
320741
|
if (this.subnetMask < address.subnetMask) {
|
|
320494
320742
|
return false;
|
|
320495
320743
|
}
|
|
320496
|
-
|
|
320497
|
-
return true;
|
|
320498
|
-
}
|
|
320499
|
-
return false;
|
|
320744
|
+
return isHostInSubnet.call(this, address);
|
|
320500
320745
|
}
|
|
320501
320746
|
__name(isInSubnet, "isInSubnet");
|
|
320747
|
+
function isHostInSubnet(address) {
|
|
320748
|
+
return this.mask(address.subnetMask) === address.mask();
|
|
320749
|
+
}
|
|
320750
|
+
__name(isHostInSubnet, "isHostInSubnet");
|
|
320502
320751
|
function isCorrect(defaultBits) {
|
|
320503
|
-
return function() {
|
|
320752
|
+
return /* @__PURE__ */ __name(function isCorrectForm() {
|
|
320504
320753
|
if (this.addressMinusSuffix !== this.correctForm()) {
|
|
320505
320754
|
return false;
|
|
320506
320755
|
}
|
|
@@ -320508,7 +320757,7 @@ var require_common5 = __commonJS({
|
|
|
320508
320757
|
return true;
|
|
320509
320758
|
}
|
|
320510
320759
|
return this.parsedSubnet === String(this.subnetMask);
|
|
320511
|
-
};
|
|
320760
|
+
}, "isCorrectForm");
|
|
320512
320761
|
}
|
|
320513
320762
|
__name(isCorrect, "isCorrect");
|
|
320514
320763
|
function prefixLengthFromMask(value2, totalBits) {
|
|
@@ -320526,6 +320775,17 @@ var require_common5 = __commonJS({
|
|
|
320526
320775
|
return firstZero;
|
|
320527
320776
|
}
|
|
320528
320777
|
__name(prefixLengthFromMask, "prefixLengthFromMask");
|
|
320778
|
+
function assertByteArray(bytes, byteCount, family, minimum) {
|
|
320779
|
+
if (bytes.length !== byteCount) {
|
|
320780
|
+
throw new address_error_1.AddressError(`${family} addresses require exactly ${byteCount} bytes`);
|
|
320781
|
+
}
|
|
320782
|
+
for (let i6 = 0; i6 < bytes.length; i6++) {
|
|
320783
|
+
if (!Number.isInteger(bytes[i6]) || bytes[i6] < minimum || bytes[i6] > 255) {
|
|
320784
|
+
throw new address_error_1.AddressError(`All bytes must be integers between ${minimum} and 255`);
|
|
320785
|
+
}
|
|
320786
|
+
}
|
|
320787
|
+
}
|
|
320788
|
+
__name(assertByteArray, "assertByteArray");
|
|
320529
320789
|
function numberToPaddedHex(number) {
|
|
320530
320790
|
return number.toString(16).padStart(2, "0");
|
|
320531
320791
|
}
|
|
@@ -320554,7 +320814,7 @@ var require_constants9 = __commonJS({
|
|
|
320554
320814
|
exports2.RE_SUBNET_STRING = exports2.RE_ADDRESS = exports2.GROUPS = exports2.BITS = void 0;
|
|
320555
320815
|
exports2.BITS = 32;
|
|
320556
320816
|
exports2.GROUPS = 4;
|
|
320557
|
-
exports2.RE_ADDRESS = /^(25[0-5]|2[0-4][0-9]|[
|
|
320817
|
+
exports2.RE_ADDRESS = /^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$/g;
|
|
320558
320818
|
exports2.RE_SUBNET_STRING = /\/\d{1,2}$/;
|
|
320559
320819
|
}
|
|
320560
320820
|
});
|
|
@@ -320601,6 +320861,7 @@ var require_ipv4 = __commonJS({
|
|
|
320601
320861
|
__name(this, "Address4");
|
|
320602
320862
|
}
|
|
320603
320863
|
constructor(address) {
|
|
320864
|
+
this.addressMinusSuffix = "";
|
|
320604
320865
|
this.groups = constants3.GROUPS;
|
|
320605
320866
|
this.parsedAddress = [];
|
|
320606
320867
|
this.parsedSubnet = "";
|
|
@@ -320609,6 +320870,7 @@ var require_ipv4 = __commonJS({
|
|
|
320609
320870
|
this.v4 = true;
|
|
320610
320871
|
this.isCorrect = isCorrect4;
|
|
320611
320872
|
this.isInSubnet = common.isInSubnet;
|
|
320873
|
+
this.isHostInSubnet = common.isHostInSubnet;
|
|
320612
320874
|
this.address = address;
|
|
320613
320875
|
const subnet = constants3.RE_SUBNET_STRING.exec(address);
|
|
320614
320876
|
if (subnet) {
|
|
@@ -320634,7 +320896,7 @@ var require_ipv4 = __commonJS({
|
|
|
320634
320896
|
try {
|
|
320635
320897
|
new _Address4(address);
|
|
320636
320898
|
return true;
|
|
320637
|
-
} catch
|
|
320899
|
+
} catch {
|
|
320638
320900
|
return false;
|
|
320639
320901
|
}
|
|
320640
320902
|
}
|
|
@@ -320646,6 +320908,9 @@ var require_ipv4 = __commonJS({
|
|
|
320646
320908
|
*/
|
|
320647
320909
|
parse(address) {
|
|
320648
320910
|
const groups = address.split(".");
|
|
320911
|
+
if (groups.some((group4) => /^0\d/.test(group4))) {
|
|
320912
|
+
throw new address_error_1.AddressError("IPv4 addresses can't have leading zeroes.");
|
|
320913
|
+
}
|
|
320649
320914
|
if (!address.match(constants3.RE_ADDRESS)) {
|
|
320650
320915
|
throw new address_error_1.AddressError("Invalid IPv4 address.");
|
|
320651
320916
|
}
|
|
@@ -320881,7 +321146,7 @@ var require_ipv4 = __commonJS({
|
|
|
320881
321146
|
* @returns {Address4}
|
|
320882
321147
|
*/
|
|
320883
321148
|
static fromBigInt(bigInt) {
|
|
320884
|
-
if (bigInt <
|
|
321149
|
+
if (bigInt < BigInt(0) || bigInt > BigInt(4294967295)) {
|
|
320885
321150
|
throw new address_error_1.AddressError("IPv4 BigInt must be in the range 0 to 2**32 - 1");
|
|
320886
321151
|
}
|
|
320887
321152
|
return _Address4.fromHex(bigInt.toString(16).padStart(8, "0"));
|
|
@@ -320894,14 +321159,7 @@ var require_ipv4 = __commonJS({
|
|
|
320894
321159
|
* @returns {Address4}
|
|
320895
321160
|
*/
|
|
320896
321161
|
static fromByteArray(bytes) {
|
|
320897
|
-
|
|
320898
|
-
throw new address_error_1.AddressError("IPv4 addresses require exactly 4 bytes");
|
|
320899
|
-
}
|
|
320900
|
-
for (let i6 = 0; i6 < bytes.length; i6++) {
|
|
320901
|
-
if (!Number.isInteger(bytes[i6]) || bytes[i6] < 0 || bytes[i6] > 255) {
|
|
320902
|
-
throw new address_error_1.AddressError("All bytes must be integers between 0 and 255");
|
|
320903
|
-
}
|
|
320904
|
-
}
|
|
321162
|
+
common.assertByteArray(bytes, 4, "IPv4", 0);
|
|
320905
321163
|
return this.fromUnsignedByteArray(bytes);
|
|
320906
321164
|
}
|
|
320907
321165
|
/**
|
|
@@ -320955,49 +321213,49 @@ var require_ipv4 = __commonJS({
|
|
|
320955
321213
|
* @returns {boolean}
|
|
320956
321214
|
*/
|
|
320957
321215
|
isMulticast() {
|
|
320958
|
-
return this.
|
|
321216
|
+
return this.isHostInSubnet(MULTICAST_V4);
|
|
320959
321217
|
}
|
|
320960
321218
|
/**
|
|
320961
321219
|
* Returns true if the address is in one of the [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) private address ranges (`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`).
|
|
320962
321220
|
* @returns {boolean}
|
|
320963
321221
|
*/
|
|
320964
321222
|
isPrivate() {
|
|
320965
|
-
return PRIVATE_V4.some((subnet) => this.
|
|
321223
|
+
return PRIVATE_V4.some((subnet) => this.isHostInSubnet(subnet));
|
|
320966
321224
|
}
|
|
320967
321225
|
/**
|
|
320968
321226
|
* Returns true if the address is in the loopback range `127.0.0.0/8` ([RFC 1122](https://datatracker.ietf.org/doc/html/rfc1122)).
|
|
320969
321227
|
* @returns {boolean}
|
|
320970
321228
|
*/
|
|
320971
321229
|
isLoopback() {
|
|
320972
|
-
return this.
|
|
321230
|
+
return this.isHostInSubnet(LOOPBACK_V4);
|
|
320973
321231
|
}
|
|
320974
321232
|
/**
|
|
320975
321233
|
* Returns true if the address is in the link-local range `169.254.0.0/16` ([RFC 3927](https://datatracker.ietf.org/doc/html/rfc3927)).
|
|
320976
321234
|
* @returns {boolean}
|
|
320977
321235
|
*/
|
|
320978
321236
|
isLinkLocal() {
|
|
320979
|
-
return this.
|
|
321237
|
+
return this.isHostInSubnet(LINK_LOCAL_V4);
|
|
320980
321238
|
}
|
|
320981
321239
|
/**
|
|
320982
321240
|
* Returns true if the address is the unspecified address `0.0.0.0`.
|
|
320983
321241
|
* @returns {boolean}
|
|
320984
321242
|
*/
|
|
320985
321243
|
isUnspecified() {
|
|
320986
|
-
return this.
|
|
321244
|
+
return this.isHostInSubnet(UNSPECIFIED_V4);
|
|
320987
321245
|
}
|
|
320988
321246
|
/**
|
|
320989
321247
|
* Returns true if the address is the limited broadcast address `255.255.255.255` ([RFC 919](https://datatracker.ietf.org/doc/html/rfc919)).
|
|
320990
321248
|
* @returns {boolean}
|
|
320991
321249
|
*/
|
|
320992
321250
|
isBroadcast() {
|
|
320993
|
-
return this.
|
|
321251
|
+
return this.isHostInSubnet(BROADCAST_V4);
|
|
320994
321252
|
}
|
|
320995
321253
|
/**
|
|
320996
321254
|
* Returns true if the address is in the carrier-grade NAT range `100.64.0.0/10` ([RFC 6598](https://datatracker.ietf.org/doc/html/rfc6598)).
|
|
320997
321255
|
* @returns {boolean}
|
|
320998
321256
|
*/
|
|
320999
321257
|
isCGNAT() {
|
|
321000
|
-
return this.
|
|
321258
|
+
return this.isHostInSubnet(CGNAT_V4);
|
|
321001
321259
|
}
|
|
321002
321260
|
/**
|
|
321003
321261
|
* Returns a zero-padded base-2 string representation of the address
|
|
@@ -321015,7 +321273,7 @@ var require_ipv4 = __commonJS({
|
|
|
321015
321273
|
*/
|
|
321016
321274
|
groupForV6() {
|
|
321017
321275
|
const segments2 = this.parsedAddress;
|
|
321018
|
-
return this.
|
|
321276
|
+
return this.correctForm().replace(constants3.RE_ADDRESS, `<span class="hover-group group-v4 group-6">${segments2.slice(0, 2).join(".")}</span>.<span class="hover-group group-v4 group-7">${segments2.slice(2, 4).join(".")}</span>`);
|
|
321019
321277
|
}
|
|
321020
321278
|
};
|
|
321021
321279
|
exports2.Address4 = Address4;
|
|
@@ -321072,6 +321330,7 @@ var require_constants10 = __commonJS({
|
|
|
321072
321330
|
"ff05::1:3/128": "Multicast (All DHCP servers in this site)",
|
|
321073
321331
|
"::/128": "Unspecified",
|
|
321074
321332
|
"::1/128": "Loopback",
|
|
321333
|
+
"::ffff:0:0/96": "IPv4-mapped",
|
|
321075
321334
|
"ff00::/8": "Multicast",
|
|
321076
321335
|
"fe80::/10": "Link-local unicast",
|
|
321077
321336
|
"fc00::/7": "Unique local",
|
|
@@ -321084,8 +321343,8 @@ var require_constants10 = __commonJS({
|
|
|
321084
321343
|
exports2.RE_BAD_ADDRESS = /([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi;
|
|
321085
321344
|
exports2.RE_SUBNET_STRING = /\/\d{1,3}(?=%|$)/;
|
|
321086
321345
|
exports2.RE_ZONE_STRING = /%.*$/;
|
|
321087
|
-
exports2.RE_URL =
|
|
321088
|
-
exports2.RE_URL_WITH_PORT =
|
|
321346
|
+
exports2.RE_URL = /^(?:\[([0-9a-f:.]+)\]|([0-9a-f:.]+))(?:[/?#].*)?$/i;
|
|
321347
|
+
exports2.RE_URL_WITH_PORT = /^\[([0-9a-f:.]+)\]:([0-9]{1,5})(?:[/?#].*)?$/i;
|
|
321089
321348
|
}
|
|
321090
321349
|
});
|
|
321091
321350
|
|
|
@@ -321326,6 +321585,7 @@ var require_ipv6 = __commonJS({
|
|
|
321326
321585
|
this.v4 = false;
|
|
321327
321586
|
this.zone = "";
|
|
321328
321587
|
this.isInSubnet = common.isInSubnet;
|
|
321588
|
+
this.isHostInSubnet = common.isHostInSubnet;
|
|
321329
321589
|
this.isCorrect = isCorrect6;
|
|
321330
321590
|
if (optionalGroups === void 0) {
|
|
321331
321591
|
this.groups = constants6.GROUPS;
|
|
@@ -321342,7 +321602,8 @@ var require_ipv6 = __commonJS({
|
|
|
321342
321602
|
throw new address_error_1.AddressError("Invalid subnet mask.");
|
|
321343
321603
|
}
|
|
321344
321604
|
address = address.replace(constants6.RE_SUBNET_STRING, "");
|
|
321345
|
-
}
|
|
321605
|
+
}
|
|
321606
|
+
if (/\//.test(address)) {
|
|
321346
321607
|
throw new address_error_1.AddressError("Invalid subnet mask.");
|
|
321347
321608
|
}
|
|
321348
321609
|
const zone = constants6.RE_ZONE_STRING.exec(address);
|
|
@@ -321364,7 +321625,7 @@ var require_ipv6 = __commonJS({
|
|
|
321364
321625
|
try {
|
|
321365
321626
|
new _Address6(address);
|
|
321366
321627
|
return true;
|
|
321367
|
-
} catch
|
|
321628
|
+
} catch {
|
|
321368
321629
|
return false;
|
|
321369
321630
|
}
|
|
321370
321631
|
}
|
|
@@ -321379,7 +321640,7 @@ var require_ipv6 = __commonJS({
|
|
|
321379
321640
|
* address.correctForm(); // '::e8:d4a5:1000'
|
|
321380
321641
|
*/
|
|
321381
321642
|
static fromBigInt(bigInt) {
|
|
321382
|
-
if (bigInt <
|
|
321643
|
+
if (bigInt < BigInt(0) || bigInt > (BigInt(1) << BigInt(constants6.BITS)) - BigInt(1)) {
|
|
321383
321644
|
throw new address_error_1.AddressError("IPv6 BigInt must be in the range 0 to 2**128 - 1");
|
|
321384
321645
|
}
|
|
321385
321646
|
const hex = bigInt.toString(16).padStart(32, "0");
|
|
@@ -321400,11 +321661,13 @@ var require_ipv6 = __commonJS({
|
|
|
321400
321661
|
* addressAndPort.port; // 8080
|
|
321401
321662
|
*/
|
|
321402
321663
|
static fromURL(url) {
|
|
321664
|
+
var _a2;
|
|
321403
321665
|
let host;
|
|
321404
321666
|
let port = null;
|
|
321405
321667
|
let result2;
|
|
321406
|
-
|
|
321407
|
-
|
|
321668
|
+
const stripped = url.replace(/^[a-z][a-z0-9+.-]*:\/\//i, "");
|
|
321669
|
+
if (stripped.indexOf("[") !== -1 && stripped.indexOf("]:") !== -1) {
|
|
321670
|
+
result2 = constants6.RE_URL_WITH_PORT.exec(stripped);
|
|
321408
321671
|
if (result2 === null) {
|
|
321409
321672
|
return {
|
|
321410
321673
|
error: "failed to parse address with port",
|
|
@@ -321414,9 +321677,8 @@ var require_ipv6 = __commonJS({
|
|
|
321414
321677
|
}
|
|
321415
321678
|
host = result2[1];
|
|
321416
321679
|
port = result2[2];
|
|
321417
|
-
} else
|
|
321418
|
-
|
|
321419
|
-
result2 = constants6.RE_URL.exec(url);
|
|
321680
|
+
} else {
|
|
321681
|
+
result2 = constants6.RE_URL.exec(stripped);
|
|
321420
321682
|
if (result2 === null) {
|
|
321421
321683
|
return {
|
|
321422
321684
|
error: "failed to parse address from URL",
|
|
@@ -321424,13 +321686,11 @@ var require_ipv6 = __commonJS({
|
|
|
321424
321686
|
port: null
|
|
321425
321687
|
};
|
|
321426
321688
|
}
|
|
321427
|
-
host = result2[1];
|
|
321428
|
-
} else {
|
|
321429
|
-
host = url;
|
|
321689
|
+
host = (_a2 = result2[1]) !== null && _a2 !== void 0 ? _a2 : result2[2];
|
|
321430
321690
|
}
|
|
321431
321691
|
if (port) {
|
|
321432
321692
|
port = parseInt(port, 10);
|
|
321433
|
-
if (port < 0 || port >
|
|
321693
|
+
if (port < 0 || port > 65535) {
|
|
321434
321694
|
port = null;
|
|
321435
321695
|
}
|
|
321436
321696
|
} else {
|
|
@@ -321692,7 +321952,7 @@ var require_ipv6 = __commonJS({
|
|
|
321692
321952
|
getType() {
|
|
321693
321953
|
for (let i6 = 0; i6 < TYPE_SUBNETS.length; i6++) {
|
|
321694
321954
|
const entry = TYPE_SUBNETS[i6];
|
|
321695
|
-
if (this.
|
|
321955
|
+
if (this.isHostInSubnet(entry[0])) {
|
|
321696
321956
|
return entry[1];
|
|
321697
321957
|
}
|
|
321698
321958
|
}
|
|
@@ -321825,18 +322085,20 @@ var require_ipv6 = __commonJS({
|
|
|
321825
322085
|
}
|
|
321826
322086
|
const groups = address.split(":");
|
|
321827
322087
|
const lastGroup = groups.slice(-1)[0];
|
|
322088
|
+
const v4Octets = lastGroup.split(".");
|
|
322089
|
+
if (v4Octets.length === constants4.GROUPS && v4Octets.every((octet) => /^\d{1,3}$/.test(octet))) {
|
|
322090
|
+
if (v4Octets.some((octet) => /^0\d/.test(octet))) {
|
|
322091
|
+
const highlighted = v4Octets.map(spanLeadingZeroes4).join(".");
|
|
322092
|
+
const prefix = groups.slice(0, -1).map(helpers.escapeHtml).join(":");
|
|
322093
|
+
const separator = groups.length > 1 ? ":" : "";
|
|
322094
|
+
throw new address_error_1.AddressError("IPv4 addresses can't have leading zeroes.", `${prefix}${separator}${highlighted}`);
|
|
322095
|
+
}
|
|
322096
|
+
}
|
|
321828
322097
|
const address4 = lastGroup.match(constants4.RE_ADDRESS);
|
|
321829
322098
|
if (address4) {
|
|
321830
322099
|
this.parsedAddress4 = address4[0];
|
|
321831
|
-
this.
|
|
321832
|
-
|
|
321833
|
-
if (/^0[0-9]+/.test(this.address4.parsedAddress[i6])) {
|
|
321834
|
-
const highlighted = this.address4.parsedAddress.map(spanLeadingZeroes4).join(".");
|
|
321835
|
-
const prefix = groups.slice(0, -1).map(helpers.escapeHtml).join(":");
|
|
321836
|
-
const separator = groups.length > 1 ? ":" : "";
|
|
321837
|
-
throw new address_error_1.AddressError("IPv4 addresses can't have leading zeroes.", `${prefix}${separator}${highlighted}`);
|
|
321838
|
-
}
|
|
321839
|
-
}
|
|
322100
|
+
const v4Suffix = this.subnetMask >= 96 ? `/${this.subnetMask - 96}` : "";
|
|
322101
|
+
this.address4 = new ipv4_1.Address4(`${this.parsedAddress4}${v4Suffix}`);
|
|
321840
322102
|
this.v4 = true;
|
|
321841
322103
|
groups[groups.length - 1] = this.address4.toGroup6();
|
|
321842
322104
|
address = groups.join(":");
|
|
@@ -321920,7 +322182,11 @@ var require_ipv6 = __commonJS({
|
|
|
321920
322182
|
return BigInt(`0x${this.parsedAddress.map(paddedHex).join("")}`);
|
|
321921
322183
|
}
|
|
321922
322184
|
/**
|
|
321923
|
-
* Return the last two groups of this address as an IPv4 address string
|
|
322185
|
+
* Return the last two groups of this address as an IPv4 address string.
|
|
322186
|
+
* If this address carries a CIDR prefix that covers the trailing 32 bits
|
|
322187
|
+
* (i.e. `subnetMask >= 96`), the resulting `Address4` inherits the
|
|
322188
|
+
* corresponding v4 prefix (`subnetMask - 96`); otherwise it defaults to
|
|
322189
|
+
* `/32`.
|
|
321924
322190
|
* @returns {Address4}
|
|
321925
322191
|
* @example
|
|
321926
322192
|
* var address = new Address6('2001:4860:4001::1825:bf11');
|
|
@@ -321928,7 +322194,16 @@ var require_ipv6 = __commonJS({
|
|
|
321928
322194
|
*/
|
|
321929
322195
|
to4() {
|
|
321930
322196
|
const binary = this.binaryZeroPad().split("");
|
|
321931
|
-
|
|
322197
|
+
const hex = BigInt(`0b${binary.slice(96, 128).join("")}`).toString(16).padStart(8, "0");
|
|
322198
|
+
if (this.subnetMask >= 96) {
|
|
322199
|
+
const v4Mask = this.subnetMask - 96;
|
|
322200
|
+
const groups = [];
|
|
322201
|
+
for (let i6 = 0; i6 < 8; i6 += 2) {
|
|
322202
|
+
groups.push(parseInt(hex.slice(i6, i6 + 2), 16));
|
|
322203
|
+
}
|
|
322204
|
+
return new ipv4_1.Address4(`${groups.join(".")}/${v4Mask}`);
|
|
322205
|
+
}
|
|
322206
|
+
return ipv4_1.Address4.fromHex(hex);
|
|
321932
322207
|
}
|
|
321933
322208
|
/**
|
|
321934
322209
|
* Return the v4-in-v6 form of the address
|
|
@@ -321942,7 +322217,7 @@ var require_ipv6 = __commonJS({
|
|
|
321942
322217
|
if (!/:$/.test(correct)) {
|
|
321943
322218
|
infix = ":";
|
|
321944
322219
|
}
|
|
321945
|
-
return correct + infix + address4.
|
|
322220
|
+
return correct + infix + address4.correctForm();
|
|
321946
322221
|
}
|
|
321947
322222
|
/**
|
|
321948
322223
|
* Decodes the Teredo tunneling fields embedded in this address. Returns the
|
|
@@ -322032,7 +322307,14 @@ var require_ipv6 = __commonJS({
|
|
|
322032
322307
|
bits = prefixBits.slice(0, 96) + v4Bits;
|
|
322033
322308
|
} else {
|
|
322034
322309
|
const beforeU = 64 - pl2;
|
|
322035
|
-
bits =
|
|
322310
|
+
bits = [
|
|
322311
|
+
prefixBits.slice(0, pl2),
|
|
322312
|
+
v4Bits.slice(0, beforeU),
|
|
322313
|
+
// Bits 64 to 71 are the reserved u octet and are always zero.
|
|
322314
|
+
"00000000",
|
|
322315
|
+
v4Bits.slice(beforeU),
|
|
322316
|
+
"0".repeat(128 - 72 - (32 - beforeU))
|
|
322317
|
+
].join("");
|
|
322036
322318
|
}
|
|
322037
322319
|
const hex = BigInt(`0b${bits}`).toString(16).padStart(32, "0");
|
|
322038
322320
|
const groups = [];
|
|
@@ -322055,7 +322337,7 @@ var require_ipv6 = __commonJS({
|
|
|
322055
322337
|
if (pl2 !== 32 && pl2 !== 40 && pl2 !== 48 && pl2 !== 56 && pl2 !== 64 && pl2 !== 96) {
|
|
322056
322338
|
throw new address_error_1.AddressError("NAT64 prefix length must be 32, 40, 48, 56, 64, or 96");
|
|
322057
322339
|
}
|
|
322058
|
-
if (!this.
|
|
322340
|
+
if (!this.isHostInSubnet(prefix6)) {
|
|
322059
322341
|
return null;
|
|
322060
322342
|
}
|
|
322061
322343
|
const bits = this.binaryZeroPad();
|
|
@@ -322079,9 +322361,7 @@ var require_ipv6 = __commonJS({
|
|
|
322079
322361
|
* @returns {Array}
|
|
322080
322362
|
*/
|
|
322081
322363
|
toByteArray() {
|
|
322082
|
-
const
|
|
322083
|
-
const leadingPad = "0".repeat(valueWithoutPadding.length % 2);
|
|
322084
|
-
const value2 = `${leadingPad}${valueWithoutPadding}`;
|
|
322364
|
+
const value2 = this.bigInt().toString(16).padStart(constants6.BITS / 4, "0");
|
|
322085
322365
|
const bytes = [];
|
|
322086
322366
|
for (let i6 = 0, length = value2.length; i6 < length; i6 += 2) {
|
|
322087
322367
|
bytes.push(parseInt(value2.substring(i6, i6 + 2), 16));
|
|
@@ -322100,19 +322380,28 @@ var require_ipv6 = __commonJS({
|
|
|
322100
322380
|
/**
|
|
322101
322381
|
* Convert a byte array to an Address6 object.
|
|
322102
322382
|
*
|
|
322383
|
+
* Accepts unsigned bytes (0 to 255) or signed bytes (-128 to 127, as an
|
|
322384
|
+
* `Int8Array` or a Java `byte[]` holds them), folding signed values to their
|
|
322385
|
+
* unsigned equivalent. Throws `AddressError` unless given exactly 16
|
|
322386
|
+
* integers from -128 to 255.
|
|
322387
|
+
*
|
|
322103
322388
|
* To convert from a Node.js `Buffer`, spread it: `Address6.fromByteArray([...buf])`.
|
|
322104
322389
|
* @returns {Address6}
|
|
322105
322390
|
*/
|
|
322106
322391
|
static fromByteArray(bytes) {
|
|
322392
|
+
common.assertByteArray(bytes, 16, "IPv6", -128);
|
|
322107
322393
|
return this.fromUnsignedByteArray(bytes.map(unsignByte));
|
|
322108
322394
|
}
|
|
322109
322395
|
/**
|
|
322110
322396
|
* Convert an unsigned byte array to an Address6 object.
|
|
322111
322397
|
*
|
|
322398
|
+
* Throws `AddressError` unless given exactly 16 integers from 0 to 255.
|
|
322399
|
+
*
|
|
322112
322400
|
* To convert from a Node.js `Buffer`, spread it: `Address6.fromUnsignedByteArray([...buf])`.
|
|
322113
322401
|
* @returns {Address6}
|
|
322114
322402
|
*/
|
|
322115
322403
|
static fromUnsignedByteArray(bytes) {
|
|
322404
|
+
common.assertByteArray(bytes, 16, "IPv6", 0);
|
|
322116
322405
|
const BYTE_MAX = BigInt("256");
|
|
322117
322406
|
let result2 = BigInt("0");
|
|
322118
322407
|
let multiplier = BigInt("1");
|
|
@@ -322134,6 +322423,10 @@ var require_ipv6 = __commonJS({
|
|
|
322134
322423
|
* @returns {boolean}
|
|
322135
322424
|
*/
|
|
322136
322425
|
isLinkLocal() {
|
|
322426
|
+
const embedded = this.embeddedIPv4();
|
|
322427
|
+
if (embedded) {
|
|
322428
|
+
return embedded.isLinkLocal();
|
|
322429
|
+
}
|
|
322137
322430
|
if (this.getBitsBase2(0, 64) === "1111111010000000000000000000000000000000000000000000000000000000") {
|
|
322138
322431
|
return true;
|
|
322139
322432
|
}
|
|
@@ -322144,6 +322437,10 @@ var require_ipv6 = __commonJS({
|
|
|
322144
322437
|
* @returns {boolean}
|
|
322145
322438
|
*/
|
|
322146
322439
|
isMulticast() {
|
|
322440
|
+
const embedded = this.embeddedIPv4();
|
|
322441
|
+
if (embedded) {
|
|
322442
|
+
return embedded.isMulticast();
|
|
322443
|
+
}
|
|
322147
322444
|
const type = this.getType();
|
|
322148
322445
|
return type === "Multicast" || type.startsWith("Multicast ");
|
|
322149
322446
|
}
|
|
@@ -322166,27 +322463,54 @@ var require_ipv6 = __commonJS({
|
|
|
322166
322463
|
* @returns {boolean}
|
|
322167
322464
|
*/
|
|
322168
322465
|
isMapped4() {
|
|
322169
|
-
return this.
|
|
322466
|
+
return this.isHostInSubnet(IPV4_MAPPED_SUBNET);
|
|
322467
|
+
}
|
|
322468
|
+
/**
|
|
322469
|
+
* If this address embeds a routable IPv4 address — i.e. it is IPv4-mapped
|
|
322470
|
+
* (`::ffff:0:0/96`) or sits in the NAT64 well-known prefix (`64:ff9b::/96`,
|
|
322471
|
+
* [RFC 6052](https://datatracker.ietf.org/doc/html/rfc6052)) — return that
|
|
322472
|
+
* embedded address as an {@link Address4}; otherwise return null.
|
|
322473
|
+
*
|
|
322474
|
+
* The special-property checks (`isLoopback`, `isLinkLocal`, `isMulticast`,
|
|
322475
|
+
* `isUnspecified`, `isPrivate`, `isCGNAT`, `isBroadcast`) call this first and
|
|
322476
|
+
* delegate to the embedded {@link Address4} when present, so a literal such as
|
|
322477
|
+
* `::ffff:127.0.0.1` is classified by what it actually reaches (loopback)
|
|
322478
|
+
* rather than by its IPv6 wrapper (which `getType()` reports as IPv4-mapped).
|
|
322479
|
+
* This matters wherever the checks back a trust-boundary decision (e.g. an
|
|
322480
|
+
* SSRF allow/deny filter): without normalization, `::ffff:10.0.0.1`,
|
|
322481
|
+
* `::ffff:169.254.169.254`, `64:ff9b::7f00:1`, etc. would all read as
|
|
322482
|
+
* non-internal.
|
|
322483
|
+
* @returns {Address4 | null}
|
|
322484
|
+
*/
|
|
322485
|
+
embeddedIPv4() {
|
|
322486
|
+
if (this.isMapped4() || this.isHostInSubnet(NAT64_WELL_KNOWN_SUBNET)) {
|
|
322487
|
+
return this.to4();
|
|
322488
|
+
}
|
|
322489
|
+
return null;
|
|
322170
322490
|
}
|
|
322171
322491
|
/**
|
|
322172
322492
|
* Returns true if the address is a Teredo address, false otherwise
|
|
322173
322493
|
* @returns {boolean}
|
|
322174
322494
|
*/
|
|
322175
322495
|
isTeredo() {
|
|
322176
|
-
return this.
|
|
322496
|
+
return this.isHostInSubnet(TEREDO_SUBNET);
|
|
322177
322497
|
}
|
|
322178
322498
|
/**
|
|
322179
322499
|
* Returns true if the address is a 6to4 address, false otherwise
|
|
322180
322500
|
* @returns {boolean}
|
|
322181
322501
|
*/
|
|
322182
322502
|
is6to4() {
|
|
322183
|
-
return this.
|
|
322503
|
+
return this.isHostInSubnet(SIX_TO_FOUR_SUBNET);
|
|
322184
322504
|
}
|
|
322185
322505
|
/**
|
|
322186
322506
|
* Returns true if the address is a loopback address, false otherwise
|
|
322187
322507
|
* @returns {boolean}
|
|
322188
322508
|
*/
|
|
322189
322509
|
isLoopback() {
|
|
322510
|
+
const embedded = this.embeddedIPv4();
|
|
322511
|
+
if (embedded) {
|
|
322512
|
+
return embedded.isLoopback();
|
|
322513
|
+
}
|
|
322190
322514
|
return this.getType() === "Loopback";
|
|
322191
322515
|
}
|
|
322192
322516
|
/**
|
|
@@ -322194,13 +322518,64 @@ var require_ipv6 = __commonJS({
|
|
|
322194
322518
|
* @returns {boolean}
|
|
322195
322519
|
*/
|
|
322196
322520
|
isULA() {
|
|
322197
|
-
return this.
|
|
322521
|
+
return this.isHostInSubnet(ULA_SUBNET);
|
|
322522
|
+
}
|
|
322523
|
+
/**
|
|
322524
|
+
* Returns true if the address is private, i.e. a Unique Local Address in
|
|
322525
|
+
* `fc00::/7` ([RFC 4193](https://datatracker.ietf.org/doc/html/rfc4193)) or an
|
|
322526
|
+
* IPv4-mapped / NAT64 address whose embedded IPv4 address is in one of the
|
|
322527
|
+
* [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) private ranges
|
|
322528
|
+
* (e.g. `::ffff:10.0.0.1`). This is the IPv6 counterpart to
|
|
322529
|
+
* {@link Address4.isPrivate}; use it instead of {@link isULA} when you need to
|
|
322530
|
+
* catch mapped RFC 1918 addresses as well as native ULAs.
|
|
322531
|
+
* @returns {boolean}
|
|
322532
|
+
*/
|
|
322533
|
+
isPrivate() {
|
|
322534
|
+
const embedded = this.embeddedIPv4();
|
|
322535
|
+
if (embedded) {
|
|
322536
|
+
return embedded.isPrivate();
|
|
322537
|
+
}
|
|
322538
|
+
return this.isULA();
|
|
322539
|
+
}
|
|
322540
|
+
/**
|
|
322541
|
+
* Returns true if the address is an IPv4-mapped / NAT64 address whose embedded
|
|
322542
|
+
* IPv4 address is in the carrier-grade NAT range `100.64.0.0/10`
|
|
322543
|
+
* ([RFC 6598](https://datatracker.ietf.org/doc/html/rfc6598)), false
|
|
322544
|
+
* otherwise. There is no native IPv6 CGNAT range, so this only ever returns
|
|
322545
|
+
* true for an embedded IPv4 address (e.g. `::ffff:100.64.0.1`).
|
|
322546
|
+
* @returns {boolean}
|
|
322547
|
+
*/
|
|
322548
|
+
isCGNAT() {
|
|
322549
|
+
const embedded = this.embeddedIPv4();
|
|
322550
|
+
if (embedded) {
|
|
322551
|
+
return embedded.isCGNAT();
|
|
322552
|
+
}
|
|
322553
|
+
return false;
|
|
322554
|
+
}
|
|
322555
|
+
/**
|
|
322556
|
+
* Returns true if the address is an IPv4-mapped / NAT64 address whose embedded
|
|
322557
|
+
* IPv4 address is the limited broadcast address `255.255.255.255`
|
|
322558
|
+
* ([RFC 919](https://datatracker.ietf.org/doc/html/rfc919)), false otherwise.
|
|
322559
|
+
* There is no IPv6 broadcast, so this only ever returns true for an embedded
|
|
322560
|
+
* IPv4 address (e.g. `::ffff:255.255.255.255`).
|
|
322561
|
+
* @returns {boolean}
|
|
322562
|
+
*/
|
|
322563
|
+
isBroadcast() {
|
|
322564
|
+
const embedded = this.embeddedIPv4();
|
|
322565
|
+
if (embedded) {
|
|
322566
|
+
return embedded.isBroadcast();
|
|
322567
|
+
}
|
|
322568
|
+
return false;
|
|
322198
322569
|
}
|
|
322199
322570
|
/**
|
|
322200
322571
|
* Returns true if the address is the unspecified address `::`.
|
|
322201
322572
|
* @returns {boolean}
|
|
322202
322573
|
*/
|
|
322203
322574
|
isUnspecified() {
|
|
322575
|
+
const embedded = this.embeddedIPv4();
|
|
322576
|
+
if (embedded) {
|
|
322577
|
+
return embedded.isUnspecified();
|
|
322578
|
+
}
|
|
322204
322579
|
return this.getType() === "Unspecified";
|
|
322205
322580
|
}
|
|
322206
322581
|
/**
|
|
@@ -322208,7 +322583,7 @@ var require_ipv6 = __commonJS({
|
|
|
322208
322583
|
* @returns {boolean}
|
|
322209
322584
|
*/
|
|
322210
322585
|
isDocumentation() {
|
|
322211
|
-
return this.
|
|
322586
|
+
return this.isHostInSubnet(DOCUMENTATION_SUBNET);
|
|
322212
322587
|
}
|
|
322213
322588
|
// #endregion
|
|
322214
322589
|
// #region HTML
|
|
@@ -322353,6 +322728,7 @@ var require_ipv6 = __commonJS({
|
|
|
322353
322728
|
var ULA_SUBNET = new Address6("fc00::/7");
|
|
322354
322729
|
var DOCUMENTATION_SUBNET = new Address6("2001:db8::/32");
|
|
322355
322730
|
var IPV4_MAPPED_SUBNET = new Address6("::ffff:0:0/96");
|
|
322731
|
+
var NAT64_WELL_KNOWN_SUBNET = new Address6("64:ff9b::/96");
|
|
322356
322732
|
}
|
|
322357
322733
|
});
|
|
322358
322734
|
|