UNPKG

studiocms

Version:

Astro Native CMS for AstroDB. Built from the ground up by the Astro community.

79 lines (78 loc) 3.69 kB
import { z } from 'astro/zod'; /** * Enum schema for Web Vitals rating. * * This schema defines the possible ratings for Web Vitals: * - 'good': Indicates that the web vitals are performing well. * - 'needs-improvement': Indicates that the web vitals need improvement. * - 'poor': Indicates that the web vitals are performing poorly. */ export declare const WebVitalsRatingSchema: z.ZodEnum<["good", "needs-improvement", "poor"]>; /** * Type representing the inferred type of the WebVitalsRatingSchema. * This type is generated using the `z.infer` utility from the `zod` library. */ export type WebVitalsRating = z.infer<typeof WebVitalsRatingSchema>; /** * Enum schema for Core Web Vitals metric types. * * This schema defines the allowed values for Core Web Vitals metrics: * - `CLS`: Cumulative Layout Shift * - `INP`: Interaction to Next Paint * - `LCP`: Largest Contentful Paint * * These metrics are used to measure the performance and user experience of web pages. */ export declare const CoreWebVitalsMetricTypeSchema: z.ZodEnum<["CLS", "INP", "LCP"]>; /** * Type definition for Core Web Vitals metrics. * * This type is inferred from the `CoreWebVitalsMetricTypeSchema` schema using Zod. * It represents the structure of the core web vitals metrics used in the application. * */ export type CoreWebVitalsMetricType = z.infer<typeof CoreWebVitalsMetricTypeSchema>; /** * Schema for Web Vitals Metric Types. * * This schema combines the `CoreWebVitalsMetricTypeSchema` with an enumeration * of additional metric types: 'FCP', 'FID', and 'TTFB'. * * - `FCP`: First Contentful Paint * - `FID`: First Input Delay * - `TTFB`: Time to First Byte */ export declare const WebVitalsMetricTypeSchema: z.ZodUnion<[z.ZodEnum<["CLS", "INP", "LCP"]>, z.ZodEnum<["FCP", "FID", "TTFB"]>]>; /** * Represents the type for Web Vitals metrics. * * This type is inferred from the `WebVitalsMetricTypeSchema` using Zod's `infer` utility. * It is used to ensure that the metrics conform to the schema defined for Web Vitals. * * @see WebVitalsMetricTypeSchema */ export type WebVitalsMetricType = z.infer<typeof WebVitalsMetricTypeSchema>; /** * Schema for summarizing route metrics. * * This schema defines a tuple with the following elements: * 1. Route path (string) * 2. Core web vitals metric type (CoreWebVitalsMetricTypeSchema) * 3. Web vitals rating (WebVitalsRatingSchema) * 4. Value (number, must be greater than or equal to 0) * 5. Sample size (number) */ export declare const RouteSummaryRowSchema: z.ZodTuple<[z.ZodString, z.ZodEnum<["CLS", "INP", "LCP"]>, z.ZodEnum<["good", "needs-improvement", "poor"]>, z.ZodNumber, z.ZodNumber], null>; /** * Schema for a summary row of web vitals metrics. * * The tuple consists of: * - `WebVitalsMetricTypeSchema`: The type of web vitals metric. * - `WebVitalsRatingSchema`: The rating of the web vitals metric. * - `value`: A number representing the value of the metric, must be greater than or equal to 0. * - `density`: A number representing the density of the metric, must be greater than or equal to 0. * - `rating end`: A boolean indicating the end of the rating, derived from a union of 0 and 1. * - `percentile`: A number representing the percentile of the metric, or null. * - `sample size`: A number representing the sample size. */ export declare const MetricSummaryRowSchema: z.ZodTuple<[z.ZodUnion<[z.ZodEnum<["CLS", "INP", "LCP"]>, z.ZodEnum<["FCP", "FID", "TTFB"]>]>, z.ZodEnum<["good", "needs-improvement", "poor"]>, z.ZodNumber, z.ZodNumber, z.ZodEffects<z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>, boolean, 0 | 1>, z.ZodUnion<[z.ZodNumber, z.ZodNull]>, z.ZodNumber], null>;