/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod"; import { remap as remap$ } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { DataCenter, DataCenter$inboundSchema, DataCenter$Outbound, DataCenter$outboundSchema, } from "./datacenter.js"; import { DecentralizationScore, DecentralizationScore$inboundSchema, DecentralizationScore$Outbound, DecentralizationScore$outboundSchema, } from "./decentralizationscore.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; import { ReplicaVersion, ReplicaVersion$inboundSchema, ReplicaVersion$Outbound, ReplicaVersion$outboundSchema, } from "./replicaversion.js"; export type Subnet = { /** * Decentralization Score */ decentralizationScore?: DecentralizationScore | undefined; /** * Display Name */ displayName?: string | undefined; /** * Total Nodes */ totalNodes?: string | undefined; /** * Instruction Rate */ instructionRate?: string | undefined; /** * Memory Usage */ memoryUsage?: string | undefined; /** * Running Canisters */ runningCanisters?: string | undefined; /** * Subnet Specialization */ subnetSpecialization?: string | undefined; /** * Replica Versions */ replicaVersions?: Array | undefined; /** * Total Canisters */ totalCanisters?: string | undefined; /** * Data Centers */ dataCenters?: Array | undefined; /** * Total Countries */ totalCountries?: string | undefined; /** * Subnet ID */ subnetId?: string | undefined; /** * Subnet Authorization */ subnetAuthorization?: string | undefined; /** * Up Nodes */ upNodes?: string | undefined; /** * Message Execution */ messageExecutionRate?: string | undefined; /** * Total Node Providers */ totalNodeProviders?: string | undefined; /** * Subnet Type */ subnetType?: string | undefined; /** * Stopped Canisters */ stoppedCanisters?: string | undefined; }; /** @internal */ export const Subnet$inboundSchema: z.ZodType = z .object({ decentralization_score: DecentralizationScore$inboundSchema.optional(), display_name: z.string().optional(), total_nodes: z.string().optional(), instruction_rate: z.string().optional(), memory_usage: z.string().optional(), running_canisters: z.string().optional(), subnet_specialization: z.string().optional(), replica_versions: z.array(ReplicaVersion$inboundSchema).optional(), total_canisters: z.string().optional(), data_centers: z.array(DataCenter$inboundSchema).optional(), total_countries: z.string().optional(), subnet_id: z.string().optional(), subnet_authorization: z.string().optional(), up_nodes: z.string().optional(), message_execution_rate: z.string().optional(), total_node_providers: z.string().optional(), subnet_type: z.string().optional(), stopped_canisters: z.string().optional(), }).transform((v) => { return remap$(v, { "decentralization_score": "decentralizationScore", "display_name": "displayName", "total_nodes": "totalNodes", "instruction_rate": "instructionRate", "memory_usage": "memoryUsage", "running_canisters": "runningCanisters", "subnet_specialization": "subnetSpecialization", "replica_versions": "replicaVersions", "total_canisters": "totalCanisters", "data_centers": "dataCenters", "total_countries": "totalCountries", "subnet_id": "subnetId", "subnet_authorization": "subnetAuthorization", "up_nodes": "upNodes", "message_execution_rate": "messageExecutionRate", "total_node_providers": "totalNodeProviders", "subnet_type": "subnetType", "stopped_canisters": "stoppedCanisters", }); }); /** @internal */ export type Subnet$Outbound = { decentralization_score?: DecentralizationScore$Outbound | undefined; display_name?: string | undefined; total_nodes?: string | undefined; instruction_rate?: string | undefined; memory_usage?: string | undefined; running_canisters?: string | undefined; subnet_specialization?: string | undefined; replica_versions?: Array | undefined; total_canisters?: string | undefined; data_centers?: Array | undefined; total_countries?: string | undefined; subnet_id?: string | undefined; subnet_authorization?: string | undefined; up_nodes?: string | undefined; message_execution_rate?: string | undefined; total_node_providers?: string | undefined; subnet_type?: string | undefined; stopped_canisters?: string | undefined; }; /** @internal */ export const Subnet$outboundSchema: z.ZodType< Subnet$Outbound, z.ZodTypeDef, Subnet > = z.object({ decentralizationScore: DecentralizationScore$outboundSchema.optional(), displayName: z.string().optional(), totalNodes: z.string().optional(), instructionRate: z.string().optional(), memoryUsage: z.string().optional(), runningCanisters: z.string().optional(), subnetSpecialization: z.string().optional(), replicaVersions: z.array(ReplicaVersion$outboundSchema).optional(), totalCanisters: z.string().optional(), dataCenters: z.array(DataCenter$outboundSchema).optional(), totalCountries: z.string().optional(), subnetId: z.string().optional(), subnetAuthorization: z.string().optional(), upNodes: z.string().optional(), messageExecutionRate: z.string().optional(), totalNodeProviders: z.string().optional(), subnetType: z.string().optional(), stoppedCanisters: z.string().optional(), }).transform((v) => { return remap$(v, { decentralizationScore: "decentralization_score", displayName: "display_name", totalNodes: "total_nodes", instructionRate: "instruction_rate", memoryUsage: "memory_usage", runningCanisters: "running_canisters", subnetSpecialization: "subnet_specialization", replicaVersions: "replica_versions", totalCanisters: "total_canisters", dataCenters: "data_centers", totalCountries: "total_countries", subnetId: "subnet_id", subnetAuthorization: "subnet_authorization", upNodes: "up_nodes", messageExecutionRate: "message_execution_rate", totalNodeProviders: "total_node_providers", subnetType: "subnet_type", stoppedCanisters: "stopped_canisters", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace Subnet$ { /** @deprecated use `Subnet$inboundSchema` instead. */ export const inboundSchema = Subnet$inboundSchema; /** @deprecated use `Subnet$outboundSchema` instead. */ export const outboundSchema = Subnet$outboundSchema; /** @deprecated use `Subnet$Outbound` instead. */ export type Outbound = Subnet$Outbound; } export function subnetToJSON(subnet: Subnet): string { return JSON.stringify(Subnet$outboundSchema.parse(subnet)); } export function subnetFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Subnet$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Subnet' from JSON`, ); }