-- Code generated by protoc-gen-tarantool. DO NOT EDIT.
-- source: proto2_basic.proto
-- syntax: proto2
-- package: proto2_basic
local pb = require("pb")
local wire = pb.wire
local M = {}
M.options = {go_package = "tarantoolpb_synthetic/proto2_basic"}
-- Enum: proto2_basic.Defaults.Color
M.Defaults_Color_descriptor = pb.enum("proto2_basic.Defaults.Color", {
RED = 0,
GREEN = 1,
BLUE = 2,
})
M.Defaults_Color = M.Defaults_Color_descriptor.by_name
-- Pre-declare message descriptors so cross-references resolve.
M.Defaults_descriptor = {name = "proto2_basic.Defaults"}
M.Cardinality_descriptor = {name = "proto2_basic.Cardinality"}
M.Nested_descriptor = {name = "proto2_basic.Nested"}
M.Nested_Inner_descriptor = {name = "proto2_basic.Nested.Inner"}
M.WithGroup_descriptor = {name = "proto2_basic.WithGroup"}
M.WithGroup_SingleGroup_descriptor = {name = "proto2_basic.WithGroup.SingleGroup"}
M.WithGroup_RepGroup_descriptor = {name = "proto2_basic.WithGroup.RepGroup"}
-- Message: proto2_basic.Defaults
M.Defaults_descriptor.fields = {
{name="i", id=1, kind='scalar', proto_type="int32", optional=true, default_value=17},
{name="s", id=2, kind='scalar', proto_type="string", optional=true, default_value="hello"},
{name="b", id=3, kind='scalar', proto_type="bool", optional=true, default_value=true},
{name="f", id=4, kind='scalar', proto_type="float", optional=true, default_value=3.5},
{name="d", id=5, kind='scalar', proto_type="double", optional=true, default_value=1.5},
{name="i64", id=6, kind='scalar', proto_type="int64", optional=true, default_value=1234567890123LL},
{name="u64", id=7, kind='scalar', proto_type="uint64", optional=true, default_value=17ULL},
{name="by", id=8, kind='scalar', proto_type="bytes", optional=true, default_value="\x00\xff"},
{name="color", id=9, kind='enum', enum=M.Defaults_Color_descriptor, optional=true, default_value="GREEN"},
}
pb.finalize_message(M.Defaults_descriptor)
M.Defaults_fields = pb.field_names({
i = "i",
s = "s",
b = "b",
f = "f",
d = "d",
i64 = "i64",
u64 = "u64",
by = "by",
color = "color",
})
-- Message: proto2_basic.Cardinality
M.Cardinality_descriptor.fields = {
{name="r", id=1, kind='scalar', proto_type="int32", required=true},
{name="o", id=2, kind='scalar', proto_type="int32", optional=true},
{name="packed_default", id=3, kind='scalar', proto_type="int32", repeated=true, packed=false},
{name="explicitly_packed", id=4, kind='scalar', proto_type="int32", repeated=true, packed=true, options={packed = true}},
{name="explicitly_unpacked", id=5, kind='scalar', proto_type="int32", repeated=true, packed=false, options={packed = false}},
}
pb.finalize_message(M.Cardinality_descriptor)
M.Cardinality_fields = pb.field_names({
r = "r",
o = "o",
packed_default = "packed_default",
explicitly_packed = "explicitly_packed",
explicitly_unpacked = "explicitly_unpacked",
})
-- Message: proto2_basic.Nested
M.Nested_descriptor.fields = {
{name="inner", id=1, kind='message', message=M.Nested_Inner_descriptor, required=true},
{name="inner_opt", id=2, kind='message', message=M.Nested_Inner_descriptor, optional=true},
}
pb.finalize_message(M.Nested_descriptor)
M.Nested_fields = pb.field_names({
inner = "inner",
inner_opt = "inner_opt",
})
-- Message: proto2_basic.Nested.Inner
M.Nested_Inner_descriptor.fields = {
{name="x", id=1, kind='scalar', proto_type="int32", required=true},
}
pb.finalize_message(M.Nested_Inner_descriptor)
M.Nested_Inner_fields = pb.field_names({
x = "x",
})
-- Message: proto2_basic.WithGroup
M.WithGroup_descriptor.fields = {
{name="singlegroup", id=1, kind='group', message=M.WithGroup_SingleGroup_descriptor, optional=true},
{name="repgroup", id=4, kind='group', message=M.WithGroup_RepGroup_descriptor, repeated=true},
}
pb.finalize_message(M.WithGroup_descriptor)
M.WithGroup_fields = pb.field_names({
singlegroup = "singlegroup",
repgroup = "repgroup",
})
-- Message: proto2_basic.WithGroup.SingleGroup
M.WithGroup_SingleGroup_descriptor.fields = {
{name="a", id=2, kind='scalar', proto_type="int32", optional=true},
{name="s", id=3, kind='scalar', proto_type="string", optional=true},
}
pb.finalize_message(M.WithGroup_SingleGroup_descriptor)
M.WithGroup_SingleGroup_fields = pb.field_names({
a = "a",
s = "s",
})
-- Message: proto2_basic.WithGroup.RepGroup
M.WithGroup_RepGroup_descriptor.fields = {
{name="n", id=5, kind='scalar', proto_type="int32", optional=true},
}
pb.finalize_message(M.WithGroup_RepGroup_descriptor)
M.WithGroup_RepGroup_fields = pb.field_names({
n = "n",
})
-- EmmyLua / lua-language-server type annotations.
-- These are comments — no runtime effect. They give editors
-- autocomplete and type-checking for the generated wrappers.
---@alias proto2_basic.Defaults.Color integer
---@class proto2_basic.Defaults
---@field i? integer
---@field s? string
---@field b? boolean
---@field f? number
---@field d? number
---@field i64? integer
---@field u64? integer
---@field by? string
---@field color? proto2_basic.Defaults.Color
---@class proto2_basic.Cardinality
---@field r integer
---@field o? integer
---@field packed_default integer[]
---@field explicitly_packed integer[]
---@field explicitly_unpacked integer[]
---@class proto2_basic.Nested
---@field inner proto2_basic.Nested.Inner
---@field inner_opt? proto2_basic.Nested.Inner
---@class proto2_basic.Nested.Inner
---@field x integer
--- Proto2 legacy groups. Wire format uses SGROUP (3) / EGROUP (4) tag
--- pairs instead of a length-prefixed message body.
---@class proto2_basic.WithGroup
---@field singlegroup? proto2_basic.WithGroup.SingleGroup
---@field repgroup proto2_basic.WithGroup.RepGroup[]
---@class proto2_basic.WithGroup.SingleGroup
---@field a? integer
---@field s? string
---@class proto2_basic.WithGroup.RepGroup
---@field n? integer
---@param t? proto2_basic.Defaults
---@return proto2_basic.Defaults
function M.Defaults_new(t) return t or {} end
---@param t proto2_basic.Defaults
---@return string
function M.Defaults_encode(t) return pb.encode(M.Defaults_descriptor, t) end
---@param b string
---@return proto2_basic.Defaults
function M.Defaults_decode(b) return pb.decode(M.Defaults_descriptor, b) end
---@param b string
---@return pb.MessageView
function M.Defaults_decode_lazy(b) return pb.decode_lazy(M.Defaults_descriptor, b) end
---@param t proto2_basic.Defaults
---@param opts? {single_line: boolean?, indent: string?}
---@return string
function M.Defaults_text(t, opts) return pb.text.encode(M.Defaults_descriptor, t, opts) end
---@param t proto2_basic.Defaults
---@return boolean
function M.Defaults_has_i(t) return t.i ~= nil end
---@param t proto2_basic.Defaults
function M.Defaults_clear_i(t) t.i = nil end
---@param t proto2_basic.Defaults
---@return boolean
function M.Defaults_has_s(t) return t.s ~= nil end
---@param t proto2_basic.Defaults
function M.Defaults_clear_s(t) t.s = nil end
---@param t proto2_basic.Defaults
---@return boolean
function M.Defaults_has_b(t) return t.b ~= nil end
---@param t proto2_basic.Defaults
function M.Defaults_clear_b(t) t.b = nil end
---@param t proto2_basic.Defaults
---@return boolean
function M.Defaults_has_f(t) return t.f ~= nil end
---@param t proto2_basic.Defaults
function M.Defaults_clear_f(t) t.f = nil end
---@param t proto2_basic.Defaults
---@return boolean
function M.Defaults_has_d(t) return t.d ~= nil end
---@param t proto2_basic.Defaults
function M.Defaults_clear_d(t) t.d = nil end
---@param t proto2_basic.Defaults
---@return boolean
function M.Defaults_has_i64(t) return t.i64 ~= nil end
---@param t proto2_basic.Defaults
function M.Defaults_clear_i64(t) t.i64 = nil end
---@param t proto2_basic.Defaults
---@return boolean
function M.Defaults_has_u64(t) return t.u64 ~= nil end
---@param t proto2_basic.Defaults
function M.Defaults_clear_u64(t) t.u64 = nil end
---@param t proto2_basic.Defaults
---@return boolean
function M.Defaults_has_by(t) return t.by ~= nil end
---@param t proto2_basic.Defaults
function M.Defaults_clear_by(t) t.by = nil end
---@param t proto2_basic.Defaults
---@return boolean
function M.Defaults_has_color(t) return t.color ~= nil end
---@param t proto2_basic.Defaults
function M.Defaults_clear_color(t) t.color = nil end
---@param t? proto2_basic.Cardinality
---@return proto2_basic.Cardinality
function M.Cardinality_new(t) return t or {} end
---@param t proto2_basic.Cardinality
---@return string
function M.Cardinality_encode(t) return pb.encode(M.Cardinality_descriptor, t) end
---@param b string
---@return proto2_basic.Cardinality
function M.Cardinality_decode(b) return pb.decode(M.Cardinality_descriptor, b) end
---@param b string
---@return pb.MessageView
function M.Cardinality_decode_lazy(b) return pb.decode_lazy(M.Cardinality_descriptor, b) end
---@param t proto2_basic.Cardinality
---@param opts? {single_line: boolean?, indent: string?}
---@return string
function M.Cardinality_text(t, opts) return pb.text.encode(M.Cardinality_descriptor, t, opts) end
---@param t proto2_basic.Cardinality
---@return boolean
function M.Cardinality_has_o(t) return t.o ~= nil end
---@param t proto2_basic.Cardinality
function M.Cardinality_clear_o(t) t.o = nil end
---@param t? proto2_basic.Nested
---@return proto2_basic.Nested
function M.Nested_new(t) return t or {} end
---@param t proto2_basic.Nested
---@return string
function M.Nested_encode(t) return pb.encode(M.Nested_descriptor, t) end
---@param b string
---@return proto2_basic.Nested
function M.Nested_decode(b) return pb.decode(M.Nested_descriptor, b) end
---@param b string
---@return pb.MessageView
function M.Nested_decode_lazy(b) return pb.decode_lazy(M.Nested_descriptor, b) end
---@param t proto2_basic.Nested
---@param opts? {single_line: boolean?, indent: string?}
---@return string
function M.Nested_text(t, opts) return pb.text.encode(M.Nested_descriptor, t, opts) end
---@param t proto2_basic.Nested
---@return boolean
function M.Nested_has_inner_opt(t) return t.inner_opt ~= nil end
---@param t proto2_basic.Nested
function M.Nested_clear_inner_opt(t) t.inner_opt = nil end
---@param t? proto2_basic.Nested.Inner
---@return proto2_basic.Nested.Inner
function M.Nested_Inner_new(t) return t or {} end
---@param t proto2_basic.Nested.Inner
---@return string
function M.Nested_Inner_encode(t) return pb.encode(M.Nested_Inner_descriptor, t) end
---@param b string
---@return proto2_basic.Nested.Inner
function M.Nested_Inner_decode(b) return pb.decode(M.Nested_Inner_descriptor, b) end
---@param b string
---@return pb.MessageView
function M.Nested_Inner_decode_lazy(b) return pb.decode_lazy(M.Nested_Inner_descriptor, b) end
---@param t proto2_basic.Nested.Inner
---@param opts? {single_line: boolean?, indent: string?}
---@return string
function M.Nested_Inner_text(t, opts) return pb.text.encode(M.Nested_Inner_descriptor, t, opts) end
---@param t? proto2_basic.WithGroup
---@return proto2_basic.WithGroup
function M.WithGroup_new(t) return t or {} end
---@param t proto2_basic.WithGroup
---@return string
function M.WithGroup_encode(t) return pb.encode(M.WithGroup_descriptor, t) end
---@param b string
---@return proto2_basic.WithGroup
function M.WithGroup_decode(b) return pb.decode(M.WithGroup_descriptor, b) end
---@param b string
---@return pb.MessageView
function M.WithGroup_decode_lazy(b) return pb.decode_lazy(M.WithGroup_descriptor, b) end
---@param t proto2_basic.WithGroup
---@param opts? {single_line: boolean?, indent: string?}
---@return string
function M.WithGroup_text(t, opts) return pb.text.encode(M.WithGroup_descriptor, t, opts) end
---@param t proto2_basic.WithGroup
---@return boolean
function M.WithGroup_has_singlegroup(t) return t.singlegroup ~= nil end
---@param t proto2_basic.WithGroup
function M.WithGroup_clear_singlegroup(t) t.singlegroup = nil end
---@param t? proto2_basic.WithGroup.SingleGroup
---@return proto2_basic.WithGroup.SingleGroup
function M.WithGroup_SingleGroup_new(t) return t or {} end
---@param t proto2_basic.WithGroup.SingleGroup
---@return string
function M.WithGroup_SingleGroup_encode(t) return pb.encode(M.WithGroup_SingleGroup_descriptor, t) end
---@param b string
---@return proto2_basic.WithGroup.SingleGroup
function M.WithGroup_SingleGroup_decode(b) return pb.decode(M.WithGroup_SingleGroup_descriptor, b) end
---@param b string
---@return pb.MessageView
function M.WithGroup_SingleGroup_decode_lazy(b) return pb.decode_lazy(M.WithGroup_SingleGroup_descriptor, b) end
---@param t proto2_basic.WithGroup.SingleGroup
---@param opts? {single_line: boolean?, indent: string?}
---@return string
function M.WithGroup_SingleGroup_text(t, opts) return pb.text.encode(M.WithGroup_SingleGroup_descriptor, t, opts) end
---@param t proto2_basic.WithGroup.SingleGroup
---@return boolean
function M.WithGroup_SingleGroup_has_a(t) return t.a ~= nil end
---@param t proto2_basic.WithGroup.SingleGroup
function M.WithGroup_SingleGroup_clear_a(t) t.a = nil end
---@param t proto2_basic.WithGroup.SingleGroup
---@return boolean
function M.WithGroup_SingleGroup_has_s(t) return t.s ~= nil end
---@param t proto2_basic.WithGroup.SingleGroup
function M.WithGroup_SingleGroup_clear_s(t) t.s = nil end
---@param t? proto2_basic.WithGroup.RepGroup
---@return proto2_basic.WithGroup.RepGroup
function M.WithGroup_RepGroup_new(t) return t or {} end
---@param t proto2_basic.WithGroup.RepGroup
---@return string
function M.WithGroup_RepGroup_encode(t) return pb.encode(M.WithGroup_RepGroup_descriptor, t) end
---@param b string
---@return proto2_basic.WithGroup.RepGroup
function M.WithGroup_RepGroup_decode(b) return pb.decode(M.WithGroup_RepGroup_descriptor, b) end
---@param b string
---@return pb.MessageView
function M.WithGroup_RepGroup_decode_lazy(b) return pb.decode_lazy(M.WithGroup_RepGroup_descriptor, b) end
---@param t proto2_basic.WithGroup.RepGroup
---@param opts? {single_line: boolean?, indent: string?}
---@return string
function M.WithGroup_RepGroup_text(t, opts) return pb.text.encode(M.WithGroup_RepGroup_descriptor, t, opts) end
---@param t proto2_basic.WithGroup.RepGroup
---@return boolean
function M.WithGroup_RepGroup_has_n(t) return t.n ~= nil end
---@param t proto2_basic.WithGroup.RepGroup
function M.WithGroup_RepGroup_clear_n(t) t.n = nil end
return M