mirror of
https://github.com/iib0011/omni-tools.git
synced 2025-09-24 00:19:34 +02:00
Usable proof of concept of generated variables
This commit is contained in:
62
src/datatables/data/american_wire_gauge.ts
Normal file
62
src/datatables/data/american_wire_gauge.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
export default {
|
||||
title: 'American Wire Gauge',
|
||||
columns: [
|
||||
{
|
||||
diameter: {
|
||||
title: 'Diameter',
|
||||
type: 'number',
|
||||
unit: 'mm'
|
||||
}
|
||||
}
|
||||
],
|
||||
data: {
|
||||
'0000': { diameter: 11.684 },
|
||||
'000': { diameter: 10.405 },
|
||||
'00': { diameter: 9.266 },
|
||||
'0': { diameter: 8.251 },
|
||||
'(4/0)': { diameter: 11.684 },
|
||||
'(3/0)': { diameter: 10.405 },
|
||||
'(2/0)': { diameter: 9.266 },
|
||||
'(1/0)': { diameter: 8.251 },
|
||||
'1': { diameter: 7.348 },
|
||||
'2': { diameter: 6.544 },
|
||||
'3': { diameter: 5.827 },
|
||||
'4': { diameter: 5.189 },
|
||||
'5': { diameter: 4.621 },
|
||||
'6': { diameter: 4.115 },
|
||||
'7': { diameter: 3.665 },
|
||||
'8': { diameter: 3.264 },
|
||||
'9': { diameter: 2.906 },
|
||||
'10': { diameter: 2.588 },
|
||||
'11': { diameter: 2.305 },
|
||||
'12': { diameter: 2.053 },
|
||||
'13': { diameter: 1.828 },
|
||||
'14': { diameter: 1.628 },
|
||||
'15': { diameter: 1.45 },
|
||||
'16': { diameter: 1.291 },
|
||||
'17': { diameter: 1.15 },
|
||||
'18': { diameter: 1.024 },
|
||||
'19': { diameter: 0.912 },
|
||||
'20': { diameter: 0.812 },
|
||||
'21': { diameter: 0.723 },
|
||||
'22': { diameter: 0.644 },
|
||||
'23': { diameter: 0.573 },
|
||||
'24': { diameter: 0.511 },
|
||||
'25': { diameter: 0.455 },
|
||||
'26': { diameter: 0.405 },
|
||||
'27': { diameter: 0.361 },
|
||||
'28': { diameter: 0.321 },
|
||||
'29': { diameter: 0.286 },
|
||||
'30': { diameter: 0.255 },
|
||||
'31': { diameter: 0.227 },
|
||||
'32': { diameter: 0.202 },
|
||||
'33': { diameter: 0.18 },
|
||||
'34': { diameter: 0.16 },
|
||||
'35': { diameter: 0.143 },
|
||||
'36': { diameter: 0.127 },
|
||||
'37': { diameter: 0.113 },
|
||||
'38': { diameter: 0.101 },
|
||||
'39': { diameter: 0.0897 },
|
||||
'40': { diameter: 0.0799 }
|
||||
}
|
||||
};
|
3
src/datatables/data/index.ts
Normal file
3
src/datatables/data/index.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export const allDataTables: { [key: string]: { [key: string]: any } } = {
|
||||
'american-wire-gauge': {}
|
||||
};
|
20
src/datatables/data/material_electrical_properties.ts
Normal file
20
src/datatables/data/material_electrical_properties.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
export default {
|
||||
title: 'Material Electrical Properties',
|
||||
columns: [
|
||||
{
|
||||
resistivity_20c: {
|
||||
title: 'Resistivity at 20°C',
|
||||
type: 'number',
|
||||
unit: 'Ω/m'
|
||||
}
|
||||
}
|
||||
],
|
||||
data: {
|
||||
copper: {
|
||||
resistivity: 1.68e-8
|
||||
},
|
||||
aluminum: {
|
||||
resistivity: 2.82e-8
|
||||
}
|
||||
}
|
||||
};
|
17
src/datatables/index.ts
Normal file
17
src/datatables/index.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import type { DataTable } from './types.ts';
|
||||
import { allDataTables } from './data/index';
|
||||
|
||||
export async function getDataTable(name: string): Promise<DataTable> {
|
||||
const x = await import(`./${name}`);
|
||||
return x.default;
|
||||
}
|
||||
|
||||
export async function listDataTables(): Promise<{ name: string }[]> {
|
||||
const x: { name: string }[] = [];
|
||||
for (const key in allDataTables) {
|
||||
x.push({ name: key });
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
export { DataTable };
|
19
src/datatables/types.ts
Normal file
19
src/datatables/types.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
Represents a set of rows indexed by a key.
|
||||
Used for calculator presets
|
||||
|
||||
*/
|
||||
export interface DataTable {
|
||||
[key: string]: {
|
||||
title: string;
|
||||
/* A JSON schema properties */
|
||||
columns: {
|
||||
[key: string]: any;
|
||||
};
|
||||
data: {
|
||||
[key: string]: {
|
||||
[key: string]: any;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user