UNPKG

cardamon

Version:

A CLI tool for measuring the carbon footprint and energy consumption of web pages using the Cardamon model

214 lines 6.38 kB
export declare const SWDV4: { OPERATIONAL_KWH_PER_GB_DATACENTER: number; OPERATIONAL_KWH_PER_GB_NETWORK: number; OPERATIONAL_KWH_PER_GB_DEVICE: number; EMBODIED_KWH_PER_GB_DATACENTER: number; EMBODIED_KWH_PER_GB_NETWORK: number; EMBODIED_KWH_PER_GB_DEVICE: number; GLOBAL_GRID_INTENSITY: number; }; declare const COMPONENT_RATIOS: { readonly FRONTEND: 0.54; readonly BACKEND: 0.22; readonly NETWORK: 0.24; }; export declare function outputRating(co2e: number, componentType?: keyof typeof COMPONENT_RATIOS): "A+" | "A" | "B" | "C" | "D" | "E" | "F"; declare class SustainableWebDesign { allowRatings: boolean; options: any; version: number; constructor(options: any); /** * Calculate the operational energy of data transfer for each system segment * * @param {number} bytes * @returns {object} */ operationalEnergyPerSegment(bytes: number): { dataCenter: number; network: number; device: number; }; /** * Calculate the operational emissions of data transfer for each system segment * * @param {number} bytes * @param {object} options * @returns {object} */ operationalEmissions(bytes: number, options?: any): { dataCenter: number; network: number; device: number; }; /** * Calculate the embodied energy of data transfer for each system segment * * @param {number} bytes * @returns {object} */ embodiedEnergyPerSegment(bytes: number): { dataCenter: number; network: number; device: number; }; /** * Calculate the embodied emissions of data transfer for each system segment * * @param {number} bytes * @returns {object} */ embodiedEmissions(bytes: number): { dataCenter: number; network: number; device: number; }; perByte(bytes: number, green?: boolean, segmented?: boolean, ratingResults?: boolean, options?: any): number | { total: number; dataCenterOperationalCO2e: any; networkOperationalCO2e: any; consumerDeviceOperationalCO2e: any; dataCenterEmbodiedCO2e: any; networkEmbodiedCO2e: any; consumerDeviceEmbodiedCO2e: any; totalEmbodiedCO2e: any; totalOperationalCO2e: any; dataCenterCO2e: any; networkCO2e: any; consumerDeviceCO2e: any; } | { total: number; }; perVisit(bytes: number, includeDatacenter?: boolean, green?: boolean, segmented?: boolean, ratingResults?: boolean, options?: any): { co2: { total: number; dataCenter: number; network: number; device: number; embodied: { dataCenter: number; network: number; device: number; }; operational: { dataCenter: number; network: number; device: number; }; }; energy: { total: number; dataCenter: number; network: number; device: number; embodied: { dataCenter: number; network: number; device: number; }; operational: { dataCenter: number; network: number; device: number; }; }; rating: string; } | { co2: { total: number; dataCenter: number; network: number; device: number; embodied: { dataCenter: number; network: number; device: number; }; operational: { dataCenter: number; network: number; device: number; }; }; energy: { total: number; dataCenter: number; network: number; device: number; embodied: { dataCenter: number; network: number; device: number; }; operational: { dataCenter: number; network: number; device: number; }; }; rating: { interactive: string; load: string; }; } | { segments: { firstVisitCO2e: number; returnVisitCO2e: number; dataCenterOperationalCO2e: any; networkOperationalCO2e: any; consumerDeviceOperationalCO2e: any; dataCenterEmbodiedCO2e: any; networkEmbodiedCO2e: any; consumerDeviceEmbodiedCO2e: any; totalEmbodiedCO2e: any; totalOperationalCO2e: any; dataCenterCO2e: any; networkCO2e: any; consumerDeviceCO2e: any; }; co2: { total: number; dataCenter: number; network: number; device: number; embodied: { dataCenter: number; network: number; device: number; }; operational: { dataCenter: number; network: number; device: number; }; }; energy: { total: number; dataCenter: number; network: number; device: number; embodied: { dataCenter: number; network: number; device: number; }; operational: { dataCenter: number; network: number; device: number; }; }; rating: string; }; /** * Determines the rating of a website's sustainability based on its CO2 emissions. * * @param {number} co2e - The CO2 emissions of the website in grams. * @returns {string} The sustainability rating, ranging from "A+" (best) to "F" (worst). */ ratingScale(co2e: number): "A+" | "A" | "B" | "C" | "D" | "E" | "F"; calculateScrollRating(co2e: number): string; } export { SustainableWebDesign }; export default SustainableWebDesign; //# sourceMappingURL=swd.d.ts.map