@hestia-earth/schema
Version:
HESTIA Schema
128 lines (127 loc) • 2.97 kB
TypeScript
export declare enum NodeType {
Actor = "Actor",
Cycle = "Cycle",
ImpactAssessment = "ImpactAssessment",
Organisation = "Organisation",
Site = "Site",
Source = "Source",
Term = "Term"
}
export declare enum SchemaType {
Actor = "Actor",
Animal = "Animal",
Bibliography = "Bibliography",
Completeness = "Completeness",
Cycle = "Cycle",
Emission = "Emission",
ImpactAssessment = "ImpactAssessment",
Indicator = "Indicator",
Infrastructure = "Infrastructure",
Input = "Input",
Management = "Management",
Measurement = "Measurement",
Organisation = "Organisation",
Practice = "Practice",
Product = "Product",
Property = "Property",
Site = "Site",
Source = "Source",
Term = "Term",
Transformation = "Transformation",
Transport = "Transport"
}
export declare const searchableProperties: {
[type in SchemaType]: string[];
};
export declare const nestedSearchableKeys: string[];
export declare const uniquenessFields: {
Animal: {
properties: string[];
inputs: string[];
practices: string[];
};
Cycle: {
practices: string[];
animals: string[];
inputs: string[];
products: string[];
transformations: string[];
emissions: string[];
};
Emission: {
properties: string[];
inputs: string[];
animals: string[];
transport: string[];
};
ImpactAssessment: {
emissionsResourceUse: string[];
impacts: string[];
endpoints: string[];
};
Indicator: {
inputs: string[];
animals: string[];
};
Infrastructure: {
inputs: string[];
transport: string[];
};
Input: {
properties: string[];
transport: string[];
};
Management: {
properties: string[];
};
Measurement: {
properties: string[];
};
Organisation: {
infrastructure: string[];
};
Practice: {
properties: string[];
};
Product: {
properties: string[];
transport: string[];
};
Site: {
measurements: string[];
management: string[];
infrastructure: string[];
};
Term: {
subClassOf: string[];
defaultProperties: string[];
};
Transformation: {
inputs: string[];
emissions: string[];
products: string[];
practices: string[];
};
Transport: {
inputs: string[];
practices: string[];
emissions: string[];
};
};
export declare class JSON<T extends SchemaType> {
type: T;
/**
* Not required, used to generate contextualized unique id.
*/
id?: string;
}
export interface IContext {
'@base': string;
'@vocab': string;
}
export interface JSONLD<T extends NodeType> {
'@context': string | Array<string | IContext>;
'@type': T;
'@id': string;
name: string;
}