@zayne-labs/callapi-plugins 5.0.6 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as loggerPlugin, t as defaultConsoleObject } from "./logger-UMclaNkO.js";
1
+ import { n as loggerPlugin, t as defaultConsoleObject } from "./logger-IJNL0wPa.js";
2
2
  export { defaultConsoleObject, loggerPlugin };
@@ -139,4 +139,4 @@ const loggerPlugin = (options) => {
139
139
  //#endregion
140
140
  export { loggerPlugin as n, defaultConsoleObject as t };
141
141
 
142
- //# sourceMappingURL=logger-UMclaNkO.js.map
142
+ //# sourceMappingURL=logger-IJNL0wPa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger-UMclaNkO.js","names":[],"sources":["../src/plugins/logger/constants.ts","../src/plugins/logger/utils.ts","../src/plugins/logger/logger.ts"],"sourcesContent":["export const getStatusTextMap = () => {\n\treturn new Map<number, string>([\n\t\t[100, \"Continue\"],\n\t\t[101, \"Switching Protocols\"],\n\t\t[102, \"Processing\"],\n\t\t[200, \"OK\"],\n\t\t[201, \"Created\"],\n\t\t[202, \"Accepted\"],\n\t\t[203, \"Non-Authoritative Information\"],\n\t\t[204, \"No Content\"],\n\t\t[205, \"Reset Content\"],\n\t\t[206, \"Partial Content\"],\n\t\t[207, \"Multi-Status\"],\n\t\t[208, \"Already Reported\"],\n\t\t[226, \"IM Used\"],\n\t\t[300, \"Multiple Choices\"],\n\t\t[301, \"Moved Permanently\"],\n\t\t[302, \"Found\"],\n\t\t[303, \"See Other\"],\n\t\t[304, \"Not Modified\"],\n\t\t[305, \"Use Proxy\"],\n\t\t[307, \"Temporary Redirect\"],\n\t\t[308, \"Permanent Redirect\"],\n\t\t[400, \"Bad Request\"],\n\t\t[401, \"Unauthorized\"],\n\t\t[402, \"Payment Required\"],\n\t\t[403, \"Forbidden\"],\n\t\t[404, \"Not Found\"],\n\t\t[405, \"Method Not Allowed\"],\n\t\t[406, \"Not Acceptable\"],\n\t\t[407, \"Proxy Authentication Required\"],\n\t\t[408, \"Request Timeout\"],\n\t\t[409, \"Conflict\"],\n\t\t[410, \"Gone\"],\n\t\t[411, \"Length Required\"],\n\t\t[412, \"Precondition Failed\"],\n\t\t[413, \"Payload Too Large\"],\n\t\t[414, \"URI Too Long\"],\n\t\t[415, \"Unsupported Media Type\"],\n\t\t[416, \"Range Not Satisfiable\"],\n\t\t[417, \"Expectation Failed\"],\n\t\t[418, \"I'm a teapot\"],\n\t\t[421, \"Misdirected Request\"],\n\t\t[422, \"Unprocessable Entity\"],\n\t\t[423, \"Locked\"],\n\t\t[424, \"Failed Dependency\"],\n\t\t[425, \"Too Early\"],\n\t\t[426, \"Upgrade Required\"],\n\t\t[428, \"Precondition Required\"],\n\t\t[429, \"Too Many Requests\"],\n\t\t[431, \"Request Header Fields Too Large\"],\n\t\t[451, \"Unavailable For Legal Reasons\"],\n\t\t[500, \"Internal Server Error\"],\n\t\t[501, \"Not Implemented\"],\n\t\t[502, \"Bad Gateway\"],\n\t\t[503, \"Service Unavailable\"],\n\t\t[504, \"Gateway Timeout\"],\n\t\t[505, \"HTTP Version Not Supported\"],\n\t\t[506, \"Variant Also Negotiates\"],\n\t\t[507, \"Insufficient Storage\"],\n\t\t[508, \"Loop Detected\"],\n\t\t[510, \"Not Extended\"],\n\t\t[511, \"Network Authentication Required\"],\n\t]);\n};\n","import { getStatusTextMap } from \"./constants\";\n\nexport const getStatusText = (status: number) => {\n\tconst statusTextMap = getStatusTextMap();\n\n\tconst statusText = statusTextMap.get(status) ?? \"Unknown\";\n\n\treturn statusText;\n};\n","import { definePlugin } from \"@zayne-labs/callapi/utils\";\nimport { isBoolean, type AnyFunction } from \"@zayne-labs/toolkit-type-helpers\";\nimport { createConsola } from \"consola\";\nimport { getStatusText } from \"./utils\";\n// Do this so tsdown can bundle without erroring out due to TS `error TS2883`\n// FIXME Should remove when no longer a problem\n// eslint-disable-next-line unicorn/require-module-specifiers -- Ignore\nimport type {} from \"@zayne-labs/callapi\";\n\ntype ConsoleLikeObject = {\n\terror: AnyFunction<void>;\n\tfail?: AnyFunction<void>;\n\tlog: AnyFunction<void>;\n\tsuccess?: AnyFunction<void>;\n\twarn?: AnyFunction<void>;\n};\n\nconst consola = createConsola({\n\tformatOptions: {\n\t\tcolors: true,\n\t\tcolumns: 80,\n\t\tcompact: 10,\n\t\tdate: false,\n\t\tfancy: true,\n\t},\n});\n\nexport type LoggerOptions = {\n\t/**\n\t * Custom console object\n\t */\n\tconsoleObject?: ConsoleLikeObject;\n\t/**\n\t * Enable or disable the logger\n\t * @default true\n\t */\n\tenabled?:\n\t\t| boolean\n\t\t| {\n\t\t\t\tonError?: boolean;\n\t\t\t\tonRequest?: boolean;\n\t\t\t\tonRequestError?: boolean;\n\t\t\t\tonResponse?: boolean;\n\t\t\t\tonResponseError?: boolean;\n\t\t\t\tonRetry?: boolean;\n\t\t\t\tonSuccess?: boolean;\n\t\t\t\tonValidationError?: boolean;\n\t\t };\n\t/**\n\t * Enable or disable verbose mode\n\t */\n\tmode?: \"basic\" | \"verbose\";\n};\n\n/* eslint-disable ts-eslint/no-unsafe-argument -- Ignore for now */\nexport const defaultConsoleObject: ConsoleLikeObject = {\n\terror: (...args) => consola.error(\"\", ...args),\n\tfail: (...args) => consola.fail(\"\", ...args),\n\tlog: (...args) => consola.info(\"\", ...args),\n\tsuccess: (...args) => consola.success(\"\", ...args),\n\twarn: (...args) => consola.warn(\"\", ...args),\n};\n/* eslint-enable ts-eslint/no-unsafe-argument -- Ignore for now */\n\nexport const loggerPlugin = (options?: LoggerOptions) => {\n\tconst { consoleObject = defaultConsoleObject, enabled = true, mode = \"basic\" } = options ?? {};\n\n\tconst isBasicMode = mode === \"basic\";\n\tconst isVerboseMode = mode === \"verbose\";\n\n\tconst lineBreak = \"\\n\";\n\n\tconst successLog = consoleObject.success ?? consoleObject.log;\n\n\t// eslint-disable-next-line ts-eslint/no-unnecessary-condition -- Ignore\n\tconst errorLog = consoleObject.error ?? consoleObject.fail ?? consoleObject.log;\n\n\treturn definePlugin({\n\t\t/* eslint-disable perfectionist/sort-objects -- Ignore for now */\n\t\tid: \"logger\",\n\t\tname: \"Logger\",\n\t\tversion: \"1.1.0\",\n\n\t\thooks: {\n\t\t\t/* eslint-enable perfectionist/sort-objects -- Ignore */\n\t\t\tonRequest: (ctx) => {\n\t\t\t\tconst isEnabled = isBoolean(enabled) ? enabled : enabled.onRequest === true;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconsoleObject.log(`Request being sent to: ${ctx.options.fullURL}`);\n\t\t\t},\n\n\t\t\tonRequestError: (ctx) => {\n\t\t\t\tconst isEnabled =\n\t\t\t\t\tisBoolean(enabled) ? enabled : enabled.onRequestError === true || enabled.onError;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconst message = [\n\t\t\t\t\t`${ctx.request.method} to '${ctx.options.fullURL}' failed!`,\n\t\t\t\t\t`Reason = ${ctx.error.name}: ${ctx.error.message}`,\n\t\t\t\t].join(lineBreak);\n\n\t\t\t\terrorLog(message);\n\t\t\t},\n\n\t\t\tonResponseError: (ctx) => {\n\t\t\t\tconst isEnabled =\n\t\t\t\t\tisBoolean(enabled) ? enabled : enabled.onResponseError === true || enabled.onError;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconst message = [\n\t\t\t\t\t`${ctx.request.method} request to '${ctx.options.fullURL}' failed with status: ${ctx.response.status} (${ctx.response.statusText || getStatusText(ctx.response.status)})`,\n\t\t\t\t\t`Reason = \"${ctx.error.name}: ${ctx.error.message}\"`,\n\t\t\t\t].join(lineBreak);\n\n\t\t\t\tisBasicMode && errorLog(message);\n\n\t\t\t\tconst verboseMessage = [message, \"ErrorData: \"].join(lineBreak);\n\n\t\t\t\tisVerboseMode && consoleObject.error(verboseMessage, ctx.error.errorData);\n\t\t\t},\n\n\t\t\tonRetry: (ctx) => {\n\t\t\t\tconst isEnabled = isBoolean(enabled) ? enabled : enabled.onRetry === true;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconst log = consoleObject.warn ?? consoleObject.log;\n\n\t\t\t\tlog(`Retrying request... Attempt: `, ctx.retryAttemptCount);\n\t\t\t},\n\n\t\t\tonSuccess: (ctx) => {\n\t\t\t\tconst isEnabled = isBoolean(enabled) ? enabled : enabled.onSuccess === true;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tsuccessLog(\"Request succeeded!\", ctx.data);\n\t\t\t},\n\n\t\t\tonValidationError: (ctx) => {\n\t\t\t\tconst isEnabled =\n\t\t\t\t\tisBoolean(enabled) ? enabled : enabled.onValidationError === true || enabled.onError;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconst getMessage = (limit: number | null = null) => {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\tlimit === null ?\n\t\t\t\t\t\t\tctx.error.message\n\t\t\t\t\t\t:\t`${ctx.error.message.slice(0, limit).trimEnd()}${ctx.error.message.length > limit ? \"...\" : \"\"}`;\n\n\t\t\t\t\treturn [\n\t\t\t\t\t\t`(${ctx.error.issueCause.toUpperCase()}) Validation for request to '${ctx.options.fullURL}' failed!`,\n\t\t\t\t\t\t`${ctx.error.name}: ${errorMessage}`,\n\t\t\t\t\t].join(lineBreak);\n\t\t\t\t};\n\n\t\t\t\tisBasicMode && errorLog(getMessage(150));\n\n\t\t\t\tconst verboseMessage = [getMessage(), \"Issues: \"].join(lineBreak);\n\n\t\t\t\tisVerboseMode && consoleObject.error(verboseMessage, ctx.error.errorData);\n\t\t\t},\n\t\t},\n\t});\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"logger-IJNL0wPa.js","names":[],"sources":["../src/plugins/logger/constants.ts","../src/plugins/logger/utils.ts","../src/plugins/logger/logger.ts"],"sourcesContent":["export const getStatusTextMap = () => {\n\treturn new Map<number, string>([\n\t\t[100, \"Continue\"],\n\t\t[101, \"Switching Protocols\"],\n\t\t[102, \"Processing\"],\n\t\t[200, \"OK\"],\n\t\t[201, \"Created\"],\n\t\t[202, \"Accepted\"],\n\t\t[203, \"Non-Authoritative Information\"],\n\t\t[204, \"No Content\"],\n\t\t[205, \"Reset Content\"],\n\t\t[206, \"Partial Content\"],\n\t\t[207, \"Multi-Status\"],\n\t\t[208, \"Already Reported\"],\n\t\t[226, \"IM Used\"],\n\t\t[300, \"Multiple Choices\"],\n\t\t[301, \"Moved Permanently\"],\n\t\t[302, \"Found\"],\n\t\t[303, \"See Other\"],\n\t\t[304, \"Not Modified\"],\n\t\t[305, \"Use Proxy\"],\n\t\t[307, \"Temporary Redirect\"],\n\t\t[308, \"Permanent Redirect\"],\n\t\t[400, \"Bad Request\"],\n\t\t[401, \"Unauthorized\"],\n\t\t[402, \"Payment Required\"],\n\t\t[403, \"Forbidden\"],\n\t\t[404, \"Not Found\"],\n\t\t[405, \"Method Not Allowed\"],\n\t\t[406, \"Not Acceptable\"],\n\t\t[407, \"Proxy Authentication Required\"],\n\t\t[408, \"Request Timeout\"],\n\t\t[409, \"Conflict\"],\n\t\t[410, \"Gone\"],\n\t\t[411, \"Length Required\"],\n\t\t[412, \"Precondition Failed\"],\n\t\t[413, \"Payload Too Large\"],\n\t\t[414, \"URI Too Long\"],\n\t\t[415, \"Unsupported Media Type\"],\n\t\t[416, \"Range Not Satisfiable\"],\n\t\t[417, \"Expectation Failed\"],\n\t\t[418, \"I'm a teapot\"],\n\t\t[421, \"Misdirected Request\"],\n\t\t[422, \"Unprocessable Entity\"],\n\t\t[423, \"Locked\"],\n\t\t[424, \"Failed Dependency\"],\n\t\t[425, \"Too Early\"],\n\t\t[426, \"Upgrade Required\"],\n\t\t[428, \"Precondition Required\"],\n\t\t[429, \"Too Many Requests\"],\n\t\t[431, \"Request Header Fields Too Large\"],\n\t\t[451, \"Unavailable For Legal Reasons\"],\n\t\t[500, \"Internal Server Error\"],\n\t\t[501, \"Not Implemented\"],\n\t\t[502, \"Bad Gateway\"],\n\t\t[503, \"Service Unavailable\"],\n\t\t[504, \"Gateway Timeout\"],\n\t\t[505, \"HTTP Version Not Supported\"],\n\t\t[506, \"Variant Also Negotiates\"],\n\t\t[507, \"Insufficient Storage\"],\n\t\t[508, \"Loop Detected\"],\n\t\t[510, \"Not Extended\"],\n\t\t[511, \"Network Authentication Required\"],\n\t]);\n};\n","import { getStatusTextMap } from \"./constants\";\n\nexport const getStatusText = (status: number) => {\n\tconst statusTextMap = getStatusTextMap();\n\n\tconst statusText = statusTextMap.get(status) ?? \"Unknown\";\n\n\treturn statusText;\n};\n","import { definePlugin } from \"@zayne-labs/callapi/utils\";\nimport { isBoolean, type AnyFunction } from \"@zayne-labs/toolkit-type-helpers\";\nimport { createConsola } from \"consola\";\nimport { getStatusText } from \"./utils\";\n// Do this so tsdown can bundle without erroring out due to TS `error TS2883`\n// FIXME Should remove when no longer a problem\n// eslint-disable-next-line unicorn/require-module-specifiers -- Ignore\nimport type {} from \"@zayne-labs/callapi\";\n\ntype ConsoleLikeObject = {\n\terror: AnyFunction<void>;\n\tfail?: AnyFunction<void>;\n\tlog: AnyFunction<void>;\n\tsuccess?: AnyFunction<void>;\n\twarn?: AnyFunction<void>;\n};\n\nconst consola = createConsola({\n\tformatOptions: {\n\t\tcolors: true,\n\t\tcolumns: 80,\n\t\tcompact: 10,\n\t\tdate: false,\n\t\tfancy: true,\n\t},\n});\n\nexport type LoggerOptions = {\n\t/**\n\t * Custom console object\n\t */\n\tconsoleObject?: ConsoleLikeObject;\n\t/**\n\t * Enable or disable the logger\n\t * @default true\n\t */\n\tenabled?:\n\t\t| boolean\n\t\t| {\n\t\t\t\tonError?: boolean;\n\t\t\t\tonRequest?: boolean;\n\t\t\t\tonRequestError?: boolean;\n\t\t\t\tonResponse?: boolean;\n\t\t\t\tonResponseError?: boolean;\n\t\t\t\tonRetry?: boolean;\n\t\t\t\tonSuccess?: boolean;\n\t\t\t\tonValidationError?: boolean;\n\t\t };\n\t/**\n\t * Enable or disable verbose mode\n\t */\n\tmode?: \"basic\" | \"verbose\";\n};\n\n/* eslint-disable ts-eslint/no-unsafe-argument -- Ignore for now */\nexport const defaultConsoleObject: ConsoleLikeObject = {\n\terror: (...args) => consola.error(\"\", ...args),\n\tfail: (...args) => consola.fail(\"\", ...args),\n\tlog: (...args) => consola.info(\"\", ...args),\n\tsuccess: (...args) => consola.success(\"\", ...args),\n\twarn: (...args) => consola.warn(\"\", ...args),\n};\n/* eslint-enable ts-eslint/no-unsafe-argument -- Ignore for now */\n\nexport const loggerPlugin = (options?: LoggerOptions) => {\n\tconst { consoleObject = defaultConsoleObject, enabled = true, mode = \"basic\" } = options ?? {};\n\n\tconst isBasicMode = mode === \"basic\";\n\tconst isVerboseMode = mode === \"verbose\";\n\n\tconst lineBreak = \"\\n\";\n\n\tconst successLog = consoleObject.success ?? consoleObject.log;\n\n\t// eslint-disable-next-line ts-eslint/no-unnecessary-condition -- Ignore\n\tconst errorLog = consoleObject.error ?? consoleObject.fail ?? consoleObject.log;\n\n\treturn definePlugin({\n\t\t/* eslint-disable perfectionist/sort-objects -- Ignore for now */\n\t\tid: \"logger\",\n\t\tname: \"Logger\",\n\t\tversion: \"1.1.0\",\n\n\t\thooks: {\n\t\t\t/* eslint-enable perfectionist/sort-objects -- Ignore */\n\t\t\tonRequest: (ctx) => {\n\t\t\t\tconst isEnabled = isBoolean(enabled) ? enabled : enabled.onRequest === true;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconsoleObject.log(`Request being sent to: ${ctx.options.fullURL}`);\n\t\t\t},\n\n\t\t\tonRequestError: (ctx) => {\n\t\t\t\tconst isEnabled =\n\t\t\t\t\tisBoolean(enabled) ? enabled : enabled.onRequestError === true || enabled.onError;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconst message = [\n\t\t\t\t\t`${ctx.request.method} to '${ctx.options.fullURL}' failed!`,\n\t\t\t\t\t`Reason = ${ctx.error.name}: ${ctx.error.message}`,\n\t\t\t\t].join(lineBreak);\n\n\t\t\t\terrorLog(message);\n\t\t\t},\n\n\t\t\tonResponseError: (ctx) => {\n\t\t\t\tconst isEnabled =\n\t\t\t\t\tisBoolean(enabled) ? enabled : enabled.onResponseError === true || enabled.onError;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconst message = [\n\t\t\t\t\t`${ctx.request.method} request to '${ctx.options.fullURL}' failed with status: ${ctx.response.status} (${ctx.response.statusText || getStatusText(ctx.response.status)})`,\n\t\t\t\t\t`Reason = \"${ctx.error.name}: ${ctx.error.message}\"`,\n\t\t\t\t].join(lineBreak);\n\n\t\t\t\tisBasicMode && errorLog(message);\n\n\t\t\t\tconst verboseMessage = [message, \"ErrorData: \"].join(lineBreak);\n\n\t\t\t\tisVerboseMode && consoleObject.error(verboseMessage, ctx.error.errorData);\n\t\t\t},\n\n\t\t\tonRetry: (ctx) => {\n\t\t\t\tconst isEnabled = isBoolean(enabled) ? enabled : enabled.onRetry === true;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconst log = consoleObject.warn ?? consoleObject.log;\n\n\t\t\t\tlog(`Retrying request... Attempt: `, ctx.retryAttemptCount);\n\t\t\t},\n\n\t\t\tonSuccess: (ctx) => {\n\t\t\t\tconst isEnabled = isBoolean(enabled) ? enabled : enabled.onSuccess === true;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tsuccessLog(\"Request succeeded!\", ctx.data);\n\t\t\t},\n\n\t\t\tonValidationError: (ctx) => {\n\t\t\t\tconst isEnabled =\n\t\t\t\t\tisBoolean(enabled) ? enabled : enabled.onValidationError === true || enabled.onError;\n\n\t\t\t\tif (!isEnabled) return;\n\n\t\t\t\tconst getMessage = (limit: number | null = null) => {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\tlimit === null ?\n\t\t\t\t\t\t\tctx.error.message\n\t\t\t\t\t\t:\t`${ctx.error.message.slice(0, limit).trimEnd()}${ctx.error.message.length > limit ? \"...\" : \"\"}`;\n\n\t\t\t\t\treturn [\n\t\t\t\t\t\t`(${ctx.error.issueCause.toUpperCase()}) Validation for request to '${ctx.options.fullURL}' failed!`,\n\t\t\t\t\t\t`${ctx.error.name}: ${errorMessage}`,\n\t\t\t\t\t].join(lineBreak);\n\t\t\t\t};\n\n\t\t\t\tisBasicMode && errorLog(getMessage(150));\n\n\t\t\t\tconst verboseMessage = [getMessage(), \"Issues: \"].join(lineBreak);\n\n\t\t\t\tisVerboseMode && consoleObject.error(verboseMessage, ctx.error.errorData);\n\t\t\t},\n\t\t},\n\t});\n};\n"],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- import * as _$_zayne_labs_callapi_utils0 from "@zayne-labs/callapi/utils";
2
1
  import { AnyFunction } from "@zayne-labs/toolkit-type-helpers";
3
- import * as _$_zayne_labs_callapi0 from "@zayne-labs/callapi";
4
2
 
5
3
  //#region src/plugins/logger/logger.d.ts
6
4
  type ConsoleLikeObject = {
@@ -40,11 +38,11 @@ declare const loggerPlugin: (options?: LoggerOptions) => {
40
38
  name: "Logger";
41
39
  version: "1.1.0";
42
40
  hooks: {
43
- onRequest: (ctx: _$_zayne_labs_callapi0.RequestContext<Omit<{
41
+ onRequest: (ctx: import("@zayne-labs/callapi").RequestContext<Omit<{
44
42
  Data: unknown;
45
43
  ErrorData: unknown;
46
44
  InferredExtraOptions: unknown;
47
- ResultMode: _$_zayne_labs_callapi0.ResultModeType;
45
+ ResultMode: import("@zayne-labs/callapi").ResultModeType;
48
46
  Meta: {
49
47
  [x: string]: unknown;
50
48
  };
@@ -54,13 +52,13 @@ declare const loggerPlugin: (options?: LoggerOptions) => {
54
52
  }>) => void;
55
53
  onRequestError: (ctx: (Omit<{
56
54
  data: null;
57
- error: _$_zayne_labs_callapi0.PossibleJavaScriptError;
55
+ error: import("@zayne-labs/callapi").PossibleJavaScriptError;
58
56
  response: Response | null;
59
- }, "data"> & _$_zayne_labs_callapi0.RequestContext<Omit<{
57
+ }, "data"> & import("@zayne-labs/callapi").RequestContext<Omit<{
60
58
  Data: unknown;
61
59
  ErrorData: unknown;
62
60
  InferredExtraOptions: unknown;
63
- ResultMode: _$_zayne_labs_callapi0.ResultModeType;
61
+ ResultMode: import("@zayne-labs/callapi").ResultModeType;
64
62
  Meta: {
65
63
  [x: string]: unknown;
66
64
  };
@@ -73,14 +71,14 @@ declare const loggerPlugin: (options?: LoggerOptions) => {
73
71
  errorData: never;
74
72
  message: string;
75
73
  name: "HTTPError";
76
- originalError: _$_zayne_labs_callapi_utils0.HTTPError;
74
+ originalError: import("@zayne-labs/callapi/utils").HTTPError;
77
75
  };
78
76
  response: Response;
79
- }, "data"> & _$_zayne_labs_callapi0.RequestContext<Omit<{
77
+ }, "data"> & import("@zayne-labs/callapi").RequestContext<Omit<{
80
78
  Data: unknown;
81
79
  ErrorData: unknown;
82
80
  InferredExtraOptions: unknown;
83
- ResultMode: _$_zayne_labs_callapi0.ResultModeType;
81
+ ResultMode: import("@zayne-labs/callapi").ResultModeType;
84
82
  Meta: {
85
83
  [x: string]: unknown;
86
84
  };
@@ -88,11 +86,11 @@ declare const loggerPlugin: (options?: LoggerOptions) => {
88
86
  Data: never;
89
87
  ErrorData: never;
90
88
  }>)) => void;
91
- onResponseError: (ctx: _$_zayne_labs_callapi0.ResponseErrorContext<Omit<{
89
+ onResponseError: (ctx: import("@zayne-labs/callapi").ResponseErrorContext<Omit<{
92
90
  Data: unknown;
93
91
  ErrorData: unknown;
94
92
  InferredExtraOptions: unknown;
95
- ResultMode: _$_zayne_labs_callapi0.ResultModeType;
93
+ ResultMode: import("@zayne-labs/callapi").ResultModeType;
96
94
  Meta: {
97
95
  [x: string]: unknown;
98
96
  };
@@ -100,11 +98,11 @@ declare const loggerPlugin: (options?: LoggerOptions) => {
100
98
  Data: never;
101
99
  ErrorData: never;
102
100
  }>) => void;
103
- onRetry: (ctx: _$_zayne_labs_callapi0.ErrorContext<Omit<{
101
+ onRetry: (ctx: import("@zayne-labs/callapi").ErrorContext<Omit<{
104
102
  Data: unknown;
105
103
  ErrorData: unknown;
106
104
  InferredExtraOptions: unknown;
107
- ResultMode: _$_zayne_labs_callapi0.ResultModeType;
105
+ ResultMode: import("@zayne-labs/callapi").ResultModeType;
108
106
  Meta: {
109
107
  [x: string]: unknown;
110
108
  };
@@ -114,11 +112,11 @@ declare const loggerPlugin: (options?: LoggerOptions) => {
114
112
  }> & {
115
113
  retryAttemptCount: number;
116
114
  }) => void;
117
- onSuccess: (ctx: _$_zayne_labs_callapi0.SuccessContext<Omit<{
115
+ onSuccess: (ctx: import("@zayne-labs/callapi").SuccessContext<Omit<{
118
116
  Data: unknown;
119
117
  ErrorData: unknown;
120
118
  InferredExtraOptions: unknown;
121
- ResultMode: _$_zayne_labs_callapi0.ResultModeType;
119
+ ResultMode: import("@zayne-labs/callapi").ResultModeType;
122
120
  Meta: {
123
121
  [x: string]: unknown;
124
122
  };
@@ -128,13 +126,13 @@ declare const loggerPlugin: (options?: LoggerOptions) => {
128
126
  }>) => void;
129
127
  onValidationError: (ctx: Omit<{
130
128
  data: null;
131
- error: _$_zayne_labs_callapi0.PossibleValidationError;
129
+ error: import("@zayne-labs/callapi").PossibleValidationError;
132
130
  response: Response | null;
133
- }, "data"> & _$_zayne_labs_callapi0.RequestContext<Omit<{
131
+ }, "data"> & import("@zayne-labs/callapi").RequestContext<Omit<{
134
132
  Data: unknown;
135
133
  ErrorData: unknown;
136
134
  InferredExtraOptions: unknown;
137
- ResultMode: _$_zayne_labs_callapi0.ResultModeType;
135
+ ResultMode: import("@zayne-labs/callapi").ResultModeType;
138
136
  Meta: {
139
137
  [x: string]: unknown;
140
138
  };
@@ -1,2 +1,2 @@
1
- import { n as loggerPlugin, t as defaultConsoleObject } from "../../logger-UMclaNkO.js";
1
+ import { n as loggerPlugin, t as defaultConsoleObject } from "../../logger-IJNL0wPa.js";
2
2
  export { defaultConsoleObject, loggerPlugin };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zayne-labs/callapi-plugins",
3
3
  "type": "module",
4
- "version": "5.0.6",
4
+ "version": "7.0.0",
5
5
  "description": "A collection of plugins for callapi",
6
6
  "author": "Ryan Zayne",
7
7
  "license": "MIT",
@@ -25,24 +25,24 @@
25
25
  "peerDependencies": {
26
26
  "@zayne-labs/toolkit-type-helpers": ">=0.12.0",
27
27
  "consola": "3.x.x",
28
- "@zayne-labs/callapi": "1.12.6"
28
+ "@zayne-labs/callapi": "1.14.0"
29
29
  },
30
30
  "devDependencies": {
31
- "@arethetypeswrong/cli": "0.18.2",
31
+ "@arethetypeswrong/cli": "0.18.4",
32
32
  "@size-limit/esbuild-why": "12.1.0",
33
33
  "@size-limit/preset-small-lib": "12.1.0",
34
34
  "@total-typescript/ts-reset": "0.6.1",
35
- "@zayne-labs/toolkit-type-helpers": "^0.12.49",
36
- "@zayne-labs/tsconfig": "0.13.5",
37
- "concurrently": "^9.2.1",
35
+ "@zayne-labs/toolkit-type-helpers": "^0.12.56",
36
+ "@zayne-labs/tsconfig": "0.13.14",
37
+ "concurrently": "^10.0.3",
38
38
  "consola": "3.4.2",
39
39
  "cross-env": "^10.1.0",
40
- "publint": "^0.3.18",
40
+ "publint": "^0.3.21",
41
41
  "size-limit": "12.1.0",
42
- "tsdown": "0.21.10",
42
+ "tsdown": "0.22.3",
43
43
  "typescript": "6.0.3",
44
- "vitest": "^4.1.5",
45
- "@zayne-labs/callapi": "1.12.6"
44
+ "vitest": "^4.1.10",
45
+ "@zayne-labs/callapi": "1.14.0"
46
46
  },
47
47
  "publishConfig": {
48
48
  "access": "public",