tendermint-rpc: Remove DateTimeString type
This commit is contained in:
parent
98a771fcfc
commit
1fe99ffc0f
@ -13,7 +13,6 @@ import {
|
||||
Base64,
|
||||
Base64String,
|
||||
DateTime,
|
||||
DateTimeString,
|
||||
dictionaryToStringMap,
|
||||
Hex,
|
||||
HexString,
|
||||
@ -286,7 +285,7 @@ interface RpcHeader {
|
||||
readonly version: RpcBlockVersion;
|
||||
readonly chain_id: string;
|
||||
readonly height: IntegerString;
|
||||
readonly time: DateTimeString;
|
||||
readonly time: string;
|
||||
readonly num_txs: IntegerString;
|
||||
readonly total_txs: IntegerString;
|
||||
|
||||
@ -382,7 +381,7 @@ function decodeBroadcastTxCommit(data: RpcBroadcastTxCommitResponse): responses.
|
||||
type RpcSignature = {
|
||||
readonly block_id_flag: number;
|
||||
readonly validator_address: HexString;
|
||||
readonly timestamp: DateTimeString;
|
||||
readonly timestamp: string;
|
||||
readonly signature: Base64String;
|
||||
};
|
||||
|
||||
@ -436,7 +435,7 @@ function decodeValidatorGenesis(data: RpcValidatorGenesis): responses.Validator
|
||||
}
|
||||
|
||||
interface RpcGenesisResponse {
|
||||
readonly genesis_time: DateTimeString;
|
||||
readonly genesis_time: string;
|
||||
readonly chain_id: string;
|
||||
readonly consensus_params: RpcConsensusParams;
|
||||
// The validators key is used to specify a set of validators for testnets or PoA blockchains.
|
||||
@ -519,7 +518,7 @@ interface RpcSyncInfo {
|
||||
readonly latest_block_hash: HexString;
|
||||
readonly latest_app_hash: HexString;
|
||||
readonly latest_block_height: IntegerString;
|
||||
readonly latest_block_time: DateTimeString;
|
||||
readonly latest_block_time: string;
|
||||
readonly catching_up: boolean;
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,6 @@ import { ReadonlyDate } from "readonly-date";
|
||||
|
||||
import {
|
||||
DateTime,
|
||||
DateTimeString,
|
||||
encodeBlockId,
|
||||
encodeBytes,
|
||||
encodeInt,
|
||||
@ -15,13 +14,13 @@ import { ReadonlyDateWithNanoseconds } from "./responses";
|
||||
describe("encodings", () => {
|
||||
describe("DateTime", () => {
|
||||
it("decodes a string", () => {
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.778Z" as DateTimeString).nanoseconds).toEqual(0);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.7789Z" as DateTimeString).nanoseconds).toEqual(900000);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.77809Z" as DateTimeString).nanoseconds).toEqual(90000);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.778009Z" as DateTimeString).nanoseconds).toEqual(9000);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.7780009Z" as DateTimeString).nanoseconds).toEqual(900);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.77800009Z" as DateTimeString).nanoseconds).toEqual(90);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.778000009Z" as DateTimeString).nanoseconds).toEqual(9);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.778Z").nanoseconds).toEqual(0);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.7789Z").nanoseconds).toEqual(900000);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.77809Z").nanoseconds).toEqual(90000);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.778009Z").nanoseconds).toEqual(9000);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.7780009Z").nanoseconds).toEqual(900);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.77800009Z").nanoseconds).toEqual(90);
|
||||
expect(DateTime.decode("2020-12-15T10:57:26.778000009Z").nanoseconds).toEqual(9);
|
||||
});
|
||||
|
||||
it("encodes a string", () => {
|
||||
|
||||
@ -7,7 +7,6 @@ import { BlockId, ReadonlyDateWithNanoseconds, Version } from "./responses";
|
||||
export type Base64String = string & As<"base64">;
|
||||
export type HexString = string & As<"hex">;
|
||||
export type IntegerString = string & As<"integer">;
|
||||
export type DateTimeString = string & As<"datetime">;
|
||||
|
||||
/**
|
||||
* A runtime checker that ensures a given value is set (i.e. not undefined or null)
|
||||
@ -172,7 +171,7 @@ export class Base64 {
|
||||
}
|
||||
|
||||
export class DateTime {
|
||||
public static decode(dateTimeString: DateTimeString): ReadonlyDateWithNanoseconds {
|
||||
public static decode(dateTimeString: string): ReadonlyDateWithNanoseconds {
|
||||
const readonlyDate = fromRfc3339(dateTimeString);
|
||||
const nanosecondsMatch = dateTimeString.match(/\.(\d+)Z$/);
|
||||
const nanoseconds = nanosecondsMatch ? nanosecondsMatch[1].slice(3) : "";
|
||||
@ -180,10 +179,10 @@ export class DateTime {
|
||||
return readonlyDate as ReadonlyDateWithNanoseconds;
|
||||
}
|
||||
|
||||
public static encode(dateTime: ReadonlyDateWithNanoseconds): DateTimeString {
|
||||
public static encode(dateTime: ReadonlyDateWithNanoseconds): string {
|
||||
const millisecondIso = dateTime.toISOString();
|
||||
const nanoseconds = dateTime.nanoseconds?.toString() ?? "";
|
||||
return `${millisecondIso.slice(0, -1)}${nanoseconds.padStart(6, "0")}Z` as DateTimeString;
|
||||
return `${millisecondIso.slice(0, -1)}${nanoseconds.padStart(6, "0")}Z`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
5
packages/tendermint-rpc/types/encodings.d.ts
vendored
5
packages/tendermint-rpc/types/encodings.d.ts
vendored
@ -3,7 +3,6 @@ import { BlockId, ReadonlyDateWithNanoseconds, Version } from "./responses";
|
||||
export declare type Base64String = string & As<"base64">;
|
||||
export declare type HexString = string & As<"hex">;
|
||||
export declare type IntegerString = string & As<"integer">;
|
||||
export declare type DateTimeString = string & As<"datetime">;
|
||||
/**
|
||||
* A runtime checker that ensures a given value is set (i.e. not undefined or null)
|
||||
*
|
||||
@ -67,8 +66,8 @@ export declare class Base64 {
|
||||
static decode(base64String: Base64String): Uint8Array;
|
||||
}
|
||||
export declare class DateTime {
|
||||
static decode(dateTimeString: DateTimeString): ReadonlyDateWithNanoseconds;
|
||||
static encode(dateTime: ReadonlyDateWithNanoseconds): DateTimeString;
|
||||
static decode(dateTimeString: string): ReadonlyDateWithNanoseconds;
|
||||
static encode(dateTime: ReadonlyDateWithNanoseconds): string;
|
||||
}
|
||||
export declare class Hex {
|
||||
static encode(data: Uint8Array): HexString;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user