@lunora/cli
Version:
The Lunora CLI: init, dev, deploy, codegen, migrate, seed, doctor, insights, logs, registry, and the rest of the project commands
2 lines (1 loc) • 729 B
JavaScript
import{buildSchemaSnapshot as u}from"@lunora/codegen";import{validatorKindToSqlType as d}from"./diffSnapshots-DtC5Cs4Z.mjs";const f=n=>d(n.kind==="optional"&&n.inner?n.inner.kind:n.kind),m=(n,s)=>n.kind==="optional"?!0:s===void 0?!1:s.nullable===!0,p=n=>n.shardMode==="global"&&n.globalBackend!=="hyperdrive",k=n=>{const s={},c=u(n,[]);for(const o of n.tables){if(!p(o))continue;const t={};for(const[e,i]of Object.entries(o.shape)){const l=c.tables[o.name]?.fields[e],r={nullable:m(i,l),sqlType:f(i)};t[e]=l===void 0?r:{...r,field:l}}const a={};for(const e of o.indexes)a[e.name]={fields:[...e.fields],name:e.name,unique:e.unique??!1};s[o.name]={columns:t,indexes:a,name:o.name}}return{tables:s,version:1}};export{k as default};