stackpress
Version:
Incept is a content management framework.
32 lines (31 loc) • 990 B
JavaScript
import { useContext } from 'react';
import { nest } from '@stackpress/lib/Nest';
import Request from './ServerRequest.js';
import Response from './ServerResponse.js';
import Session from './ServerSession.js';
import ClientContext from './ServerContext.js';
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)
};
}