polen
Version:
A framework for delightful GraphQL developer portals
31 lines • 1.18 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { Grafaid } from '#lib/grafaid/index';
import { ReactRouterAid } from '#lib/react-router-aid/index';
import { useLoaderData } from '#lib/react-router-loader/react-router-loader';
import { useParams } from 'react-router';
import { Field } from '../components/Field.js';
import { MissingSchema } from '../components/MissingSchema.js';
const Component = () => {
const params = useParams();
const data = useLoaderData(`reference`);
if (!data.schema) {
return _jsx(MissingSchema, {});
}
const type = data.schema.getType(params.type);
if (!type)
return `Could not find type ${params.type}`;
if (!Grafaid.Schema.TypesLike.isFielded(type)) {
return `Type ${params.type} does not have fields`;
}
const fields = type.getFields();
const field = fields[params.field];
if (!field) {
return `Could not find field ${params.field} on type ${params.type}`;
}
return _jsx(Field, { data: field });
};
export const reference$type$field = ReactRouterAid.createRoute({
path: `:type/:field`,
Component,
});
//# sourceMappingURL=reference.$type.$field.js.map