@hollax/dexie-orm
Version:
Simple ORM for dexie js
2 lines (1 loc) • 683 B
JavaScript
const f=(r,a)=>{var l={},s={},i={};for(let o of a){const t=o.getTableName();let n=o.getSchema();Array.isArray(n)&&n.map(e=>{if(!e.version||!e.columns){console.warn("Invalid schema configuraiont: ",o.getTableName(),e);return}l[e.version]||(l[e.version]={},s[e.version]=[]),l[e.version][t]=e.columns,i[t]=e.columns,typeof e.upgrade=="function"&&s[e.version].push(e.upgrade)})}for(let o in l){for(let n of a){const e=n.getTableName();l[o].hasOwnProperty(e)&&(l[o][e]=i[e])}r.version(o).stores(l[o]).upgrade(function(){s[o].map(n=>{n==null||n.call(null,r)})})}for(let o of a){const t=o.getTableName();o.setTableConnection(r[t]),o.getTableConnection().mapToClass(o)}};export{f as setup};