import { Long, DeepPartial } from "../../../../helpers"; import * as _m0 from "protobufjs/minimal"; /** * PageRequest is to be embedded in gRPC request messages for efficient * pagination. Ex: * * message SomeRequest { * Foo some_parameter = 1; * PageRequest pagination = 2; * } */ export interface PageRequest { /** * key is a value returned in PageResponse.next_key to begin * querying the next page most efficiently. Only one of offset or key * should be set. */ key: Uint8Array; /** * offset is a numeric offset that can be used when key is unavailable. * It is less efficient than using key. Only one of offset or key should * be set. */ offset: Long; /** * limit is the total number of results to be returned in the result page. * If left empty it will default to a value to be set by each app. */ limit: Long; /** * count_total is set to true to indicate that the result set should include * a count of the total number of items available for pagination in UIs. * count_total is only respected when offset is used. It is ignored when key * is set. */ countTotal: boolean; /** * reverse is set to true if results are to be returned in the descending order. * * Since: cosmos-sdk 0.43 */ reverse: boolean; } /** * PageRequest is to be embedded in gRPC request messages for efficient * pagination. Ex: * * message SomeRequest { * Foo some_parameter = 1; * PageRequest pagination = 2; * } */ export interface PageRequestSDKType { key: Uint8Array; offset: Long; limit: Long; count_total: boolean; reverse: boolean; } /** * PageResponse is to be embedded in gRPC response messages where the * corresponding request message has used PageRequest. * * message SomeResponse { * repeated Bar results = 1; * PageResponse page = 2; * } */ export interface PageResponse { /** * next_key is the key to be passed to PageRequest.key to * query the next page most efficiently. It will be empty if * there are no more results. */ nextKey: Uint8Array; /** * total is total number of results available if PageRequest.count_total * was set, its value is undefined otherwise */ total: Long; } /** * PageResponse is to be embedded in gRPC response messages where the * corresponding request message has used PageRequest. * * message SomeResponse { * repeated Bar results = 1; * PageResponse page = 2; * } */ export interface PageResponseSDKType { next_key: Uint8Array; total: Long; } function createBasePageRequest(): PageRequest { return { key: new Uint8Array(), offset: Long.UZERO, limit: Long.UZERO, countTotal: false, reverse: false }; } export const PageRequest = { encode(message: PageRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.key.length !== 0) { writer.uint32(10).bytes(message.key); } if (!message.offset.isZero()) { writer.uint32(16).uint64(message.offset); } if (!message.limit.isZero()) { writer.uint32(24).uint64(message.limit); } if (message.countTotal === true) { writer.uint32(32).bool(message.countTotal); } if (message.reverse === true) { writer.uint32(40).bool(message.reverse); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): PageRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBasePageRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = reader.bytes(); break; case 2: message.offset = (reader.uint64() as Long); break; case 3: message.limit = (reader.uint64() as Long); break; case 4: message.countTotal = reader.bool(); break; case 5: message.reverse = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): PageRequest { const message = createBasePageRequest(); message.key = object.key ?? new Uint8Array(); message.offset = object.offset !== undefined && object.offset !== null ? Long.fromValue(object.offset) : Long.UZERO; message.limit = object.limit !== undefined && object.limit !== null ? Long.fromValue(object.limit) : Long.UZERO; message.countTotal = object.countTotal ?? false; message.reverse = object.reverse ?? false; return message; } }; function createBasePageResponse(): PageResponse { return { nextKey: new Uint8Array(), total: Long.UZERO }; } export const PageResponse = { encode(message: PageResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.nextKey.length !== 0) { writer.uint32(10).bytes(message.nextKey); } if (!message.total.isZero()) { writer.uint32(16).uint64(message.total); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): PageResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBasePageResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.nextKey = reader.bytes(); break; case 2: message.total = (reader.uint64() as Long); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): PageResponse { const message = createBasePageResponse(); message.nextKey = object.nextKey ?? new Uint8Array(); message.total = object.total !== undefined && object.total !== null ? Long.fromValue(object.total) : Long.UZERO; return message; } };