UNPKG

@adonisjs/inertia

Version:

Official Inertia.js adapter for AdonisJS

64 lines (63 loc) 1.92 kB
import { n as ServerRenderer, r as Inertia } from "../inertia_manager-BGHA4cDP.js"; import { t as InertiaHeaders } from "../headers-DafWEpBh.js"; import "../debug-CBMTuPUm.js"; import { t as defineConfig } from "../define_config-Du2hAFGX.js"; import "../index.js"; import { HttpContextFactory } from "@adonisjs/core/factories/http"; var InertiaFactory = class { #vite; #parameters = { ctx: new HttpContextFactory().create(), config: defineConfig({}) }; constructor() { this.#parameters.ctx.request.request.headers[InertiaHeaders.Inertia] = "true"; } merge(parameters) { if (parameters.ctx) this.#parameters.ctx = parameters.ctx; if (parameters.config) this.#parameters.config = defineConfig(parameters.config); this.#parameters.ctx.request.request.headers[InertiaHeaders.Inertia] = "true"; return this; } withoutInertia() { delete this.#parameters.ctx.request.request.headers[InertiaHeaders.Inertia]; return this; } partialReload(component) { const self = this; const request = this.#parameters.ctx.request; request.request.headers[InertiaHeaders.PartialComponent] = component; return { only(props) { request.request.headers[InertiaHeaders.PartialOnly] = props.join(","); return this; }, except(props) { request.request.headers[InertiaHeaders.PartialExcept] = props.join(","); return this; }, reset(props) { request.request.headers[InertiaHeaders.Reset] = props.join(","); return this; }, create() { return self.create(); } }; } withVersion(version) { this.#parameters.config = { ...this.#parameters.config, assetsVersion: version }; return this; } withVite(options) { this.#vite = options; return this; } create() { return new Inertia(this.#parameters.ctx, this.#parameters.config, this.#vite, this.#vite ? new ServerRenderer(this.#parameters.config, this.#vite) : void 0); } }; export { InertiaFactory };