{"version":3,"sources":["jsdelivr-header.js","/npm/@aws-sdk/util-dynamodb@3.996.2/dist-cjs/index.js"],"names":[],"mappings":"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","file":"/npm/@aws-sdk/util-dynamodb@3.996.2/dist-cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@aws-sdk/util-dynamodb@3.996.2/dist-cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nclass NumberValue {\n    value;\n    constructor(value) {\n        if (typeof value === \"object\" && \"N\" in value) {\n            this.value = String(value.N);\n        }\n        else {\n            this.value = String(value);\n        }\n        const valueOf = typeof value.valueOf() === \"number\" ? value.valueOf() : 0;\n        const imprecise = valueOf > Number.MAX_SAFE_INTEGER ||\n            valueOf < Number.MIN_SAFE_INTEGER ||\n            Math.abs(valueOf) === Infinity ||\n            Number.isNaN(valueOf);\n        if (imprecise) {\n            throw new Error(`NumberValue should not be initialized with an imprecise number=${valueOf}. Use a string instead.`);\n        }\n    }\n    static from(value) {\n        return new NumberValue(value);\n    }\n    toAttributeValue() {\n        return {\n            N: this.toString(),\n        };\n    }\n    toBigInt() {\n        const stringValue = this.toString();\n        return BigInt(stringValue);\n    }\n    toString() {\n        return String(this.value);\n    }\n    valueOf() {\n        return this.toString();\n    }\n}\n\nconst convertToAttr = (data, options) => {\n    if (data === undefined) {\n        throw new Error(`Pass options.removeUndefinedValues=true to remove undefined values from map/array/set.`);\n    }\n    else if (data === null && typeof data === \"object\") {\n        return convertToNullAttr();\n    }\n    else if (Array.isArray(data)) {\n        return convertToListAttr(data, options);\n    }\n    else if (data?.constructor?.name === \"Set\") {\n        return convertToSetAttr(data, options);\n    }\n    else if (data?.constructor?.name === \"Map\") {\n        return convertToMapAttrFromIterable(data, options);\n    }\n    else if (data?.constructor?.name === \"Object\" ||\n        (!data.constructor && typeof data === \"object\")) {\n        return convertToMapAttrFromEnumerableProps(data, options);\n    }\n    else if (isBinary(data)) {\n        if (data.length === 0 && options?.convertEmptyValues) {\n            return convertToNullAttr();\n        }\n        return convertToBinaryAttr(data);\n    }\n    else if (typeof data === \"boolean\" || data?.constructor?.name === \"Boolean\") {\n        return { BOOL: data.valueOf() };\n    }\n    else if (typeof data === \"number\" || data?.constructor?.name === \"Number\") {\n        return convertToNumberAttr(data, options);\n    }\n    else if (data instanceof NumberValue) {\n        return data.toAttributeValue();\n    }\n    else if (typeof data === \"bigint\") {\n        return convertToBigIntAttr(data);\n    }\n    else if (typeof data === \"string\" || data?.constructor?.name === \"String\") {\n        if (data.length === 0 && options?.convertEmptyValues) {\n            return convertToNullAttr();\n        }\n        return convertToStringAttr(data);\n    }\n    else if (options?.convertClassInstanceToMap && typeof data === \"object\") {\n        return convertToMapAttrFromEnumerableProps(data, options);\n    }\n    throw new Error(`Unsupported type passed: ${data}. Pass options.convertClassInstanceToMap=true to marshall typeof object as map attribute.`);\n};\nconst convertToListAttr = (data, options) => ({\n    L: data\n        .filter((item) => typeof item !== \"function\" &&\n        (!options?.removeUndefinedValues || (options?.removeUndefinedValues && item !== undefined)))\n        .map((item) => convertToAttr(item, options)),\n});\nconst convertToSetAttr = (set, options) => {\n    const setToOperate = options?.removeUndefinedValues ? new Set([...set].filter((value) => value !== undefined)) : set;\n    if (!options?.removeUndefinedValues && setToOperate.has(undefined)) {\n        throw new Error(`Pass options.removeUndefinedValues=true to remove undefined values from map/array/set.`);\n    }\n    if (setToOperate.size === 0) {\n        if (options?.convertEmptyValues) {\n            return convertToNullAttr();\n        }\n        throw new Error(`Pass a non-empty set, or options.convertEmptyValues=true.`);\n    }\n    const item = setToOperate.values().next().value;\n    if (item instanceof NumberValue) {\n        return {\n            NS: Array.from(setToOperate).map((_) => _.toString()),\n        };\n    }\n    else if (typeof item === \"number\") {\n        return {\n            NS: Array.from(setToOperate)\n                .map((num) => convertToNumberAttr(num, options))\n                .map((item) => item.N),\n        };\n    }\n    else if (typeof item === \"bigint\") {\n        return {\n            NS: Array.from(setToOperate)\n                .map(convertToBigIntAttr)\n                .map((item) => item.N),\n        };\n    }\n    else if (typeof item === \"string\") {\n        return {\n            SS: Array.from(setToOperate)\n                .map(convertToStringAttr)\n                .map((item) => item.S),\n        };\n    }\n    else if (isBinary(item)) {\n        return {\n            BS: Array.from(setToOperate)\n                .map(convertToBinaryAttr)\n                .map((item) => item.B),\n        };\n    }\n    else {\n        throw new Error(`Only Number Set (NS), Binary Set (BS) or String Set (SS) are allowed.`);\n    }\n};\nconst convertToMapAttrFromIterable = (data, options) => ({\n    M: ((data) => {\n        const map = {};\n        for (const [key, value] of data) {\n            if (typeof value !== \"function\" && (value !== undefined || !options?.removeUndefinedValues)) {\n                map[key] = convertToAttr(value, options);\n            }\n        }\n        return map;\n    })(data),\n});\nconst convertToMapAttrFromEnumerableProps = (data, options) => ({\n    M: ((data) => {\n        const map = {};\n        for (const key in data) {\n            const value = data[key];\n            if (typeof value !== \"function\" && (value !== undefined || !options?.removeUndefinedValues)) {\n                map[key] = convertToAttr(value, options);\n            }\n        }\n        return map;\n    })(data),\n});\nconst convertToNullAttr = () => ({ NULL: true });\nconst convertToBinaryAttr = (data) => ({ B: data });\nconst convertToStringAttr = (data) => ({ S: data.toString() });\nconst convertToBigIntAttr = (data) => ({ N: data.toString() });\nconst validateBigIntAndThrow = (errorPrefix) => {\n    throw new Error(`${errorPrefix} Use NumberValue from @aws-sdk/lib-dynamodb.`);\n};\nconst convertToNumberAttr = (num, options) => {\n    if ([Number.NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY]\n        .map((val) => val.toString())\n        .includes(num.toString())) {\n        throw new Error(`Special numeric value ${num.toString()} is not allowed`);\n    }\n    else if (!options?.allowImpreciseNumbers) {\n        if (Number(num) > Number.MAX_SAFE_INTEGER) {\n            validateBigIntAndThrow(`Number ${num.toString()} is greater than Number.MAX_SAFE_INTEGER.`);\n        }\n        else if (Number(num) < Number.MIN_SAFE_INTEGER) {\n            validateBigIntAndThrow(`Number ${num.toString()} is lesser than Number.MIN_SAFE_INTEGER.`);\n        }\n    }\n    return { N: num.toString() };\n};\nconst isBinary = (data) => {\n    const binaryTypes = [\n        \"ArrayBuffer\",\n        \"Blob\",\n        \"Buffer\",\n        \"DataView\",\n        \"File\",\n        \"Int8Array\",\n        \"Uint8Array\",\n        \"Uint8ClampedArray\",\n        \"Int16Array\",\n        \"Uint16Array\",\n        \"Int32Array\",\n        \"Uint32Array\",\n        \"Float32Array\",\n        \"Float64Array\",\n        \"BigInt64Array\",\n        \"BigUint64Array\",\n    ];\n    if (data?.constructor) {\n        return binaryTypes.includes(data.constructor.name);\n    }\n    return false;\n};\n\nconst convertToNative = (data, options) => {\n    for (const [key, value] of Object.entries(data)) {\n        if (value !== undefined) {\n            switch (key) {\n                case \"NULL\":\n                    return null;\n                case \"BOOL\":\n                    return Boolean(value);\n                case \"N\":\n                    return convertNumber(value, options);\n                case \"B\":\n                    return convertBinary(value);\n                case \"S\":\n                    return convertString(value);\n                case \"L\":\n                    return convertList(value, options);\n                case \"M\":\n                    return convertMap(value, options);\n                case \"NS\":\n                    return new Set(value.map((item) => convertNumber(item, options)));\n                case \"BS\":\n                    return new Set(value.map(convertBinary));\n                case \"SS\":\n                    return new Set(value.map(convertString));\n                default:\n                    throw new Error(`Unsupported type passed: ${key}`);\n            }\n        }\n    }\n    throw new Error(`No value defined: ${JSON.stringify(data)}`);\n};\nconst convertNumber = (numString, options) => {\n    if (typeof options?.wrapNumbers === \"function\") {\n        return options?.wrapNumbers(numString);\n    }\n    if (options?.wrapNumbers) {\n        return NumberValue.from(numString);\n    }\n    const num = Number(numString);\n    const infinityValues = [Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY];\n    const isLargeFiniteNumber = (num > Number.MAX_SAFE_INTEGER || num < Number.MIN_SAFE_INTEGER) && !infinityValues.includes(num);\n    if (isLargeFiniteNumber) {\n        if (typeof BigInt === \"function\") {\n            try {\n                return BigInt(numString);\n            }\n            catch (error) {\n                throw new Error(`${numString} can't be converted to BigInt. Set options.wrapNumbers to get string value.`);\n            }\n        }\n        else {\n            throw new Error(`${numString} is outside SAFE_INTEGER bounds. Set options.wrapNumbers to get string value.`);\n        }\n    }\n    return num;\n};\nconst convertString = (stringValue) => stringValue;\nconst convertBinary = (binaryValue) => binaryValue;\nconst convertList = (list, options) => list.map((item) => convertToNative(item, options));\nconst convertMap = (map, options) => Object.entries(map).reduce((acc, [key, value]) => ((acc[key] = convertToNative(value, options)), acc), {});\n\nfunction marshall(data, options) {\n    const attributeValue = convertToAttr(data, options);\n    const [key, value] = Object.entries(attributeValue)[0];\n    switch (key) {\n        case \"M\":\n        case \"L\":\n            return options?.convertTopLevelContainer ? attributeValue : value;\n        case \"SS\":\n        case \"NS\":\n        case \"BS\":\n        case \"S\":\n        case \"N\":\n        case \"B\":\n        case \"NULL\":\n        case \"BOOL\":\n        case \"$unknown\":\n        default:\n            return attributeValue;\n    }\n}\n\nconst unmarshall = (data, options) => {\n    if (options?.convertWithoutMapWrapper) {\n        return convertToNative(data, options);\n    }\n    return convertToNative({ M: data }, options);\n};\n\nexports.NumberValueImpl = NumberValue;\nexports.convertToAttr = convertToAttr;\nexports.convertToNative = convertToNative;\nexports.marshall = marshall;\nexports.unmarshall = unmarshall;\n"]}