forked from DefinitelyTyped/DefinitelyTyped
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🤖 Merge PR DefinitelyTyped#67910 Add types for @tgwf/co2 by @fershad
* Add types for @tgwf/co2 * update exports * update exports * ran formatting * add Chris Adams as owner * format package.json * remove "paths" from tsconfig * use export = * export intensity data as namespace * change imports * export class * explicit export * use body of namespace as module * fix file paths * remove file paths * correct paths * fix no exported member error * correct missing name * use requires for imports * export declarations * replace export with declare
- Loading branch information
Showing
12 changed files
with
830 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
* | ||
!**/*.d.ts | ||
!**/*.d.cts | ||
!**/*.d.mts | ||
!**/*.d.*.ts |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
declare class OneByte { | ||
constructor(options: any); | ||
options: any; | ||
KWH_PER_BYTE_FOR_NETWORK: number; | ||
/** | ||
* Calculates the carbon footprint of a website using the OneByte model | ||
* @param {number} bytes - The number of bytes to calculate the carbon footprint for | ||
* @param {boolean} green - Whether the energy is green or not | ||
* @returns {number} The carbon footprint in grams of CO2 | ||
*/ | ||
perByte(bytes: number, green: boolean): number; | ||
} | ||
|
||
export = OneByte; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
import OneByte = require("./1byte.js"); | ||
import SustainableWebDesign = require("./sustainable-web-design.js"); | ||
interface CO2EstimateTraceResultPerByte { | ||
/** | ||
* - The CO2 estimate in grams/kilowatt-hour | ||
*/ | ||
co2: number; | ||
/** | ||
* - Whether the domain is green or not | ||
*/ | ||
green: boolean; | ||
/** | ||
* - The variables used to calculate the CO2 estimate | ||
*/ | ||
variables: TraceResultVariablesPerByte; | ||
} | ||
interface CO2EstimateTraceResultPerVisit { | ||
/** | ||
* - The CO2 estimate in grams/kilowatt-hour | ||
*/ | ||
co2: number; | ||
/** | ||
* - Whether the domain is green or not | ||
*/ | ||
green: boolean; | ||
/** | ||
* - The variables used to calculate the CO2 estimate | ||
*/ | ||
variables: TraceResultVariablesPerVisit; | ||
} | ||
interface TraceResultVariablesPerByte { | ||
/** | ||
* - The grid intensity related variables | ||
*/ | ||
gridIntensity: GridIntensityVariables; | ||
} | ||
interface TraceResultVariablesPerVisit { | ||
/** | ||
* - The grid intensity related variables | ||
*/ | ||
gridIntensity: GridIntensityVariables; | ||
/** | ||
* - What percentage of a page is reloaded on each subsequent page view | ||
*/ | ||
dataReloadRatio: number; | ||
/** | ||
* - What percentage of visits are loading this page for subsequent times | ||
*/ | ||
firstVisitPercentage: number; | ||
/** | ||
* - What percentage of visits are loading this page for the second or more time | ||
*/ | ||
returnVisitPercentage: number; | ||
} | ||
interface GridIntensityVariables { | ||
/** | ||
* - The description of the variables | ||
*/ | ||
description: string; | ||
/** | ||
* - The network grid intensity set by the user or the default | ||
*/ | ||
network: number; | ||
/** | ||
* - The data center grid intensity set by the user or the default | ||
*/ | ||
dataCenter: number; | ||
/** | ||
* - The device grid intensity set by the user or the default | ||
*/ | ||
device: number; | ||
/** | ||
* - The production grid intensity set by the user or the default | ||
*/ | ||
production: number; | ||
} | ||
declare class CO2 { | ||
constructor(options: any); | ||
model: OneByte | SustainableWebDesign; | ||
private _segment; | ||
/** | ||
* Accept a figure in bytes for data transfer, and a boolean for whether | ||
* the domain shows as 'green', and return a CO2 figure for energy used to shift the corresponding | ||
* the data transfer. | ||
* | ||
* @param {number} bytes | ||
* @param {boolean} green | ||
* @return {number} the amount of CO2 in grammes | ||
*/ | ||
perByte(bytes: number, green?: boolean): number; | ||
/** | ||
* Accept a figure in bytes for data transfer, and a boolean for whether | ||
* the domain shows as 'green', and return a CO2 figure for energy used to shift the corresponding | ||
* the data transfer. | ||
* | ||
* @param {number} bytes | ||
* @param {boolean} green | ||
* @return {number} the amount of CO2 in grammes | ||
*/ | ||
perVisit(bytes: number, green?: boolean): number; | ||
/** | ||
* Accept a figure in bytes for data transfer, a boolean for whether | ||
* the domain shows as 'green', and an options object. | ||
* Returns an object containing CO2 figure, green boolean, and object of the variables used in calculating the CO2 figure. | ||
* | ||
* @param {number} bytes | ||
* @param {boolean} green | ||
* @param {Object} options | ||
* @return {CO2EstimateTraceResultPerByte} the amount of CO2 in grammes | ||
*/ | ||
perByteTrace(bytes: number, green?: boolean, options?: any): CO2EstimateTraceResultPerByte; | ||
/** | ||
* Accept a figure in bytes for data transfer, a boolean for whether | ||
* the domain shows as 'green', and an options object. | ||
* Returns an object containing CO2 figure, green boolean, and object of the variables used in calculating the CO2 figure. | ||
* | ||
* @param {number} bytes | ||
* @param {boolean} green | ||
* @param {Object} options | ||
* @return {CO2EstimateTraceResultPerVisit} the amount of CO2 in grammes | ||
*/ | ||
perVisitTrace(bytes: number, green?: boolean, options?: any): CO2EstimateTraceResultPerVisit; | ||
perDomain(pageXray: any, greenDomains: any): Array<{ | ||
domain: string; | ||
co2: number; | ||
transferSize: any; | ||
}>; | ||
perPage(pageXray: any, green: any): number; | ||
perContentType(pageXray: any, greenDomains: any): Array<{ | ||
type: string; | ||
co2: any; | ||
transferSize: any; | ||
}>; | ||
dirtiestResources(pageXray: any, greenDomains: any): Array<{ | ||
url: any; | ||
co2: number; | ||
transferSize: any; | ||
}>; | ||
perParty(pageXray: any, greenDomains: any): { | ||
firstParty: number; | ||
thirdParty: number; | ||
}; | ||
} | ||
|
||
export = CO2; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,227 @@ | ||
export const data: { | ||
AFG: number; | ||
AFRICA: number; | ||
ALB: number; | ||
DZA: number; | ||
ASM: number; | ||
AGO: number; | ||
ATG: number; | ||
ARG: number; | ||
ARM: number; | ||
ABW: number; | ||
ASEAN: number; | ||
ASIA: number; | ||
AUS: number; | ||
AUT: number; | ||
AZE: number; | ||
BHS: number; | ||
BHR: number; | ||
BGD: number; | ||
BRB: number; | ||
BLR: number; | ||
BEL: number; | ||
BLZ: number; | ||
BEN: number; | ||
BTN: number; | ||
BOL: number; | ||
BIH: number; | ||
BWA: number; | ||
BRA: number; | ||
BRN: number; | ||
BGR: number; | ||
BFA: number; | ||
BDI: number; | ||
CPV: number; | ||
KHM: number; | ||
CMR: number; | ||
CAN: number; | ||
CYM: number; | ||
CAF: number; | ||
TCD: number; | ||
CHL: number; | ||
CHN: number; | ||
COL: number; | ||
COM: number; | ||
COG: number; | ||
COD: number; | ||
COK: number; | ||
CRI: number; | ||
CIV: number; | ||
HRV: number; | ||
CUB: number; | ||
CYP: number; | ||
CZE: number; | ||
DNK: number; | ||
DJI: number; | ||
DMA: number; | ||
DOM: number; | ||
ECU: number; | ||
EGY: number; | ||
SLV: number; | ||
GNQ: number; | ||
ERI: number; | ||
EST: number; | ||
SWZ: number; | ||
ETH: number; | ||
EU: number; | ||
EUROPE: number; | ||
FLK: number; | ||
FRO: number; | ||
FJI: number; | ||
FIN: number; | ||
FRA: number; | ||
GUF: number; | ||
PYF: number; | ||
G20: number; | ||
G7: number; | ||
GAB: number; | ||
GMB: number; | ||
GEO: number; | ||
DEU: number; | ||
GHA: number; | ||
GRC: number; | ||
GRL: number; | ||
GRD: number; | ||
GLP: number; | ||
GUM: number; | ||
GTM: number; | ||
GIN: number; | ||
GNB: number; | ||
GUY: number; | ||
HTI: number; | ||
HND: number; | ||
HKG: number; | ||
HUN: number; | ||
ISL: number; | ||
IND: number; | ||
IDN: number; | ||
IRN: number; | ||
IRQ: number; | ||
IRL: number; | ||
ISR: number; | ||
ITA: number; | ||
JAM: number; | ||
JPN: number; | ||
JOR: number; | ||
KAZ: number; | ||
KEN: number; | ||
KIR: number; | ||
XKX: number; | ||
KWT: number; | ||
KGZ: number; | ||
LAO: number; | ||
"LATIN AMERICA AND CARIBBEAN": number; | ||
LVA: number; | ||
LBN: number; | ||
LSO: number; | ||
LBR: number; | ||
LBY: number; | ||
LTU: number; | ||
LUX: number; | ||
MAC: number; | ||
MDG: number; | ||
MWI: number; | ||
MYS: number; | ||
MDV: number; | ||
MLI: number; | ||
MLT: number; | ||
MTQ: number; | ||
MRT: number; | ||
MUS: number; | ||
MEX: number; | ||
"MIDDLE EAST": number; | ||
MDA: number; | ||
MNG: number; | ||
MNE: number; | ||
MSR: number; | ||
MAR: number; | ||
MOZ: number; | ||
MMR: number; | ||
NAM: number; | ||
NRU: number; | ||
NPL: number; | ||
NLD: number; | ||
NCL: number; | ||
NZL: number; | ||
NIC: number; | ||
NER: number; | ||
NGA: number; | ||
"NORTH AMERICA": number; | ||
PRK: number; | ||
MKD: number; | ||
NOR: number; | ||
OCEANIA: number; | ||
OECD: number; | ||
OMN: number; | ||
PAK: number; | ||
PSE: number; | ||
PAN: number; | ||
PNG: number; | ||
PRY: number; | ||
PER: number; | ||
POL: number; | ||
PRT: number; | ||
PRI: number; | ||
QAT: number; | ||
REU: number; | ||
ROU: number; | ||
RUS: number; | ||
RWA: number; | ||
KNA: number; | ||
LCA: number; | ||
SPM: number; | ||
VCT: number; | ||
WSM: number; | ||
STP: number; | ||
SAU: number; | ||
SEN: number; | ||
SRB: number; | ||
SYC: number; | ||
SLE: number; | ||
SGP: number; | ||
SVK: number; | ||
SVN: number; | ||
SLB: number; | ||
SOM: number; | ||
ZAF: number; | ||
KOR: number; | ||
SSD: number; | ||
ESP: number; | ||
LKA: number; | ||
SDN: number; | ||
SUR: number; | ||
SWE: number; | ||
CHE: number; | ||
SYR: number; | ||
TWN: number; | ||
TJK: number; | ||
TZA: number; | ||
THA: number; | ||
PHL: number; | ||
TGO: number; | ||
TON: number; | ||
TTO: number; | ||
TUN: number; | ||
TUR: number; | ||
TKM: number; | ||
TCA: number; | ||
UGA: number; | ||
UKR: number; | ||
ARE: number; | ||
GBR: number; | ||
USA: number; | ||
URY: number; | ||
UZB: number; | ||
VUT: number; | ||
VEN: number; | ||
VNM: number; | ||
VGB: number; | ||
VIR: number; | ||
WORLD: number; | ||
YEM: number; | ||
ZMB: number; | ||
ZWE: number; | ||
}; | ||
export const type: "average"; | ||
|
||
export as namespace averageIntensity; |
Oops, something went wrong.