stackpress
Version:
Incept is a content management framework.
32 lines (31 loc) • 978 B
JavaScript
import { useContext } from 'react';
import { nest } from '@stackpress/lib/Nest';
import Request from './ServerRequest';
import Response from './ServerResponse';
import Session from './ServerSession';
import ClientContext from './ServerContext';
export function useRequest() {
const { request } = useContext(ClientContext);
return new Request(request);
}
export function useResponse() {
const { response } = useContext(ClientContext);
return new Response(response);
}
export function useSession() {
const { session } = useContext(ClientContext);
return new Session(session);
}
export function useConfig() {
const { data } = useContext(ClientContext);
return nest(data);
}
export function useServer() {
const { data, request, response, session } = useContext(ClientContext);
return {
config: nest(data),
request: new Request(request),
response: new Response(response),
session: new Session(session)
};
}