@evergonlabs/tmi-protocol-utils 0.1.0 → 0.2.1
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/{common/index.cjs → common.cjs} +1 -1
- package/dist/common.cjs.map +1 -0
- package/dist/common.d.cts +24 -0
- package/dist/common.d.ts +24 -0
- package/dist/common.js +2 -0
- package/dist/common.js.map +1 -0
- package/dist/{date/index.cjs → date.cjs} +1 -1
- package/dist/date.cjs.map +1 -0
- package/dist/{date/scale.d.cts → date.d.cts} +5 -1
- package/dist/{date/scale.d.ts → date.d.ts} +5 -1
- package/dist/date.js +2 -0
- package/dist/date.js.map +1 -0
- package/dist/{typeUtils/nonEmptyArray.d.cts → nonEmptyArray-GKx7EeID.d.cts} +1 -1
- package/dist/{typeUtils/nonEmptyArray.d.ts → nonEmptyArray-GKx7EeID.d.ts} +1 -1
- package/dist/{typeUtils/index.cjs → typeUtils.cjs} +1 -1
- package/dist/typeUtils.cjs.map +1 -0
- package/dist/{typeUtils/common.d.ts → typeUtils.d.cts} +1 -0
- package/dist/{typeUtils/common.d.cts → typeUtils.d.ts} +1 -0
- package/dist/typeUtils.js +2 -0
- package/dist/viem.cjs +2 -0
- package/dist/viem.cjs.map +1 -0
- package/dist/viem.d.cts +9 -0
- package/dist/viem.d.ts +9 -0
- package/dist/viem.js +2 -0
- package/dist/viem.js.map +1 -0
- package/package.json +31 -34
- package/dist/chunk-2U6UZXV6.js +0 -2
- package/dist/chunk-2U6UZXV6.js.map +0 -1
- package/dist/chunk-3XT76VGZ.js +0 -2
- package/dist/chunk-3XT76VGZ.js.map +0 -1
- package/dist/chunk-5DN567GZ.js +0 -1
- package/dist/chunk-5DN567GZ.js.map +0 -1
- package/dist/chunk-KNUQZIWE.js +0 -2
- package/dist/chunk-KNUQZIWE.js.map +0 -1
- package/dist/chunk-O4A67QVP.js +0 -2
- package/dist/chunk-Q5LYF37D.js +0 -2
- package/dist/chunk-Q5LYF37D.js.map +0 -1
- package/dist/chunk-QV2IJM7J.js +0 -2
- package/dist/chunk-QV2IJM7J.js.map +0 -1
- package/dist/chunk-R6JOSCPF.js +0 -2
- package/dist/chunk-R6JOSCPF.js.map +0 -1
- package/dist/chunk-VAYAJPL5.js +0 -2
- package/dist/chunk-VAYAJPL5.js.map +0 -1
- package/dist/chunk-VU2B6LEJ.js +0 -2
- package/dist/chunk-VU2B6LEJ.js.map +0 -1
- package/dist/chunk-Z5JFEDV5.js +0 -2
- package/dist/chunk-Z5JFEDV5.js.map +0 -1
- package/dist/common/index.cjs.map +0 -1
- package/dist/common/index.d.cts +0 -5
- package/dist/common/index.d.ts +0 -5
- package/dist/common/index.js +0 -2
- package/dist/common/index.js.map +0 -1
- package/dist/common/joinPath/joinPath.cjs +0 -2
- package/dist/common/joinPath/joinPath.cjs.map +0 -1
- package/dist/common/joinPath/joinPath.d.cts +0 -8
- package/dist/common/joinPath/joinPath.d.ts +0 -8
- package/dist/common/joinPath/joinPath.js +0 -2
- package/dist/common/joinPath/joinPath.js.map +0 -1
- package/dist/common/joinPath/joinPath.test.cjs +0 -2
- package/dist/common/joinPath/joinPath.test.cjs.map +0 -1
- package/dist/common/joinPath/joinPath.test.d.cts +0 -2
- package/dist/common/joinPath/joinPath.test.d.ts +0 -2
- package/dist/common/joinPath/joinPath.test.js +0 -2
- package/dist/common/joinPath/joinPath.test.js.map +0 -1
- package/dist/common/middlewares/middlewares.cjs +0 -2
- package/dist/common/middlewares/middlewares.cjs.map +0 -1
- package/dist/common/middlewares/middlewares.d.cts +0 -13
- package/dist/common/middlewares/middlewares.d.ts +0 -13
- package/dist/common/middlewares/middlewares.js +0 -2
- package/dist/common/middlewares/middlewares.js.map +0 -1
- package/dist/common/middlewares/middlewares.test.cjs +0 -2
- package/dist/common/middlewares/middlewares.test.cjs.map +0 -1
- package/dist/common/middlewares/middlewares.test.d.cts +0 -2
- package/dist/common/middlewares/middlewares.test.d.ts +0 -2
- package/dist/common/middlewares/middlewares.test.js +0 -2
- package/dist/common/middlewares/middlewares.test.js.map +0 -1
- package/dist/common/toCamelCase/toCamelCase.cjs +0 -2
- package/dist/common/toCamelCase/toCamelCase.cjs.map +0 -1
- package/dist/common/toCamelCase/toCamelCase.d.cts +0 -6
- package/dist/common/toCamelCase/toCamelCase.d.ts +0 -6
- package/dist/common/toCamelCase/toCamelCase.js +0 -2
- package/dist/common/toCamelCase/toCamelCase.js.map +0 -1
- package/dist/common/toCamelCase/toCamelCase.test.cjs +0 -2
- package/dist/common/toCamelCase/toCamelCase.test.cjs.map +0 -1
- package/dist/common/toCamelCase/toCamelCase.test.d.cts +0 -2
- package/dist/common/toCamelCase/toCamelCase.test.d.ts +0 -2
- package/dist/common/toCamelCase/toCamelCase.test.js +0 -2
- package/dist/common/toCamelCase/toCamelCase.test.js.map +0 -1
- package/dist/date/index.cjs.map +0 -1
- package/dist/date/index.d.cts +0 -3
- package/dist/date/index.d.ts +0 -3
- package/dist/date/index.js +0 -2
- package/dist/date/index.js.map +0 -1
- package/dist/date/msToSeconds.cjs +0 -2
- package/dist/date/msToSeconds.cjs.map +0 -1
- package/dist/date/msToSeconds.d.cts +0 -3
- package/dist/date/msToSeconds.d.ts +0 -3
- package/dist/date/msToSeconds.js +0 -2
- package/dist/date/msToSeconds.js.map +0 -1
- package/dist/date/scale.cjs +0 -2
- package/dist/date/scale.cjs.map +0 -1
- package/dist/date/scale.js +0 -2
- package/dist/date/scale.js.map +0 -1
- package/dist/date/unixToDate.cjs +0 -2
- package/dist/date/unixToDate.cjs.map +0 -1
- package/dist/date/unixToDate.d.cts +0 -3
- package/dist/date/unixToDate.d.ts +0 -3
- package/dist/date/unixToDate.js +0 -2
- package/dist/date/unixToDate.js.map +0 -1
- package/dist/errors/customError/customError.cjs +0 -2
- package/dist/errors/customError/customError.cjs.map +0 -1
- package/dist/errors/customError/customError.d.cts +0 -33
- package/dist/errors/customError/customError.d.ts +0 -33
- package/dist/errors/customError/customError.js +0 -2
- package/dist/errors/customError/customError.js.map +0 -1
- package/dist/errors/customError/customError.test.cjs +0 -2
- package/dist/errors/customError/customError.test.cjs.map +0 -1
- package/dist/errors/customError/customError.test.d.cts +0 -2
- package/dist/errors/customError/customError.test.d.ts +0 -2
- package/dist/errors/customError/customError.test.js +0 -2
- package/dist/errors/customError/customError.test.js.map +0 -1
- package/dist/errors/index.cjs +0 -2
- package/dist/errors/index.cjs.map +0 -1
- package/dist/errors/index.d.cts +0 -3
- package/dist/errors/index.d.ts +0 -3
- package/dist/errors/index.js +0 -2
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/parseError.cjs +0 -2
- package/dist/errors/parseError.cjs.map +0 -1
- package/dist/errors/parseError.d.cts +0 -7
- package/dist/errors/parseError.d.ts +0 -7
- package/dist/errors/parseError.js +0 -2
- package/dist/errors/parseError.js.map +0 -1
- package/dist/typeUtils/common.cjs +0 -2
- package/dist/typeUtils/common.cjs.map +0 -1
- package/dist/typeUtils/common.js +0 -2
- package/dist/typeUtils/common.js.map +0 -1
- package/dist/typeUtils/index.cjs.map +0 -1
- package/dist/typeUtils/index.d.cts +0 -3
- package/dist/typeUtils/index.d.ts +0 -3
- package/dist/typeUtils/index.js +0 -2
- package/dist/typeUtils/index.js.map +0 -1
- package/dist/typeUtils/nonEmptyArray.cjs +0 -2
- package/dist/typeUtils/nonEmptyArray.cjs.map +0 -1
- package/dist/typeUtils/nonEmptyArray.js +0 -2
- package/dist/typeUtils/nonEmptyArray.js.map +0 -1
- package/dist/viem/index.cjs +0 -2
- package/dist/viem/index.cjs.map +0 -1
- package/dist/viem/index.d.cts +0 -3
- package/dist/viem/index.d.ts +0 -3
- package/dist/viem/index.js +0 -2
- package/dist/viem/index.js.map +0 -1
- package/dist/viem/viemClientAsMiddleware.cjs +0 -2
- package/dist/viem/viemClientAsMiddleware.cjs.map +0 -1
- package/dist/viem/viemClientAsMiddleware.d.cts +0 -7
- package/dist/viem/viemClientAsMiddleware.d.ts +0 -7
- package/dist/viem/viemClientAsMiddleware.js +0 -2
- package/dist/viem/viemClientAsMiddleware.js.map +0 -1
- /package/dist/{chunk-O4A67QVP.js.map → typeUtils.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";var d=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var u=(e,t)=>{for(var r in t)d(e,r,{get:t[r],enumerable:!0})},p=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of l(t))!o.call(e,n)&&n!==r&&d(e,n,{get:()=>t[n],enumerable:!(i=s(t,n))||i.enumerable});return e};var T=e=>p(d({},"__esModule",{value:!0}),e);var f={};u(f,{createMiddlewares:()=>a,identityMiddleware:()=>x,joinPaths:()=>w,toCamelCase:()=>m});module.exports=T(f);function a(e){return{run:t=>e(t),add:t=>a(r=>e(r).then(i=>t(i)))}}var x=e=>Promise.resolve(e);function w(...e){return M(...e)}function M(...e){return I(e.join("/").replace(/\/+/g,"/").replace(/\/+$/,""))}function I(e){return e.startsWith("/")?e:`/${e}`}function m(e){return e.map(t=>t.trim()).filter(t=>t.length>0).map((t,r)=>(r===0?t.charAt(0).toLowerCase():t.charAt(0).toUpperCase())+t.slice(1)).join("")}0&&(module.exports={createMiddlewares,identityMiddleware,joinPaths,toCamelCase});
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=common.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/index.ts","../src/common/middlewares/middlewares.ts","../src/common/joinPath/joinPath.ts","../src/common/toCamelCase/toCamelCase.ts"],"sourcesContent":["export * from \"./middlewares/middlewares.js\";\nexport * from \"./joinPath/joinPath.js\";\nexport * from \"./toCamelCase/toCamelCase.js\";\n","export type IMiddleware<InitData = any, NextData = any> = (init: InitData) => Promise<NextData>;\nexport type IMiddlewareRequire<InitData, NextData = any> = (input: InitData) => Promise<NextData>;\n\ntype InferMiddlewareInput<T extends IMiddleware> = T extends IMiddleware<infer C, any> ? C : never;\ntype InferMiddlewareOutput<T extends IMiddleware> = T extends IMiddleware<any, infer C> ? C : never;\n\nexport type IMiddlewares<TMiddleware extends IMiddleware> = {\n add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(\n next: TNextMiddleware,\n ) => IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>>;\n run: (input: InferMiddlewareInput<TMiddleware>) => Promise<InferMiddlewareOutput<TMiddleware>>;\n};\n\nexport function createMiddlewares<TMiddleware extends IMiddleware>(middleware: TMiddleware): IMiddlewares<TMiddleware> {\n return {\n run: (input: InferMiddlewareInput<TMiddleware>) => middleware(input),\n add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(\n next: TNextMiddleware,\n ): IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>> =>\n createMiddlewares((input) => middleware(input).then((output) => next(output))),\n };\n}\n\nexport type IIdentityMiddleware<T> = IMiddleware<T, T>;\nexport const identityMiddleware = <T>(input: T): Promise<T> => Promise.resolve(input);\n","import { NonEmptyArray } from \"../../typeUtils/nonEmptyArray.js\";\n\ntype RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}`\n ? RemoveConsecutiveSlashes<`${First}/${Rest}`>\n : T;\n\nexport type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest]\n ? First extends string\n ? Rest extends NonEmptyArray<string>\n ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`>\n : RemoveConsecutiveSlashes<`/${First}`>\n : never\n : never;\n\ntype RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;\n\nexport function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>> {\n return joinPathsSimple(...segments) as RemoveTrailingSlash<JoinPathResult<T>>;\n}\n\nfunction joinPathsSimple(...strings: string[]) {\n return prependLeadingSlash(\n strings\n .join(\"/\")\n .replace(/\\/+/g, \"/\") // Remove double slashes\n .replace(/\\/+$/, \"\"), // Remove trailing slash\n );\n}\n\nfunction prependLeadingSlash(str: string) {\n return str.startsWith(\"/\") ? str : `/${str}`;\n}\n","import { Trim } from \"type-fest\";\n\nexport type JoinCamelCaseResult<\n Words extends string[],\n IsFirst = false,\n OutputString extends string = \"\",\n> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]]\n ? Trim<FirstWord> extends \"\"\n ? JoinCamelCaseResult<RemainingWords>\n : IsFirst extends false\n ? `${Trim<FirstWord>}${JoinCamelCaseResult<RemainingWords, true>}`\n : `${Capitalize<Trim<FirstWord>>}${JoinCamelCaseResult<RemainingWords, true>}`\n : OutputString;\n\nexport function toCamelCase<const T extends string[]>(args: T): JoinCamelCaseResult<T> {\n return args\n .map((arg) => arg.trim())\n .filter((arg) => arg.length > 0)\n .map((arg, index) => {\n const first = index === 0 ? arg.charAt(0).toLowerCase() : arg.charAt(0).toUpperCase();\n return first + arg.slice(1);\n })\n .join(\"\") as JoinCamelCaseResult<T>;\n}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,EAAA,uBAAAC,EAAA,cAAAC,EAAA,gBAAAC,IAAA,eAAAC,EAAAN,GCaO,SAASO,EAAmDC,EAAoD,CACrH,MAAO,CACL,IAAMC,GAA6CD,EAAWC,CAAK,EACnE,IACEC,GAEAH,EAAmBE,GAAUD,EAAWC,CAAK,EAAE,KAAME,GAAWD,EAAKC,CAAM,CAAC,CAAC,CACjF,CACF,CAGO,IAAMC,EAAyBH,GAAyB,QAAQ,QAAQA,CAAK,ECR7E,SAASI,KAAiCC,EAAqD,CACpG,OAAOC,EAAgB,GAAGD,CAAQ,CACpC,CAEA,SAASC,KAAmBC,EAAmB,CAC7C,OAAOC,EACLD,EACG,KAAK,GAAG,EACR,QAAQ,OAAQ,GAAG,EACnB,QAAQ,OAAQ,EAAE,CACvB,CACF,CAEA,SAASC,EAAoBC,EAAa,CACxC,OAAOA,EAAI,WAAW,GAAG,EAAIA,EAAM,IAAIA,CAAG,EAC5C,CCjBO,SAASC,EAAsCC,EAAiC,CACrF,OAAOA,EACJ,IAAKC,GAAQA,EAAI,KAAK,CAAC,EACvB,OAAQA,GAAQA,EAAI,OAAS,CAAC,EAC9B,IAAI,CAACA,EAAKC,KACKA,IAAU,EAAID,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,OAAO,CAAC,EAAE,YAAY,GACrEA,EAAI,MAAM,CAAC,CAC3B,EACA,KAAK,EAAE,CACZ","names":["common_exports","__export","createMiddlewares","identityMiddleware","joinPaths","toCamelCase","__toCommonJS","createMiddlewares","middleware","input","next","output","identityMiddleware","joinPaths","segments","joinPathsSimple","strings","prependLeadingSlash","str","toCamelCase","args","arg","index"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { N as NonEmptyArray } from './nonEmptyArray-GKx7EeID.cjs';
|
|
2
|
+
import { Trim } from 'type-fest';
|
|
3
|
+
|
|
4
|
+
type IMiddleware<InitData = any, NextData = any> = (init: InitData) => Promise<NextData>;
|
|
5
|
+
type IMiddlewareRequire<InitData, NextData = any> = (input: InitData) => Promise<NextData>;
|
|
6
|
+
type InferMiddlewareInput<T extends IMiddleware> = T extends IMiddleware<infer C, any> ? C : never;
|
|
7
|
+
type InferMiddlewareOutput<T extends IMiddleware> = T extends IMiddleware<any, infer C> ? C : never;
|
|
8
|
+
type IMiddlewares<TMiddleware extends IMiddleware> = {
|
|
9
|
+
add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(next: TNextMiddleware) => IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>>;
|
|
10
|
+
run: (input: InferMiddlewareInput<TMiddleware>) => Promise<InferMiddlewareOutput<TMiddleware>>;
|
|
11
|
+
};
|
|
12
|
+
declare function createMiddlewares<TMiddleware extends IMiddleware>(middleware: TMiddleware): IMiddlewares<TMiddleware>;
|
|
13
|
+
type IIdentityMiddleware<T> = IMiddleware<T, T>;
|
|
14
|
+
declare const identityMiddleware: <T>(input: T) => Promise<T>;
|
|
15
|
+
|
|
16
|
+
type RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}` ? RemoveConsecutiveSlashes<`${First}/${Rest}`> : T;
|
|
17
|
+
type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest] ? First extends string ? Rest extends NonEmptyArray<string> ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`> : RemoveConsecutiveSlashes<`/${First}`> : never : never;
|
|
18
|
+
type RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;
|
|
19
|
+
declare function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>>;
|
|
20
|
+
|
|
21
|
+
type JoinCamelCaseResult<Words extends string[], IsFirst = false, OutputString extends string = ""> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]] ? Trim<FirstWord> extends "" ? JoinCamelCaseResult<RemainingWords> : IsFirst extends false ? `${Trim<FirstWord>}${JoinCamelCaseResult<RemainingWords, true>}` : `${Capitalize<Trim<FirstWord>>}${JoinCamelCaseResult<RemainingWords, true>}` : OutputString;
|
|
22
|
+
declare function toCamelCase<const T extends string[]>(args: T): JoinCamelCaseResult<T>;
|
|
23
|
+
|
|
24
|
+
export { type IIdentityMiddleware, type IMiddleware, type IMiddlewareRequire, type IMiddlewares, type JoinCamelCaseResult, type JoinPathResult, createMiddlewares, identityMiddleware, joinPaths, toCamelCase };
|
package/dist/common.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { N as NonEmptyArray } from './nonEmptyArray-GKx7EeID.js';
|
|
2
|
+
import { Trim } from 'type-fest';
|
|
3
|
+
|
|
4
|
+
type IMiddleware<InitData = any, NextData = any> = (init: InitData) => Promise<NextData>;
|
|
5
|
+
type IMiddlewareRequire<InitData, NextData = any> = (input: InitData) => Promise<NextData>;
|
|
6
|
+
type InferMiddlewareInput<T extends IMiddleware> = T extends IMiddleware<infer C, any> ? C : never;
|
|
7
|
+
type InferMiddlewareOutput<T extends IMiddleware> = T extends IMiddleware<any, infer C> ? C : never;
|
|
8
|
+
type IMiddlewares<TMiddleware extends IMiddleware> = {
|
|
9
|
+
add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(next: TNextMiddleware) => IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>>;
|
|
10
|
+
run: (input: InferMiddlewareInput<TMiddleware>) => Promise<InferMiddlewareOutput<TMiddleware>>;
|
|
11
|
+
};
|
|
12
|
+
declare function createMiddlewares<TMiddleware extends IMiddleware>(middleware: TMiddleware): IMiddlewares<TMiddleware>;
|
|
13
|
+
type IIdentityMiddleware<T> = IMiddleware<T, T>;
|
|
14
|
+
declare const identityMiddleware: <T>(input: T) => Promise<T>;
|
|
15
|
+
|
|
16
|
+
type RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}` ? RemoveConsecutiveSlashes<`${First}/${Rest}`> : T;
|
|
17
|
+
type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest] ? First extends string ? Rest extends NonEmptyArray<string> ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`> : RemoveConsecutiveSlashes<`/${First}`> : never : never;
|
|
18
|
+
type RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;
|
|
19
|
+
declare function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>>;
|
|
20
|
+
|
|
21
|
+
type JoinCamelCaseResult<Words extends string[], IsFirst = false, OutputString extends string = ""> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]] ? Trim<FirstWord> extends "" ? JoinCamelCaseResult<RemainingWords> : IsFirst extends false ? `${Trim<FirstWord>}${JoinCamelCaseResult<RemainingWords, true>}` : `${Capitalize<Trim<FirstWord>>}${JoinCamelCaseResult<RemainingWords, true>}` : OutputString;
|
|
22
|
+
declare function toCamelCase<const T extends string[]>(args: T): JoinCamelCaseResult<T>;
|
|
23
|
+
|
|
24
|
+
export { type IIdentityMiddleware, type IMiddleware, type IMiddlewareRequire, type IMiddlewares, type JoinCamelCaseResult, type JoinPathResult, createMiddlewares, identityMiddleware, joinPaths, toCamelCase };
|
package/dist/common.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function n(e){return{run:t=>e(t),add:t=>n(r=>e(r).then(i=>t(i)))}}var s=e=>Promise.resolve(e);function o(...e){return d(...e)}function d(...e){return a(e.join("/").replace(/\/+/g,"/").replace(/\/+$/,""))}function a(e){return e.startsWith("/")?e:`/${e}`}function p(e){return e.map(t=>t.trim()).filter(t=>t.length>0).map((t,r)=>(r===0?t.charAt(0).toLowerCase():t.charAt(0).toUpperCase())+t.slice(1)).join("")}export{n as createMiddlewares,s as identityMiddleware,o as joinPaths,p as toCamelCase};
|
|
2
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/middlewares/middlewares.ts","../src/common/joinPath/joinPath.ts","../src/common/toCamelCase/toCamelCase.ts"],"sourcesContent":["export type IMiddleware<InitData = any, NextData = any> = (init: InitData) => Promise<NextData>;\nexport type IMiddlewareRequire<InitData, NextData = any> = (input: InitData) => Promise<NextData>;\n\ntype InferMiddlewareInput<T extends IMiddleware> = T extends IMiddleware<infer C, any> ? C : never;\ntype InferMiddlewareOutput<T extends IMiddleware> = T extends IMiddleware<any, infer C> ? C : never;\n\nexport type IMiddlewares<TMiddleware extends IMiddleware> = {\n add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(\n next: TNextMiddleware,\n ) => IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>>;\n run: (input: InferMiddlewareInput<TMiddleware>) => Promise<InferMiddlewareOutput<TMiddleware>>;\n};\n\nexport function createMiddlewares<TMiddleware extends IMiddleware>(middleware: TMiddleware): IMiddlewares<TMiddleware> {\n return {\n run: (input: InferMiddlewareInput<TMiddleware>) => middleware(input),\n add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(\n next: TNextMiddleware,\n ): IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>> =>\n createMiddlewares((input) => middleware(input).then((output) => next(output))),\n };\n}\n\nexport type IIdentityMiddleware<T> = IMiddleware<T, T>;\nexport const identityMiddleware = <T>(input: T): Promise<T> => Promise.resolve(input);\n","import { NonEmptyArray } from \"../../typeUtils/nonEmptyArray.js\";\n\ntype RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}`\n ? RemoveConsecutiveSlashes<`${First}/${Rest}`>\n : T;\n\nexport type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest]\n ? First extends string\n ? Rest extends NonEmptyArray<string>\n ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`>\n : RemoveConsecutiveSlashes<`/${First}`>\n : never\n : never;\n\ntype RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;\n\nexport function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>> {\n return joinPathsSimple(...segments) as RemoveTrailingSlash<JoinPathResult<T>>;\n}\n\nfunction joinPathsSimple(...strings: string[]) {\n return prependLeadingSlash(\n strings\n .join(\"/\")\n .replace(/\\/+/g, \"/\") // Remove double slashes\n .replace(/\\/+$/, \"\"), // Remove trailing slash\n );\n}\n\nfunction prependLeadingSlash(str: string) {\n return str.startsWith(\"/\") ? str : `/${str}`;\n}\n","import { Trim } from \"type-fest\";\n\nexport type JoinCamelCaseResult<\n Words extends string[],\n IsFirst = false,\n OutputString extends string = \"\",\n> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]]\n ? Trim<FirstWord> extends \"\"\n ? JoinCamelCaseResult<RemainingWords>\n : IsFirst extends false\n ? `${Trim<FirstWord>}${JoinCamelCaseResult<RemainingWords, true>}`\n : `${Capitalize<Trim<FirstWord>>}${JoinCamelCaseResult<RemainingWords, true>}`\n : OutputString;\n\nexport function toCamelCase<const T extends string[]>(args: T): JoinCamelCaseResult<T> {\n return args\n .map((arg) => arg.trim())\n .filter((arg) => arg.length > 0)\n .map((arg, index) => {\n const first = index === 0 ? arg.charAt(0).toLowerCase() : arg.charAt(0).toUpperCase();\n return first + arg.slice(1);\n })\n .join(\"\") as JoinCamelCaseResult<T>;\n}\n"],"mappings":"AAaO,SAASA,EAAmDC,EAAoD,CACrH,MAAO,CACL,IAAMC,GAA6CD,EAAWC,CAAK,EACnE,IACEC,GAEAH,EAAmBE,GAAUD,EAAWC,CAAK,EAAE,KAAME,GAAWD,EAAKC,CAAM,CAAC,CAAC,CACjF,CACF,CAGO,IAAMC,EAAyBH,GAAyB,QAAQ,QAAQA,CAAK,ECR7E,SAASI,KAAiCC,EAAqD,CACpG,OAAOC,EAAgB,GAAGD,CAAQ,CACpC,CAEA,SAASC,KAAmBC,EAAmB,CAC7C,OAAOC,EACLD,EACG,KAAK,GAAG,EACR,QAAQ,OAAQ,GAAG,EACnB,QAAQ,OAAQ,EAAE,CACvB,CACF,CAEA,SAASC,EAAoBC,EAAa,CACxC,OAAOA,EAAI,WAAW,GAAG,EAAIA,EAAM,IAAIA,CAAG,EAC5C,CCjBO,SAASC,EAAsCC,EAAiC,CACrF,OAAOA,EACJ,IAAKC,GAAQA,EAAI,KAAK,CAAC,EACvB,OAAQA,GAAQA,EAAI,OAAS,CAAC,EAC9B,IAAI,CAACA,EAAKC,KACKA,IAAU,EAAID,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,OAAO,CAAC,EAAE,YAAY,GACrEA,EAAI,MAAM,CAAC,CAC3B,EACA,KAAK,EAAE,CACZ","names":["createMiddlewares","middleware","input","next","output","identityMiddleware","joinPaths","segments","joinPathsSimple","strings","prependLeadingSlash","str","toCamelCase","args","arg","index"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var b=(t,n)=>{for(var e in n)i(t,e,{get:n[e],enumerable:!0})},d=(t,n,e,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of a(n))!x.call(t,o)&&o!==e&&i(t,o,{get:()=>n[o],enumerable:!(r=m(n,o))||r.enumerable});return t};var f=t=>d(i({},"__esModule",{value:!0}),t);var S={};b(S,{millisScale:()=>h,msToSeconds:()=>p,secondsScale:()=>g,unixToDate:()=>l});module.exports=f(S);function p(t){return BigInt(Math.round(Number(t)/1e3))}function c(t){let n=1*t,e=n*60,r=e*60,o=r&24,s=o*30,u=o*365;return{second:n,minute:e,hour:r,day:o,month:s,year:u}}var g=c(1),h=c(1e3);function l(t){let n=Number(t)*1e3;if(isNaN(n))throw new Error(`Invalid unix timestamp: ${t.toString()}`);return new Date(n)}0&&(module.exports={millisScale,msToSeconds,secondsScale,unixToDate});
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=date.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/date/index.ts","../src/date/msToSeconds.ts","../src/date/scale.ts","../src/date/unixToDate.ts"],"sourcesContent":["export * from \"./msToSeconds.js\";\nexport * from \"./scale.js\";\nexport * from \"./unixToDate.js\";\n","export function msToSeconds(ms: bigint | number): bigint {\n return BigInt(Math.round(Number(ms) / 1000));\n}\n","function getTimeScale(mul: number) {\n const second = 1 * mul;\n const minute = second * 60;\n const hour = minute * 60;\n const day = hour & 24;\n const month = day * 30;\n const year = day * 365;\n return {\n second: second,\n minute: minute,\n hour: hour,\n day: day,\n month: month,\n year: year,\n };\n}\n\nexport const secondsScale = getTimeScale(1);\nexport const millisScale = getTimeScale(1000);\n","export function unixToDate(timestamp: bigint | number): Date {\n const ms = Number(timestamp) * 1000;\n if (isNaN(ms)) throw new Error(`Invalid unix timestamp: ${timestamp.toString()}`);\n return new Date(ms);\n}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,EAAA,gBAAAC,EAAA,iBAAAC,EAAA,eAAAC,IAAA,eAAAC,EAAAN,GCAO,SAASO,EAAYC,EAA6B,CACvD,OAAO,OAAO,KAAK,MAAM,OAAOA,CAAE,EAAI,GAAI,CAAC,CAC7C,CCFA,SAASC,EAAaC,EAAa,CACjC,IAAMC,EAAS,EAAID,EACbE,EAASD,EAAS,GAClBE,EAAOD,EAAS,GAChBE,EAAMD,EAAO,GACbE,EAAQD,EAAM,GACdE,EAAOF,EAAM,IACnB,MAAO,CACL,OAAQH,EACR,OAAQC,EACR,KAAMC,EACN,IAAKC,EACL,MAAOC,EACP,KAAMC,CACR,CACF,CAEO,IAAMC,EAAeR,EAAa,CAAC,EAC7BS,EAAcT,EAAa,GAAI,EClBrC,SAASU,EAAWC,EAAkC,CAC3D,IAAMC,EAAK,OAAOD,CAAS,EAAI,IAC/B,GAAI,MAAMC,CAAE,EAAG,MAAM,IAAI,MAAM,2BAA2BD,EAAU,SAAS,CAAC,EAAE,EAChF,OAAO,IAAI,KAAKC,CAAE,CACpB","names":["date_exports","__export","millisScale","msToSeconds","secondsScale","unixToDate","__toCommonJS","msToSeconds","ms","getTimeScale","mul","second","minute","hour","day","month","year","secondsScale","millisScale","unixToDate","timestamp","ms"]}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
declare function msToSeconds(ms: bigint | number): bigint;
|
|
2
|
+
|
|
1
3
|
declare const secondsScale: {
|
|
2
4
|
second: number;
|
|
3
5
|
minute: number;
|
|
@@ -15,4 +17,6 @@ declare const millisScale: {
|
|
|
15
17
|
year: number;
|
|
16
18
|
};
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
declare function unixToDate(timestamp: bigint | number): Date;
|
|
21
|
+
|
|
22
|
+
export { millisScale, msToSeconds, secondsScale, unixToDate };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
declare function msToSeconds(ms: bigint | number): bigint;
|
|
2
|
+
|
|
1
3
|
declare const secondsScale: {
|
|
2
4
|
second: number;
|
|
3
5
|
minute: number;
|
|
@@ -15,4 +17,6 @@ declare const millisScale: {
|
|
|
15
17
|
year: number;
|
|
16
18
|
};
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
declare function unixToDate(timestamp: bigint | number): Date;
|
|
21
|
+
|
|
22
|
+
export { millisScale, msToSeconds, secondsScale, unixToDate };
|
package/dist/date.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function u(n){return BigInt(Math.round(Number(n)/1e3))}function i(n){let t=1*n,e=t*60,r=e*60,o=r&24,c=o*30,s=o*365;return{second:t,minute:e,hour:r,day:o,month:c,year:s}}var a=i(1),x=i(1e3);function d(n){let t=Number(n)*1e3;if(isNaN(t))throw new Error(`Invalid unix timestamp: ${n.toString()}`);return new Date(t)}export{x as millisScale,u as msToSeconds,a as secondsScale,d as unixToDate};
|
|
2
|
+
//# sourceMappingURL=date.js.map
|
package/dist/date.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/date/msToSeconds.ts","../src/date/scale.ts","../src/date/unixToDate.ts"],"sourcesContent":["export function msToSeconds(ms: bigint | number): bigint {\n return BigInt(Math.round(Number(ms) / 1000));\n}\n","function getTimeScale(mul: number) {\n const second = 1 * mul;\n const minute = second * 60;\n const hour = minute * 60;\n const day = hour & 24;\n const month = day * 30;\n const year = day * 365;\n return {\n second: second,\n minute: minute,\n hour: hour,\n day: day,\n month: month,\n year: year,\n };\n}\n\nexport const secondsScale = getTimeScale(1);\nexport const millisScale = getTimeScale(1000);\n","export function unixToDate(timestamp: bigint | number): Date {\n const ms = Number(timestamp) * 1000;\n if (isNaN(ms)) throw new Error(`Invalid unix timestamp: ${timestamp.toString()}`);\n return new Date(ms);\n}\n"],"mappings":"AAAO,SAASA,EAAYC,EAA6B,CACvD,OAAO,OAAO,KAAK,MAAM,OAAOA,CAAE,EAAI,GAAI,CAAC,CAC7C,CCFA,SAASC,EAAaC,EAAa,CACjC,IAAMC,EAAS,EAAID,EACbE,EAASD,EAAS,GAClBE,EAAOD,EAAS,GAChBE,EAAMD,EAAO,GACbE,EAAQD,EAAM,GACdE,EAAOF,EAAM,IACnB,MAAO,CACL,OAAQH,EACR,OAAQC,EACR,KAAMC,EACN,IAAKC,EACL,MAAOC,EACP,KAAMC,CACR,CACF,CAEO,IAAMC,EAAeR,EAAa,CAAC,EAC7BS,EAAcT,EAAa,GAAI,EClBrC,SAASU,EAAWC,EAAkC,CAC3D,IAAMC,EAAK,OAAOD,CAAS,EAAI,IAC/B,GAAI,MAAMC,CAAE,EAAG,MAAM,IAAI,MAAM,2BAA2BD,EAAU,SAAS,CAAC,EAAE,EAChF,OAAO,IAAI,KAAKC,CAAE,CACpB","names":["msToSeconds","ms","getTimeScale","mul","second","minute","hour","day","month","year","secondsScale","millisScale","unixToDate","timestamp","ms"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";var e=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var a=(r,t)=>{for(var p in t)e(r,p,{get:t[p],enumerable:!0})},x=(r,t,p,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of T(t))!m.call(r,o)&&o!==p&&e(r,o,{get:()=>t[o],enumerable:!(n=y(t,o))||n.enumerable});return r};var f=r=>x(e({},"__esModule",{value:!0}),r);var A={};a(A,{isNonEmptyArray:()=>i});module.exports=f(A);function i(r){return r.length>0}0&&(module.exports={isNonEmptyArray});
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=typeUtils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/typeUtils/index.ts","../src/typeUtils/nonEmptyArray.ts"],"sourcesContent":["export * from \"./nonEmptyArray.js\";\nexport * from \"./common.js\";\n","export type NonEmptyArray<T> = [T, ...T[]];\n\nexport function isNonEmptyArray<T>(arr: T[]): arr is NonEmptyArray<T> {\n return arr.length > 0;\n}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,IAAA,eAAAC,EAAAH,GCEO,SAASI,EAAmBC,EAAmC,CACpE,OAAOA,EAAI,OAAS,CACtB","names":["typeUtils_exports","__export","isNonEmptyArray","__toCommonJS","isNonEmptyArray","arr"]}
|
package/dist/viem.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var u=(e,n)=>{for(var t in n)i(e,t,{get:n[t],enumerable:!0})},d=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of m(n))!p.call(e,a)&&a!==t&&i(e,a,{get:()=>n[a],enumerable:!(r=c(n,a))||r.enumerable});return e};var f=e=>d(i({},"__esModule",{value:!0}),e);var C={};u(C,{parseTransaction:()=>l,viemClientAsMiddleware:()=>b});module.exports=f(C);var o=require("viem/actions");function b(e){return n=>(0,o.simulateContract)(e,{abi:n.abi,functionName:n.functionName,args:n.args,address:n.address}).then(({request:t})=>(0,o.writeContract)(e,t).then(r=>(0,o.waitForTransactionReceipt)(e,{hash:r})))}var s=require("viem");function l(e,n,t,r){let a=(0,s.parseEventLogs)({eventName:t,abi:n,logs:e.logs})[0];return r(a?.args)}0&&(module.exports={parseTransaction,viemClientAsMiddleware});
|
|
2
|
+
//# sourceMappingURL=viem.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/viem/index.ts","../src/viem/viemClientAsMiddleware.ts","../src/viem/parseEvent.ts"],"sourcesContent":["export * from \"./viemClientAsMiddleware.js\";\nexport * from \"./parseEvent.js\";\n","import { ITransaction } from \"@evergonlabs/tmi-protocol-types/evm\";\nimport { Account, Chain, Client, Transport } from \"viem\";\nimport { simulateContract, waitForTransactionReceipt, writeContract } from \"viem/actions\";\n\nexport function viemClientAsMiddleware(client: Client<Transport, Chain, Account>) {\n return (tx: ITransaction) =>\n simulateContract(client, {\n abi: tx.abi,\n functionName: tx.functionName,\n args: tx.args,\n address: tx.address,\n }).then(({ request }) =>\n writeContract(client, request).then((hash) =>\n waitForTransactionReceipt(client, {\n hash,\n }),\n ),\n );\n}\n","import { Abi, ContractEventName, parseEventLogs, TransactionReceipt } from \"viem\";\n\nexport function parseTransaction<\n O,\n abi extends Abi = Abi,\n eventName extends ContractEventName<abi> | ContractEventName<abi>[] | undefined = undefined,\n>(txReciept: TransactionReceipt, abi: Abi, eventName: eventName, getResult: (args: any) => O | null): O | null {\n const result = parseEventLogs({\n eventName: eventName,\n abi: abi,\n logs: txReciept.logs,\n })[0];\n\n return getResult(result?.args);\n}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,EAAA,2BAAAC,IAAA,eAAAC,EAAAJ,GCEA,IAAAK,EAA2E,wBAEpE,SAASC,EAAuBC,EAA2C,CAChF,OAAQC,MACN,oBAAiBD,EAAQ,CACvB,IAAKC,EAAG,IACR,aAAcA,EAAG,aACjB,KAAMA,EAAG,KACT,QAASA,EAAG,OACd,CAAC,EAAE,KAAK,CAAC,CAAE,QAAAC,CAAQ,OACjB,iBAAcF,EAAQE,CAAO,EAAE,KAAMC,MACnC,6BAA0BH,EAAQ,CAChC,KAAAG,CACF,CAAC,CACH,CACF,CACJ,CClBA,IAAAC,EAA2E,gBAEpE,SAASC,EAIdC,EAA+BC,EAAUC,EAAsBC,EAA8C,CAC7G,IAAMC,KAAS,kBAAe,CAC5B,UAAWF,EACX,IAAKD,EACL,KAAMD,EAAU,IAClB,CAAC,EAAE,CAAC,EAEJ,OAAOG,EAAUC,GAAQ,IAAI,CAC/B","names":["viem_exports","__export","parseTransaction","viemClientAsMiddleware","__toCommonJS","import_actions","viemClientAsMiddleware","client","tx","request","hash","import_viem","parseTransaction","txReciept","abi","eventName","getResult","result"]}
|
package/dist/viem.d.cts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as viem from 'viem';
|
|
2
|
+
import { Client, Transport, Chain, Account, Abi, ContractEventName, TransactionReceipt } from 'viem';
|
|
3
|
+
import { ITransaction } from '@evergonlabs/tmi-protocol-types/evm';
|
|
4
|
+
|
|
5
|
+
declare function viemClientAsMiddleware(client: Client<Transport, Chain, Account>): (tx: ITransaction) => Promise<viem.TransactionReceipt>;
|
|
6
|
+
|
|
7
|
+
declare function parseTransaction<O, abi extends Abi = Abi, eventName extends ContractEventName<abi> | ContractEventName<abi>[] | undefined = undefined>(txReciept: TransactionReceipt, abi: Abi, eventName: eventName, getResult: (args: any) => O | null): O | null;
|
|
8
|
+
|
|
9
|
+
export { parseTransaction, viemClientAsMiddleware };
|
package/dist/viem.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as viem from 'viem';
|
|
2
|
+
import { Client, Transport, Chain, Account, Abi, ContractEventName, TransactionReceipt } from 'viem';
|
|
3
|
+
import { ITransaction } from '@evergonlabs/tmi-protocol-types/evm';
|
|
4
|
+
|
|
5
|
+
declare function viemClientAsMiddleware(client: Client<Transport, Chain, Account>): (tx: ITransaction) => Promise<viem.TransactionReceipt>;
|
|
6
|
+
|
|
7
|
+
declare function parseTransaction<O, abi extends Abi = Abi, eventName extends ContractEventName<abi> | ContractEventName<abi>[] | undefined = undefined>(txReciept: TransactionReceipt, abi: Abi, eventName: eventName, getResult: (args: any) => O | null): O | null;
|
|
8
|
+
|
|
9
|
+
export { parseTransaction, viemClientAsMiddleware };
|
package/dist/viem.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{simulateContract as o,waitForTransactionReceipt as i,writeContract as s}from"viem/actions";function p(e){return n=>o(e,{abi:n.abi,functionName:n.functionName,args:n.args,address:n.address}).then(({request:t})=>s(e,t).then(a=>i(e,{hash:a})))}import{parseEventLogs as c}from"viem";function C(e,n,t,a){let r=c({eventName:t,abi:n,logs:e.logs})[0];return a(r?.args)}export{C as parseTransaction,p as viemClientAsMiddleware};
|
|
2
|
+
//# sourceMappingURL=viem.js.map
|
package/dist/viem.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/viem/viemClientAsMiddleware.ts","../src/viem/parseEvent.ts"],"sourcesContent":["import { ITransaction } from \"@evergonlabs/tmi-protocol-types/evm\";\nimport { Account, Chain, Client, Transport } from \"viem\";\nimport { simulateContract, waitForTransactionReceipt, writeContract } from \"viem/actions\";\n\nexport function viemClientAsMiddleware(client: Client<Transport, Chain, Account>) {\n return (tx: ITransaction) =>\n simulateContract(client, {\n abi: tx.abi,\n functionName: tx.functionName,\n args: tx.args,\n address: tx.address,\n }).then(({ request }) =>\n writeContract(client, request).then((hash) =>\n waitForTransactionReceipt(client, {\n hash,\n }),\n ),\n );\n}\n","import { Abi, ContractEventName, parseEventLogs, TransactionReceipt } from \"viem\";\n\nexport function parseTransaction<\n O,\n abi extends Abi = Abi,\n eventName extends ContractEventName<abi> | ContractEventName<abi>[] | undefined = undefined,\n>(txReciept: TransactionReceipt, abi: Abi, eventName: eventName, getResult: (args: any) => O | null): O | null {\n const result = parseEventLogs({\n eventName: eventName,\n abi: abi,\n logs: txReciept.logs,\n })[0];\n\n return getResult(result?.args);\n}\n"],"mappings":"AAEA,OAAS,oBAAAA,EAAkB,6BAAAC,EAA2B,iBAAAC,MAAqB,eAEpE,SAASC,EAAuBC,EAA2C,CAChF,OAAQC,GACNL,EAAiBI,EAAQ,CACvB,IAAKC,EAAG,IACR,aAAcA,EAAG,aACjB,KAAMA,EAAG,KACT,QAASA,EAAG,OACd,CAAC,EAAE,KAAK,CAAC,CAAE,QAAAC,CAAQ,IACjBJ,EAAcE,EAAQE,CAAO,EAAE,KAAMC,GACnCN,EAA0BG,EAAQ,CAChC,KAAAG,CACF,CAAC,CACH,CACF,CACJ,CClBA,OAAiC,kBAAAC,MAA0C,OAEpE,SAASC,EAIdC,EAA+BC,EAAUC,EAAsBC,EAA8C,CAC7G,IAAMC,EAASN,EAAe,CAC5B,UAAWI,EACX,IAAKD,EACL,KAAMD,EAAU,IAClB,CAAC,EAAE,CAAC,EAEJ,OAAOG,EAAUC,GAAQ,IAAI,CAC/B","names":["simulateContract","waitForTransactionReceipt","writeContract","viemClientAsMiddleware","client","tx","request","hash","parseEventLogs","parseTransaction","txReciept","abi","eventName","getResult","result"]}
|
package/package.json
CHANGED
|
@@ -1,59 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evergonlabs/tmi-protocol-utils",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
"./common": {
|
|
8
|
-
"import": "./dist/common
|
|
9
|
-
"types": "./dist/common
|
|
10
|
-
"default": "./dist/common
|
|
8
|
+
"import": "./dist/common.js",
|
|
9
|
+
"types": "./dist/common.d.ts",
|
|
10
|
+
"default": "./dist/common.cjs"
|
|
11
11
|
},
|
|
12
12
|
"./viem": {
|
|
13
|
-
"import": "./dist/viem
|
|
14
|
-
"types": "./dist/viem
|
|
15
|
-
"default": "./dist/viem
|
|
16
|
-
},
|
|
17
|
-
"./errors": {
|
|
18
|
-
"import": "./dist/errors/index.js",
|
|
19
|
-
"types": "./dist/errors/index.d.ts",
|
|
20
|
-
"default": "./dist/errors/index.cjs"
|
|
13
|
+
"import": "./dist/viem.js",
|
|
14
|
+
"types": "./dist/viem.d.ts",
|
|
15
|
+
"default": "./dist/viem.cjs"
|
|
21
16
|
},
|
|
22
17
|
"./date": {
|
|
23
|
-
"import": "./dist/date
|
|
24
|
-
"types": "./dist/date
|
|
25
|
-
"default": "./dist/date
|
|
18
|
+
"import": "./dist/date.js",
|
|
19
|
+
"types": "./dist/date.d.ts",
|
|
20
|
+
"default": "./dist/date.cjs"
|
|
26
21
|
},
|
|
27
22
|
"./typeUtils": {
|
|
28
|
-
"import": "./dist/typeUtils
|
|
29
|
-
"types": "./dist/typeUtils
|
|
30
|
-
"default": "./dist/typeUtils
|
|
23
|
+
"import": "./dist/typeUtils.js",
|
|
24
|
+
"types": "./dist/typeUtils.d.ts",
|
|
25
|
+
"default": "./dist/typeUtils.cjs"
|
|
31
26
|
}
|
|
32
27
|
},
|
|
33
28
|
"files": [
|
|
34
29
|
"dist"
|
|
35
30
|
],
|
|
36
|
-
"scripts": {
|
|
37
|
-
"build": "tsx ./scripts/compile-prod.ts",
|
|
38
|
-
"check-types": "tsc --noEmit",
|
|
39
|
-
"clean": "rimraf ./dist",
|
|
40
|
-
"dev": "tsx ./scripts/compile-dev.ts",
|
|
41
|
-
"lint": "eslint .",
|
|
42
|
-
"prepublishOnly": "run-s build",
|
|
43
|
-
"test": "vitest run"
|
|
44
|
-
},
|
|
45
31
|
"dependencies": {
|
|
46
|
-
"@evergonlabs/tmi-protocol-types": "
|
|
32
|
+
"@evergonlabs/tmi-protocol-types": "0.2.1"
|
|
47
33
|
},
|
|
48
34
|
"devDependencies": {
|
|
49
|
-
"@evergonlabs/eslint-config": "
|
|
50
|
-
"@evergonlabs/
|
|
51
|
-
"
|
|
35
|
+
"@evergonlabs/tmi-eslint-config": "^0.1.3",
|
|
36
|
+
"@evergonlabs/tmi-typescript-config": "^0.2.0",
|
|
37
|
+
"eslint": "^9.21.0",
|
|
38
|
+
"jiti": "^2.4.2",
|
|
52
39
|
"npm-run-all": "^4.1.5",
|
|
53
40
|
"rimraf": "^6.0.1",
|
|
54
41
|
"tsx": "^4.19.2",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
42
|
+
"typescript": "5.7.3",
|
|
43
|
+
"viem": "^2.23.2",
|
|
44
|
+
"vitest": "^3.1.3",
|
|
45
|
+
"@evergonlabs/internal": "0.0.0"
|
|
57
46
|
},
|
|
58
47
|
"peerDependencies": {
|
|
59
48
|
"type-fest": "^4.33.0",
|
|
@@ -62,5 +51,13 @@
|
|
|
62
51
|
"publishConfig": {
|
|
63
52
|
"access": "public",
|
|
64
53
|
"registry": "https://registry.npmjs.org/"
|
|
54
|
+
},
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "tsx ./scripts/compile-prod.ts",
|
|
57
|
+
"check-types": "tsc -b --noEmit",
|
|
58
|
+
"clean": "rimraf ./dist",
|
|
59
|
+
"dev": "tsx ./scripts/compile-dev.ts",
|
|
60
|
+
"lint": "eslint .",
|
|
61
|
+
"test": "vitest run"
|
|
65
62
|
}
|
|
66
|
-
}
|
|
63
|
+
}
|
package/dist/chunk-2U6UZXV6.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/middlewares/middlewares.ts"],"sourcesContent":["export type IMiddleware<InitData = any, NextData = any> = (init: InitData) => Promise<NextData>;\nexport type IMiddlewareRequire<InitData, NextData = any> = (input: InitData) => Promise<NextData>;\n\ntype InferMiddlewareInput<T extends IMiddleware> = T extends IMiddleware<infer C, any> ? C : never;\ntype InferMiddlewareOutput<T extends IMiddleware> = T extends IMiddleware<any, infer C> ? C : never;\n\nexport type IMiddlewares<TMiddleware extends IMiddleware> = {\n add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(\n next: TNextMiddleware,\n ) => IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>>;\n run: (input: InferMiddlewareInput<TMiddleware>) => Promise<InferMiddlewareOutput<TMiddleware>>;\n};\n\nexport function createMiddlewares<TMiddleware extends IMiddleware>(middleware: TMiddleware): IMiddlewares<TMiddleware> {\n return {\n run: (input: InferMiddlewareInput<TMiddleware>) => middleware(input),\n add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(\n next: TNextMiddleware,\n ): IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>> =>\n createMiddlewares((input) => middleware(input).then((output) => next(output))),\n };\n}\n\nexport type IIdentityMiddleware<T> = IMiddleware<T, T>;\nexport const identityMiddleware = <T>(input: T): Promise<T> => Promise.resolve(input);\n"],"mappings":"AAaO,SAASA,EAAmDC,EAAoD,CACrH,MAAO,CACL,IAAMC,GAA6CD,EAAWC,CAAK,EACnE,IACEC,GAEAH,EAAmBE,GAAUD,EAAWC,CAAK,EAAE,KAAME,GAAWD,EAAKC,CAAM,CAAC,CAAC,CACjF,CACF,CAGO,IAAMC,EAAyBH,GAAyB,QAAQ,QAAQA,CAAK","names":["createMiddlewares","middleware","input","next","output","identityMiddleware"]}
|
package/dist/chunk-3XT76VGZ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ErrorLikeSchema as a,objectKeys as c}from"@evergonlabs/tmi-protocol-types/common";function o(r){let e=a.safeParse(r);if(e.success)return e.data;try{return new Error(JSON.stringify(r))}catch{return new Error(String(r))}}function f(r){try{return o(r).name}catch{return"UnknownError"}}function k(r){try{let{name:e,message:s}=o(r),n=c(t).find(i=>e.includes(i));return n?t[n]:s}catch{return"A parsing error occurred while processing the error message."}}var t={NetworkError:"There was a network problem. Please try again.",TimeoutError:"The request timed out. Please try again later."};export{o as a,f as b,k as c};
|
|
2
|
-
//# sourceMappingURL=chunk-3XT76VGZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/parseError.ts"],"sourcesContent":["import { ErrorLikeSchema, IErrorLike, objectKeys } from \"@evergonlabs/tmi-protocol-types/common\";\n\nexport function toErrorLike(maybeError: unknown): IErrorLike {\n const parsed = ErrorLikeSchema.safeParse(maybeError);\n if (parsed.success) {\n return parsed.data;\n }\n\n try {\n return new Error(JSON.stringify(maybeError));\n } catch {\n // fallback in case there's an error stringifying the maybeError\n // like with circular references for example.\n return new Error(String(maybeError));\n }\n}\n\nexport function getErrorName(error: unknown): string {\n try {\n return toErrorLike(error).name;\n } catch {\n // This is the last resort if everything else fails\n return \"UnknownError\";\n }\n}\n\nexport function getErrorMessage(error: unknown): string {\n try {\n const { name, message } = toErrorLike(error);\n\n const predefinedError = objectKeys(errorsDictionary).find((x) => name.includes(x));\n if (predefinedError) {\n return errorsDictionary[predefinedError];\n }\n return message;\n } catch {\n // This is the last resort if everything else fails\n return \"A parsing error occurred while processing the error message.\";\n }\n}\n\nconst errorsDictionary = {\n NetworkError: \"There was a network problem. Please try again.\",\n TimeoutError: \"The request timed out. Please try again later.\",\n};\n"],"mappings":"AAAA,OAAS,mBAAAA,EAA6B,cAAAC,MAAkB,yCAEjD,SAASC,EAAYC,EAAiC,CAC3D,IAAMC,EAASJ,EAAgB,UAAUG,CAAU,EACnD,GAAIC,EAAO,QACT,OAAOA,EAAO,KAGhB,GAAI,CACF,OAAO,IAAI,MAAM,KAAK,UAAUD,CAAU,CAAC,CAC7C,MAAQ,CAGN,OAAO,IAAI,MAAM,OAAOA,CAAU,CAAC,CACrC,CACF,CAEO,SAASE,EAAaC,EAAwB,CACnD,GAAI,CACF,OAAOJ,EAAYI,CAAK,EAAE,IAC5B,MAAQ,CAEN,MAAO,cACT,CACF,CAEO,SAASC,EAAgBD,EAAwB,CACtD,GAAI,CACF,GAAM,CAAE,KAAAE,EAAM,QAAAC,CAAQ,EAAIP,EAAYI,CAAK,EAErCI,EAAkBT,EAAWU,CAAgB,EAAE,KAAMC,GAAMJ,EAAK,SAASI,CAAC,CAAC,EACjF,OAAIF,EACKC,EAAiBD,CAAe,EAElCD,CACT,MAAQ,CAEN,MAAO,8DACT,CACF,CAEA,IAAME,EAAmB,CACvB,aAAc,iDACd,aAAc,gDAChB","names":["ErrorLikeSchema","objectKeys","toErrorLike","maybeError","parsed","getErrorName","error","getErrorMessage","name","message","predefinedError","errorsDictionary","x"]}
|
package/dist/chunk-5DN567GZ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-5DN567GZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/chunk-KNUQZIWE.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{simulateContract as i,waitForTransactionReceipt as o,writeContract as e}from"viem/actions";function c(n){return r=>i(n,{abi:r.abi,functionName:r.functionName,args:r.args,address:r.address}).then(({request:a})=>e(n,a).then(t=>o(n,{hash:t})))}export{c as a};
|
|
2
|
-
//# sourceMappingURL=chunk-KNUQZIWE.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/viem/viemClientAsMiddleware.ts"],"sourcesContent":["import { ITransaction } from \"@evergonlabs/tmi-protocol-types/evm\";\nimport { Account, Chain, Client, Transport } from \"viem\";\nimport { simulateContract, waitForTransactionReceipt, writeContract } from \"viem/actions\";\n\nexport function viemClientAsMiddleware(client: Client<Transport, Chain, Account>) {\n return (tx: ITransaction) =>\n simulateContract(client, {\n abi: tx.abi,\n functionName: tx.functionName,\n args: tx.args,\n address: tx.address,\n }).then(({ request }) =>\n writeContract(client, request).then((hash) =>\n waitForTransactionReceipt(client, {\n hash,\n }),\n ),\n );\n}\n"],"mappings":"AAEA,OAAS,oBAAAA,EAAkB,6BAAAC,EAA2B,iBAAAC,MAAqB,eAEpE,SAASC,EAAuBC,EAA2C,CAChF,OAAQC,GACNL,EAAiBI,EAAQ,CACvB,IAAKC,EAAG,IACR,aAAcA,EAAG,aACjB,KAAMA,EAAG,KACT,QAASA,EAAG,OACd,CAAC,EAAE,KAAK,CAAC,CAAE,QAAAC,CAAQ,IACjBJ,EAAcE,EAAQE,CAAO,EAAE,KAAMC,GACnCN,EAA0BG,EAAQ,CAChC,KAAAG,CACF,CAAC,CACH,CACF,CACJ","names":["simulateContract","waitForTransactionReceipt","writeContract","viemClientAsMiddleware","client","tx","request","hash"]}
|
package/dist/chunk-O4A67QVP.js
DELETED
package/dist/chunk-Q5LYF37D.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/toCamelCase/toCamelCase.ts"],"sourcesContent":["import { Trim } from \"type-fest\";\n\nexport type JoinCamelCaseResult<\n Words extends string[],\n IsFirst = false,\n OutputString extends string = \"\",\n> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]]\n ? Trim<FirstWord> extends \"\"\n ? JoinCamelCaseResult<RemainingWords>\n : IsFirst extends false\n ? `${Trim<FirstWord>}${JoinCamelCaseResult<RemainingWords, true>}`\n : `${Capitalize<Trim<FirstWord>>}${JoinCamelCaseResult<RemainingWords, true>}`\n : OutputString;\n\nexport function toCamelCase<const T extends string[]>(args: T): JoinCamelCaseResult<T> {\n return args\n .map((arg) => arg.trim())\n .filter((arg) => arg.length > 0)\n .map((arg, index) => {\n const first = index === 0 ? arg.charAt(0).toLowerCase() : arg.charAt(0).toUpperCase();\n return first + arg.slice(1);\n })\n .join(\"\") as JoinCamelCaseResult<T>;\n}\n"],"mappings":"AAcO,SAASA,EAAsCC,EAAiC,CACrF,OAAOA,EACJ,IAAKC,GAAQA,EAAI,KAAK,CAAC,EACvB,OAAQA,GAAQA,EAAI,OAAS,CAAC,EAC9B,IAAI,CAACA,EAAKC,KACKA,IAAU,EAAID,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,OAAO,CAAC,EAAE,YAAY,GACrEA,EAAI,MAAM,CAAC,CAC3B,EACA,KAAK,EAAE,CACZ","names":["toCamelCase","args","arg","index"]}
|
package/dist/chunk-QV2IJM7J.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/joinPath/joinPath.ts"],"sourcesContent":["import { NonEmptyArray } from \"../../typeUtils/nonEmptyArray.js\";\n\ntype RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}`\n ? RemoveConsecutiveSlashes<`${First}/${Rest}`>\n : T;\n\nexport type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest]\n ? First extends string\n ? Rest extends NonEmptyArray<string>\n ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`>\n : RemoveConsecutiveSlashes<`/${First}`>\n : never\n : never;\n\ntype RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;\n\nexport function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>> {\n return joinPathsSimple(...segments) as RemoveTrailingSlash<JoinPathResult<T>>;\n}\n\nfunction joinPathsSimple(...strings: string[]) {\n return prependLeadingSlash(\n strings\n .join(\"/\")\n .replace(/\\/+/g, \"/\") // Remove double slashes\n .replace(/\\/+$/, \"\"), // Remove trailing slash\n );\n}\n\nfunction prependLeadingSlash(str: string) {\n return str.startsWith(\"/\") ? str : `/${str}`;\n}\n"],"mappings":"AAgBO,SAASA,KAAiCC,EAAqD,CACpG,OAAOC,EAAgB,GAAGD,CAAQ,CACpC,CAEA,SAASC,KAAmBC,EAAmB,CAC7C,OAAOC,EACLD,EACG,KAAK,GAAG,EACR,QAAQ,OAAQ,GAAG,EACnB,QAAQ,OAAQ,EAAE,CACvB,CACF,CAEA,SAASC,EAAoBC,EAAa,CACxC,OAAOA,EAAI,WAAW,GAAG,EAAIA,EAAM,IAAIA,CAAG,EAC5C","names":["joinPaths","segments","joinPathsSimple","strings","prependLeadingSlash","str"]}
|
package/dist/chunk-R6JOSCPF.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/date/unixToDate.ts"],"sourcesContent":["export function unixToDate(timestamp: bigint | number): Date {\n const ms = Number(timestamp) * 1000;\n if (isNaN(ms)) throw new Error(`Invalid unix timestamp: ${timestamp.toString()}`);\n return new Date(ms);\n}\n"],"mappings":"AAAO,SAASA,EAAWC,EAAkC,CAC3D,IAAMC,EAAK,OAAOD,CAAS,EAAI,IAC/B,GAAI,MAAMC,CAAE,EAAG,MAAM,IAAI,MAAM,2BAA2BD,EAAU,SAAS,CAAC,EAAE,EAChF,OAAO,IAAI,KAAKC,CAAE,CACpB","names":["unixToDate","timestamp","ms"]}
|
package/dist/chunk-VAYAJPL5.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/date/scale.ts"],"sourcesContent":["function getTimeScale(mul: number) {\n const second = 1 * mul;\n const minute = second * 60;\n const hour = minute * 60;\n const day = hour & 24;\n const month = day * 30;\n const year = day * 365;\n return {\n second: second,\n minute: minute,\n hour: hour,\n day: day,\n month: month,\n year: year,\n };\n}\n\nexport const secondsScale = getTimeScale(1);\nexport const millisScale = getTimeScale(1000);\n"],"mappings":"AAAA,SAASA,EAAaC,EAAa,CACjC,IAAMC,EAAS,EAAID,EACbE,EAASD,EAAS,GAClBE,EAAOD,EAAS,GAChBE,EAAMD,EAAO,GACbE,EAAQD,EAAM,GACdE,EAAOF,EAAM,IACnB,MAAO,CACL,OAAQH,EACR,OAAQC,EACR,KAAMC,EACN,IAAKC,EACL,MAAOC,EACP,KAAMC,CACR,CACF,CAEO,IAAMC,EAAeR,EAAa,CAAC,EAC7BS,EAAcT,EAAa,GAAI","names":["getTimeScale","mul","second","minute","hour","day","month","year","secondsScale","millisScale"]}
|
package/dist/chunk-VU2B6LEJ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/customError/customError.ts"],"sourcesContent":["export type CustomErrorOptions<T> = {\n /**\n * Primary error message\n */\n message: string;\n /**\n * Provide specific name to error for better debugging experience\n * make at as unique as possible\n */\n name?: string;\n /**\n * Subsequent error can be used as original error that\n * was thrown\n */\n cause?: unknown;\n} & (T extends void\n ? Record<never, never>\n : {\n /**\n * Additional data that can be passed with the error\n * useful for debugging and logging\n */\n data: T;\n });\n\nexport class CustomError<T = void> extends Error {\n /**\n * Subsequent error can be used as original error that\n * was thrown\n */\n readonly cause: unknown;\n readonly data: T;\n\n constructor(options: CustomErrorOptions<T>) {\n super(options.message);\n this.cause = options.cause;\n this.data = (options as any).data; // Safe cast because we ensure data is required when T is not void\n\n // set error name as constructor name, make it not enumerable to keep native Error behavior\n // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target#new.target_in_constructors\n // see https://github.com/adriengibrat/ts-custom-error/issues/30\n Object.defineProperty(this, \"name\", {\n value: options.name || new.target.name,\n enumerable: false,\n configurable: true,\n });\n }\n}\n"],"mappings":"AAyBO,IAAMA,EAAN,cAAoC,KAAM,CAKtC,MACA,KAET,YAAYC,EAAgC,CAC1C,MAAMA,EAAQ,OAAO,EACrB,KAAK,MAAQA,EAAQ,MACrB,KAAK,KAAQA,EAAgB,KAK7B,OAAO,eAAe,KAAM,OAAQ,CAClC,MAAOA,EAAQ,MAAQ,WAAW,KAClC,WAAY,GACZ,aAAc,EAChB,CAAC,CACH,CACF","names":["CustomError","options"]}
|
package/dist/chunk-Z5JFEDV5.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/date/msToSeconds.ts"],"sourcesContent":["export function msToSeconds(ms: bigint | number): bigint {\n return BigInt(Math.round(Number(ms) / 1000));\n}\n"],"mappings":"AAAO,SAASA,EAAYC,EAA6B,CACvD,OAAO,OAAO,KAAK,MAAM,OAAOA,CAAE,EAAI,GAAI,CAAC,CAC7C","names":["msToSeconds","ms"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common/index.ts","../../src/common/middlewares/middlewares.ts","../../src/common/joinPath/joinPath.ts","../../src/common/toCamelCase/toCamelCase.ts"],"sourcesContent":["export * from \"./middlewares/middlewares.js\";\nexport * from \"./joinPath/joinPath.js\";\nexport * from \"./toCamelCase/toCamelCase.js\";\n","export type IMiddleware<InitData = any, NextData = any> = (init: InitData) => Promise<NextData>;\nexport type IMiddlewareRequire<InitData, NextData = any> = (input: InitData) => Promise<NextData>;\n\ntype InferMiddlewareInput<T extends IMiddleware> = T extends IMiddleware<infer C, any> ? C : never;\ntype InferMiddlewareOutput<T extends IMiddleware> = T extends IMiddleware<any, infer C> ? C : never;\n\nexport type IMiddlewares<TMiddleware extends IMiddleware> = {\n add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(\n next: TNextMiddleware,\n ) => IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>>;\n run: (input: InferMiddlewareInput<TMiddleware>) => Promise<InferMiddlewareOutput<TMiddleware>>;\n};\n\nexport function createMiddlewares<TMiddleware extends IMiddleware>(middleware: TMiddleware): IMiddlewares<TMiddleware> {\n return {\n run: (input: InferMiddlewareInput<TMiddleware>) => middleware(input),\n add: <TNextMiddleware extends IMiddleware<InferMiddlewareOutput<TMiddleware>, any>>(\n next: TNextMiddleware,\n ): IMiddlewares<IMiddleware<InferMiddlewareInput<TMiddleware>, InferMiddlewareOutput<TNextMiddleware>>> =>\n createMiddlewares((input) => middleware(input).then((output) => next(output))),\n };\n}\n\nexport type IIdentityMiddleware<T> = IMiddleware<T, T>;\nexport const identityMiddleware = <T>(input: T): Promise<T> => Promise.resolve(input);\n","import { NonEmptyArray } from \"../../typeUtils/nonEmptyArray.js\";\n\ntype RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}`\n ? RemoveConsecutiveSlashes<`${First}/${Rest}`>\n : T;\n\nexport type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest]\n ? First extends string\n ? Rest extends NonEmptyArray<string>\n ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`>\n : RemoveConsecutiveSlashes<`/${First}`>\n : never\n : never;\n\ntype RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;\n\nexport function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>> {\n return joinPathsSimple(...segments) as RemoveTrailingSlash<JoinPathResult<T>>;\n}\n\nfunction joinPathsSimple(...strings: string[]) {\n return prependLeadingSlash(\n strings\n .join(\"/\")\n .replace(/\\/+/g, \"/\") // Remove double slashes\n .replace(/\\/+$/, \"\"), // Remove trailing slash\n );\n}\n\nfunction prependLeadingSlash(str: string) {\n return str.startsWith(\"/\") ? str : `/${str}`;\n}\n","import { Trim } from \"type-fest\";\n\nexport type JoinCamelCaseResult<\n Words extends string[],\n IsFirst = false,\n OutputString extends string = \"\",\n> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]]\n ? Trim<FirstWord> extends \"\"\n ? JoinCamelCaseResult<RemainingWords>\n : IsFirst extends false\n ? `${Trim<FirstWord>}${JoinCamelCaseResult<RemainingWords, true>}`\n : `${Capitalize<Trim<FirstWord>>}${JoinCamelCaseResult<RemainingWords, true>}`\n : OutputString;\n\nexport function toCamelCase<const T extends string[]>(args: T): JoinCamelCaseResult<T> {\n return args\n .map((arg) => arg.trim())\n .filter((arg) => arg.length > 0)\n .map((arg, index) => {\n const first = index === 0 ? arg.charAt(0).toLowerCase() : arg.charAt(0).toUpperCase();\n return first + arg.slice(1);\n })\n .join(\"\") as JoinCamelCaseResult<T>;\n}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,EAAA,uBAAAC,EAAA,cAAAC,EAAA,gBAAAC,IAAA,eAAAC,EAAAN,GCaO,SAASO,EAAmDC,EAAoD,CACrH,MAAO,CACL,IAAMC,GAA6CD,EAAWC,CAAK,EACnE,IACEC,GAEAH,EAAmBE,GAAUD,EAAWC,CAAK,EAAE,KAAME,GAAWD,EAAKC,CAAM,CAAC,CAAC,CACjF,CACF,CAGO,IAAMC,EAAyBH,GAAyB,QAAQ,QAAQA,CAAK,ECR7E,SAASI,KAAiCC,EAAqD,CACpG,OAAOC,EAAgB,GAAGD,CAAQ,CACpC,CAEA,SAASC,KAAmBC,EAAmB,CAC7C,OAAOC,EACLD,EACG,KAAK,GAAG,EACR,QAAQ,OAAQ,GAAG,EACnB,QAAQ,OAAQ,EAAE,CACvB,CACF,CAEA,SAASC,EAAoBC,EAAa,CACxC,OAAOA,EAAI,WAAW,GAAG,EAAIA,EAAM,IAAIA,CAAG,EAC5C,CCjBO,SAASC,EAAsCC,EAAiC,CACrF,OAAOA,EACJ,IAAKC,GAAQA,EAAI,KAAK,CAAC,EACvB,OAAQA,GAAQA,EAAI,OAAS,CAAC,EAC9B,IAAI,CAACA,EAAKC,KACKA,IAAU,EAAID,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,OAAO,CAAC,EAAE,YAAY,GACrEA,EAAI,MAAM,CAAC,CAC3B,EACA,KAAK,EAAE,CACZ","names":["common_exports","__export","createMiddlewares","identityMiddleware","joinPaths","toCamelCase","__toCommonJS","createMiddlewares","middleware","input","next","output","identityMiddleware","joinPaths","segments","joinPathsSimple","strings","prependLeadingSlash","str","toCamelCase","args","arg","index"]}
|
package/dist/common/index.d.cts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { IIdentityMiddleware, IMiddleware, IMiddlewareRequire, IMiddlewares, createMiddlewares, identityMiddleware } from './middlewares/middlewares.cjs';
|
|
2
|
-
export { JoinPathResult, joinPaths } from './joinPath/joinPath.cjs';
|
|
3
|
-
export { JoinCamelCaseResult, toCamelCase } from './toCamelCase/toCamelCase.cjs';
|
|
4
|
-
import '../typeUtils/nonEmptyArray.cjs';
|
|
5
|
-
import 'type-fest';
|
package/dist/common/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { IIdentityMiddleware, IMiddleware, IMiddlewareRequire, IMiddlewares, createMiddlewares, identityMiddleware } from './middlewares/middlewares.js';
|
|
2
|
-
export { JoinPathResult, joinPaths } from './joinPath/joinPath.js';
|
|
3
|
-
export { JoinCamelCaseResult, toCamelCase } from './toCamelCase/toCamelCase.js';
|
|
4
|
-
import '../typeUtils/nonEmptyArray.js';
|
|
5
|
-
import 'type-fest';
|
package/dist/common/index.js
DELETED
package/dist/common/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var i=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var R=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},h=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of a(t))!l.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=o(t,s))||r.enumerable});return e};var T=e=>h(i({},"__esModule",{value:!0}),e);var v={};R(v,{joinPaths:()=>u});module.exports=T(v);function u(...e){return g(...e)}function g(...e){return p(e.join("/").replace(/\/+/g,"/").replace(/\/+$/,""))}function p(e){return e.startsWith("/")?e:`/${e}`}0&&(module.exports={joinPaths});
|
|
2
|
-
//# sourceMappingURL=joinPath.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/common/joinPath/joinPath.ts"],"sourcesContent":["import { NonEmptyArray } from \"../../typeUtils/nonEmptyArray.js\";\n\ntype RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}`\n ? RemoveConsecutiveSlashes<`${First}/${Rest}`>\n : T;\n\nexport type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest]\n ? First extends string\n ? Rest extends NonEmptyArray<string>\n ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`>\n : RemoveConsecutiveSlashes<`/${First}`>\n : never\n : never;\n\ntype RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;\n\nexport function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>> {\n return joinPathsSimple(...segments) as RemoveTrailingSlash<JoinPathResult<T>>;\n}\n\nfunction joinPathsSimple(...strings: string[]) {\n return prependLeadingSlash(\n strings\n .join(\"/\")\n .replace(/\\/+/g, \"/\") // Remove double slashes\n .replace(/\\/+$/, \"\"), // Remove trailing slash\n );\n}\n\nfunction prependLeadingSlash(str: string) {\n return str.startsWith(\"/\") ? str : `/${str}`;\n}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,eAAAE,IAAA,eAAAC,EAAAH,GAgBO,SAASE,KAAiCE,EAAqD,CACpG,OAAOC,EAAgB,GAAGD,CAAQ,CACpC,CAEA,SAASC,KAAmBC,EAAmB,CAC7C,OAAOC,EACLD,EACG,KAAK,GAAG,EACR,QAAQ,OAAQ,GAAG,EACnB,QAAQ,OAAQ,EAAE,CACvB,CACF,CAEA,SAASC,EAAoBC,EAAa,CACxC,OAAOA,EAAI,WAAW,GAAG,EAAIA,EAAM,IAAIA,CAAG,EAC5C","names":["joinPath_exports","__export","joinPaths","__toCommonJS","segments","joinPathsSimple","strings","prependLeadingSlash","str"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { NonEmptyArray } from '../../typeUtils/nonEmptyArray.cjs';
|
|
2
|
-
|
|
3
|
-
type RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}` ? RemoveConsecutiveSlashes<`${First}/${Rest}`> : T;
|
|
4
|
-
type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest] ? First extends string ? Rest extends NonEmptyArray<string> ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`> : RemoveConsecutiveSlashes<`/${First}`> : never : never;
|
|
5
|
-
type RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;
|
|
6
|
-
declare function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>>;
|
|
7
|
-
|
|
8
|
-
export { type JoinPathResult, joinPaths };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { NonEmptyArray } from '../../typeUtils/nonEmptyArray.js';
|
|
2
|
-
|
|
3
|
-
type RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}` ? RemoveConsecutiveSlashes<`${First}/${Rest}`> : T;
|
|
4
|
-
type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest] ? First extends string ? Rest extends NonEmptyArray<string> ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`> : RemoveConsecutiveSlashes<`/${First}`> : never : never;
|
|
5
|
-
type RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;
|
|
6
|
-
declare function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>>;
|
|
7
|
-
|
|
8
|
-
export { type JoinPathResult, joinPaths };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";function t(...e){return s(...e)}function s(...e){return l(e.join("/").replace(/\/+/g,"/").replace(/\/+$/,""))}function l(e){return e.startsWith("/")?e:`/${e}`}describe("joinPaths",()=>{it("should prepend a leading slash if not provided",()=>{let e=t("usr","local","bin");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()}),it("should not add extra leading slash if already present",()=>{let e=t("/usr","local");expect(e).toBe("/usr/local"),expectTypeOf(e).toEqualTypeOf()}),it("should remove consecutive slashes",()=>{let e=t("usr//","//local/","///bin");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()}),it("should remove trailing slash from final result",()=>{let e=t("/usr","local","bin/");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()}),it("should handle single segment without slash",()=>{let e=t("home");expect(e).toBe("/home"),expectTypeOf(e).toEqualTypeOf()}),it("should handle single segment with slash",()=>{let e=t("/home");expect(e).toBe("/home"),expectTypeOf(e).toEqualTypeOf()}),it("should handle multiple empty segments",()=>{let e=t("","","usr","","local","");expect(e).toBe("/usr/local"),expectTypeOf(e).toEqualTypeOf()}),it("should handle paths already normalized",()=>{let e=t("/usr","local","bin");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()}),it("should handle paths ending with slash in multiple segments",()=>{let e=t("/usr/","/local/","/bin/");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()})});
|
|
2
|
-
//# sourceMappingURL=joinPath.test.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/common/joinPath/joinPath.ts","../../../src/common/joinPath/joinPath.test.ts"],"sourcesContent":["import { NonEmptyArray } from \"../../typeUtils/nonEmptyArray.js\";\n\ntype RemoveConsecutiveSlashes<T extends string> = T extends `${infer First}//${infer Rest}`\n ? RemoveConsecutiveSlashes<`${First}/${Rest}`>\n : T;\n\nexport type JoinPathResult<T extends string[]> = T extends [infer First, ...infer Rest]\n ? First extends string\n ? Rest extends NonEmptyArray<string>\n ? RemoveConsecutiveSlashes<`/${First}/${JoinPathResult<Rest>}`>\n : RemoveConsecutiveSlashes<`/${First}`>\n : never\n : never;\n\ntype RemoveTrailingSlash<T extends string> = T extends `${infer First}/` ? First : T;\n\nexport function joinPaths<T extends string[]>(...segments: T): RemoveTrailingSlash<JoinPathResult<T>> {\n return joinPathsSimple(...segments) as RemoveTrailingSlash<JoinPathResult<T>>;\n}\n\nfunction joinPathsSimple(...strings: string[]) {\n return prependLeadingSlash(\n strings\n .join(\"/\")\n .replace(/\\/+/g, \"/\") // Remove double slashes\n .replace(/\\/+$/, \"\"), // Remove trailing slash\n );\n}\n\nfunction prependLeadingSlash(str: string) {\n return str.startsWith(\"/\") ? str : `/${str}`;\n}\n","import { joinPaths } from \"./joinPath.js\";\n\ndescribe(\"joinPaths\", () => {\n it(\"should prepend a leading slash if not provided\", () => {\n const result = joinPaths(\"usr\", \"local\", \"bin\");\n expect(result).toBe(\"/usr/local/bin\");\n expectTypeOf(result).toEqualTypeOf<\"/usr/local/bin\">();\n });\n\n it(\"should not add extra leading slash if already present\", () => {\n const result = joinPaths(\"/usr\", \"local\");\n expect(result).toBe(\"/usr/local\");\n expectTypeOf(result).toEqualTypeOf<\"/usr/local\">();\n });\n\n it(\"should remove consecutive slashes\", () => {\n const result = joinPaths(\"usr//\", \"//local/\", \"///bin\");\n expect(result).toBe(\"/usr/local/bin\");\n expectTypeOf(result).toEqualTypeOf<\"/usr/local/bin\">();\n });\n\n it(\"should remove trailing slash from final result\", () => {\n const result = joinPaths(\"/usr\", \"local\", \"bin/\");\n expect(result).toBe(\"/usr/local/bin\");\n expectTypeOf(result).toEqualTypeOf<\"/usr/local/bin\">();\n });\n\n it(\"should handle single segment without slash\", () => {\n const result = joinPaths(\"home\");\n expect(result).toBe(\"/home\");\n expectTypeOf(result).toEqualTypeOf<\"/home\">();\n });\n\n it(\"should handle single segment with slash\", () => {\n const result = joinPaths(\"/home\");\n expect(result).toBe(\"/home\");\n expectTypeOf(result).toEqualTypeOf<\"/home\">();\n });\n\n it(\"should handle multiple empty segments\", () => {\n const result = joinPaths(\"\", \"\", \"usr\", \"\", \"local\", \"\");\n expect(result).toBe(\"/usr/local\");\n expectTypeOf(result).toEqualTypeOf<\"/usr/local\">();\n });\n\n it(\"should handle paths already normalized\", () => {\n const result = joinPaths(\"/usr\", \"local\", \"bin\");\n expect(result).toBe(\"/usr/local/bin\");\n expectTypeOf(result).toEqualTypeOf<\"/usr/local/bin\">();\n });\n\n it(\"should handle paths ending with slash in multiple segments\", () => {\n const result = joinPaths(\"/usr/\", \"/local/\", \"/bin/\");\n expect(result).toBe(\"/usr/local/bin\");\n expectTypeOf(result).toEqualTypeOf<\"/usr/local/bin\">();\n });\n});\n"],"mappings":"aAgBO,SAASA,KAAiCC,EAAqD,CACpG,OAAOC,EAAgB,GAAGD,CAAQ,CACpC,CAEA,SAASC,KAAmBC,EAAmB,CAC7C,OAAOC,EACLD,EACG,KAAK,GAAG,EACR,QAAQ,OAAQ,GAAG,EACnB,QAAQ,OAAQ,EAAE,CACvB,CACF,CAEA,SAASC,EAAoBC,EAAa,CACxC,OAAOA,EAAI,WAAW,GAAG,EAAIA,EAAM,IAAIA,CAAG,EAC5C,CC7BA,SAAS,YAAa,IAAM,CAC1B,GAAG,iDAAkD,IAAM,CACzD,IAAMC,EAASC,EAAU,MAAO,QAAS,KAAK,EAC9C,OAAOD,CAAM,EAAE,KAAK,gBAAgB,EACpC,aAAaA,CAAM,EAAE,cAAgC,CACvD,CAAC,EAED,GAAG,wDAAyD,IAAM,CAChE,IAAMA,EAASC,EAAU,OAAQ,OAAO,EACxC,OAAOD,CAAM,EAAE,KAAK,YAAY,EAChC,aAAaA,CAAM,EAAE,cAA4B,CACnD,CAAC,EAED,GAAG,oCAAqC,IAAM,CAC5C,IAAMA,EAASC,EAAU,QAAS,WAAY,QAAQ,EACtD,OAAOD,CAAM,EAAE,KAAK,gBAAgB,EACpC,aAAaA,CAAM,EAAE,cAAgC,CACvD,CAAC,EAED,GAAG,iDAAkD,IAAM,CACzD,IAAMA,EAASC,EAAU,OAAQ,QAAS,MAAM,EAChD,OAAOD,CAAM,EAAE,KAAK,gBAAgB,EACpC,aAAaA,CAAM,EAAE,cAAgC,CACvD,CAAC,EAED,GAAG,6CAA8C,IAAM,CACrD,IAAMA,EAASC,EAAU,MAAM,EAC/B,OAAOD,CAAM,EAAE,KAAK,OAAO,EAC3B,aAAaA,CAAM,EAAE,cAAuB,CAC9C,CAAC,EAED,GAAG,0CAA2C,IAAM,CAClD,IAAMA,EAASC,EAAU,OAAO,EAChC,OAAOD,CAAM,EAAE,KAAK,OAAO,EAC3B,aAAaA,CAAM,EAAE,cAAuB,CAC9C,CAAC,EAED,GAAG,wCAAyC,IAAM,CAChD,IAAMA,EAASC,EAAU,GAAI,GAAI,MAAO,GAAI,QAAS,EAAE,EACvD,OAAOD,CAAM,EAAE,KAAK,YAAY,EAChC,aAAaA,CAAM,EAAE,cAA4B,CACnD,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjD,IAAMA,EAASC,EAAU,OAAQ,QAAS,KAAK,EAC/C,OAAOD,CAAM,EAAE,KAAK,gBAAgB,EACpC,aAAaA,CAAM,EAAE,cAAgC,CACvD,CAAC,EAED,GAAG,6DAA8D,IAAM,CACrE,IAAMA,EAASC,EAAU,QAAS,UAAW,OAAO,EACpD,OAAOD,CAAM,EAAE,KAAK,gBAAgB,EACpC,aAAaA,CAAM,EAAE,cAAgC,CACvD,CAAC,CACH,CAAC","names":["joinPaths","segments","joinPathsSimple","strings","prependLeadingSlash","str","result","joinPaths"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as l}from"../../chunk-QV2IJM7J.js";describe("joinPaths",()=>{it("should prepend a leading slash if not provided",()=>{let e=l("usr","local","bin");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()}),it("should not add extra leading slash if already present",()=>{let e=l("/usr","local");expect(e).toBe("/usr/local"),expectTypeOf(e).toEqualTypeOf()}),it("should remove consecutive slashes",()=>{let e=l("usr//","//local/","///bin");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()}),it("should remove trailing slash from final result",()=>{let e=l("/usr","local","bin/");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()}),it("should handle single segment without slash",()=>{let e=l("home");expect(e).toBe("/home"),expectTypeOf(e).toEqualTypeOf()}),it("should handle single segment with slash",()=>{let e=l("/home");expect(e).toBe("/home"),expectTypeOf(e).toEqualTypeOf()}),it("should handle multiple empty segments",()=>{let e=l("","","usr","","local","");expect(e).toBe("/usr/local"),expectTypeOf(e).toEqualTypeOf()}),it("should handle paths already normalized",()=>{let e=l("/usr","local","bin");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()}),it("should handle paths ending with slash in multiple segments",()=>{let e=l("/usr/","/local/","/bin/");expect(e).toBe("/usr/local/bin"),expectTypeOf(e).toEqualTypeOf()})});
|
|
2
|
-
//# sourceMappingURL=joinPath.test.js.map
|