Просмотр исходного кода

refactor: improve tests of parseContentType and error message

e22m4u 1 месяц назад
Родитель
Сommit
f408addc84

+ 76 - 95
dist/cjs/index.cjs

@@ -52,7 +52,6 @@ __export(index_exports, {
   UNPARSABLE_MEDIA_TYPES: () => UNPARSABLE_MEDIA_TYPES,
   cloneDeep: () => cloneDeep,
   createCookieString: () => createCookieString,
-  createDebugger: () => createDebugger,
   createError: () => createError,
   createRequestMock: () => createRequestMock,
   createResponseMock: () => createResponseMock,
@@ -71,11 +70,11 @@ __export(index_exports, {
 module.exports = __toCommonJS(index_exports);
 
 // src/route.js
-var import_js_format13 = require("@e22m4u/js-format");
+var import_js_format12 = require("@e22m4u/js-format");
 var import_js_debug = require("@e22m4u/js-debug");
 
 // src/hooks/hook-invoker.js
-var import_js_format12 = require("@e22m4u/js-format");
+var import_js_format11 = require("@e22m4u/js-format");
 
 // src/debuggable-service.js
 var import_js_service = require("@e22m4u/js-service");
@@ -160,28 +159,11 @@ function toCamelCase(input) {
 }
 __name(toCamelCase, "toCamelCase");
 
-// src/utils/create-debugger.js
-var import_debug = __toESM(require("debug"), 1);
-var import_js_format3 = require("@e22m4u/js-format");
-function createDebugger(name) {
-  if (typeof name !== "string")
-    throw new import_js_format3.Errorf(
-      'The first argument of "createDebugger" should be a String, but %v was given.',
-      name
-    );
-  const debug = (0, import_debug.default)(`jsTrieRouter:${name}`);
-  return function(message, ...args) {
-    const interpolatedMessage = (0, import_js_format3.format)(message, ...args);
-    return debug(interpolatedMessage);
-  };
-}
-__name(createDebugger, "createDebugger");
-
 // src/utils/is-response-sent.js
-var import_js_format4 = require("@e22m4u/js-format");
+var import_js_format3 = require("@e22m4u/js-format");
 function isResponseSent(response) {
   if (!response || typeof response !== "object" || Array.isArray(response) || typeof response.headersSent !== "boolean") {
-    throw new import_js_format4.Errorf(
+    throw new import_js_format3.Errorf(
       'The first argument of "isResponseSent" should be an instance of ServerResponse, but %v was given.',
       response
     );
@@ -208,11 +190,11 @@ function isReadableStream(value) {
 __name(isReadableStream, "isReadableStream");
 
 // src/utils/parse-content-type.js
-var import_js_format5 = require("@e22m4u/js-format");
+var import_js_format4 = require("@e22m4u/js-format");
 function parseContentType(input) {
   if (typeof input !== "string")
-    throw new import_js_format5.Errorf(
-      'The parameter "input" of "parseContentType" should be a String, but %v was given.',
+    throw new import_js_format4.Errorf(
+      "The first parameter of `parseContentType` should be a String, but %v was given.",
       input
     );
   const res = { mediaType: void 0, charset: void 0, boundary: void 0 };
@@ -237,7 +219,7 @@ __name(isWritableStream, "isWritableStream");
 // src/utils/fetch-request-body.js
 var import_http_errors = __toESM(require("http-errors"), 1);
 var import_http = require("http");
-var import_js_format6 = require("@e22m4u/js-format");
+var import_js_format5 = require("@e22m4u/js-format");
 var CHARACTER_ENCODING_LIST = [
   "ascii",
   "utf8",
@@ -250,12 +232,12 @@ var CHARACTER_ENCODING_LIST = [
 ];
 function fetchRequestBody(request, bodyBytesLimit = 0) {
   if (!(request instanceof import_http.IncomingMessage))
-    throw new import_js_format6.Errorf(
+    throw new import_js_format5.Errorf(
       'The first parameter of "fetchRequestBody" should be an IncomingMessage instance, but %v was given.',
       request
     );
   if (typeof bodyBytesLimit !== "number")
-    throw new import_js_format6.Errorf(
+    throw new import_js_format5.Errorf(
       'The parameter "bodyBytesLimit" of "fetchRequestBody" should be a number, but %v was given.',
       bodyBytesLimit
     );
@@ -329,10 +311,10 @@ function fetchRequestBody(request, bodyBytesLimit = 0) {
 __name(fetchRequestBody, "fetchRequestBody");
 
 // src/utils/parse-cookie-string.js
-var import_js_format7 = require("@e22m4u/js-format");
+var import_js_format6 = require("@e22m4u/js-format");
 function parseCookieString(input) {
   if (typeof input !== "string")
-    throw new import_js_format7.Errorf(
+    throw new import_js_format6.Errorf(
       "The first parameter of `parseCookieString` must be a String, but %v was given.",
       input
     );
@@ -350,13 +332,13 @@ var import_net = require("net");
 var import_tls = require("tls");
 var import_http2 = require("http");
 var import_querystring = __toESM(require("querystring"), 1);
-var import_js_format9 = require("@e22m4u/js-format");
+var import_js_format8 = require("@e22m4u/js-format");
 
 // src/utils/create-cookie-string.js
-var import_js_format8 = require("@e22m4u/js-format");
+var import_js_format7 = require("@e22m4u/js-format");
 function createCookieString(data) {
   if (!data || typeof data !== "object" || Array.isArray(data))
-    throw new import_js_format8.Errorf(
+    throw new import_js_format7.Errorf(
       "The first parameter of `createCookieString` should be an Object, but %v was given.",
       data
     );
@@ -374,78 +356,78 @@ __name(createCookieString, "createCookieString");
 // src/utils/create-request-mock.js
 function createRequestMock(patch) {
   if (patch != null && typeof patch !== "object" || Array.isArray(patch)) {
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The first parameter of "createRequestMock" should be an Object, but %v was given.',
       patch
     );
   }
   patch = patch || {};
   if (patch.host != null && typeof patch.host !== "string")
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "host" of "createRequestMock" should be a String, but %v was given.',
       patch.host
     );
   if (patch.method != null && typeof patch.method !== "string")
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "method" of "createRequestMock" should be a String, but %v was given.',
       patch.method
     );
   if (patch.secure != null && typeof patch.secure !== "boolean")
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "secure" of "createRequestMock" should be a Boolean, but %v was given.',
       patch.secure
     );
   if (patch.path != null && typeof patch.path !== "string")
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "path" of "createRequestMock" should be a String, but %v was given.',
       patch.path
     );
   if (patch.query != null && typeof patch.query !== "object" && typeof patch.query !== "string" || Array.isArray(patch.query)) {
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "query" of "createRequestMock" should be a String or Object, but %v was given.',
       patch.query
     );
   }
   if (patch.cookies != null && typeof patch.cookies !== "string" && typeof patch.cookies !== "object" || Array.isArray(patch.cookies)) {
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "cookies" of "createRequestMock" should be a String or Object, but %v was given.',
       patch.cookies
     );
   }
   if (patch.headers != null && typeof patch.headers !== "object" || Array.isArray(patch.headers)) {
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "headers" of "createRequestMock" should be an Object, but %v was given.',
       patch.headers
     );
   }
   if (patch.stream != null && !isReadableStream(patch.stream))
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "stream" of "createRequestMock" should be a Stream, but %v was given.',
       patch.stream
     );
   if (patch.encoding != null) {
     if (typeof patch.encoding !== "string")
-      throw new import_js_format9.Errorf(
+      throw new import_js_format8.Errorf(
         'The parameter "encoding" of "createRequestMock" should be a String, but %v was given.',
         patch.encoding
       );
     if (!CHARACTER_ENCODING_LIST.includes(patch.encoding))
-      throw new import_js_format9.Errorf(
+      throw new import_js_format8.Errorf(
         "Character encoding %v is not supported.",
         patch.encoding
       );
   }
   if (patch.stream) {
     if (patch.secure != null)
-      throw new import_js_format9.Errorf(
+      throw new import_js_format8.Errorf(
         'The "createRequestMock" does not allow specifying the "stream" and "secure" options simultaneously.'
       );
     if (patch.body != null)
-      throw new import_js_format9.Errorf(
+      throw new import_js_format8.Errorf(
         'The "createRequestMock" does not allow specifying the "stream" and "body" options simultaneously.'
       );
     if (patch.encoding != null)
-      throw new import_js_format9.Errorf(
+      throw new import_js_format8.Errorf(
         'The "createRequestMock" does not allow specifying the "stream" and "encoding" options simultaneously.'
       );
   }
@@ -465,7 +447,7 @@ function createRequestMock(patch) {
 __name(createRequestMock, "createRequestMock");
 function createRequestStream(secure, body, encoding) {
   if (encoding != null && typeof encoding !== "string")
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "encoding" of "createRequestStream" should be a String, but %v was given.',
       encoding
     );
@@ -488,12 +470,12 @@ function createRequestStream(secure, body, encoding) {
 __name(createRequestStream, "createRequestStream");
 function createRequestUrl(path, query) {
   if (typeof path !== "string")
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "path" of "createRequestUrl" should be a String, but %v was given.',
       path
     );
   if (query != null && typeof query !== "string" && typeof query !== "object" || Array.isArray(query)) {
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "query" of "createRequestUrl" should be a String or Object, but %v was given.',
       query
     );
@@ -510,32 +492,32 @@ function createRequestUrl(path, query) {
 __name(createRequestUrl, "createRequestUrl");
 function createRequestHeaders(host, secure, body, cookies, encoding, headers) {
   if (host != null && typeof host !== "string")
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "host" of "createRequestHeaders" a non-empty String, but %v was given.',
       host
     );
   host = host || "localhost";
   if (secure != null && typeof secure !== "boolean")
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "secure" of "createRequestHeaders" should be a String, but %v was given.',
       secure
     );
   secure = Boolean(secure);
   if (cookies != null && typeof cookies !== "object" && typeof cookies !== "string" || Array.isArray(cookies)) {
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "cookies" of "createRequestHeaders" should be a String or Object, but %v was given.',
       cookies
     );
   }
   if (headers != null && typeof headers !== "object" || Array.isArray(headers)) {
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "headers" of "createRequestHeaders" should be an Object, but %v was given.',
       headers
     );
   }
   headers = headers || {};
   if (encoding != null && typeof encoding !== "string")
-    throw new import_js_format9.Errorf(
+    throw new import_js_format8.Errorf(
       'The parameter "encoding" of "createRequestHeaders" should be a String, but %v was given.',
       encoding
     );
@@ -684,10 +666,10 @@ function patchBody(response) {
 __name(patchBody, "patchBody");
 
 // src/utils/get-request-pathname.js
-var import_js_format10 = require("@e22m4u/js-format");
+var import_js_format9 = require("@e22m4u/js-format");
 function getRequestPathname(request) {
   if (!request || typeof request !== "object" || Array.isArray(request) || typeof request.url !== "string") {
-    throw new import_js_format10.Errorf(
+    throw new import_js_format9.Errorf(
       'The first argument of "getRequestPathname" should be an instance of IncomingMessage, but %v was given.',
       request
     );
@@ -697,7 +679,7 @@ function getRequestPathname(request) {
 __name(getRequestPathname, "getRequestPathname");
 
 // src/hooks/hook-registry.js
-var import_js_format11 = require("@e22m4u/js-format");
+var import_js_format10 = require("@e22m4u/js-format");
 var RouterHookType = {
   PRE_HANDLER: "preHandler",
   POST_HANDLER: "postHandler"
@@ -719,11 +701,11 @@ var _HookRegistry = class _HookRegistry {
    */
   addHook(type, hook) {
     if (!type || typeof type !== "string")
-      throw new import_js_format11.Errorf("The hook type is required, but %v was given.", type);
+      throw new import_js_format10.Errorf("The hook type is required, but %v was given.", type);
     if (!Object.values(RouterHookType).includes(type))
-      throw new import_js_format11.Errorf("The hook type %v is not supported.", type);
+      throw new import_js_format10.Errorf("The hook type %v is not supported.", type);
     if (!hook || typeof hook !== "function")
-      throw new import_js_format11.Errorf(
+      throw new import_js_format10.Errorf(
         "The hook %v should be a Function, but %v was given.",
         type,
         hook
@@ -742,11 +724,11 @@ var _HookRegistry = class _HookRegistry {
    */
   hasHook(type, hook) {
     if (!type || typeof type !== "string")
-      throw new import_js_format11.Errorf("The hook type is required, but %v was given.", type);
+      throw new import_js_format10.Errorf("The hook type is required, but %v was given.", type);
     if (!Object.values(RouterHookType).includes(type))
-      throw new import_js_format11.Errorf("The hook type %v is not supported.", type);
+      throw new import_js_format10.Errorf("The hook type %v is not supported.", type);
     if (!hook || typeof hook !== "function")
-      throw new import_js_format11.Errorf(
+      throw new import_js_format10.Errorf(
         "The hook %v should be a Function, but %v was given.",
         type,
         hook
@@ -762,9 +744,9 @@ var _HookRegistry = class _HookRegistry {
    */
   getHooks(type) {
     if (!type || typeof type !== "string")
-      throw new import_js_format11.Errorf("The hook type is required, but %v was given.", type);
+      throw new import_js_format10.Errorf("The hook type is required, but %v was given.", type);
     if (!Object.values(RouterHookType).includes(type))
-      throw new import_js_format11.Errorf("The hook type %v is not supported.", type);
+      throw new import_js_format10.Errorf("The hook type %v is not supported.", type);
     return this._hooks.get(type) || [];
   }
 };
@@ -784,19 +766,19 @@ var _HookInvoker = class _HookInvoker extends DebuggableService {
    */
   invokeAndContinueUntilValueReceived(route, hookType, response, ...args) {
     if (!route || !(route instanceof Route))
-      throw new import_js_format12.Errorf(
+      throw new import_js_format11.Errorf(
         'The parameter "route" of the HookInvoker.invokeAndContinueUntilValueReceived should be a Route instance, but %v was given.',
         route
       );
     if (!hookType || typeof hookType !== "string")
-      throw new import_js_format12.Errorf(
+      throw new import_js_format11.Errorf(
         'The parameter "hookType" of the HookInvoker.invokeAndContinueUntilValueReceived should be a non-empty String, but %v was given.',
         hookType
       );
     if (!Object.values(RouterHookType).includes(hookType))
-      throw new import_js_format12.Errorf("The hook type %v is not supported.", hookType);
+      throw new import_js_format11.Errorf("The hook type %v is not supported.", hookType);
     if (!response || typeof response !== "object" || Array.isArray(response) || typeof response.headersSent !== "boolean") {
-      throw new import_js_format12.Errorf(
+      throw new import_js_format11.Errorf(
         'The parameter "response" of the HookInvoker.invokeAndContinueUntilValueReceived should be a ServerResponse instance, but %v was given.',
         response
       );
@@ -941,30 +923,30 @@ var _Route = class _Route extends import_js_debug.Debuggable {
       noInstantiationMessage: true
     });
     if (!routeDef || typeof routeDef !== "object" || Array.isArray(routeDef))
-      throw new import_js_format13.Errorf(
+      throw new import_js_format12.Errorf(
         "The first parameter of Route.constructor should be an Object, but %v was given.",
         routeDef
       );
     if (!routeDef.method || typeof routeDef.method !== "string")
-      throw new import_js_format13.Errorf(
+      throw new import_js_format12.Errorf(
         'The option "method" of the Route should be a non-empty String, but %v was given.',
         routeDef.method
       );
     this._method = routeDef.method.toUpperCase();
     if (typeof routeDef.path !== "string")
-      throw new import_js_format13.Errorf(
+      throw new import_js_format12.Errorf(
         'The option "path" of the Route should be a String, but %v was given.',
         routeDef.path
       );
     this._path = routeDef.path;
     if (typeof routeDef.handler !== "function")
-      throw new import_js_format13.Errorf(
+      throw new import_js_format12.Errorf(
         'The option "handler" of the Route should be a Function, but %v was given.',
         routeDef.handler
       );
     if (routeDef.meta != null) {
       if (typeof routeDef.meta !== "object" || Array.isArray(routeDef.meta))
-        throw new import_js_format13.Errorf(
+        throw new import_js_format12.Errorf(
           'The option "meta" of the Route should be a plain Object, but %v was given.',
           routeDef.meta
         );
@@ -1007,10 +989,10 @@ var Route = _Route;
 
 // src/parsers/body-parser.js
 var import_http_errors2 = __toESM(require("http-errors"), 1);
-var import_js_format15 = require("@e22m4u/js-format");
+var import_js_format14 = require("@e22m4u/js-format");
 
 // src/router-options.js
-var import_js_format14 = require("@e22m4u/js-format");
+var import_js_format13 = require("@e22m4u/js-format");
 var _RouterOptions = class _RouterOptions extends DebuggableService {
   /**
    * Request body bytes limit.
@@ -1036,7 +1018,7 @@ var _RouterOptions = class _RouterOptions extends DebuggableService {
    */
   setRequestBodyBytesLimit(input) {
     if (typeof input !== "number" || input < 0)
-      throw new import_js_format14.Errorf(
+      throw new import_js_format13.Errorf(
         'The option "requestBodyBytesLimit" must be a positive Number or 0, but %v was given.',
         input
       );
@@ -1069,12 +1051,12 @@ var _BodyParser = class _BodyParser extends DebuggableService {
    */
   defineParser(mediaType, parser) {
     if (!mediaType || typeof mediaType !== "string")
-      throw new import_js_format15.Errorf(
+      throw new import_js_format14.Errorf(
         'The parameter "mediaType" of BodyParser.defineParser should be a non-empty String, but %v was given.',
         mediaType
       );
     if (!parser || typeof parser !== "function")
-      throw new import_js_format15.Errorf(
+      throw new import_js_format14.Errorf(
         'The parameter "parser" of BodyParser.defineParser should be a Function, but %v was given.',
         parser
       );
@@ -1089,7 +1071,7 @@ var _BodyParser = class _BodyParser extends DebuggableService {
    */
   hasParser(mediaType) {
     if (!mediaType || typeof mediaType !== "string")
-      throw new import_js_format15.Errorf(
+      throw new import_js_format14.Errorf(
         'The parameter "mediaType" of BodyParser.hasParser should be a non-empty String, but %v was given.',
         mediaType
       );
@@ -1103,12 +1085,12 @@ var _BodyParser = class _BodyParser extends DebuggableService {
    */
   deleteParser(mediaType) {
     if (!mediaType || typeof mediaType !== "string")
-      throw new import_js_format15.Errorf(
+      throw new import_js_format14.Errorf(
         'The parameter "mediaType" of BodyParser.deleteParser should be a non-empty String, but %v was given.',
         mediaType
       );
     const parser = this._parsers[mediaType];
-    if (!parser) throw new import_js_format15.Errorf("The parser of %v is not found.", mediaType);
+    if (!parser) throw new import_js_format14.Errorf("The parser of %v is not found.", mediaType);
     delete this._parsers[mediaType];
     return this;
   }
@@ -1237,7 +1219,7 @@ var CookiesParser = _CookiesParser;
 
 // src/parsers/request-parser.js
 var import_http3 = require("http");
-var import_js_format16 = require("@e22m4u/js-format");
+var import_js_format15 = require("@e22m4u/js-format");
 var _RequestParser = class _RequestParser extends DebuggableService {
   /**
    * Parse.
@@ -1247,7 +1229,7 @@ var _RequestParser = class _RequestParser extends DebuggableService {
    */
   parse(request) {
     if (!(request instanceof import_http3.IncomingMessage))
-      throw new import_js_format16.Errorf(
+      throw new import_js_format15.Errorf(
         "The first argument of RequestParser.parse should be an instance of IncomingMessage, but %v was given.",
         request
       );
@@ -1279,7 +1261,7 @@ __name(_RequestParser, "RequestParser");
 var RequestParser = _RequestParser;
 
 // src/route-registry.js
-var import_js_format17 = require("@e22m4u/js-format");
+var import_js_format16 = require("@e22m4u/js-format");
 var import_js_path_trie = require("@e22m4u/js-path-trie");
 var import_js_service2 = require("@e22m4u/js-service");
 var _RouteRegistry = class _RouteRegistry extends DebuggableService {
@@ -1301,7 +1283,7 @@ var _RouteRegistry = class _RouteRegistry extends DebuggableService {
   defineRoute(routeDef) {
     const debug = this.getDebuggerFor(this.defineRoute);
     if (!routeDef || typeof routeDef !== "object" || Array.isArray(routeDef))
-      throw new import_js_format17.Errorf(
+      throw new import_js_format16.Errorf(
         "The route definition should be an Object, but %v was given.",
         routeDef
       );
@@ -1364,7 +1346,7 @@ __name(_RouteRegistry, "RouteRegistry");
 var RouteRegistry = _RouteRegistry;
 
 // src/request-context.js
-var import_js_format18 = require("@e22m4u/js-format");
+var import_js_format17 = require("@e22m4u/js-format");
 var import_js_service3 = require("@e22m4u/js-service");
 var _RequestContext = class _RequestContext {
   /**
@@ -1510,27 +1492,27 @@ var _RequestContext = class _RequestContext {
    */
   constructor(container, request, response, route) {
     if (!(0, import_js_service3.isServiceContainer)(container))
-      throw new import_js_format18.Errorf(
+      throw new import_js_format17.Errorf(
         'The parameter "container" of RequestContext.constructor should be an instance of ServiceContainer, but %v was given.',
         container
       );
     this._container = container;
     if (!request || typeof request !== "object" || Array.isArray(request) || !isReadableStream(request)) {
-      throw new import_js_format18.Errorf(
+      throw new import_js_format17.Errorf(
         'The parameter "request" of RequestContext.constructor should be an instance of IncomingMessage, but %v was given.',
         request
       );
     }
     this._request = request;
     if (!response || typeof response !== "object" || Array.isArray(response) || !isWritableStream(response)) {
-      throw new import_js_format18.Errorf(
+      throw new import_js_format17.Errorf(
         'The parameter "response" of RequestContext.constructor should be an instance of ServerResponse, but %v was given.',
         response
       );
     }
     this._response = response;
     if (!(route instanceof Route)) {
-      throw new import_js_format18.Errorf(
+      throw new import_js_format17.Errorf(
         'The parameter "route" of RequestContext.constructor should be an instance of Route, but %v was given.',
         route
       );
@@ -1546,7 +1528,7 @@ var import_js_service4 = require("@e22m4u/js-service");
 var import_http4 = require("http");
 
 // src/senders/data-sender.js
-var import_js_format19 = require("@e22m4u/js-format");
+var import_js_format18 = require("@e22m4u/js-format");
 var _DataSender = class _DataSender extends DebuggableService {
   /**
    * Send.
@@ -1585,7 +1567,7 @@ var _DataSender = class _DataSender extends DebuggableService {
           debugMsg = "The Buffer was sent as binary data.";
         } else {
           response.setHeader("content-type", "application/json");
-          debugMsg = (0, import_js_format19.format)("The %v was sent as JSON.", typeof data);
+          debugMsg = (0, import_js_format18.format)("The %v was sent as JSON.", typeof data);
           data = JSON.stringify(data);
         }
         break;
@@ -1883,7 +1865,6 @@ var TrieRouter = _TrieRouter;
   UNPARSABLE_MEDIA_TYPES,
   cloneDeep,
   createCookieString,
-  createDebugger,
   createError,
   createRequestMock,
   createResponseMock,

+ 0 - 11
src/utils/create-debugger.d.ts

@@ -1,11 +0,0 @@
-/**
- * Debugger.
- */
-export type Debugger = (message: string, ...args: unknown[]) => void;
-
-/**
- * Create debugger.
- *
- * @param name
- */
-export declare function createDebugger(name: string): Debugger;

+ 0 - 22
src/utils/create-debugger.js

@@ -1,22 +0,0 @@
-import DebugFactory from 'debug';
-import {Errorf, format} from '@e22m4u/js-format';
-
-/**
- * Create debugger.
- *
- * @param {string} name
- * @returns {Function}
- */
-export function createDebugger(name) {
-  if (typeof name !== 'string')
-    throw new Errorf(
-      'The first argument of "createDebugger" should be ' +
-        'a String, but %v was given.',
-      name,
-    );
-  const debug = DebugFactory(`jsTrieRouter:${name}`);
-  return function (message, ...args) {
-    const interpolatedMessage = format(message, ...args);
-    return debug(interpolatedMessage);
-  };
-}

+ 0 - 30
src/utils/create-debugger.spec.js

@@ -1,30 +0,0 @@
-import {expect} from 'chai';
-import {format} from '@e22m4u/js-format';
-import {createDebugger} from './create-debugger.js';
-
-describe('createDebugger', function () {
-  it('requires the first parameter to be a String', function () {
-    const throwable = v => () => createDebugger(v);
-    const error = v =>
-      format(
-        'The first argument of "createDebugger" should be ' +
-          'a String, but %s was given.',
-        v,
-      );
-    expect(throwable(10)).to.throw(error('10'));
-    expect(throwable(0)).to.throw(error('0'));
-    expect(throwable(true)).to.throw(error('true'));
-    expect(throwable(false)).to.throw(error('false'));
-    expect(throwable(null)).to.throw(error('null'));
-    expect(throwable({})).to.throw(error('Object'));
-    expect(throwable([])).to.throw(error('Array'));
-    expect(throwable(undefined)).to.throw(error('undefined'));
-    throwable('str')();
-    throwable('')();
-  });
-
-  it('returns a function', function () {
-    const res = createDebugger('name');
-    expect(typeof res).to.be.eq('function');
-  });
-});

+ 0 - 1
src/utils/index.d.ts

@@ -2,7 +2,6 @@ export * from './clone-deep.js';
 export * from './is-promise.js';
 export * from './create-error.js';
 export * from './to-camel-case.js';
-export * from './create-debugger.js';
 export * from './is-response-sent.js';
 export * from './create-route-mock.js';
 export * from './is-readable-stream.js';

+ 0 - 1
src/utils/index.js

@@ -2,7 +2,6 @@ export * from './clone-deep.js';
 export * from './is-promise.js';
 export * from './create-error.js';
 export * from './to-camel-case.js';
-export * from './create-debugger.js';
 export * from './is-response-sent.js';
 export * from './create-route-mock.js';
 export * from './is-readable-stream.js';

+ 1 - 1
src/utils/parse-content-type.js

@@ -13,7 +13,7 @@ import {Errorf} from '@e22m4u/js-format';
 export function parseContentType(input) {
   if (typeof input !== 'string')
     throw new Errorf(
-      'The parameter "input" of "parseContentType" ' +
+      'The first parameter of `parseContentType` ' +
         'should be a String, but %v was given.',
       input,
     );

+ 21 - 0
src/utils/parse-content-type.spec.js

@@ -1,7 +1,28 @@
 import {expect} from 'chai';
 import {parseContentType} from './parse-content-type.js';
+import {format} from '@e22m4u/js-format';
 
 describe('parseContentType', function () {
+  it('requires the first parameter to be a string', function () {
+    const throwable = v => () => parseContentType(v);
+    const error = s =>
+      format(
+        'The first parameter of `parseContentType` ' +
+          'should be a String, but %s was given.',
+        s,
+      );
+    expect(throwable(10)).to.throw(error('10'));
+    expect(throwable(0)).to.throw(error('0'));
+    expect(throwable(true)).to.throw(error('true'));
+    expect(throwable(false)).to.throw(error('false'));
+    expect(throwable([])).to.throw(error('Array'));
+    expect(throwable({})).to.throw(error('Object'));
+    expect(throwable(undefined)).to.throw(error('undefined'));
+    expect(throwable(null)).to.throw(error('null'));
+    expect(throwable(() => undefined)).to.throw(error('Function'));
+    throwable('text/html')();
+  });
+
   it('returns an object with specific properties', function () {
     const res = parseContentType('');
     expect(res).to.be.eql({