UNPKG

adonisjs-livewire

Version:

A front-end framework for AdonisJS

18 lines (17 loc) 638 B
import string from '@poppinss/utils/string'; import { Synth } from './synth.js'; import { BaseModel } from '@adonisjs/lucid/orm'; export class ModelSynth extends Synth { static key = 'mdl'; static match(target) { return target instanceof BaseModel; } async dehydrate(target) { return [null, { key: target.$primaryKeyValue, model: target.constructor.name }]; } async hydrate(_data, meta) { let modelFile = string.snakeCase(meta.model); const { default: model } = await import(this.app.makeURL(`./app/models/${modelFile}.js`).href); return await model.find(meta.key); } }