lipdjs
Version:
A JavaScript library for reading and writing LiPD (Linked Paleo Data) files
802 lines (752 loc) • 27 kB
text/typescript
// Auto-generated. Do not edit.
import { uniqid } from "../utils/utils";
import { parseVariableValues } from "../utils/utils";
export class Calibration {
public dOI: string | null;
public datasetRange: string | null;
public equation: string | null;
public equationIntercept: string | null;
public equationR2: string | null;
public equationSlope: string | null;
public equationSlopeUncertainty: string | null;
public method: string | null;
public methodDetail: string | null;
public notes: string | null;
public proxyDataset: string | null;
public seasonality: string | null;
public targetDataset: string | null;
public uncertainty: string | null;
protected _id: string;
protected _type: string;
protected _misc: Record<string, any>;
protected _ontns: string;
protected _ns: string;
constructor() {
this.dOI = null;
this.datasetRange = null;
this.equation = null;
this.equationIntercept = null;
this.equationR2 = null;
this.equationSlope = null;
this.equationSlopeUncertainty = null;
this.method = null;
this.methodDetail = null;
this.notes = null;
this.proxyDataset = null;
this.seasonality = null;
this.targetDataset = null;
this.uncertainty = null;
this._misc = {};
this._ontns = "http://linked.earth/ontology#";
this._ns = "http://linked.earth/lipd";
this._type = "http://linked.earth/ontology#Calibration";
this._id = this._ns + "/" + uniqid("Calibration");
}
public getId(): string {
return this._id;
}
public getType(): string {
return this._type;
}
public getMisc(): Record<string, any> {
return this._misc;
}
public static fromDictionary(data: Record<string, any>): Calibration {
const thisObj = new Calibration();
thisObj._id = data._id;
thisObj._type = data._type;
thisObj._misc = data._misc;
thisObj._ontns = data._ontns;
thisObj._ns = data._ns;
if (data.dOI !== null) {
thisObj.dOI = data.dOI;
}
if (data.datasetRange !== null) {
thisObj.datasetRange = data.datasetRange;
}
if (data.equation !== null) {
thisObj.equation = data.equation;
}
if (data.equationIntercept !== null) {
thisObj.equationIntercept = data.equationIntercept;
}
if (data.equationR2 !== null) {
thisObj.equationR2 = data.equationR2;
}
if (data.equationSlope !== null) {
thisObj.equationSlope = data.equationSlope;
}
if (data.equationSlopeUncertainty !== null) {
thisObj.equationSlopeUncertainty = data.equationSlopeUncertainty;
}
if (data.method !== null) {
thisObj.method = data.method;
}
if (data.methodDetail !== null) {
thisObj.methodDetail = data.methodDetail;
}
if (data.notes !== null) {
thisObj.notes = data.notes;
}
if (data.proxyDataset !== null) {
thisObj.proxyDataset = data.proxyDataset;
}
if (data.seasonality !== null) {
thisObj.seasonality = data.seasonality;
}
if (data.targetDataset !== null) {
thisObj.targetDataset = data.targetDataset;
}
if (data.uncertainty !== null) {
thisObj.uncertainty = data.uncertainty;
}
return thisObj;
}
public static fromData(id: string, data: Record<string, any>): Calibration {
const thisObj = new Calibration();
thisObj._id = id;
const mydata = data[id] as any;
for (const [key, value] of Object.entries(mydata)) {
if (key === "type") {
for (const val of value as any[]) {
thisObj._type = val["@id"];
}
continue;
}
else if (key === "hasDOI") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.dOI = obj;
}
}
else if (key === "hasDatasetRange") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.datasetRange = obj;
}
}
else if (key === "hasEquation") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.equation = obj;
}
}
else if (key === "hasEquationIntercept") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.equationIntercept = obj;
}
}
else if (key === "hasEquationR2") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.equationR2 = obj;
}
}
else if (key === "hasEquationSlope") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.equationSlope = obj;
}
}
else if (key === "hasEquationSlopeUncertainty") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.equationSlopeUncertainty = obj;
}
}
else if (key === "hasMethod") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.method = obj;
}
}
else if (key === "hasMethodDetail") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.methodDetail = obj;
}
}
else if (key === "hasNotes") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.notes = obj;
}
}
else if (key === "hasProxyDataset") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.proxyDataset = obj;
}
}
else if (key === "hasTargetDataset") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.targetDataset = obj;
}
}
else if (key === "hasUncertainty") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.uncertainty = obj;
}
}
else if (key === "seasonality") {
for (const val of value as any[]) {
let obj: any = null;
if ("@value" in val) {
obj = val["@value"];
}
thisObj.seasonality = obj;
}
}
else {
// Store unknown properties in misc
for (const val of value as any[]) {
let obj: any;
if ("@id" in val) {
obj = data[val["@id"]];
} else if ("@value" in val) {
obj = val["@value"];
}
thisObj._misc[key] = obj;
}
}
}
return thisObj;
}
public toData(data: Record<string, any> = {}): Record<string, any> {
data[this._id] = {};
data[this._id]["type"] = [
{
"@id": this._type,
"@type": "uri"
}
]
if (this.dOI !== null) {
const valueObj = this.dOI;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasDOI"] = [obj];
}
if (this.datasetRange !== null) {
const valueObj = this.datasetRange;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasDatasetRange"] = [obj];
}
if (this.equation !== null) {
const valueObj = this.equation;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasEquation"] = [obj];
}
if (this.equationIntercept !== null) {
const valueObj = this.equationIntercept;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasEquationIntercept"] = [obj];
}
if (this.equationR2 !== null) {
const valueObj = this.equationR2;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasEquationR2"] = [obj];
}
if (this.equationSlope !== null) {
const valueObj = this.equationSlope;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasEquationSlope"] = [obj];
}
if (this.equationSlopeUncertainty !== null) {
const valueObj = this.equationSlopeUncertainty;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasEquationSlopeUncertainty"] = [obj];
}
if (this.method !== null) {
const valueObj = this.method;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasMethod"] = [obj];
}
if (this.methodDetail !== null) {
const valueObj = this.methodDetail;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasMethodDetail"] = [obj];
}
if (this.notes !== null) {
const valueObj = this.notes;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasNotes"] = [obj];
}
if (this.proxyDataset !== null) {
const valueObj = this.proxyDataset;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasProxyDataset"] = [obj];
}
if (this.seasonality !== null) {
const valueObj = this.seasonality;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["seasonality"] = [obj];
}
if (this.targetDataset !== null) {
const valueObj = this.targetDataset;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasTargetDataset"] = [obj];
}
if (this.uncertainty !== null) {
const valueObj = this.uncertainty;
const obj = {
"@value": valueObj,
"@type": "literal",
"@datatype": "http://www.w3.org/2001/XMLSchema#string"
}
data[this._id]["hasUncertainty"] = [obj];
}
// Add misc properties
for (const [key, value] of Object.entries(this._misc)) {
data[this._id][key] = [];
let ptype: string | null = null;
const tp = typeof value;
if (tp === "number") {
if (Number.isInteger(value)) {
ptype = "http://www.w3.org/2001/XMLSchema#integer";
} else {
ptype = "http://www.w3.org/2001/XMLSchema#float";
}
} else if (tp === "string") {
if (/\d{4}-\d{2}-\d{2}( |T)\d{2}:\d{2}:\d{2}/.test(value as string)) {
ptype = "http://www.w3.org/2001/XMLSchema#datetime";
} else if (/\d{4}-\d{2}-\d{2}/.test(value as string)) {
ptype = "http://www.w3.org/2001/XMLSchema#date";
} else {
ptype = "http://www.w3.org/2001/XMLSchema#string";
}
} else if (tp === "boolean") {
ptype = "http://www.w3.org/2001/XMLSchema#boolean";
}
data[this._id][key].push({
"@value": value,
"@type": "literal",
"@datatype": ptype
});
}
return data;
}
public toJson(): Record<string, any> {
const data: Record<string, any> = {
"@id": this._id
}
if (this.dOI !== null) {
const valueObj = this.dOI;
const obj = valueObj
data["doi"] = obj;
}
if (this.datasetRange !== null) {
const valueObj = this.datasetRange;
const obj = valueObj
data["datasetRange"] = obj;
}
if (this.equation !== null) {
const valueObj = this.equation;
const obj = valueObj
data["equation"] = obj;
}
if (this.equationIntercept !== null) {
const valueObj = this.equationIntercept;
const obj = valueObj
data["equationIntercept"] = obj;
}
if (this.equationR2 !== null) {
const valueObj = this.equationR2;
const obj = valueObj
data["equationR2"] = obj;
}
if (this.equationSlope !== null) {
const valueObj = this.equationSlope;
const obj = valueObj
data["equationSlope"] = obj;
}
if (this.equationSlopeUncertainty !== null) {
const valueObj = this.equationSlopeUncertainty;
const obj = valueObj
data["equationSlopeUncertainty"] = obj;
}
if (this.method !== null) {
const valueObj = this.method;
const obj = valueObj
data["method"] = obj;
}
if (this.methodDetail !== null) {
const valueObj = this.methodDetail;
const obj = valueObj
data["methodDetail"] = obj;
}
if (this.notes !== null) {
const valueObj = this.notes;
const obj = valueObj
data["notes"] = obj;
}
if (this.proxyDataset !== null) {
const valueObj = this.proxyDataset;
const obj = valueObj
data["proxyDataset"] = obj;
}
if (this.seasonality !== null) {
const valueObj = this.seasonality;
const obj = valueObj
data["hasSeasonality"] = obj;
}
if (this.targetDataset !== null) {
const valueObj = this.targetDataset;
const obj = valueObj
data["targetDataset"] = obj;
}
if (this.uncertainty !== null) {
const valueObj = this.uncertainty;
const obj = valueObj
data["uncertainty"] = obj;
}
// Add misc properties
for (const [key, value] of Object.entries(this._misc)) {
data[key] = value;
}
return data;
}
public static fromJson(data: Record<string, any>): Calibration {
const thisObj = new Calibration();
for (const [key, pvalue] of Object.entries(data)) {
if (key === "@id") {
thisObj._id = pvalue as string;
continue;
}
if (key === "datasetRange") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.datasetRange = obj;
continue;
}
if (key === "doi") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.dOI = obj;
continue;
}
if (key === "equation") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.equation = obj;
continue;
}
if (key === "equationIntercept") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.equationIntercept = obj;
continue;
}
if (key === "equationR2") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.equationR2 = obj;
continue;
}
if (key === "equationSlope") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.equationSlope = obj;
continue;
}
if (key === "equationSlopeUncertainty") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.equationSlopeUncertainty = obj;
continue;
}
if (key === "hasSeasonality") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.seasonality = obj;
continue;
}
if (key === "method") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.method = obj;
continue;
}
if (key === "methodDetail") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.methodDetail = obj;
continue;
}
if (key === "notes") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.notes = obj;
continue;
}
if (key === "proxyDataset") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.proxyDataset = obj;
continue;
}
if (key === "targetDataset") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.targetDataset = obj;
continue;
}
if (key === "uncertainty") {
let obj: any = null;
let value: any = pvalue;
obj = value
thisObj.uncertainty = obj;
continue;
}
// Store unknown properties in misc
thisObj._misc[key] = pvalue;
}
return thisObj;
}
public setNonStandardProperty(key: string, value: unknown): void {
this._misc[key] = value;
}
public getNonStandardProperty(key: string): unknown {
return this._misc[key];
}
public getAllNonStandardProperties(): Record<string, unknown> {
return this._misc;
}
public addNonStandardProperty(key: string, value: unknown): void {
if (!(key in this._misc)) {
this._misc[key] = [];
}
(this._misc[key] as unknown[]).push(value);
}
getDOI(): string | null {
return this.dOI;
}
setDOI(dOI: string): void {
// if (!(dOI instanceof string)) {
// throw new Error(`Error: '${dOI}' is not of type string`);
// }
this.dOI = dOI;
}
getDatasetRange(): string | null {
return this.datasetRange;
}
setDatasetRange(datasetRange: string): void {
// if (!(datasetRange instanceof string)) {
// throw new Error(`Error: '${datasetRange}' is not of type string`);
// }
this.datasetRange = datasetRange;
}
getEquation(): string | null {
return this.equation;
}
setEquation(equation: string): void {
// if (!(equation instanceof string)) {
// throw new Error(`Error: '${equation}' is not of type string`);
// }
this.equation = equation;
}
getEquationIntercept(): string | null {
return this.equationIntercept;
}
setEquationIntercept(equationIntercept: string): void {
// if (!(equationIntercept instanceof string)) {
// throw new Error(`Error: '${equationIntercept}' is not of type string`);
// }
this.equationIntercept = equationIntercept;
}
getEquationR2(): string | null {
return this.equationR2;
}
setEquationR2(equationR2: string): void {
// if (!(equationR2 instanceof string)) {
// throw new Error(`Error: '${equationR2}' is not of type string`);
// }
this.equationR2 = equationR2;
}
getEquationSlope(): string | null {
return this.equationSlope;
}
setEquationSlope(equationSlope: string): void {
// if (!(equationSlope instanceof string)) {
// throw new Error(`Error: '${equationSlope}' is not of type string`);
// }
this.equationSlope = equationSlope;
}
getEquationSlopeUncertainty(): string | null {
return this.equationSlopeUncertainty;
}
setEquationSlopeUncertainty(equationSlopeUncertainty: string): void {
// if (!(equationSlopeUncertainty instanceof string)) {
// throw new Error(`Error: '${equationSlopeUncertainty}' is not of type string`);
// }
this.equationSlopeUncertainty = equationSlopeUncertainty;
}
getMethod(): string | null {
return this.method;
}
setMethod(method: string): void {
// if (!(method instanceof string)) {
// throw new Error(`Error: '${method}' is not of type string`);
// }
this.method = method;
}
getMethodDetail(): string | null {
return this.methodDetail;
}
setMethodDetail(methodDetail: string): void {
// if (!(methodDetail instanceof string)) {
// throw new Error(`Error: '${methodDetail}' is not of type string`);
// }
this.methodDetail = methodDetail;
}
getNotes(): string | null {
return this.notes;
}
setNotes(notes: string): void {
// if (!(notes instanceof string)) {
// throw new Error(`Error: '${notes}' is not of type string`);
// }
this.notes = notes;
}
getProxyDataset(): string | null {
return this.proxyDataset;
}
setProxyDataset(proxyDataset: string): void {
// if (!(proxyDataset instanceof string)) {
// throw new Error(`Error: '${proxyDataset}' is not of type string`);
// }
this.proxyDataset = proxyDataset;
}
getSeasonality(): string | null {
return this.seasonality;
}
setSeasonality(seasonality: string): void {
// if (!(seasonality instanceof string)) {
// throw new Error(`Error: '${seasonality}' is not of type string`);
// }
this.seasonality = seasonality;
}
getTargetDataset(): string | null {
return this.targetDataset;
}
setTargetDataset(targetDataset: string): void {
// if (!(targetDataset instanceof string)) {
// throw new Error(`Error: '${targetDataset}' is not of type string`);
// }
this.targetDataset = targetDataset;
}
getUncertainty(): string | null {
return this.uncertainty;
}
setUncertainty(uncertainty: string): void {
// if (!(uncertainty instanceof string)) {
// throw new Error(`Error: '${uncertainty}' is not of type string`);
// }
this.uncertainty = uncertainty;
}
}