{"version":3,"file":"struct-B_Dk4HR1.cjs","names":["MessageType","json: JsonObject","UnknownFieldHandler","key: keyof Struct[\"fields\"] | undefined","val: Struct[\"fields\"][any] | undefined","WireType"],"sources":["../generated/ts/google/protobuf/struct.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter generate_dependencies\n// @generated from protobuf file \"google/protobuf/struct.proto\" (package \"google.protobuf\", syntax proto3)\n// tslint:disable\n//\n// Protocol Buffers - Google's data interchange format\n// Copyright 2008 Google Inc.  All rights reserved.\n// https://developers.google.com/protocol-buffers/\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n//\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { isJsonObject } from \"@protobuf-ts/runtime\";\nimport { typeofJsonValue } from \"@protobuf-ts/runtime\";\nimport type { JsonValue } from \"@protobuf-ts/runtime\";\nimport type { JsonReadOptions } from \"@protobuf-ts/runtime\";\nimport type { JsonWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { JsonObject } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n * `Struct` represents a structured data value, consisting of fields\n * which map to dynamically typed values. In some languages, `Struct`\n * might be supported by a native representation. For example, in\n * scripting languages like JS a struct is represented as an\n * object. The details of that representation are described together\n * with the proto support for the language.\n *\n * The JSON representation for `Struct` is JSON object.\n *\n * @generated from protobuf message google.protobuf.Struct\n */\nexport interface Struct {\n    /**\n     * Unordered map of dynamically typed values.\n     *\n     * @generated from protobuf field: map<string, google.protobuf.Value> fields = 1\n     */\n    fields: {\n        [key: string]: Value;\n    };\n}\n/**\n * `Value` represents a dynamically typed value which can be either\n * null, a number, a string, a boolean, a recursive struct value, or a\n * list of values. A producer of value is expected to set one of these\n * variants. Absence of any variant indicates an error.\n *\n * The JSON representation for `Value` is JSON value.\n *\n * @generated from protobuf message google.protobuf.Value\n */\nexport interface Value {\n    /**\n     * The kind of value.\n     *\n     * @generated from protobuf oneof: kind\n     */\n    kind: {\n        oneofKind: \"nullValue\";\n        /**\n         * Represents a null value.\n         *\n         * @generated from protobuf field: google.protobuf.NullValue null_value = 1\n         */\n        nullValue: NullValue;\n    } | {\n        oneofKind: \"numberValue\";\n        /**\n         * Represents a double value.\n         *\n         * @generated from protobuf field: double number_value = 2\n         */\n        numberValue: number;\n    } | {\n        oneofKind: \"stringValue\";\n        /**\n         * Represents a string value.\n         *\n         * @generated from protobuf field: string string_value = 3\n         */\n        stringValue: string;\n    } | {\n        oneofKind: \"boolValue\";\n        /**\n         * Represents a boolean value.\n         *\n         * @generated from protobuf field: bool bool_value = 4\n         */\n        boolValue: boolean;\n    } | {\n        oneofKind: \"structValue\";\n        /**\n         * Represents a structured value.\n         *\n         * @generated from protobuf field: google.protobuf.Struct struct_value = 5\n         */\n        structValue: Struct;\n    } | {\n        oneofKind: \"listValue\";\n        /**\n         * Represents a repeated `Value`.\n         *\n         * @generated from protobuf field: google.protobuf.ListValue list_value = 6\n         */\n        listValue: ListValue;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * `ListValue` is a wrapper around a repeated field of values.\n *\n * The JSON representation for `ListValue` is JSON array.\n *\n * @generated from protobuf message google.protobuf.ListValue\n */\nexport interface ListValue {\n    /**\n     * Repeated field of dynamically typed values.\n     *\n     * @generated from protobuf field: repeated google.protobuf.Value values = 1\n     */\n    values: Value[];\n}\n/**\n * `NullValue` is a singleton enumeration to represent the null value for the\n * `Value` type union.\n *\n * The JSON representation for `NullValue` is JSON `null`.\n *\n * @generated from protobuf enum google.protobuf.NullValue\n */\nexport enum NullValue {\n    /**\n     * Null value.\n     *\n     * @generated from protobuf enum value: NULL_VALUE = 0;\n     */\n    NULL_VALUE = 0\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Struct$Type extends MessageType<Struct> {\n    constructor() {\n        super(\"google.protobuf.Struct\", [\n            { no: 1, name: \"fields\", kind: \"map\", K: 9 /*ScalarType.STRING*/, V: { kind: \"message\", T: () => Value } }\n        ]);\n    }\n    /**\n     * Encode `Struct` to JSON object.\n     */\n    internalJsonWrite(message: Struct, options: JsonWriteOptions): JsonValue {\n        let json: JsonObject = {};\n        for (let [k, v] of Object.entries(message.fields)) {\n            json[k] = Value.toJson(v);\n        }\n        return json;\n    }\n    /**\n     * Decode `Struct` from JSON object.\n     */\n    internalJsonRead(json: JsonValue, options: JsonReadOptions, target?: Struct): Struct {\n        if (!isJsonObject(json))\n            throw new globalThis.Error(\"Unable to parse message \" + this.typeName + \" from JSON \" + typeofJsonValue(json) + \".\");\n        if (!target)\n            target = this.create();\n        for (let [k, v] of globalThis.Object.entries(json)) {\n            target.fields[k] = Value.fromJson(v);\n        }\n        return target;\n    }\n    create(value?: PartialMessage<Struct>): Struct {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.fields = {};\n        if (value !== undefined)\n            reflectionMergePartial<Struct>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Struct): Struct {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* map<string, google.protobuf.Value> fields */ 1:\n                    this.binaryReadMap1(message.fields, reader, options);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    private binaryReadMap1(map: Struct[\"fields\"], reader: IBinaryReader, options: BinaryReadOptions): void {\n        let len = reader.uint32(), end = reader.pos + len, key: keyof Struct[\"fields\"] | undefined, val: Struct[\"fields\"][any] | undefined;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case 1:\n                    key = reader.string();\n                    break;\n                case 2:\n                    val = Value.internalBinaryRead(reader, reader.uint32(), options);\n                    break;\n                default: throw new globalThis.Error(\"unknown map entry field for google.protobuf.Struct.fields\");\n            }\n        }\n        map[key ?? \"\"] = val ?? Value.create();\n    }\n    internalBinaryWrite(message: Struct, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* map<string, google.protobuf.Value> fields = 1; */\n        for (let k of globalThis.Object.keys(message.fields)) {\n            writer.tag(1, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);\n            writer.tag(2, WireType.LengthDelimited).fork();\n            Value.internalBinaryWrite(message.fields[k], writer, options);\n            writer.join().join();\n        }\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message google.protobuf.Struct\n */\nexport const Struct = new Struct$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass Value$Type extends MessageType<Value> {\n    constructor() {\n        super(\"google.protobuf.Value\", [\n            { no: 1, name: \"null_value\", kind: \"enum\", oneof: \"kind\", T: () => [\"google.protobuf.NullValue\", NullValue] },\n            { no: 2, name: \"number_value\", kind: \"scalar\", oneof: \"kind\", T: 1 /*ScalarType.DOUBLE*/ },\n            { no: 3, name: \"string_value\", kind: \"scalar\", oneof: \"kind\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"bool_value\", kind: \"scalar\", oneof: \"kind\", T: 8 /*ScalarType.BOOL*/ },\n            { no: 5, name: \"struct_value\", kind: \"message\", oneof: \"kind\", T: () => Struct },\n            { no: 6, name: \"list_value\", kind: \"message\", oneof: \"kind\", T: () => ListValue }\n        ]);\n    }\n    /**\n     * Encode `Value` to JSON value.\n     */\n    internalJsonWrite(message: Value, options: JsonWriteOptions): JsonValue {\n        if (message.kind.oneofKind === undefined)\n            throw new globalThis.Error();\n        switch (message.kind.oneofKind) {\n            case undefined: throw new globalThis.Error();\n            case \"boolValue\": return message.kind.boolValue;\n            case \"nullValue\": return null;\n            case \"numberValue\":\n                let numberValue = message.kind.numberValue;\n                if (typeof numberValue == \"number\" && !Number.isFinite(numberValue))\n                    throw new globalThis.Error();\n                return numberValue;\n            case \"stringValue\": return message.kind.stringValue;\n            case \"listValue\":\n                let listValueField = this.fields.find(f => f.no === 6);\n                if (listValueField?.kind !== \"message\")\n                    throw new globalThis.Error();\n                return listValueField.T().toJson(message.kind.listValue);\n            case \"structValue\":\n                let structValueField = this.fields.find(f => f.no === 5);\n                if (structValueField?.kind !== \"message\")\n                    throw new globalThis.Error();\n                return structValueField.T().toJson(message.kind.structValue);\n        }\n    }\n    /**\n     * Decode `Value` from JSON value.\n     */\n    internalJsonRead(json: JsonValue, options: JsonReadOptions, target?: Value): Value {\n        if (!target)\n            target = this.create();\n        switch (typeof json) {\n            case \"number\":\n                target.kind = { oneofKind: \"numberValue\", numberValue: json };\n                break;\n            case \"string\":\n                target.kind = { oneofKind: \"stringValue\", stringValue: json };\n                break;\n            case \"boolean\":\n                target.kind = { oneofKind: \"boolValue\", boolValue: json };\n                break;\n            case \"object\":\n                if (json === null) {\n                    target.kind = { oneofKind: \"nullValue\", nullValue: NullValue.NULL_VALUE };\n                }\n                else if (globalThis.Array.isArray(json)) {\n                    target.kind = { oneofKind: \"listValue\", listValue: ListValue.fromJson(json) };\n                }\n                else {\n                    target.kind = { oneofKind: \"structValue\", structValue: Struct.fromJson(json) };\n                }\n                break;\n            default: throw new globalThis.Error(\"Unable to parse \" + this.typeName + \" from JSON \" + typeofJsonValue(json));\n        }\n        return target;\n    }\n    create(value?: PartialMessage<Value>): Value {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.kind = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<Value>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Value): Value {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* google.protobuf.NullValue null_value */ 1:\n                    message.kind = {\n                        oneofKind: \"nullValue\",\n                        nullValue: reader.int32()\n                    };\n                    break;\n                case /* double number_value */ 2:\n                    message.kind = {\n                        oneofKind: \"numberValue\",\n                        numberValue: reader.double()\n                    };\n                    break;\n                case /* string string_value */ 3:\n                    message.kind = {\n                        oneofKind: \"stringValue\",\n                        stringValue: reader.string()\n                    };\n                    break;\n                case /* bool bool_value */ 4:\n                    message.kind = {\n                        oneofKind: \"boolValue\",\n                        boolValue: reader.bool()\n                    };\n                    break;\n                case /* google.protobuf.Struct struct_value */ 5:\n                    message.kind = {\n                        oneofKind: \"structValue\",\n                        structValue: Struct.internalBinaryRead(reader, reader.uint32(), options, (message.kind as any).structValue)\n                    };\n                    break;\n                case /* google.protobuf.ListValue list_value */ 6:\n                    message.kind = {\n                        oneofKind: \"listValue\",\n                        listValue: ListValue.internalBinaryRead(reader, reader.uint32(), options, (message.kind as any).listValue)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Value, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* google.protobuf.NullValue null_value = 1; */\n        if (message.kind.oneofKind === \"nullValue\")\n            writer.tag(1, WireType.Varint).int32(message.kind.nullValue);\n        /* double number_value = 2; */\n        if (message.kind.oneofKind === \"numberValue\")\n            writer.tag(2, WireType.Bit64).double(message.kind.numberValue);\n        /* string string_value = 3; */\n        if (message.kind.oneofKind === \"stringValue\")\n            writer.tag(3, WireType.LengthDelimited).string(message.kind.stringValue);\n        /* bool bool_value = 4; */\n        if (message.kind.oneofKind === \"boolValue\")\n            writer.tag(4, WireType.Varint).bool(message.kind.boolValue);\n        /* google.protobuf.Struct struct_value = 5; */\n        if (message.kind.oneofKind === \"structValue\")\n            Struct.internalBinaryWrite(message.kind.structValue, writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n        /* google.protobuf.ListValue list_value = 6; */\n        if (message.kind.oneofKind === \"listValue\")\n            ListValue.internalBinaryWrite(message.kind.listValue, writer.tag(6, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message google.protobuf.Value\n */\nexport const Value = new Value$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ListValue$Type extends MessageType<ListValue> {\n    constructor() {\n        super(\"google.protobuf.ListValue\", [\n            { no: 1, name: \"values\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Value }\n        ]);\n    }\n    /**\n     * Encode `ListValue` to JSON array.\n     */\n    internalJsonWrite(message: ListValue, options: JsonWriteOptions): JsonValue {\n        return message.values.map(v => Value.toJson(v));\n    }\n    /**\n     * Decode `ListValue` from JSON array.\n     */\n    internalJsonRead(json: JsonValue, options: JsonReadOptions, target?: ListValue): ListValue {\n        if (!globalThis.Array.isArray(json))\n            throw new globalThis.Error(\"Unable to parse \" + this.typeName + \" from JSON \" + typeofJsonValue(json));\n        if (!target)\n            target = this.create();\n        let values = json.map(v => Value.fromJson(v));\n        target.values.push(...values);\n        return target;\n    }\n    create(value?: PartialMessage<ListValue>): ListValue {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.values = [];\n        if (value !== undefined)\n            reflectionMergePartial<ListValue>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListValue): ListValue {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated google.protobuf.Value values */ 1:\n                    message.values.push(Value.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: ListValue, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated google.protobuf.Value values = 1; */\n        for (let i = 0; i < message.values.length; i++)\n            Value.internalBinaryWrite(message.values[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message google.protobuf.ListValue\n */\nexport const ListValue = new ListValue$Type();\n"],"mappings":"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"}