@adonisjs/inertia
Version:
Official Inertia.js adapter for AdonisJS
64 lines (63 loc) • 1.92 kB
JavaScript
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 };