altair-fastify-plugin
Version:
Fastify Plugin of Altair GraphQL Client
31 lines • 1.42 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AltairFastify = void 0;
const altair_static_1 = require("altair-static");
const fastify_plugin_1 = __importDefault(require("fastify-plugin"));
const static_1 = __importDefault(require("@fastify/static"));
const fastifyAltairPluginFn = async (fastify, { path = '/altair', baseURL = '/altair/', endpointURL = '/graphql', ...renderOptions } = {}) => {
fastify.register(static_1.default, {
root: (0, altair_static_1.getDistDirectory)(),
prefix: baseURL,
});
const altairPage = (0, altair_static_1.renderAltair)({ baseURL, endpointURL, ...renderOptions });
fastify.get(path, (_req, res) => {
res.type('text/html').send(altairPage);
});
if (renderOptions.serveInitialOptionsInSeperateRequest) {
const initialOptions = (0, altair_static_1.renderInitSnippet)(renderOptions);
const initOptPath = path + '/initial_options.js';
fastify.get(initOptPath, (_req, res) => {
res.type('application/javascript').send(initialOptions);
});
}
};
exports.AltairFastify = (0, fastify_plugin_1.default)(fastifyAltairPluginFn, {
fastify: '>= 3.x',
name: 'altair-fastify-plugin',
});
//# sourceMappingURL=index.js.map