@thisisagile/easy-service
Version:
Straightforward library for building domain-driven microservice architectures
31 lines (30 loc) • 1.18 kB
JavaScript
// src/http/Verb.ts
import { meta, CacheControl, ContentType, HttpStatus, HttpVerb } from "@thisisagile/easy";
var toVerbOptions = (options) => ({
onOk: options?.onOk ?? HttpStatus.Ok,
onNotFound: options?.onNotFound ?? HttpStatus.NotFound,
onError: options?.onError ?? HttpStatus.BadRequest,
type: options?.type ?? ContentType.Json,
cache: options?.cache ?? CacheControl.disabled()
});
var toVerb = (verb, options) => (subject, property) => {
meta(subject).property(property).set("verb", { verb, options });
};
var get = (options) => toVerb(HttpVerb.Get, options);
var search = (options) => toVerb(HttpVerb.Get, { onNotFound: HttpStatus.Ok, ...options });
var put = (options) => toVerb(HttpVerb.Put, options);
var patch = (options) => toVerb(HttpVerb.Patch, options);
var post = (options) => toVerb(HttpVerb.Post, { onOk: HttpStatus.Created, ...options });
var del = (options) => toVerb(HttpVerb.Delete, { onOk: HttpStatus.NoContent, ...options });
var stream = (options) => toVerb(HttpVerb.Get, { type: ContentType.Stream, ...options });
export {
toVerbOptions,
get,
search,
put,
patch,
post,
del,
stream
};
//# sourceMappingURL=chunk-W62PBGRF.mjs.map