@krainovsd/js-helpers 0.10.6 → 0.12.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/README.md +14 -10
- package/lib/cjs/index.cjs +70 -62
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/esm/constants/environment.js +5 -5
- package/lib/esm/constants/environment.js.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/lib/api/auth/token.js +29 -28
- package/lib/esm/lib/api/auth/token.js.map +1 -1
- package/lib/esm/lib/api/core.js +17 -31
- package/lib/esm/lib/api/core.js.map +1 -1
- package/lib/esm/lib/browser/get-query-values.js +26 -0
- package/lib/esm/lib/browser/get-query-values.js.map +1 -0
- package/lib/esm/lib/browser/get-visible-position.js +2 -2
- package/lib/esm/lib/browser/get-visible-position.js.map +1 -1
- package/lib/esm/lib/date/date-difference.js +1 -1
- package/lib/esm/lib/date/date-difference.js.map +1 -1
- package/lib/esm/lib/utils/get-caller-function-name.js +1 -1
- package/lib/esm/lib/utils/get-caller-function-name.js.map +1 -1
- package/lib/esm/lib/utils/limit-stream-of-requests.js +2 -0
- package/lib/esm/lib/utils/limit-stream-of-requests.js.map +1 -1
- package/lib/esm/lib/utils/set-by-path.js +0 -1
- package/lib/esm/lib/utils/set-by-path.js.map +1 -1
- package/lib/esm/lib/utils/translit.js +1 -0
- package/lib/esm/lib/utils/translit.js.map +1 -1
- package/lib/index.d.ts +18 -7
- package/package.json +17 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limit-stream-of-requests.js","sources":["../../../../src/lib/utils/limit-stream-of-requests.ts"],"sourcesContent":["import { wait } from \"./wait\";\n\ntype LimitStreamOfRequestsOptions<T> = {\n countRequests: number;\n maxCountInParallel: number;\n promiseGetter: (count: number) => Promise<T>;\n refetchAfterError?: boolean;\n maxTryCount?: number;\n collectResult?: boolean;\n resultCb?: (result: T) => void;\n throwError?: boolean;\n errorCb?: (error: unknown, position: number, tryCount: number) => void;\n};\n\nexport function limitStreamOfRequests<T>({\n countRequests,\n maxCountInParallel,\n promiseGetter,\n refetchAfterError,\n resultCb,\n collectResult,\n maxTryCount = 3,\n throwError,\n errorCb,\n}: LimitStreamOfRequestsOptions<T>): { promise: Promise<T[]>; cancel: () => void } {\n let isStopped = false;\n\n if (maxCountInParallel > countRequests) maxCountInParallel = countRequests;\n\n return {\n cancel: () => {\n isStopped = true;\n },\n promise: new Promise((resolve) => {\n let currentRequests = 0;\n let currentResponses = 0;\n const results: T[] = [];\n\n for (let i = 0; i < maxCountInParallel; i++) {\n request(promiseGetter(++currentRequests), currentRequests);\n }\n\n function request(promise: Promise<T>, position: number, tryCount: number = 1) {\n if (isStopped) return void resolve(results);\n if (currentResponses === countRequests) return void resolve(results);\n if (position > countRequests || promise == undefined) return;\n\n promise\n .then((result) => {\n if (isStopped) return void resolve(results);\n\n if (collectResult) results.push(result);\n if (resultCb) resultCb(result);\n currentResponses++;\n\n request(promiseGetter(++currentRequests), currentRequests);\n })\n .catch((error: unknown) => {\n if (errorCb) errorCb(error, position, tryCount);\n\n if (isStopped) return void resolve(results);\n\n if (refetchAfterError && maxTryCount > tryCount) {\n return void wait(1000).then(() =>\n request(promiseGetter(position), position, tryCount + 1),\n );\n }\n\n if (throwError) {\n throw error;\n }\n\n currentResponses++;\n request(promiseGetter(++currentRequests), currentRequests);\n });\n }\n }),\n };\n}\n"],"names":[],"mappings":";;AAcM,SAAU,qBAAqB,CAAI,EACvC,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,WAAW,GAAG,CAAC,EACf,UAAU,EACV,OAAO,GACyB,EAAA;IAChC,IAAI,SAAS,GAAG,KAAK;IAErB,IAAI,kBAAkB,GAAG,aAAa;QAAE,kBAAkB,GAAG,aAAa;IAE1E,OAAO;QACL,MAAM,EAAE,MAAK;YACX,SAAS,GAAG,IAAI;SACjB;AACD,QAAA,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;YAC/B,IAAI,eAAe,GAAG,CAAC;YACvB,IAAI,gBAAgB,GAAG,CAAC;YACxB,MAAM,OAAO,GAAQ,EAAE;AAEvB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;gBAC3C,OAAO,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC;;AAG5D,YAAA,SAAS,OAAO,CAAC,OAAmB,EAAE,QAAgB,EAAE,WAAmB,CAAC,EAAA;AAC1E,gBAAA,IAAI,SAAS;AAAE,oBAAA,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;gBAC3C,IAAI,gBAAgB,KAAK,aAAa;AAAE,oBAAA,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;AACpE,gBAAA,IAAI,QAAQ,GAAG,aAAa,IAAI,OAAO,IAAI,SAAS;oBAAE;gBAEtD;AACG,qBAAA,IAAI,CAAC,CAAC,MAAM,KAAI;AACf,oBAAA,IAAI,SAAS;AAAE,wBAAA,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;AAE3C,oBAAA,IAAI,aAAa;AAAE,wBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC,oBAAA,IAAI,QAAQ;wBAAE,QAAQ,CAAC,MAAM,CAAC;AAC9B,oBAAA,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"file":"limit-stream-of-requests.js","sources":["../../../../src/lib/utils/limit-stream-of-requests.ts"],"sourcesContent":["import { wait } from \"./wait\";\n\ntype LimitStreamOfRequestsOptions<T> = {\n countRequests: number;\n maxCountInParallel: number;\n promiseGetter: (count: number) => Promise<T>;\n refetchAfterError?: boolean;\n maxTryCount?: number;\n collectResult?: boolean;\n resultCb?: (result: T) => void;\n throwError?: boolean;\n errorCb?: (error: unknown, position: number, tryCount: number) => void;\n};\n\nexport function limitStreamOfRequests<T>({\n countRequests,\n maxCountInParallel,\n promiseGetter,\n refetchAfterError,\n resultCb,\n collectResult,\n maxTryCount = 3,\n throwError,\n errorCb,\n}: LimitStreamOfRequestsOptions<T>): { promise: Promise<T[]>; cancel: () => void } {\n let isStopped = false;\n\n if (maxCountInParallel > countRequests) maxCountInParallel = countRequests;\n\n return {\n cancel: () => {\n isStopped = true;\n },\n promise: new Promise((resolve) => {\n let currentRequests = 0;\n let currentResponses = 0;\n const results: T[] = [];\n\n for (let i = 0; i < maxCountInParallel; i++) {\n request(promiseGetter(++currentRequests), currentRequests);\n }\n\n function request(promise: Promise<T>, position: number, tryCount: number = 1) {\n if (isStopped) return void resolve(results);\n if (currentResponses === countRequests) return void resolve(results);\n if (position > countRequests || promise == undefined) return;\n\n promise\n .then((result) => {\n if (isStopped) return void resolve(results);\n\n if (collectResult) results.push(result);\n if (resultCb) resultCb(result);\n currentResponses++;\n if (currentResponses === countRequests) return void resolve(results);\n\n request(promiseGetter(++currentRequests), currentRequests);\n })\n .catch((error: unknown) => {\n if (errorCb) errorCb(error, position, tryCount);\n\n if (isStopped) return void resolve(results);\n\n if (refetchAfterError && maxTryCount > tryCount) {\n return void wait(1000).then(() =>\n request(promiseGetter(position), position, tryCount + 1),\n );\n }\n\n if (throwError) {\n throw error;\n }\n\n currentResponses++;\n request(promiseGetter(++currentRequests), currentRequests);\n });\n }\n }),\n };\n}\n"],"names":[],"mappings":";;AAcM,SAAU,qBAAqB,CAAI,EACvC,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,WAAW,GAAG,CAAC,EACf,UAAU,EACV,OAAO,GACyB,EAAA;IAChC,IAAI,SAAS,GAAG,KAAK;IAErB,IAAI,kBAAkB,GAAG,aAAa;QAAE,kBAAkB,GAAG,aAAa;IAE1E,OAAO;QACL,MAAM,EAAE,MAAK;YACX,SAAS,GAAG,IAAI;SACjB;AACD,QAAA,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;YAC/B,IAAI,eAAe,GAAG,CAAC;YACvB,IAAI,gBAAgB,GAAG,CAAC;YACxB,MAAM,OAAO,GAAQ,EAAE;AAEvB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;gBAC3C,OAAO,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC;;AAG5D,YAAA,SAAS,OAAO,CAAC,OAAmB,EAAE,QAAgB,EAAE,WAAmB,CAAC,EAAA;AAC1E,gBAAA,IAAI,SAAS;AAAE,oBAAA,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;gBAC3C,IAAI,gBAAgB,KAAK,aAAa;AAAE,oBAAA,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;AACpE,gBAAA,IAAI,QAAQ,GAAG,aAAa,IAAI,OAAO,IAAI,SAAS;oBAAE;gBAEtD;AACG,qBAAA,IAAI,CAAC,CAAC,MAAM,KAAI;AACf,oBAAA,IAAI,SAAS;AAAE,wBAAA,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;AAE3C,oBAAA,IAAI,aAAa;AAAE,wBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC,oBAAA,IAAI,QAAQ;wBAAE,QAAQ,CAAC,MAAM,CAAC;AAC9B,oBAAA,gBAAgB,EAAE;oBAClB,IAAI,gBAAgB,KAAK,aAAa;AAAE,wBAAA,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;oBAEpE,OAAO,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC;AAC5D,iBAAC;AACA,qBAAA,KAAK,CAAC,CAAC,KAAc,KAAI;AACxB,oBAAA,IAAI,OAAO;AAAE,wBAAA,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;AAE/C,oBAAA,IAAI,SAAS;AAAE,wBAAA,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;AAE3C,oBAAA,IAAI,iBAAiB,IAAI,WAAW,GAAG,QAAQ,EAAE;wBAC/C,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAC1B,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CACzD;;oBAGH,IAAI,UAAU,EAAE;AACd,wBAAA,MAAM,KAAK;;AAGb,oBAAA,gBAAgB,EAAE;oBAClB,OAAO,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC;AAC5D,iBAAC,CAAC;;AAER,SAAC,CAAC;KACH;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-by-path.js","sources":["../../../../src/lib/utils/set-by-path.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport { isArray, isObject } from \"../typings\";\n\nexport function setByPath(data: Record<string, unknown> | unknown[], path: string, value: unknown) {\n try {\n if (!isObject(data) && !isArray(data)) throw new Error(\"bad data\");\n\n set(data, path, value);\n } catch (error) {\n
|
|
1
|
+
{"version":3,"file":"set-by-path.js","sources":["../../../../src/lib/utils/set-by-path.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport { isArray, isObject } from \"../typings\";\n\nexport function setByPath(data: Record<string, unknown> | unknown[], path: string, value: unknown) {\n try {\n if (!isObject(data) && !isArray(data)) throw new Error(\"bad data\");\n\n set(data, path, value);\n } catch (error) {\n console.warn(error);\n }\n}\n"],"names":[],"mappings":";;;;SAGgB,SAAS,CAAC,IAAyC,EAAE,IAAY,EAAE,KAAc,EAAA;AAC/F,IAAA,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;AAElE,QAAA,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;;IACtB,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAEvB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translit.js","sources":["../../../../src/lib/utils/translit.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"translit.js","sources":["../../../../src/lib/utils/translit.ts"],"sourcesContent":["/* eslint-disable id-length */\nconst translitDict: Record<string, string> = {\n А: \"A\",\n Б: \"B\",\n В: \"V\",\n Г: \"G\",\n Д: \"D\",\n Е: \"E\",\n Ё: \"YO\",\n Ж: \"ZH\",\n З: \"Z\",\n И: \"I\",\n Й: \"Y\",\n К: \"K\",\n Л: \"L\",\n М: \"M\",\n Н: \"N\",\n О: \"O\",\n П: \"P\",\n Р: \"R\",\n С: \"S\",\n Т: \"T\",\n У: \"U\",\n Ф: \"F\",\n Х: \"KH\",\n Ц: \"TS\",\n Ч: \"CH\",\n Ш: \"SH\",\n Щ: \"SCH\",\n Ъ: \"\",\n Ы: \"Y\",\n Ь: \"\",\n Э: \"E\",\n Ю: \"YU\",\n Я: \"YA\",\n а: \"a\",\n б: \"b\",\n в: \"v\",\n г: \"g\",\n д: \"d\",\n е: \"e\",\n ё: \"yo\",\n ж: \"zh\",\n з: \"z\",\n и: \"i\",\n й: \"y\",\n к: \"k\",\n л: \"l\",\n м: \"m\",\n н: \"n\",\n о: \"o\",\n п: \"p\",\n р: \"r\",\n с: \"s\",\n т: \"t\",\n у: \"u\",\n ф: \"f\",\n х: \"kh\",\n ц: \"ts\",\n ч: \"ch\",\n ш: \"sh\",\n щ: \"sch\",\n ъ: \"\",\n ы: \"y\",\n ь: \"\",\n э: \"e\",\n ю: \"yu\",\n я: \"ya\",\n \" \": \"_\",\n A: \"A\",\n B: \"B\",\n C: \"C\",\n D: \"D\",\n E: \"E\",\n F: \"F\",\n G: \"G\",\n H: \"H\",\n I: \"I\",\n J: \"J\",\n K: \"K\",\n L: \"L\",\n M: \"M\",\n N: \"N\",\n O: \"O\",\n P: \"P\",\n Q: \"Q\",\n R: \"R\",\n S: \"S\",\n T: \"T\",\n U: \"U\",\n V: \"V\",\n W: \"W\",\n X: \"X\",\n Y: \"Y\",\n Z: \"Z\",\n a: \"a\",\n b: \"b\",\n c: \"c\",\n d: \"d\",\n e: \"e\",\n f: \"f\",\n g: \"g\",\n h: \"h\",\n i: \"i\",\n j: \"j\",\n k: \"k\",\n l: \"l\",\n m: \"m\",\n n: \"n\",\n o: \"o\",\n p: \"p\",\n q: \"q\",\n r: \"r\",\n s: \"s\",\n t: \"t\",\n u: \"u\",\n v: \"v\",\n w: \"w\",\n x: \"x\",\n y: \"y\",\n z: \"z\",\n \"0\": \"0\",\n \"1\": \"1\",\n \"2\": \"2\",\n \"3\": \"3\",\n \"4\": \"4\",\n \"5\": \"5\",\n \"6\": \"6\",\n \"7\": \"7\",\n \"8\": \"8\",\n \"9\": \"9\",\n};\n\nexport function translit(text: string) {\n return text\n .split(\"\")\n .map((char) => translitDict[char] || \"\")\n .join(\"\");\n}\n"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ type ValueOf<T> = T extends {} ? T[keyof T] : unknown;
|
|
|
47
47
|
type ParamValueType = string | number | boolean;
|
|
48
48
|
type ParamsType = Record<string, ParamValueType | ParamValueType[] | null | undefined>;
|
|
49
49
|
type RequestMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
50
|
-
|
|
50
|
+
type RequestInterface<T, Incoming, Body, Outcoming> = {
|
|
51
51
|
path: string;
|
|
52
52
|
method: RequestMethod;
|
|
53
53
|
body?: Body | Outcoming;
|
|
@@ -61,7 +61,7 @@ interface RequestInterface<T, Incoming, Body, Outcoming> {
|
|
|
61
61
|
token?: string;
|
|
62
62
|
withoutResponse?: boolean;
|
|
63
63
|
signal?: AbortSignal;
|
|
64
|
-
}
|
|
64
|
+
};
|
|
65
65
|
type Middleware = <T, Incoming, Body, Outcoming>(request: RequestInterface<T, Incoming, Body, Outcoming>) => Promise<unknown>;
|
|
66
66
|
type PostMiddleware = (response: Response | Response$1 | undefined) => Promise<unknown>;
|
|
67
67
|
type PostMiddlewareType = ValueOf<typeof POST_API_MIDDLEWARES>;
|
|
@@ -145,14 +145,17 @@ type ResponseErrorOptions = {
|
|
|
145
145
|
status: number;
|
|
146
146
|
code?: number;
|
|
147
147
|
description?: unknown;
|
|
148
|
+
headers?: Record<string, string>;
|
|
148
149
|
};
|
|
149
150
|
declare class ResponseError extends Error {
|
|
150
151
|
status: number;
|
|
151
152
|
code?: number;
|
|
152
153
|
description?: unknown;
|
|
153
|
-
|
|
154
|
+
headers?: Record<string, string>;
|
|
155
|
+
constructor({ message, status, description, code, headers }: ResponseErrorOptions);
|
|
154
156
|
}
|
|
155
157
|
type CreateRequestClientInstance = {
|
|
158
|
+
client: typeof fetch;
|
|
156
159
|
activeMiddlewares?: ActiveMiddleware;
|
|
157
160
|
middlewareOptions?: MiddlewaresOptions;
|
|
158
161
|
customMiddlewares?: Middleware[];
|
|
@@ -164,14 +167,14 @@ type RequestInstance = {
|
|
|
164
167
|
<T, Incoming = unknown, Body = unknown, Outcoming = unknown>(request: RequestInterface<T, Incoming, Body, Outcoming>): Promise<T>;
|
|
165
168
|
setOptions: (options: CreateRequestClientInstance) => void;
|
|
166
169
|
};
|
|
167
|
-
declare function createRequestClientInstance(options
|
|
170
|
+
declare function createRequestClientInstance(options: CreateRequestClientInstance): {
|
|
168
171
|
requestApi: <T, Incoming = unknown, Body = unknown, Outcoming = unknown>(request: RequestInterface<T, Incoming, Body, Outcoming>) => Promise<T>;
|
|
169
172
|
requestApiWithMeta: <T, Incoming = unknown, Body = unknown, Outcoming = unknown>(request: RequestInterface<T, Incoming, Body, Outcoming>) => Promise<{
|
|
170
173
|
data: T;
|
|
171
174
|
status: number;
|
|
172
175
|
headers: Record<string, string>;
|
|
173
176
|
}>;
|
|
174
|
-
setMiddlewares: ({ activeMiddlewares, middlewareOptions, customMiddlewares, activePostMiddlewares, postMiddlewaresOptions, customPostMiddlewares, }?: CreateRequestClientInstance) => void;
|
|
177
|
+
setMiddlewares: ({ activeMiddlewares, middlewareOptions, customMiddlewares, activePostMiddlewares, postMiddlewaresOptions, customPostMiddlewares, }?: Omit<CreateRequestClientInstance, "client">) => void;
|
|
175
178
|
};
|
|
176
179
|
|
|
177
180
|
declare function updateAuthToken(options: AuthMiddleWareOptions): Promise<string | undefined>;
|
|
@@ -221,6 +224,8 @@ type GetVisiblePositionOptions = {
|
|
|
221
224
|
};
|
|
222
225
|
declare function getVisiblePosition({ initialPosition, node, visibleArea, placement, stepX, stepY, flex, }: GetVisiblePositionOptions): VisiblePosition;
|
|
223
226
|
|
|
227
|
+
declare function getQueryValues<K extends string>(keys: K[]): Record<K, string | string[] | undefined> | null;
|
|
228
|
+
|
|
224
229
|
declare function getColorFormat(color: string): "HEX" | "RGB" | "RGBA" | "HSL" | undefined;
|
|
225
230
|
|
|
226
231
|
declare function takeOpacityColors(color: string | undefined, opacities: number[]): string[];
|
|
@@ -235,7 +240,13 @@ declare function transformToColor(currentColor: unknown, defaultColor?: string,
|
|
|
235
240
|
|
|
236
241
|
declare function getRandomColor(): string;
|
|
237
242
|
|
|
238
|
-
|
|
243
|
+
type DateDifference = {
|
|
244
|
+
type: DateType;
|
|
245
|
+
firstDate: Date;
|
|
246
|
+
secondDate?: Date;
|
|
247
|
+
float?: boolean;
|
|
248
|
+
};
|
|
249
|
+
declare function dateDifference({ firstDate, float, secondDate, type, }: DateDifference): number;
|
|
239
250
|
|
|
240
251
|
declare function getDateByRules(rules: DateGetterRule[], date?: Date): Date;
|
|
241
252
|
|
|
@@ -336,4 +347,4 @@ declare function isUndefined(value: unknown): value is undefined;
|
|
|
336
347
|
|
|
337
348
|
declare function isDate(value: unknown): value is Date;
|
|
338
349
|
|
|
339
|
-
export { API_MIDDLEWARES, type ActiveMiddleware, type ActivePostMiddleware, type AuthMiddleWareOptions, type AuthNoRefreshMiddleWareOptions, type AuthTokenNoRefreshRequestOptions, type AuthTokenRequestOptions, type AuthUserRequestOptions, type AuthUserUpdateRequestOptions, COLOR_FORMATS, type ColorFormat, DATE_TYPES, type DateGetterRule, type DateType, FIELD_TYPES, type FieldType, IS_BROWSER, IS_BUN, IS_DENO, IS_JEST, IS_NODE, IS_WEB_WORKER, type LoggerMiddlewareOptions, type LoggerPostMiddlewareOptions, type Maybe, type Middleware, type MiddlewareType, type MiddlewaresOptions, POST_API_MIDDLEWARES, type ParamValueType, type ParamsType, type PositionPlacements, type PostMiddleware, type PostMiddlewareOptions, type PostMiddlewareType, type RequestInstance, type RequestInterface, type RequestMethod, ResponseError, type ValueOf, type VisiblePosition, arrayToMapByKey, buildQueryString, checkType, createRequestClientInstance, createURLWithParams, dateDifference, dateFormat, downloadFile, downloadJson, fieldViewFormat, getAuthToken, getAuthTokenNoRefresh, getAuthUser, getByPath, getCallerFunctionName, getColorFormat, getDateByRules, getFileNameFromHeader, getRandomColor, getToday, getTomorrow, getVisiblePosition, getYesterday, isArray, isBoolean, isDate, isId, isNull, isNullable, isNumber, isObject, isString, isToday, isTomorrow, isUndefined, isYesterday, joinPaths, jsonParse, limitStreamOfRequests, randomNumber, randomString, readFile, setByPath, startWith, syncObjectValues, takeOpacityColors, transformHEXtoRGB, transformRGBAtoRGB, transformRGBtoRGBA, transformToColor, transformToNumber, translit, trimUrl, updateAuthToken, updateAuthTokenNoRefresh, updateAuthUser, wait, waitUntil };
|
|
350
|
+
export { API_MIDDLEWARES, type ActiveMiddleware, type ActivePostMiddleware, type AuthMiddleWareOptions, type AuthNoRefreshMiddleWareOptions, type AuthTokenNoRefreshRequestOptions, type AuthTokenRequestOptions, type AuthUserRequestOptions, type AuthUserUpdateRequestOptions, COLOR_FORMATS, type ColorFormat, DATE_TYPES, type DateGetterRule, type DateType, FIELD_TYPES, type FieldType, IS_BROWSER, IS_BUN, IS_DENO, IS_JEST, IS_NODE, IS_WEB_WORKER, type LoggerMiddlewareOptions, type LoggerPostMiddlewareOptions, type Maybe, type Middleware, type MiddlewareType, type MiddlewaresOptions, POST_API_MIDDLEWARES, type ParamValueType, type ParamsType, type PositionPlacements, type PostMiddleware, type PostMiddlewareOptions, type PostMiddlewareType, type RequestInstance, type RequestInterface, type RequestMethod, ResponseError, type ValueOf, type VisiblePosition, arrayToMapByKey, buildQueryString, checkType, createRequestClientInstance, createURLWithParams, dateDifference, dateFormat, downloadFile, downloadJson, fieldViewFormat, getAuthToken, getAuthTokenNoRefresh, getAuthUser, getByPath, getCallerFunctionName, getColorFormat, getDateByRules, getFileNameFromHeader, getQueryValues, getRandomColor, getToday, getTomorrow, getVisiblePosition, getYesterday, isArray, isBoolean, isDate, isId, isNull, isNullable, isNumber, isObject, isString, isToday, isTomorrow, isUndefined, isYesterday, joinPaths, jsonParse, limitStreamOfRequests, randomNumber, randomString, readFile, setByPath, startWith, syncObjectValues, takeOpacityColors, transformHEXtoRGB, transformRGBAtoRGB, transformRGBtoRGBA, transformToColor, transformToNumber, translit, trimUrl, updateAuthToken, updateAuthTokenNoRefresh, updateAuthUser, wait, waitUntil };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@krainovsd/js-helpers",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Krainov helpers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "KrainovSD <denislosev48@gmail.com>",
|
|
@@ -30,47 +30,39 @@
|
|
|
30
30
|
"scripts": {
|
|
31
31
|
"publish-package": "npm run lint && npm run build && npm publish",
|
|
32
32
|
"clear": "rm -rf ./lib",
|
|
33
|
-
"build
|
|
33
|
+
"build-dev": "npm run clear && rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript --no-stdin --environment BUILD:development,NODE_ENV:development",
|
|
34
34
|
"build": "npm run clear && npm run build:types && npm run build:js",
|
|
35
35
|
"build:js": "rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript --no-stdin --environment BUILD:production,NODE_ENV:production",
|
|
36
36
|
"build:types": "tspc -p tsconfig.build.json",
|
|
37
|
-
"lint": "eslint
|
|
38
|
-
"lint
|
|
37
|
+
"lint": "eslint . -c ./eslint.config.js --color --max-warnings 0",
|
|
38
|
+
"lint-check": "eslint --debug eslint.config.js",
|
|
39
39
|
"format": "prettier --write 'src/**/*.{js,ts,tsx,scss,css,json}'",
|
|
40
|
+
"format-check": "prettier --check ./src",
|
|
41
|
+
"lint-debug": "npx eslint --print-config eslint.config.js > eslint-config-rules.json",
|
|
42
|
+
"type-debug": "tsc --showConfig > typescript-config.json",
|
|
40
43
|
"test": "jest",
|
|
41
|
-
"test
|
|
42
|
-
"prepare": "husky"
|
|
44
|
+
"test-coverage": "jest --coverage"
|
|
43
45
|
},
|
|
44
46
|
"dependencies": {
|
|
45
47
|
"dayjs": "1.11.13",
|
|
46
48
|
"lodash": "4.17.21"
|
|
47
49
|
},
|
|
48
50
|
"devDependencies": {
|
|
49
|
-
"@krainovsd/
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"@swc/core": "1.10.1",
|
|
51
|
+
"@krainovsd/presets": "0.1.6",
|
|
52
|
+
"eslint": "9.21.0",
|
|
53
|
+
"prettier": "3.5.2",
|
|
54
|
+
"rollup": "4.34.9",
|
|
55
|
+
"typescript": "5.7.3",
|
|
56
|
+
"typescript-transform-paths": "3.5.3",
|
|
57
|
+
"ts-patch": "3.3.0",
|
|
58
|
+
"@swc/core": "1.11.5",
|
|
58
59
|
"@swc/jest": "0.2.37",
|
|
59
|
-
"@trivago/prettier-plugin-sort-imports": "5.2.0",
|
|
60
60
|
"@types/jest": "29.5.14",
|
|
61
61
|
"@types/lodash": "4.17.13",
|
|
62
62
|
"@types/node": "22.10.2",
|
|
63
|
-
"@types/rollup-plugin-peer-deps-external": "2.2.5",
|
|
64
|
-
"eslint": "9.17.0",
|
|
65
63
|
"jest": "29.7.0",
|
|
66
64
|
"node-fetch": "3.3.2",
|
|
67
|
-
"
|
|
68
|
-
"rollup": "4.29.1",
|
|
69
|
-
"rollup-plugin-peer-deps-external": "2.2.4",
|
|
70
|
-
"ts-jest": "29.2.5",
|
|
71
|
-
"typescript": "5.7.2",
|
|
72
|
-
"typescript-transform-paths": "3.5.2",
|
|
73
|
-
"ts-patch": "3.3.0"
|
|
65
|
+
"ts-jest": "29.2.5"
|
|
74
66
|
},
|
|
75
67
|
"peerDependencies": {
|
|
76
68
|
"node-fetch": "3.3.2"
|