Skip to content

Instantly share code, notes, and snippets.

@chapmanjacobd
Created May 27, 2022 04:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chapmanjacobd/f62cc5353b2f8f5bba98ad9b14f9690e to your computer and use it in GitHub Desktop.
Save chapmanjacobd/f62cc5353b2f8f5bba98ad9b14f9690e to your computer and use it in GitHub Desktop.
export function obj2schema(obj: object | [], table: string, result = {}) {
if (obj) {
if (Array.isArray(obj)) return obj2schema(obj[0], table)
result[table] = Object.keys(obj).map(k => {
const v = obj[k];
if (Array.isArray(v)) obj2schema(v[0], k, result)
if (typeof v === 'object') return;
return `${k} ${typeof v}`;
}).filter(Boolean);
return result
}
/*
const schema = obj2schema(data, 'videos')
Object.keys(schema).map(k => {
const columns = schema[k].join(',')
const sql = `CREATE TABLE IF NOT EXISTS ${k} (${columns})`
// console.log(sql);
console.log(data[k]);
alasql(sql);
alasql(`INSERT INTO ${k} SELECT * FROM ?`, [data[k]])
});
*/
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment