@esposter/shared 2.22.0 → 2.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +357 -4
- package/dist/index.js +528 -96
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -70,16 +70,22 @@ declare const RoutePath: {
|
|
|
70
70
|
};
|
|
71
71
|
type RoutePath = typeof RoutePath;
|
|
72
72
|
//#endregion
|
|
73
|
-
//#region src/util/types/
|
|
74
|
-
type GetProperties<T, P extends string = "", D extends unknown[] = [unknown, unknown, unknown, unknown, unknown], R extends boolean = true> = [T] extends [never] ? never : D extends [] ? never : NonNullable<T> extends infer O ? O extends unknown[] ? GetArrayProps<O, P, D, R> : O extends object ? GetObjectProps<O, P, D, R> : GetPrimitiveProps<O, P, D, R> : never;
|
|
73
|
+
//#region src/util/types/GetArrayProps.d.ts
|
|
75
74
|
type GetArrayProps<T extends unknown[], P extends string, D extends unknown[], R extends boolean> = (D extends [unknown, ...infer Rest] ? GetProperties<T[number], R extends true ? `${P}[number]` : `${P}.[number]`, Rest, false> : never) | {
|
|
76
75
|
path: R extends true ? "length" : `${P}.length`;
|
|
77
76
|
value: T["length"];
|
|
78
77
|
};
|
|
78
|
+
//#endregion
|
|
79
|
+
//#region src/util/types/KnownKeys.d.ts
|
|
80
|
+
type KnownKeys<T> = { [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K] };
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region src/util/types/GetObjectProps.d.ts
|
|
79
83
|
type GetObjectProps<T, P extends string, D extends unknown[], R extends boolean> = { [K in keyof KnownKeys<T> & (number | string)]: K extends `${number}` ? never : NonNullable<T[K]> extends Function ? never : (D extends [unknown, ...infer Rest] ? GetProperties<T[K], R extends true ? `${K}` : `${P}.${K}`, Rest, false> : never) | {
|
|
80
84
|
path: R extends true ? `${K}` : `${P}.${K}`;
|
|
81
85
|
value: T[K];
|
|
82
86
|
} }[keyof KnownKeys<T> & (number | string)];
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region src/util/types/GetPrimitiveProps.d.ts
|
|
83
89
|
type GetPrimitiveProps<T, P extends string, D extends unknown[], R extends boolean> = T extends string ? {
|
|
84
90
|
path: R extends true ? "length" : `${P}.length`;
|
|
85
91
|
value: number;
|
|
@@ -87,7 +93,9 @@ type GetPrimitiveProps<T, P extends string, D extends unknown[], R extends boole
|
|
|
87
93
|
path: R extends true ? "description" : `${P}.description`;
|
|
88
94
|
value: string | undefined;
|
|
89
95
|
} : never;
|
|
90
|
-
|
|
96
|
+
//#endregion
|
|
97
|
+
//#region src/util/types/GetProperties.d.ts
|
|
98
|
+
type GetProperties<T, P extends string = "", D extends unknown[] = [unknown, unknown, unknown, unknown, unknown], R extends boolean = true> = [T] extends [never] ? never : D extends [] ? never : NonNullable<T> extends infer O ? O extends unknown[] ? GetArrayProps<O, P, D, R> : O extends object ? GetObjectProps<O, P, D, R> : GetPrimitiveProps<O, P, D, R> : never;
|
|
91
99
|
//#endregion
|
|
92
100
|
//#region src/util/types/GetPaths.d.ts
|
|
93
101
|
type GetPaths<T> = GetProperties<T> extends infer U ? (U extends {
|
|
@@ -1689,6 +1697,33 @@ type PostPayloadFixed = Except<UserData, 'email'>;
|
|
|
1689
1697
|
type Except<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions = {}> = _Except<ObjectType, KeysType, ApplyDefaultOptions<ExceptOptions, DefaultExceptOptions, Options>>;
|
|
1690
1698
|
type _Except<ObjectType, KeysType extends keyof ObjectType, Options extends Required<ExceptOptions>> = { [KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType] } & (Options['requireExactProps'] extends true ? Partial<Record<KeysType, never>> : {});
|
|
1691
1699
|
//#endregion
|
|
1700
|
+
//#region ../../node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/promisable.d.ts
|
|
1701
|
+
/**
|
|
1702
|
+
Create a type that represents either the value or the value wrapped in `PromiseLike`.
|
|
1703
|
+
|
|
1704
|
+
Use-cases:
|
|
1705
|
+
- A function accepts a callback that may either return a value synchronously or may return a promised value.
|
|
1706
|
+
- This type could be the return type of `Promise#then()`, `Promise#catch()`, and `Promise#finally()` callbacks.
|
|
1707
|
+
|
|
1708
|
+
Please upvote [this issue](https://github.com/microsoft/TypeScript/issues/31394) if you want to have this type as a built-in in TypeScript.
|
|
1709
|
+
|
|
1710
|
+
@example
|
|
1711
|
+
```
|
|
1712
|
+
import type {Promisable} from 'type-fest';
|
|
1713
|
+
|
|
1714
|
+
async function logger(getLogEntry: () => Promisable<string>): Promise<void> {
|
|
1715
|
+
const entry = await getLogEntry();
|
|
1716
|
+
console.log(entry);
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
await logger(() => 'foo');
|
|
1720
|
+
await logger(() => Promise.resolve('bar'));
|
|
1721
|
+
```
|
|
1722
|
+
|
|
1723
|
+
@category Async
|
|
1724
|
+
*/
|
|
1725
|
+
type Promisable<T> = T | PromiseLike<T>;
|
|
1726
|
+
//#endregion
|
|
1692
1727
|
//#region ../../node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-lowercase.d.ts
|
|
1693
1728
|
/**
|
|
1694
1729
|
Returns a boolean for whether the given string literal is lowercase.
|
|
@@ -2042,6 +2077,318 @@ interface WithMetadata<TBase extends Class<NonNullable<unknown>>> {
|
|
|
2042
2077
|
//#region src/services/app/constants.d.ts
|
|
2043
2078
|
declare const SITE_NAME = "Esposter";
|
|
2044
2079
|
//#endregion
|
|
2080
|
+
//#region ../../node_modules/.pnpm/neverthrow@8.2.0/node_modules/neverthrow/dist/index.d.ts
|
|
2081
|
+
interface ErrorConfig {
|
|
2082
|
+
withStackTrace: boolean;
|
|
2083
|
+
}
|
|
2084
|
+
declare class ResultAsync<T, E> implements PromiseLike<Result<T, E>> {
|
|
2085
|
+
private _promise;
|
|
2086
|
+
constructor(res: Promise<Result<T, E>>);
|
|
2087
|
+
static fromSafePromise<T, E = never>(promise: PromiseLike<T>): ResultAsync<T, E>;
|
|
2088
|
+
static fromPromise<T, E>(promise: PromiseLike<T>, errorFn: (e: unknown) => E): ResultAsync<T, E>;
|
|
2089
|
+
static fromThrowable<A extends readonly any[], R, E>(fn: (...args: A) => Promise<R>, errorFn?: (err: unknown) => E): (...args: A) => ResultAsync<R, E>;
|
|
2090
|
+
static combine<T extends readonly [ResultAsync<unknown, unknown>, ...ResultAsync<unknown, unknown>[]]>(asyncResultList: T): CombineResultAsyncs<T>;
|
|
2091
|
+
static combine<T extends readonly ResultAsync<unknown, unknown>[]>(asyncResultList: T): CombineResultAsyncs<T>;
|
|
2092
|
+
static combineWithAllErrors<T extends readonly [ResultAsync<unknown, unknown>, ...ResultAsync<unknown, unknown>[]]>(asyncResultList: T): CombineResultsWithAllErrorsArrayAsync<T>;
|
|
2093
|
+
static combineWithAllErrors<T extends readonly ResultAsync<unknown, unknown>[]>(asyncResultList: T): CombineResultsWithAllErrorsArrayAsync<T>;
|
|
2094
|
+
map<A>(f: (t: T) => A | Promise<A>): ResultAsync<A, E>;
|
|
2095
|
+
andThrough<F>(f: (t: T) => Result<unknown, F> | ResultAsync<unknown, F>): ResultAsync<T, E | F>;
|
|
2096
|
+
andTee(f: (t: T) => unknown): ResultAsync<T, E>;
|
|
2097
|
+
orTee(f: (t: E) => unknown): ResultAsync<T, E>;
|
|
2098
|
+
mapErr<U>(f: (e: E) => U | Promise<U>): ResultAsync<T, U>;
|
|
2099
|
+
andThen<R extends Result<unknown, unknown>>(f: (t: T) => R): ResultAsync<InferOkTypes<R>, InferErrTypes<R> | E>;
|
|
2100
|
+
andThen<R extends ResultAsync<unknown, unknown>>(f: (t: T) => R): ResultAsync<InferAsyncOkTypes<R>, InferAsyncErrTypes<R> | E>;
|
|
2101
|
+
andThen<U, F>(f: (t: T) => Result<U, F> | ResultAsync<U, F>): ResultAsync<U, E | F>;
|
|
2102
|
+
orElse<R extends Result<unknown, unknown>>(f: (e: E) => R): ResultAsync<InferOkTypes<R> | T, InferErrTypes<R>>;
|
|
2103
|
+
orElse<R extends ResultAsync<unknown, unknown>>(f: (e: E) => R): ResultAsync<InferAsyncOkTypes<R> | T, InferAsyncErrTypes<R>>;
|
|
2104
|
+
orElse<U, A>(f: (e: E) => Result<U, A> | ResultAsync<U, A>): ResultAsync<U | T, A>;
|
|
2105
|
+
match<A, B = A>(ok: (t: T) => A, _err: (e: E) => B): Promise<A | B>;
|
|
2106
|
+
unwrapOr<A>(t: A): Promise<T | A>;
|
|
2107
|
+
/**
|
|
2108
|
+
* @deprecated will be removed in 9.0.0.
|
|
2109
|
+
*
|
|
2110
|
+
* You can use `safeTry` without this method.
|
|
2111
|
+
* @example
|
|
2112
|
+
* ```typescript
|
|
2113
|
+
* safeTry(async function* () {
|
|
2114
|
+
* const okValue = yield* yourResult
|
|
2115
|
+
* })
|
|
2116
|
+
* ```
|
|
2117
|
+
* Emulates Rust's `?` operator in `safeTry`'s body. See also `safeTry`.
|
|
2118
|
+
*/
|
|
2119
|
+
safeUnwrap(): AsyncGenerator<Err<never, E>, T>;
|
|
2120
|
+
then<A, B>(successCallback?: (res: Result<T, E>) => A | PromiseLike<A>, failureCallback?: (reason: unknown) => B | PromiseLike<B>): PromiseLike<A | B>;
|
|
2121
|
+
[Symbol.asyncIterator](): AsyncGenerator<Err<never, E>, T>;
|
|
2122
|
+
}
|
|
2123
|
+
declare type CombineResultAsyncs<T extends readonly ResultAsync<unknown, unknown>[]> = IsLiteralArray<T> extends 1 ? TraverseAsync<UnwrapAsync<T>> : ResultAsync<ExtractOkAsyncTypes<T>, ExtractErrAsyncTypes<T>[number]>;
|
|
2124
|
+
declare type CombineResultsWithAllErrorsArrayAsync<T extends readonly ResultAsync<unknown, unknown>[]> = IsLiteralArray<T> extends 1 ? TraverseWithAllErrorsAsync<UnwrapAsync<T>> : ResultAsync<ExtractOkAsyncTypes<T>, ExtractErrAsyncTypes<T>[number][]>;
|
|
2125
|
+
declare type UnwrapAsync<T> = IsLiteralArray<T> extends 1 ? Writable<T> extends [infer H, ...infer Rest] ? H extends PromiseLike<infer HI> ? HI extends Result<unknown, unknown> ? [Dedup<HI>, ...UnwrapAsync<Rest>] : never : never : [] : T extends Array<infer A> ? A extends PromiseLike<infer HI> ? HI extends Result<infer L, infer R> ? Ok<L, R>[] : never : never : never;
|
|
2126
|
+
declare type TraverseAsync<T, Depth extends number = 5> = IsLiteralArray<T> extends 1 ? Combine<T, Depth> extends [infer Oks, infer Errs] ? ResultAsync<EmptyArrayToNever<Oks>, MembersToUnion<Errs>> : never : T extends Array<infer I> ? Combine<MemberListOf<I>, Depth> extends [infer Oks, infer Errs] ? Oks extends unknown[] ? Errs extends unknown[] ? ResultAsync<EmptyArrayToNever<Oks[number][]>, MembersToUnion<Errs[number][]>> : ResultAsync<EmptyArrayToNever<Oks[number][]>, Errs> : Errs extends unknown[] ? ResultAsync<Oks, MembersToUnion<Errs[number][]>> : ResultAsync<Oks, Errs> : never : never;
|
|
2127
|
+
declare type TraverseWithAllErrorsAsync<T, Depth extends number = 5> = TraverseAsync<T, Depth> extends ResultAsync<infer Oks, infer Errs> ? ResultAsync<Oks, Errs[]> : never;
|
|
2128
|
+
declare type Writable<T> = T extends ReadonlyArray<unknown> ? [...T] : T;
|
|
2129
|
+
declare type ExtractOkTypes<T extends readonly Result<unknown, unknown>[]> = { [idx in keyof T]: T[idx] extends Result<infer U, unknown> ? U : never };
|
|
2130
|
+
declare type ExtractOkAsyncTypes<T extends readonly ResultAsync<unknown, unknown>[]> = { [idx in keyof T]: T[idx] extends ResultAsync<infer U, unknown> ? U : never };
|
|
2131
|
+
declare type ExtractErrTypes<T extends readonly Result<unknown, unknown>[]> = { [idx in keyof T]: T[idx] extends Result<unknown, infer E> ? E : never };
|
|
2132
|
+
declare type ExtractErrAsyncTypes<T extends readonly ResultAsync<unknown, unknown>[]> = { [idx in keyof T]: T[idx] extends ResultAsync<unknown, infer E> ? E : never };
|
|
2133
|
+
declare type InferOkTypes<R> = R extends Result<infer T, unknown> ? T : never;
|
|
2134
|
+
declare type InferErrTypes<R> = R extends Result<unknown, infer E> ? E : never;
|
|
2135
|
+
declare type InferAsyncOkTypes<R> = R extends ResultAsync<infer T, unknown> ? T : never;
|
|
2136
|
+
declare type InferAsyncErrTypes<R> = R extends ResultAsync<unknown, infer E> ? E : never;
|
|
2137
|
+
declare namespace Result {
|
|
2138
|
+
/**
|
|
2139
|
+
* Wraps a function with a try catch, creating a new function with the same
|
|
2140
|
+
* arguments but returning `Ok` if successful, `Err` if the function throws
|
|
2141
|
+
*
|
|
2142
|
+
* @param fn function to wrap with ok on success or err on failure
|
|
2143
|
+
* @param errorFn when an error is thrown, this will wrap the error result if provided
|
|
2144
|
+
*/
|
|
2145
|
+
function fromThrowable<Fn extends (...args: readonly any[]) => any, E>(fn: Fn, errorFn?: (e: unknown) => E): (...args: Parameters<Fn>) => Result<ReturnType<Fn>, E>;
|
|
2146
|
+
function combine<T extends readonly [Result<unknown, unknown>, ...Result<unknown, unknown>[]]>(resultList: T): CombineResults<T>;
|
|
2147
|
+
function combine<T extends readonly Result<unknown, unknown>[]>(resultList: T): CombineResults<T>;
|
|
2148
|
+
function combineWithAllErrors<T extends readonly [Result<unknown, unknown>, ...Result<unknown, unknown>[]]>(resultList: T): CombineResultsWithAllErrorsArray<T>;
|
|
2149
|
+
function combineWithAllErrors<T extends readonly Result<unknown, unknown>[]>(resultList: T): CombineResultsWithAllErrorsArray<T>;
|
|
2150
|
+
}
|
|
2151
|
+
declare type Result<T, E> = Ok<T, E> | Err<T, E>;
|
|
2152
|
+
interface IResult<T, E> {
|
|
2153
|
+
/**
|
|
2154
|
+
* Used to check if a `Result` is an `OK`
|
|
2155
|
+
*
|
|
2156
|
+
* @returns `true` if the result is an `OK` variant of Result
|
|
2157
|
+
*/
|
|
2158
|
+
isOk(): this is Ok<T, E>;
|
|
2159
|
+
/**
|
|
2160
|
+
* Used to check if a `Result` is an `Err`
|
|
2161
|
+
*
|
|
2162
|
+
* @returns `true` if the result is an `Err` variant of Result
|
|
2163
|
+
*/
|
|
2164
|
+
isErr(): this is Err<T, E>;
|
|
2165
|
+
/**
|
|
2166
|
+
* Maps a `Result<T, E>` to `Result<U, E>`
|
|
2167
|
+
* by applying a function to a contained `Ok` value, leaving an `Err` value
|
|
2168
|
+
* untouched.
|
|
2169
|
+
*
|
|
2170
|
+
* @param f The function to apply an `OK` value
|
|
2171
|
+
* @returns the result of applying `f` or an `Err` untouched
|
|
2172
|
+
*/
|
|
2173
|
+
map<A>(f: (t: T) => A): Result<A, E>;
|
|
2174
|
+
/**
|
|
2175
|
+
* Maps a `Result<T, E>` to `Result<T, F>` by applying a function to a
|
|
2176
|
+
* contained `Err` value, leaving an `Ok` value untouched.
|
|
2177
|
+
*
|
|
2178
|
+
* This function can be used to pass through a successful result while
|
|
2179
|
+
* handling an error.
|
|
2180
|
+
*
|
|
2181
|
+
* @param f a function to apply to the error `Err` value
|
|
2182
|
+
*/
|
|
2183
|
+
mapErr<U>(f: (e: E) => U): Result<T, U>;
|
|
2184
|
+
/**
|
|
2185
|
+
* Similar to `map` Except you must return a new `Result`.
|
|
2186
|
+
*
|
|
2187
|
+
* This is useful for when you need to do a subsequent computation using the
|
|
2188
|
+
* inner `T` value, but that computation might fail.
|
|
2189
|
+
* Additionally, `andThen` is really useful as a tool to flatten a
|
|
2190
|
+
* `Result<Result<A, E2>, E1>` into a `Result<A, E2>` (see example below).
|
|
2191
|
+
*
|
|
2192
|
+
* @param f The function to apply to the current value
|
|
2193
|
+
*/
|
|
2194
|
+
andThen<R extends Result<unknown, unknown>>(f: (t: T) => R): Result<InferOkTypes<R>, InferErrTypes<R> | E>;
|
|
2195
|
+
andThen<U, F>(f: (t: T) => Result<U, F>): Result<U, E | F>;
|
|
2196
|
+
/**
|
|
2197
|
+
* This "tee"s the current value to an passed-in computation such as side
|
|
2198
|
+
* effect functions but still returns the same current value as the result.
|
|
2199
|
+
*
|
|
2200
|
+
* This is useful when you want to pass the current result to your side-track
|
|
2201
|
+
* work such as logging but want to continue main-track work after that.
|
|
2202
|
+
* This method does not care about the result of the passed in computation.
|
|
2203
|
+
*
|
|
2204
|
+
* @param f The function to apply to the current value
|
|
2205
|
+
*/
|
|
2206
|
+
andTee(f: (t: T) => unknown): Result<T, E>;
|
|
2207
|
+
/**
|
|
2208
|
+
* This "tee"s the current `Err` value to an passed-in computation such as side
|
|
2209
|
+
* effect functions but still returns the same `Err` value as the result.
|
|
2210
|
+
*
|
|
2211
|
+
* This is useful when you want to pass the current `Err` value to your side-track
|
|
2212
|
+
* work such as logging but want to continue error-track work after that.
|
|
2213
|
+
* This method does not care about the result of the passed in computation.
|
|
2214
|
+
*
|
|
2215
|
+
* @param f The function to apply to the current `Err` value
|
|
2216
|
+
*/
|
|
2217
|
+
orTee(f: (t: E) => unknown): Result<T, E>;
|
|
2218
|
+
/**
|
|
2219
|
+
* Similar to `andTee` except error result of the computation will be passed
|
|
2220
|
+
* to the downstream in case of an error.
|
|
2221
|
+
*
|
|
2222
|
+
* This version is useful when you want to make side-effects but in case of an
|
|
2223
|
+
* error, you want to pass the error to the downstream.
|
|
2224
|
+
*
|
|
2225
|
+
* @param f The function to apply to the current value
|
|
2226
|
+
*/
|
|
2227
|
+
andThrough<R extends Result<unknown, unknown>>(f: (t: T) => R): Result<T, InferErrTypes<R> | E>;
|
|
2228
|
+
andThrough<F>(f: (t: T) => Result<unknown, F>): Result<T, E | F>;
|
|
2229
|
+
/**
|
|
2230
|
+
* Takes an `Err` value and maps it to a `Result<T, SomeNewType>`.
|
|
2231
|
+
*
|
|
2232
|
+
* This is useful for error recovery.
|
|
2233
|
+
*
|
|
2234
|
+
*
|
|
2235
|
+
* @param f A function to apply to an `Err` value, leaving `Ok` values
|
|
2236
|
+
* untouched.
|
|
2237
|
+
*/
|
|
2238
|
+
orElse<R extends Result<unknown, unknown>>(f: (e: E) => R): Result<InferOkTypes<R> | T, InferErrTypes<R>>;
|
|
2239
|
+
orElse<U, A>(f: (e: E) => Result<U, A>): Result<U | T, A>;
|
|
2240
|
+
/**
|
|
2241
|
+
* Similar to `map` Except you must return a new `Result`.
|
|
2242
|
+
*
|
|
2243
|
+
* This is useful for when you need to do a subsequent async computation using
|
|
2244
|
+
* the inner `T` value, but that computation might fail. Must return a ResultAsync
|
|
2245
|
+
*
|
|
2246
|
+
* @param f The function that returns a `ResultAsync` to apply to the current
|
|
2247
|
+
* value
|
|
2248
|
+
*/
|
|
2249
|
+
asyncAndThen<U, F>(f: (t: T) => ResultAsync<U, F>): ResultAsync<U, E | F>;
|
|
2250
|
+
/**
|
|
2251
|
+
* Maps a `Result<T, E>` to `ResultAsync<U, E>`
|
|
2252
|
+
* by applying an async function to a contained `Ok` value, leaving an `Err`
|
|
2253
|
+
* value untouched.
|
|
2254
|
+
*
|
|
2255
|
+
* @param f An async function to apply an `OK` value
|
|
2256
|
+
*/
|
|
2257
|
+
asyncMap<U>(f: (t: T) => Promise<U>): ResultAsync<U, E>;
|
|
2258
|
+
/**
|
|
2259
|
+
* Unwrap the `Ok` value, or return the default if there is an `Err`
|
|
2260
|
+
*
|
|
2261
|
+
* @param v the default value to return if there is an `Err`
|
|
2262
|
+
*/
|
|
2263
|
+
unwrapOr<A>(v: A): T | A;
|
|
2264
|
+
/**
|
|
2265
|
+
*
|
|
2266
|
+
* Given 2 functions (one for the `Ok` variant and one for the `Err` variant)
|
|
2267
|
+
* execute the function that matches the `Result` variant.
|
|
2268
|
+
*
|
|
2269
|
+
* Match callbacks do not necessitate to return a `Result`, however you can
|
|
2270
|
+
* return a `Result` if you want to.
|
|
2271
|
+
*
|
|
2272
|
+
* `match` is like chaining `map` and `mapErr`, with the distinction that
|
|
2273
|
+
* with `match` both functions must have the same return type.
|
|
2274
|
+
*
|
|
2275
|
+
* @param ok
|
|
2276
|
+
* @param err
|
|
2277
|
+
*/
|
|
2278
|
+
match<A, B = A>(ok: (t: T) => A, err: (e: E) => B): A | B;
|
|
2279
|
+
/**
|
|
2280
|
+
* @deprecated will be removed in 9.0.0.
|
|
2281
|
+
*
|
|
2282
|
+
* You can use `safeTry` without this method.
|
|
2283
|
+
* @example
|
|
2284
|
+
* ```typescript
|
|
2285
|
+
* safeTry(function* () {
|
|
2286
|
+
* const okValue = yield* yourResult
|
|
2287
|
+
* })
|
|
2288
|
+
* ```
|
|
2289
|
+
* Emulates Rust's `?` operator in `safeTry`'s body. See also `safeTry`.
|
|
2290
|
+
*/
|
|
2291
|
+
safeUnwrap(): Generator<Err<never, E>, T>;
|
|
2292
|
+
/**
|
|
2293
|
+
* **This method is unsafe, and should only be used in a test environments**
|
|
2294
|
+
*
|
|
2295
|
+
* Takes a `Result<T, E>` and returns a `T` when the result is an `Ok`, otherwise it throws a custom object.
|
|
2296
|
+
*
|
|
2297
|
+
* @param config
|
|
2298
|
+
*/
|
|
2299
|
+
_unsafeUnwrap(config?: ErrorConfig): T;
|
|
2300
|
+
/**
|
|
2301
|
+
* **This method is unsafe, and should only be used in a test environments**
|
|
2302
|
+
*
|
|
2303
|
+
* takes a `Result<T, E>` and returns a `E` when the result is an `Err`,
|
|
2304
|
+
* otherwise it throws a custom object.
|
|
2305
|
+
*
|
|
2306
|
+
* @param config
|
|
2307
|
+
*/
|
|
2308
|
+
_unsafeUnwrapErr(config?: ErrorConfig): E;
|
|
2309
|
+
}
|
|
2310
|
+
declare class Ok<T, E> implements IResult<T, E> {
|
|
2311
|
+
readonly value: T;
|
|
2312
|
+
constructor(value: T);
|
|
2313
|
+
isOk(): this is Ok<T, E>;
|
|
2314
|
+
isErr(): this is Err<T, E>;
|
|
2315
|
+
map<A>(f: (t: T) => A): Result<A, E>;
|
|
2316
|
+
mapErr<U>(_f: (e: E) => U): Result<T, U>;
|
|
2317
|
+
andThen<R extends Result<unknown, unknown>>(f: (t: T) => R): Result<InferOkTypes<R>, InferErrTypes<R> | E>;
|
|
2318
|
+
andThen<U, F>(f: (t: T) => Result<U, F>): Result<U, E | F>;
|
|
2319
|
+
andThrough<R extends Result<unknown, unknown>>(f: (t: T) => R): Result<T, InferErrTypes<R> | E>;
|
|
2320
|
+
andThrough<F>(f: (t: T) => Result<unknown, F>): Result<T, E | F>;
|
|
2321
|
+
andTee(f: (t: T) => unknown): Result<T, E>;
|
|
2322
|
+
orTee(_f: (t: E) => unknown): Result<T, E>;
|
|
2323
|
+
orElse<R extends Result<unknown, unknown>>(_f: (e: E) => R): Result<InferOkTypes<R> | T, InferErrTypes<R>>;
|
|
2324
|
+
orElse<U, A>(_f: (e: E) => Result<U, A>): Result<U | T, A>;
|
|
2325
|
+
asyncAndThen<U, F>(f: (t: T) => ResultAsync<U, F>): ResultAsync<U, E | F>;
|
|
2326
|
+
asyncAndThrough<R extends ResultAsync<unknown, unknown>>(f: (t: T) => R): ResultAsync<T, InferAsyncErrTypes<R> | E>;
|
|
2327
|
+
asyncAndThrough<F>(f: (t: T) => ResultAsync<unknown, F>): ResultAsync<T, E | F>;
|
|
2328
|
+
asyncMap<U>(f: (t: T) => Promise<U>): ResultAsync<U, E>;
|
|
2329
|
+
unwrapOr<A>(_v: A): T | A;
|
|
2330
|
+
match<A, B = A>(ok: (t: T) => A, _err: (e: E) => B): A | B;
|
|
2331
|
+
safeUnwrap(): Generator<Err<never, E>, T>;
|
|
2332
|
+
_unsafeUnwrap(_?: ErrorConfig): T;
|
|
2333
|
+
_unsafeUnwrapErr(config?: ErrorConfig): E;
|
|
2334
|
+
[Symbol.iterator](): Generator<Err<never, E>, T>;
|
|
2335
|
+
}
|
|
2336
|
+
declare class Err<T, E> implements IResult<T, E> {
|
|
2337
|
+
readonly error: E;
|
|
2338
|
+
constructor(error: E);
|
|
2339
|
+
isOk(): this is Ok<T, E>;
|
|
2340
|
+
isErr(): this is Err<T, E>;
|
|
2341
|
+
map<A>(_f: (t: T) => A): Result<A, E>;
|
|
2342
|
+
mapErr<U>(f: (e: E) => U): Result<T, U>;
|
|
2343
|
+
andThrough<F>(_f: (t: T) => Result<unknown, F>): Result<T, E | F>;
|
|
2344
|
+
andTee(_f: (t: T) => unknown): Result<T, E>;
|
|
2345
|
+
orTee(f: (t: E) => unknown): Result<T, E>;
|
|
2346
|
+
andThen<R extends Result<unknown, unknown>>(_f: (t: T) => R): Result<InferOkTypes<R>, InferErrTypes<R> | E>;
|
|
2347
|
+
andThen<U, F>(_f: (t: T) => Result<U, F>): Result<U, E | F>;
|
|
2348
|
+
orElse<R extends Result<unknown, unknown>>(f: (e: E) => R): Result<InferOkTypes<R> | T, InferErrTypes<R>>;
|
|
2349
|
+
orElse<U, A>(f: (e: E) => Result<U, A>): Result<U | T, A>;
|
|
2350
|
+
asyncAndThen<U, F>(_f: (t: T) => ResultAsync<U, F>): ResultAsync<U, E | F>;
|
|
2351
|
+
asyncAndThrough<F>(_f: (t: T) => ResultAsync<unknown, F>): ResultAsync<T, E | F>;
|
|
2352
|
+
asyncMap<U>(_f: (t: T) => Promise<U>): ResultAsync<U, E>;
|
|
2353
|
+
unwrapOr<A>(v: A): T | A;
|
|
2354
|
+
match<A, B = A>(_ok: (t: T) => A, err: (e: E) => B): A | B;
|
|
2355
|
+
safeUnwrap(): Generator<Err<never, E>, T>;
|
|
2356
|
+
_unsafeUnwrap(config?: ErrorConfig): T;
|
|
2357
|
+
_unsafeUnwrapErr(_?: ErrorConfig): E;
|
|
2358
|
+
[Symbol.iterator](): Generator<Err<never, E>, T>;
|
|
2359
|
+
}
|
|
2360
|
+
declare type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, ...0[]];
|
|
2361
|
+
declare type CollectResults<T, Collected extends unknown[] = [], Depth extends number = 50> = [Depth] extends [never] ? [] : T extends [infer H, ...infer Rest] ? H extends Result<infer L, infer R> ? CollectResults<Rest, [...Collected, [L, R]], Prev[Depth]> : never : Collected;
|
|
2362
|
+
declare type Transpose<A, Transposed extends unknown[][] = [], Depth extends number = 10> = A extends [infer T, ...infer Rest] ? T extends [infer L, infer R] ? Transposed extends [infer PL, infer PR] ? PL extends unknown[] ? PR extends unknown[] ? Transpose<Rest, [[...PL, L], [...PR, R]], Prev[Depth]> : never : never : Transpose<Rest, [[L], [R]], Prev[Depth]> : Transposed : Transposed;
|
|
2363
|
+
declare type Combine<T, Depth extends number = 5> = Transpose<CollectResults<T>, [], Depth> extends [infer L, infer R] ? [UnknownMembersToNever<L>, UnknownMembersToNever<R>] : Transpose<CollectResults<T>, [], Depth> extends [] ? [[], []] : never;
|
|
2364
|
+
declare type Dedup<T> = T extends Result<infer RL, infer RR> ? [unknown] extends [RL] ? Err<RL, RR> : Ok<RL, RR> : T;
|
|
2365
|
+
declare type MemberListOf<T> = ((T extends unknown ? (t: T) => T : never) extends infer U ? (U extends unknown ? (u: U) => unknown : never) extends ((v: infer V) => unknown) ? V : never : never) extends ((_: unknown) => infer W) ? [...MemberListOf<Exclude<T, W>>, W] : [];
|
|
2366
|
+
declare type EmptyArrayToNever<T, NeverArrayToNever extends number = 0> = T extends [] ? never : NeverArrayToNever extends 1 ? T extends [never, ...infer Rest] ? [EmptyArrayToNever<Rest>] extends [never] ? never : T : T : T;
|
|
2367
|
+
declare type UnknownMembersToNever<T> = T extends [infer H, ...infer R] ? [[unknown] extends [H] ? never : H, ...UnknownMembersToNever<R>] : T;
|
|
2368
|
+
declare type MembersToUnion<T> = T extends unknown[] ? T[number] : never;
|
|
2369
|
+
declare type IsLiteralArray<T> = T extends {
|
|
2370
|
+
length: infer L;
|
|
2371
|
+
} ? L extends number ? number extends L ? 0 : 1 : 0 : 0;
|
|
2372
|
+
declare type Traverse<T, Depth extends number = 5> = Combine<T, Depth> extends [infer Oks, infer Errs] ? Result<EmptyArrayToNever<Oks, 1>, MembersToUnion<Errs>> : never;
|
|
2373
|
+
declare type TraverseWithAllErrors<T, Depth extends number = 5> = Traverse<T, Depth> extends Result<infer Oks, infer Errs> ? Result<Oks, Errs[]> : never;
|
|
2374
|
+
declare type CombineResults<T extends readonly Result<unknown, unknown>[]> = IsLiteralArray<T> extends 1 ? Traverse<T> : Result<ExtractOkTypes<T>, ExtractErrTypes<T>[number]>;
|
|
2375
|
+
declare type CombineResultsWithAllErrorsArray<T extends readonly Result<unknown, unknown>[]> = IsLiteralArray<T> extends 1 ? TraverseWithAllErrors<T> : Result<ExtractOkTypes<T>, ExtractErrTypes<T>[number][]>;
|
|
2376
|
+
//#endregion
|
|
2377
|
+
//#region src/services/error/getResult.d.ts
|
|
2378
|
+
declare const getResult: <T>(fn: () => T) => Result<T, Error>;
|
|
2379
|
+
//#endregion
|
|
2380
|
+
//#region src/services/error/getResultAsync.d.ts
|
|
2381
|
+
declare const getResultAsync: <T>(fn: () => Promise<T>) => ResultAsync<T, Error>;
|
|
2382
|
+
//#endregion
|
|
2383
|
+
//#region src/services/error/toAppError.d.ts
|
|
2384
|
+
declare const toAppError: (error: unknown) => Error;
|
|
2385
|
+
//#endregion
|
|
2386
|
+
//#region src/services/error/withFinalizer.d.ts
|
|
2387
|
+
declare const withFinalizer: <T>(fn: () => T, finalizer?: () => void) => T;
|
|
2388
|
+
//#endregion
|
|
2389
|
+
//#region src/services/error/withFinalizerAsync.d.ts
|
|
2390
|
+
declare const withFinalizerAsync: <T>(fn: () => Promisable<T>, finalizer?: () => Promisable<void>) => Promise<T>;
|
|
2391
|
+
//#endregion
|
|
2045
2392
|
//#region src/services/message/constants.d.ts
|
|
2046
2393
|
declare const MENTION_ID_ATTRIBUTE = "data-id";
|
|
2047
2394
|
declare const MENTION_LABEL_ATTRIBUTE = "data-label";
|
|
@@ -2370,6 +2717,9 @@ declare const takeOne: TakeOne;
|
|
|
2370
2717
|
//#region src/util/environment/getIsServer.d.ts
|
|
2371
2718
|
declare const getIsServer: () => boolean;
|
|
2372
2719
|
//#endregion
|
|
2720
|
+
//#region src/util/function/noop.d.ts
|
|
2721
|
+
declare const noop: () => void;
|
|
2722
|
+
//#endregion
|
|
2373
2723
|
//#region src/util/id/constants.d.ts
|
|
2374
2724
|
declare const ID_SEPARATOR = "|";
|
|
2375
2725
|
//#endregion
|
|
@@ -2400,6 +2750,9 @@ declare const escapeRegExp: (string: string) => string;
|
|
|
2400
2750
|
//#region src/util/text/capitalize.d.ts
|
|
2401
2751
|
declare const capitalize: (string: string) => string;
|
|
2402
2752
|
//#endregion
|
|
2753
|
+
//#region src/util/text/normalizeString.d.ts
|
|
2754
|
+
declare const normalizeString: (value: null | string | undefined) => string;
|
|
2755
|
+
//#endregion
|
|
2403
2756
|
//#region src/util/text/streamToText.d.ts
|
|
2404
2757
|
declare const streamToText: (readable: NodeJS.ReadableStream) => Promise<string>;
|
|
2405
2758
|
//#endregion
|
|
@@ -2458,4 +2811,4 @@ declare const UUIDV4_REGEX: RegExp;
|
|
|
2458
2811
|
//#region src/util/id/uuid/uuidValidateV4.d.ts
|
|
2459
2812
|
declare const uuidValidateV4: (uuid: string) => boolean;
|
|
2460
2813
|
//#endregion
|
|
2461
|
-
export { AllSpecialValues, BuildTuple, DeepOmit, DeepOptionalUndefined, ExcludeFunctionProperties, ForbiddenError, FunctionProperties, GetPaths, GetProperties, ID_SEPARATOR, InvalidOperationError, ItemEntityType, ItemEntityTypePropertyNames, ItemMetadata, ItemMetadataPropertyNames, MENTION_EVERYONE_ID, MENTION_HERE_ID, MENTION_ID_ATTRIBUTE, MENTION_LABEL_ATTRIBUTE, MENTION_TYPE, MENTION_TYPE_ATTRIBUTE, MapValue, MergeObjectsStrict, NIL, NotFoundError, NotInitializedError, Operation, PropertyNames, RoutePath, SITE_NAME, SURVEY_DISPLAY_NAME, Serializable, SkipFirst, TakeFirst, TakeOne, ToData, TupleSlice, TupleSplit, TupleSplitHead, TupleSplitTail, UUIDV4_REGEX, WithMetadata, applyItemMetadataMixin, capitalize, createItemEntityTypeSchema, css, escapeRegExp, exhaustiveGuard, getIsServer, getMentions, getPropertyNames, getRawData, hrtime, html, isPlainObject, itemMetadataSchema, jsonDateParse, mergeObjectsStrict, now, streamToText, takeOne, toKebabCase, toRawDeep, truncate, uncapitalize, uuidValidateV4 };
|
|
2814
|
+
export { AllSpecialValues, BuildTuple, DeepOmit, DeepOptionalUndefined, ExcludeFunctionProperties, ForbiddenError, FunctionProperties, GetArrayProps, GetObjectProps, GetPaths, GetPrimitiveProps, GetProperties, ID_SEPARATOR, InvalidOperationError, ItemEntityType, ItemEntityTypePropertyNames, ItemMetadata, ItemMetadataPropertyNames, KnownKeys, MENTION_EVERYONE_ID, MENTION_HERE_ID, MENTION_ID_ATTRIBUTE, MENTION_LABEL_ATTRIBUTE, MENTION_TYPE, MENTION_TYPE_ATTRIBUTE, MapValue, MergeObjectsStrict, NIL, NotFoundError, NotInitializedError, Operation, PropertyNames, RoutePath, SITE_NAME, SURVEY_DISPLAY_NAME, Serializable, SkipFirst, TakeFirst, TakeOne, ToData, TupleSlice, TupleSplit, TupleSplitHead, TupleSplitTail, UUIDV4_REGEX, WithMetadata, applyItemMetadataMixin, capitalize, createItemEntityTypeSchema, css, escapeRegExp, exhaustiveGuard, getIsServer, getMentions, getPropertyNames, getRawData, getResult, getResultAsync, hrtime, html, isPlainObject, itemMetadataSchema, jsonDateParse, mergeObjectsStrict, noop, normalizeString, now, streamToText, takeOne, toAppError, toKebabCase, toRawDeep, truncate, uncapitalize, uuidValidateV4, withFinalizer, withFinalizerAsync };
|
package/dist/index.js
CHANGED
|
@@ -27,6 +27,9 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
27
27
|
};
|
|
28
28
|
var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
//#endregion
|
|
30
|
+
//#region src/util/function/noop.ts
|
|
31
|
+
const noop = () => {};
|
|
32
|
+
//#endregion
|
|
30
33
|
//#region src/test/constants.ts
|
|
31
34
|
const AllSpecialValues = [
|
|
32
35
|
{
|
|
@@ -67,11 +70,11 @@ const AllSpecialValues = [
|
|
|
67
70
|
},
|
|
68
71
|
{
|
|
69
72
|
isPlainObject: false,
|
|
70
|
-
value:
|
|
73
|
+
value: noop
|
|
71
74
|
},
|
|
72
75
|
{
|
|
73
76
|
isPlainObject: false,
|
|
74
|
-
value: /* @__PURE__ */ new RegExp("")
|
|
77
|
+
value: /* @__PURE__ */ new RegExp("", "u")
|
|
75
78
|
}
|
|
76
79
|
];
|
|
77
80
|
//#endregion
|
|
@@ -180,9 +183,9 @@ let Operation = /* @__PURE__ */ function(Operation) {
|
|
|
180
183
|
return Operation;
|
|
181
184
|
}({});
|
|
182
185
|
//#endregion
|
|
183
|
-
//#region ../../node_modules/.pnpm/@vue+shared@3.5.
|
|
186
|
+
//#region ../../node_modules/.pnpm/@vue+shared@3.5.34/node_modules/@vue/shared/dist/shared.esm-bundler.js
|
|
184
187
|
/**
|
|
185
|
-
* @vue/shared v3.5.
|
|
188
|
+
* @vue/shared v3.5.34
|
|
186
189
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
187
190
|
* @license MIT
|
|
188
191
|
**/
|
|
@@ -195,7 +198,6 @@ function makeMap(str) {
|
|
|
195
198
|
const EMPTY_OBJ = Object.freeze({});
|
|
196
199
|
Object.freeze([]);
|
|
197
200
|
const NOOP = () => {};
|
|
198
|
-
const NO = () => false;
|
|
199
201
|
const extend = Object.assign;
|
|
200
202
|
const remove = (arr, el) => {
|
|
201
203
|
const i = arr.indexOf(el);
|
|
@@ -226,18 +228,9 @@ const cacheStringFunction$1 = (fn) => {
|
|
|
226
228
|
return cache[str] || (cache[str] = fn(str));
|
|
227
229
|
});
|
|
228
230
|
};
|
|
229
|
-
const camelizeRE$1 = /-\w/g;
|
|
230
|
-
cacheStringFunction$1((str) => {
|
|
231
|
-
return str.replace(camelizeRE$1, (c) => c.slice(1).toUpperCase());
|
|
232
|
-
});
|
|
233
|
-
const hyphenateRE$1 = /\B([A-Z])/g;
|
|
234
|
-
cacheStringFunction$1((str) => str.replace(hyphenateRE$1, "-$1").toLowerCase());
|
|
235
231
|
const capitalize$1 = cacheStringFunction$1((str) => {
|
|
236
232
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
237
233
|
});
|
|
238
|
-
const toHandlerKey = cacheStringFunction$1((str) => {
|
|
239
|
-
return str ? `on${capitalize$1(str)}` : ``;
|
|
240
|
-
});
|
|
241
234
|
const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
|
|
242
235
|
const def = (obj, key, value, writable = false) => {
|
|
243
236
|
Object.defineProperty(obj, key, {
|
|
@@ -252,9 +245,9 @@ const getGlobalThis = () => {
|
|
|
252
245
|
return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
|
|
253
246
|
};
|
|
254
247
|
//#endregion
|
|
255
|
-
//#region ../../node_modules/.pnpm/@vue+reactivity@3.5.
|
|
248
|
+
//#region ../../node_modules/.pnpm/@vue+reactivity@3.5.34/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
|
|
256
249
|
/**
|
|
257
|
-
* @vue/reactivity v3.5.
|
|
250
|
+
* @vue/reactivity v3.5.34
|
|
258
251
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
259
252
|
* @license MIT
|
|
260
253
|
**/
|
|
@@ -1354,9 +1347,9 @@ function traverse(value, depth = Infinity, seen) {
|
|
|
1354
1347
|
return value;
|
|
1355
1348
|
}
|
|
1356
1349
|
//#endregion
|
|
1357
|
-
//#region ../../node_modules/.pnpm/@vue+runtime-core@3.5.
|
|
1350
|
+
//#region ../../node_modules/.pnpm/@vue+runtime-core@3.5.34/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
|
|
1358
1351
|
/**
|
|
1359
|
-
* @vue/runtime-core v3.5.
|
|
1352
|
+
* @vue/runtime-core v3.5.34
|
|
1360
1353
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
1361
1354
|
* @license MIT
|
|
1362
1355
|
**/
|
|
@@ -1828,34 +1821,6 @@ function createPathGetter(ctx, path) {
|
|
|
1828
1821
|
}
|
|
1829
1822
|
getGlobalThis().requestIdleCallback;
|
|
1830
1823
|
getGlobalThis().cancelIdleCallback;
|
|
1831
|
-
function injectHook(type, hook, target = currentInstance, prepend = false) {
|
|
1832
|
-
if (target) {
|
|
1833
|
-
const hooks = target[type] || (target[type] = []);
|
|
1834
|
-
const wrappedHook = hook.__weh || (hook.__weh = (...args) => {
|
|
1835
|
-
pauseTracking();
|
|
1836
|
-
const reset = setCurrentInstance(target);
|
|
1837
|
-
const res = callWithAsyncErrorHandling(hook, target, type, args);
|
|
1838
|
-
reset();
|
|
1839
|
-
resetTracking();
|
|
1840
|
-
return res;
|
|
1841
|
-
});
|
|
1842
|
-
if (prepend) hooks.unshift(wrappedHook);
|
|
1843
|
-
else hooks.push(wrappedHook);
|
|
1844
|
-
return wrappedHook;
|
|
1845
|
-
} else warn$1(`${toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, ""))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`);
|
|
1846
|
-
}
|
|
1847
|
-
const createHook = (lifecycle) => (hook, target = currentInstance) => {
|
|
1848
|
-
if (!isInSSRComponentSetup || lifecycle === "sp") injectHook(lifecycle, (...args) => hook(...args), target);
|
|
1849
|
-
};
|
|
1850
|
-
createHook("bm");
|
|
1851
|
-
createHook("m");
|
|
1852
|
-
createHook("bu");
|
|
1853
|
-
createHook("u");
|
|
1854
|
-
createHook("bum");
|
|
1855
|
-
createHook("um");
|
|
1856
|
-
createHook("sp");
|
|
1857
|
-
createHook("rtg");
|
|
1858
|
-
createHook("rtc");
|
|
1859
1824
|
const getPublicInstance = (i) => {
|
|
1860
1825
|
if (!i) return null;
|
|
1861
1826
|
if (isStatefulComponent(i)) return getComponentPublicInstance(i);
|
|
@@ -1911,10 +1876,8 @@ const PublicInstanceProxyHandlers = {
|
|
|
1911
1876
|
const publicGetter = publicPropertiesMap[key];
|
|
1912
1877
|
let cssModule, globalProperties;
|
|
1913
1878
|
if (publicGetter) {
|
|
1914
|
-
if (key === "$attrs")
|
|
1915
|
-
|
|
1916
|
-
markAttrsAccessed();
|
|
1917
|
-
} else if (key === "$slots") track(instance, "get", key);
|
|
1879
|
+
if (key === "$attrs") track(instance.attrs, "get", "");
|
|
1880
|
+
else if (key === "$slots") track(instance, "get", key);
|
|
1918
1881
|
return publicGetter(instance);
|
|
1919
1882
|
} else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) return cssModule;
|
|
1920
1883
|
else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
|
|
@@ -2056,36 +2019,13 @@ function mergeWatchOptions(to, from) {
|
|
|
2056
2019
|
for (const key in from) merged[key] = mergeAsArray(to[key], from[key]);
|
|
2057
2020
|
return merged;
|
|
2058
2021
|
}
|
|
2059
|
-
function createAppContext() {
|
|
2060
|
-
return {
|
|
2061
|
-
app: null,
|
|
2062
|
-
config: {
|
|
2063
|
-
isNativeTag: NO,
|
|
2064
|
-
performance: false,
|
|
2065
|
-
globalProperties: {},
|
|
2066
|
-
optionMergeStrategies: {},
|
|
2067
|
-
errorHandler: void 0,
|
|
2068
|
-
warnHandler: void 0,
|
|
2069
|
-
compilerOptions: {}
|
|
2070
|
-
},
|
|
2071
|
-
mixins: [],
|
|
2072
|
-
components: {},
|
|
2073
|
-
directives: {},
|
|
2074
|
-
provides: /* @__PURE__ */ Object.create(null),
|
|
2075
|
-
optionsCache: /* @__PURE__ */ new WeakMap(),
|
|
2076
|
-
propsCache: /* @__PURE__ */ new WeakMap(),
|
|
2077
|
-
emitsCache: /* @__PURE__ */ new WeakMap()
|
|
2078
|
-
};
|
|
2079
|
-
}
|
|
2080
2022
|
let currentApp = null;
|
|
2081
|
-
function markAttrsAccessed() {}
|
|
2082
2023
|
const queuePostRenderEffect = queueEffectWithSuspense;
|
|
2083
2024
|
function queueEffectWithSuspense(fn, suspense) {
|
|
2084
2025
|
if (suspense && suspense.pendingBranch) if (isArray(fn)) suspense.effects.push(...fn);
|
|
2085
2026
|
else suspense.effects.push(fn);
|
|
2086
2027
|
else queuePostFlushCb(fn);
|
|
2087
2028
|
}
|
|
2088
|
-
createAppContext();
|
|
2089
2029
|
let currentInstance = null;
|
|
2090
2030
|
const getCurrentInstance = () => currentInstance || currentRenderingInstance;
|
|
2091
2031
|
let internalSetCurrentInstance;
|
|
@@ -2313,9 +2253,9 @@ function initCustomFormatter() {
|
|
|
2313
2253
|
else window.devtoolsFormatters = [formatter];
|
|
2314
2254
|
}
|
|
2315
2255
|
//#endregion
|
|
2316
|
-
//#region ../../node_modules/.pnpm/vue@3.5.
|
|
2256
|
+
//#region ../../node_modules/.pnpm/vue@3.5.34_typescript@5.9.3/node_modules/vue/dist/vue.runtime.esm-bundler.js
|
|
2317
2257
|
/**
|
|
2318
|
-
* vue v3.5.
|
|
2258
|
+
* vue v3.5.34
|
|
2319
2259
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
2320
2260
|
* @license MIT
|
|
2321
2261
|
**/
|
|
@@ -2329,18 +2269,6 @@ const getRawData = (data) => /* @__PURE__ */ isReactive(data) ? /* @__PURE__ */
|
|
|
2329
2269
|
typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
|
|
2330
2270
|
const toString = Object.prototype.toString;
|
|
2331
2271
|
const isObject = (val) => toString.call(val) === "[object Object]";
|
|
2332
|
-
function cacheStringFunction(fn) {
|
|
2333
|
-
const cache = Object.create(null);
|
|
2334
|
-
return ((str) => {
|
|
2335
|
-
return cache[str] || (cache[str] = fn(str));
|
|
2336
|
-
});
|
|
2337
|
-
}
|
|
2338
|
-
const hyphenateRE = /\B([A-Z])/g;
|
|
2339
|
-
cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
|
|
2340
|
-
const camelizeRE = /-(\w)/g;
|
|
2341
|
-
cacheStringFunction((str) => {
|
|
2342
|
-
return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
|
|
2343
|
-
});
|
|
2344
2272
|
//#endregion
|
|
2345
2273
|
//#region src/util/reactivity/toRawDeep.ts
|
|
2346
2274
|
const toRawDeep = (data) => {
|
|
@@ -2360,6 +2288,507 @@ var Serializable = class {
|
|
|
2360
2288
|
}
|
|
2361
2289
|
};
|
|
2362
2290
|
//#endregion
|
|
2291
|
+
//#region src/services/error/toAppError.ts
|
|
2292
|
+
const toAppError = (error) => {
|
|
2293
|
+
if (error instanceof Error) return error;
|
|
2294
|
+
if (typeof error === "object" && error !== null && "message" in error && typeof error.message === "string") return new Error(error.message, { cause: error });
|
|
2295
|
+
return new Error(String(error), { cause: error });
|
|
2296
|
+
};
|
|
2297
|
+
//#endregion
|
|
2298
|
+
//#region ../../node_modules/.pnpm/neverthrow@8.2.0/node_modules/neverthrow/dist/index.es.js
|
|
2299
|
+
const defaultErrorConfig = { withStackTrace: false };
|
|
2300
|
+
const createNeverThrowError = (message, result, config = defaultErrorConfig) => {
|
|
2301
|
+
return {
|
|
2302
|
+
data: result.isOk() ? {
|
|
2303
|
+
type: "Ok",
|
|
2304
|
+
value: result.value
|
|
2305
|
+
} : {
|
|
2306
|
+
type: "Err",
|
|
2307
|
+
value: result.error
|
|
2308
|
+
},
|
|
2309
|
+
message,
|
|
2310
|
+
stack: config.withStackTrace ? (/* @__PURE__ */ new Error()).stack : void 0
|
|
2311
|
+
};
|
|
2312
|
+
};
|
|
2313
|
+
/******************************************************************************
|
|
2314
|
+
Copyright (c) Microsoft Corporation.
|
|
2315
|
+
|
|
2316
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
2317
|
+
purpose with or without fee is hereby granted.
|
|
2318
|
+
|
|
2319
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
2320
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
2321
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
2322
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
2323
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
2324
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
2325
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
2326
|
+
***************************************************************************** */
|
|
2327
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
2328
|
+
function adopt(value) {
|
|
2329
|
+
return value instanceof P ? value : new P(function(resolve) {
|
|
2330
|
+
resolve(value);
|
|
2331
|
+
});
|
|
2332
|
+
}
|
|
2333
|
+
return new (P || (P = Promise))(function(resolve, reject) {
|
|
2334
|
+
function fulfilled(value) {
|
|
2335
|
+
try {
|
|
2336
|
+
step(generator.next(value));
|
|
2337
|
+
} catch (e) {
|
|
2338
|
+
reject(e);
|
|
2339
|
+
}
|
|
2340
|
+
}
|
|
2341
|
+
function rejected(value) {
|
|
2342
|
+
try {
|
|
2343
|
+
step(generator["throw"](value));
|
|
2344
|
+
} catch (e) {
|
|
2345
|
+
reject(e);
|
|
2346
|
+
}
|
|
2347
|
+
}
|
|
2348
|
+
function step(result) {
|
|
2349
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
2350
|
+
}
|
|
2351
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
2352
|
+
});
|
|
2353
|
+
}
|
|
2354
|
+
function __values(o) {
|
|
2355
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
2356
|
+
if (m) return m.call(o);
|
|
2357
|
+
if (o && typeof o.length === "number") return { next: function() {
|
|
2358
|
+
if (o && i >= o.length) o = void 0;
|
|
2359
|
+
return {
|
|
2360
|
+
value: o && o[i++],
|
|
2361
|
+
done: !o
|
|
2362
|
+
};
|
|
2363
|
+
} };
|
|
2364
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
2365
|
+
}
|
|
2366
|
+
function __await(v) {
|
|
2367
|
+
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
|
2368
|
+
}
|
|
2369
|
+
function __asyncGenerator(thisArg, _arguments, generator) {
|
|
2370
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
2371
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
2372
|
+
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
|
|
2373
|
+
return this;
|
|
2374
|
+
}, i;
|
|
2375
|
+
function awaitReturn(f) {
|
|
2376
|
+
return function(v) {
|
|
2377
|
+
return Promise.resolve(v).then(f, reject);
|
|
2378
|
+
};
|
|
2379
|
+
}
|
|
2380
|
+
function verb(n, f) {
|
|
2381
|
+
if (g[n]) {
|
|
2382
|
+
i[n] = function(v) {
|
|
2383
|
+
return new Promise(function(a, b) {
|
|
2384
|
+
q.push([
|
|
2385
|
+
n,
|
|
2386
|
+
v,
|
|
2387
|
+
a,
|
|
2388
|
+
b
|
|
2389
|
+
]) > 1 || resume(n, v);
|
|
2390
|
+
});
|
|
2391
|
+
};
|
|
2392
|
+
if (f) i[n] = f(i[n]);
|
|
2393
|
+
}
|
|
2394
|
+
}
|
|
2395
|
+
function resume(n, v) {
|
|
2396
|
+
try {
|
|
2397
|
+
step(g[n](v));
|
|
2398
|
+
} catch (e) {
|
|
2399
|
+
settle(q[0][3], e);
|
|
2400
|
+
}
|
|
2401
|
+
}
|
|
2402
|
+
function step(r) {
|
|
2403
|
+
r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
|
|
2404
|
+
}
|
|
2405
|
+
function fulfill(value) {
|
|
2406
|
+
resume("next", value);
|
|
2407
|
+
}
|
|
2408
|
+
function reject(value) {
|
|
2409
|
+
resume("throw", value);
|
|
2410
|
+
}
|
|
2411
|
+
function settle(f, v) {
|
|
2412
|
+
if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
|
|
2413
|
+
}
|
|
2414
|
+
}
|
|
2415
|
+
function __asyncDelegator(o) {
|
|
2416
|
+
var i, p;
|
|
2417
|
+
return i = {}, verb("next"), verb("throw", function(e) {
|
|
2418
|
+
throw e;
|
|
2419
|
+
}), verb("return"), i[Symbol.iterator] = function() {
|
|
2420
|
+
return this;
|
|
2421
|
+
}, i;
|
|
2422
|
+
function verb(n, f) {
|
|
2423
|
+
i[n] = o[n] ? function(v) {
|
|
2424
|
+
return (p = !p) ? {
|
|
2425
|
+
value: __await(o[n](v)),
|
|
2426
|
+
done: false
|
|
2427
|
+
} : f ? f(v) : v;
|
|
2428
|
+
} : f;
|
|
2429
|
+
}
|
|
2430
|
+
}
|
|
2431
|
+
function __asyncValues(o) {
|
|
2432
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
2433
|
+
var m = o[Symbol.asyncIterator], i;
|
|
2434
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
|
|
2435
|
+
return this;
|
|
2436
|
+
}, i);
|
|
2437
|
+
function verb(n) {
|
|
2438
|
+
i[n] = o[n] && function(v) {
|
|
2439
|
+
return new Promise(function(resolve, reject) {
|
|
2440
|
+
v = o[n](v), settle(resolve, reject, v.done, v.value);
|
|
2441
|
+
});
|
|
2442
|
+
};
|
|
2443
|
+
}
|
|
2444
|
+
function settle(resolve, reject, d, v) {
|
|
2445
|
+
Promise.resolve(v).then(function(v) {
|
|
2446
|
+
resolve({
|
|
2447
|
+
value: v,
|
|
2448
|
+
done: d
|
|
2449
|
+
});
|
|
2450
|
+
}, reject);
|
|
2451
|
+
}
|
|
2452
|
+
}
|
|
2453
|
+
var ResultAsync = class ResultAsync {
|
|
2454
|
+
constructor(res) {
|
|
2455
|
+
this._promise = res;
|
|
2456
|
+
}
|
|
2457
|
+
static fromSafePromise(promise) {
|
|
2458
|
+
return new ResultAsync(promise.then((value) => new Ok(value)));
|
|
2459
|
+
}
|
|
2460
|
+
static fromPromise(promise, errorFn) {
|
|
2461
|
+
return new ResultAsync(promise.then((value) => new Ok(value)).catch((e) => new Err(errorFn(e))));
|
|
2462
|
+
}
|
|
2463
|
+
static fromThrowable(fn, errorFn) {
|
|
2464
|
+
return (...args) => {
|
|
2465
|
+
return new ResultAsync(__awaiter(this, void 0, void 0, function* () {
|
|
2466
|
+
try {
|
|
2467
|
+
return new Ok(yield fn(...args));
|
|
2468
|
+
} catch (error) {
|
|
2469
|
+
return new Err(errorFn ? errorFn(error) : error);
|
|
2470
|
+
}
|
|
2471
|
+
}));
|
|
2472
|
+
};
|
|
2473
|
+
}
|
|
2474
|
+
static combine(asyncResultList) {
|
|
2475
|
+
return combineResultAsyncList(asyncResultList);
|
|
2476
|
+
}
|
|
2477
|
+
static combineWithAllErrors(asyncResultList) {
|
|
2478
|
+
return combineResultAsyncListWithAllErrors(asyncResultList);
|
|
2479
|
+
}
|
|
2480
|
+
map(f) {
|
|
2481
|
+
return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
2482
|
+
if (res.isErr()) return new Err(res.error);
|
|
2483
|
+
return new Ok(yield f(res.value));
|
|
2484
|
+
})));
|
|
2485
|
+
}
|
|
2486
|
+
andThrough(f) {
|
|
2487
|
+
return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
2488
|
+
if (res.isErr()) return new Err(res.error);
|
|
2489
|
+
const newRes = yield f(res.value);
|
|
2490
|
+
if (newRes.isErr()) return new Err(newRes.error);
|
|
2491
|
+
return new Ok(res.value);
|
|
2492
|
+
})));
|
|
2493
|
+
}
|
|
2494
|
+
andTee(f) {
|
|
2495
|
+
return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
2496
|
+
if (res.isErr()) return new Err(res.error);
|
|
2497
|
+
try {
|
|
2498
|
+
yield f(res.value);
|
|
2499
|
+
} catch (e) {}
|
|
2500
|
+
return new Ok(res.value);
|
|
2501
|
+
})));
|
|
2502
|
+
}
|
|
2503
|
+
orTee(f) {
|
|
2504
|
+
return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
2505
|
+
if (res.isOk()) return new Ok(res.value);
|
|
2506
|
+
try {
|
|
2507
|
+
yield f(res.error);
|
|
2508
|
+
} catch (e) {}
|
|
2509
|
+
return new Err(res.error);
|
|
2510
|
+
})));
|
|
2511
|
+
}
|
|
2512
|
+
mapErr(f) {
|
|
2513
|
+
return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
2514
|
+
if (res.isOk()) return new Ok(res.value);
|
|
2515
|
+
return new Err(yield f(res.error));
|
|
2516
|
+
})));
|
|
2517
|
+
}
|
|
2518
|
+
andThen(f) {
|
|
2519
|
+
return new ResultAsync(this._promise.then((res) => {
|
|
2520
|
+
if (res.isErr()) return new Err(res.error);
|
|
2521
|
+
const newValue = f(res.value);
|
|
2522
|
+
return newValue instanceof ResultAsync ? newValue._promise : newValue;
|
|
2523
|
+
}));
|
|
2524
|
+
}
|
|
2525
|
+
orElse(f) {
|
|
2526
|
+
return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
2527
|
+
if (res.isErr()) return f(res.error);
|
|
2528
|
+
return new Ok(res.value);
|
|
2529
|
+
})));
|
|
2530
|
+
}
|
|
2531
|
+
match(ok, _err) {
|
|
2532
|
+
return this._promise.then((res) => res.match(ok, _err));
|
|
2533
|
+
}
|
|
2534
|
+
unwrapOr(t) {
|
|
2535
|
+
return this._promise.then((res) => res.unwrapOr(t));
|
|
2536
|
+
}
|
|
2537
|
+
/**
|
|
2538
|
+
* @deprecated will be removed in 9.0.0.
|
|
2539
|
+
*
|
|
2540
|
+
* You can use `safeTry` without this method.
|
|
2541
|
+
* @example
|
|
2542
|
+
* ```typescript
|
|
2543
|
+
* safeTry(async function* () {
|
|
2544
|
+
* const okValue = yield* yourResult
|
|
2545
|
+
* })
|
|
2546
|
+
* ```
|
|
2547
|
+
* Emulates Rust's `?` operator in `safeTry`'s body. See also `safeTry`.
|
|
2548
|
+
*/
|
|
2549
|
+
safeUnwrap() {
|
|
2550
|
+
return __asyncGenerator(this, arguments, function* safeUnwrap_1() {
|
|
2551
|
+
return yield __await(yield __await(yield* __asyncDelegator(__asyncValues(yield __await(this._promise.then((res) => res.safeUnwrap()))))));
|
|
2552
|
+
});
|
|
2553
|
+
}
|
|
2554
|
+
then(successCallback, failureCallback) {
|
|
2555
|
+
return this._promise.then(successCallback, failureCallback);
|
|
2556
|
+
}
|
|
2557
|
+
[Symbol.asyncIterator]() {
|
|
2558
|
+
return __asyncGenerator(this, arguments, function* _a() {
|
|
2559
|
+
const result = yield __await(this._promise);
|
|
2560
|
+
if (result.isErr()) yield yield __await(errAsync(result.error));
|
|
2561
|
+
return yield __await(result.value);
|
|
2562
|
+
});
|
|
2563
|
+
}
|
|
2564
|
+
};
|
|
2565
|
+
function errAsync(err) {
|
|
2566
|
+
return new ResultAsync(Promise.resolve(new Err(err)));
|
|
2567
|
+
}
|
|
2568
|
+
ResultAsync.fromPromise;
|
|
2569
|
+
ResultAsync.fromSafePromise;
|
|
2570
|
+
ResultAsync.fromThrowable;
|
|
2571
|
+
/**
|
|
2572
|
+
* Short circuits on the FIRST Err value that we find
|
|
2573
|
+
*/
|
|
2574
|
+
const combineResultList = (resultList) => {
|
|
2575
|
+
let acc = ok([]);
|
|
2576
|
+
for (const result of resultList) if (result.isErr()) {
|
|
2577
|
+
acc = err(result.error);
|
|
2578
|
+
break;
|
|
2579
|
+
} else acc.map((list) => list.push(result.value));
|
|
2580
|
+
return acc;
|
|
2581
|
+
};
|
|
2582
|
+
const combineResultAsyncList = (asyncResultList) => ResultAsync.fromSafePromise(Promise.all(asyncResultList)).andThen(combineResultList);
|
|
2583
|
+
/**
|
|
2584
|
+
* Give a list of all the errors we find
|
|
2585
|
+
*/
|
|
2586
|
+
const combineResultListWithAllErrors = (resultList) => {
|
|
2587
|
+
let acc = ok([]);
|
|
2588
|
+
for (const result of resultList) if (result.isErr() && acc.isErr()) acc.error.push(result.error);
|
|
2589
|
+
else if (result.isErr() && acc.isOk()) acc = err([result.error]);
|
|
2590
|
+
else if (result.isOk() && acc.isOk()) acc.value.push(result.value);
|
|
2591
|
+
return acc;
|
|
2592
|
+
};
|
|
2593
|
+
const combineResultAsyncListWithAllErrors = (asyncResultList) => ResultAsync.fromSafePromise(Promise.all(asyncResultList)).andThen(combineResultListWithAllErrors);
|
|
2594
|
+
var Result;
|
|
2595
|
+
(function(Result) {
|
|
2596
|
+
/**
|
|
2597
|
+
* Wraps a function with a try catch, creating a new function with the same
|
|
2598
|
+
* arguments but returning `Ok` if successful, `Err` if the function throws
|
|
2599
|
+
*
|
|
2600
|
+
* @param fn function to wrap with ok on success or err on failure
|
|
2601
|
+
* @param errorFn when an error is thrown, this will wrap the error result if provided
|
|
2602
|
+
*/
|
|
2603
|
+
function fromThrowable(fn, errorFn) {
|
|
2604
|
+
return (...args) => {
|
|
2605
|
+
try {
|
|
2606
|
+
return ok(fn(...args));
|
|
2607
|
+
} catch (e) {
|
|
2608
|
+
return err(errorFn ? errorFn(e) : e);
|
|
2609
|
+
}
|
|
2610
|
+
};
|
|
2611
|
+
}
|
|
2612
|
+
Result.fromThrowable = fromThrowable;
|
|
2613
|
+
function combine(resultList) {
|
|
2614
|
+
return combineResultList(resultList);
|
|
2615
|
+
}
|
|
2616
|
+
Result.combine = combine;
|
|
2617
|
+
function combineWithAllErrors(resultList) {
|
|
2618
|
+
return combineResultListWithAllErrors(resultList);
|
|
2619
|
+
}
|
|
2620
|
+
Result.combineWithAllErrors = combineWithAllErrors;
|
|
2621
|
+
})(Result || (Result = {}));
|
|
2622
|
+
function ok(value) {
|
|
2623
|
+
return new Ok(value);
|
|
2624
|
+
}
|
|
2625
|
+
function err(err) {
|
|
2626
|
+
return new Err(err);
|
|
2627
|
+
}
|
|
2628
|
+
var Ok = class {
|
|
2629
|
+
constructor(value) {
|
|
2630
|
+
this.value = value;
|
|
2631
|
+
}
|
|
2632
|
+
isOk() {
|
|
2633
|
+
return true;
|
|
2634
|
+
}
|
|
2635
|
+
isErr() {
|
|
2636
|
+
return !this.isOk();
|
|
2637
|
+
}
|
|
2638
|
+
map(f) {
|
|
2639
|
+
return ok(f(this.value));
|
|
2640
|
+
}
|
|
2641
|
+
mapErr(_f) {
|
|
2642
|
+
return ok(this.value);
|
|
2643
|
+
}
|
|
2644
|
+
andThen(f) {
|
|
2645
|
+
return f(this.value);
|
|
2646
|
+
}
|
|
2647
|
+
andThrough(f) {
|
|
2648
|
+
return f(this.value).map((_value) => this.value);
|
|
2649
|
+
}
|
|
2650
|
+
andTee(f) {
|
|
2651
|
+
try {
|
|
2652
|
+
f(this.value);
|
|
2653
|
+
} catch (e) {}
|
|
2654
|
+
return ok(this.value);
|
|
2655
|
+
}
|
|
2656
|
+
orTee(_f) {
|
|
2657
|
+
return ok(this.value);
|
|
2658
|
+
}
|
|
2659
|
+
orElse(_f) {
|
|
2660
|
+
return ok(this.value);
|
|
2661
|
+
}
|
|
2662
|
+
asyncAndThen(f) {
|
|
2663
|
+
return f(this.value);
|
|
2664
|
+
}
|
|
2665
|
+
asyncAndThrough(f) {
|
|
2666
|
+
return f(this.value).map(() => this.value);
|
|
2667
|
+
}
|
|
2668
|
+
asyncMap(f) {
|
|
2669
|
+
return ResultAsync.fromSafePromise(f(this.value));
|
|
2670
|
+
}
|
|
2671
|
+
unwrapOr(_v) {
|
|
2672
|
+
return this.value;
|
|
2673
|
+
}
|
|
2674
|
+
match(ok, _err) {
|
|
2675
|
+
return ok(this.value);
|
|
2676
|
+
}
|
|
2677
|
+
safeUnwrap() {
|
|
2678
|
+
const value = this.value;
|
|
2679
|
+
return (function* () {
|
|
2680
|
+
return value;
|
|
2681
|
+
})();
|
|
2682
|
+
}
|
|
2683
|
+
_unsafeUnwrap(_) {
|
|
2684
|
+
return this.value;
|
|
2685
|
+
}
|
|
2686
|
+
_unsafeUnwrapErr(config) {
|
|
2687
|
+
throw createNeverThrowError("Called `_unsafeUnwrapErr` on an Ok", this, config);
|
|
2688
|
+
}
|
|
2689
|
+
*[Symbol.iterator]() {
|
|
2690
|
+
return this.value;
|
|
2691
|
+
}
|
|
2692
|
+
};
|
|
2693
|
+
var Err = class {
|
|
2694
|
+
constructor(error) {
|
|
2695
|
+
this.error = error;
|
|
2696
|
+
}
|
|
2697
|
+
isOk() {
|
|
2698
|
+
return false;
|
|
2699
|
+
}
|
|
2700
|
+
isErr() {
|
|
2701
|
+
return !this.isOk();
|
|
2702
|
+
}
|
|
2703
|
+
map(_f) {
|
|
2704
|
+
return err(this.error);
|
|
2705
|
+
}
|
|
2706
|
+
mapErr(f) {
|
|
2707
|
+
return err(f(this.error));
|
|
2708
|
+
}
|
|
2709
|
+
andThrough(_f) {
|
|
2710
|
+
return err(this.error);
|
|
2711
|
+
}
|
|
2712
|
+
andTee(_f) {
|
|
2713
|
+
return err(this.error);
|
|
2714
|
+
}
|
|
2715
|
+
orTee(f) {
|
|
2716
|
+
try {
|
|
2717
|
+
f(this.error);
|
|
2718
|
+
} catch (e) {}
|
|
2719
|
+
return err(this.error);
|
|
2720
|
+
}
|
|
2721
|
+
andThen(_f) {
|
|
2722
|
+
return err(this.error);
|
|
2723
|
+
}
|
|
2724
|
+
orElse(f) {
|
|
2725
|
+
return f(this.error);
|
|
2726
|
+
}
|
|
2727
|
+
asyncAndThen(_f) {
|
|
2728
|
+
return errAsync(this.error);
|
|
2729
|
+
}
|
|
2730
|
+
asyncAndThrough(_f) {
|
|
2731
|
+
return errAsync(this.error);
|
|
2732
|
+
}
|
|
2733
|
+
asyncMap(_f) {
|
|
2734
|
+
return errAsync(this.error);
|
|
2735
|
+
}
|
|
2736
|
+
unwrapOr(v) {
|
|
2737
|
+
return v;
|
|
2738
|
+
}
|
|
2739
|
+
match(_ok, err) {
|
|
2740
|
+
return err(this.error);
|
|
2741
|
+
}
|
|
2742
|
+
safeUnwrap() {
|
|
2743
|
+
const error = this.error;
|
|
2744
|
+
return (function* () {
|
|
2745
|
+
yield err(error);
|
|
2746
|
+
throw new Error("Do not use this generator out of `safeTry`");
|
|
2747
|
+
})();
|
|
2748
|
+
}
|
|
2749
|
+
_unsafeUnwrap(config) {
|
|
2750
|
+
throw createNeverThrowError("Called `_unsafeUnwrap` on an Err", this, config);
|
|
2751
|
+
}
|
|
2752
|
+
_unsafeUnwrapErr(_) {
|
|
2753
|
+
return this.error;
|
|
2754
|
+
}
|
|
2755
|
+
*[Symbol.iterator]() {
|
|
2756
|
+
const self = this;
|
|
2757
|
+
yield self;
|
|
2758
|
+
return self;
|
|
2759
|
+
}
|
|
2760
|
+
};
|
|
2761
|
+
const fromThrowable = Result.fromThrowable;
|
|
2762
|
+
//#endregion
|
|
2763
|
+
//#region src/services/error/getResult.ts
|
|
2764
|
+
const getResult = (fn) => fromThrowable(fn, toAppError)();
|
|
2765
|
+
//#endregion
|
|
2766
|
+
//#region src/services/error/getResultAsync.ts
|
|
2767
|
+
const getResultAsync = (fn) => ResultAsync.fromPromise(Promise.resolve().then(fn), toAppError);
|
|
2768
|
+
//#endregion
|
|
2769
|
+
//#region src/services/error/withFinalizer.ts
|
|
2770
|
+
const withFinalizer = (fn, finalizer) => {
|
|
2771
|
+
const result = getResult(fn);
|
|
2772
|
+
(finalizer ? getResult(finalizer) : void 0)?.match(noop, (error) => {
|
|
2773
|
+
throw error;
|
|
2774
|
+
});
|
|
2775
|
+
return result.match((value) => value, (error) => {
|
|
2776
|
+
throw error;
|
|
2777
|
+
});
|
|
2778
|
+
};
|
|
2779
|
+
//#endregion
|
|
2780
|
+
//#region src/services/error/withFinalizerAsync.ts
|
|
2781
|
+
const withFinalizerAsync = async (fn, finalizer) => {
|
|
2782
|
+
const result = await getResultAsync(async () => fn());
|
|
2783
|
+
if (finalizer) await getResultAsync(async () => finalizer()).match(noop, (error) => {
|
|
2784
|
+
if (result.isOk()) throw error;
|
|
2785
|
+
console.error(error);
|
|
2786
|
+
});
|
|
2787
|
+
return result.match((value) => value, (error) => {
|
|
2788
|
+
throw error;
|
|
2789
|
+
});
|
|
2790
|
+
};
|
|
2791
|
+
//#endregion
|
|
2363
2792
|
//#region src/services/message/constants.ts
|
|
2364
2793
|
const MENTION_ID_ATTRIBUTE = "data-id";
|
|
2365
2794
|
const MENTION_LABEL_ATTRIBUTE = "data-label";
|
|
@@ -14385,17 +14814,17 @@ const isPlainObject = (data) => {
|
|
|
14385
14814
|
};
|
|
14386
14815
|
//#endregion
|
|
14387
14816
|
//#region src/util/object/jsonDateParse.ts
|
|
14388
|
-
const
|
|
14389
|
-
const
|
|
14817
|
+
const ISO_DATE_REGEX = new RegExp(String.raw`^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.{0,1}\d*))(?:Z|(\+|-)([\d|:]*))?$`, "u");
|
|
14818
|
+
const MS_AJAX_DATE_REGEX = new RegExp(String.raw`^\/Date\((d|-|.*)\)[\/|\\]$`, "u");
|
|
14390
14819
|
const jsonDateParse = (text) => JSON.parse(text, (_key, value) => {
|
|
14391
14820
|
let parsedValue = value;
|
|
14392
14821
|
if (typeof value === "string") {
|
|
14393
|
-
let a =
|
|
14822
|
+
let a = ISO_DATE_REGEX.exec(value);
|
|
14394
14823
|
if (a) parsedValue = new Date(value);
|
|
14395
14824
|
else {
|
|
14396
|
-
a =
|
|
14825
|
+
a = MS_AJAX_DATE_REGEX.exec(value);
|
|
14397
14826
|
if (a) {
|
|
14398
|
-
const b = takeOne(a, 1).split(
|
|
14827
|
+
const b = takeOne(a, 1).split(new RegExp(String.raw`[-+,.]`, "u"));
|
|
14399
14828
|
parsedValue = new Date(b[0] ? Number(b[0]) : 0 - Number(b[1]));
|
|
14400
14829
|
}
|
|
14401
14830
|
}
|
|
@@ -14407,11 +14836,14 @@ const jsonDateParse = (text) => JSON.parse(text, (_key, value) => {
|
|
|
14407
14836
|
const mergeObjectsStrict = (...objects) => Object.assign({}, ...objects);
|
|
14408
14837
|
//#endregion
|
|
14409
14838
|
//#region src/util/regex/escapeRegExp.ts
|
|
14410
|
-
const escapeRegExp = (string) => string.replaceAll(/[.*+?^${}()|[\]\\]/
|
|
14839
|
+
const escapeRegExp = (string) => string.replaceAll(/[.*+?^${}()|[\]\\]/gu, String.raw`\$&`);
|
|
14411
14840
|
//#endregion
|
|
14412
14841
|
//#region src/util/text/capitalize.ts
|
|
14413
14842
|
const capitalize = (string) => `${string.charAt(0).toUpperCase()}${string.slice(1)}`;
|
|
14414
14843
|
//#endregion
|
|
14844
|
+
//#region src/util/text/normalizeString.ts
|
|
14845
|
+
const normalizeString = (value) => value?.trim() ?? "";
|
|
14846
|
+
//#endregion
|
|
14415
14847
|
//#region src/util/text/streamToText.ts
|
|
14416
14848
|
const streamToText = async (readable) => {
|
|
14417
14849
|
readable.setEncoding("utf8");
|
|
@@ -14421,7 +14853,7 @@ const streamToText = async (readable) => {
|
|
|
14421
14853
|
};
|
|
14422
14854
|
//#endregion
|
|
14423
14855
|
//#region src/util/text/toKebabCase.ts
|
|
14424
|
-
const toKebabCase = (string) => string.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/
|
|
14856
|
+
const toKebabCase = (string) => string.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/gu)?.map((x) => x.toLowerCase()).join("-") ?? "";
|
|
14425
14857
|
//#endregion
|
|
14426
14858
|
//#region src/util/text/truncate.ts
|
|
14427
14859
|
const truncate = (string, length) => string.length > length ? `${string.slice(0, length)}..."` : string;
|
|
@@ -14458,9 +14890,9 @@ const exhaustiveGuard = (value) => {
|
|
|
14458
14890
|
//#endregion
|
|
14459
14891
|
//#region src/util/id/uuid/constants.ts
|
|
14460
14892
|
const NIL = "00000000-0000-0000-0000-000000000000";
|
|
14461
|
-
const UUIDV4_REGEX = /^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/
|
|
14893
|
+
const UUIDV4_REGEX = /^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/iu;
|
|
14462
14894
|
//#endregion
|
|
14463
14895
|
//#region src/util/id/uuid/uuidValidateV4.ts
|
|
14464
14896
|
const uuidValidateV4 = (uuid) => UUIDV4_REGEX.test(uuid);
|
|
14465
14897
|
//#endregion
|
|
14466
|
-
export { AllSpecialValues, ForbiddenError, ID_SEPARATOR, InvalidOperationError, ItemEntityTypePropertyNames, ItemMetadata, ItemMetadataPropertyNames, MENTION_EVERYONE_ID, MENTION_HERE_ID, MENTION_ID_ATTRIBUTE, MENTION_LABEL_ATTRIBUTE, MENTION_TYPE, MENTION_TYPE_ATTRIBUTE, NIL, NotFoundError, NotInitializedError, Operation, RoutePath, SITE_NAME, SURVEY_DISPLAY_NAME, Serializable, UUIDV4_REGEX, applyItemMetadataMixin, capitalize, createItemEntityTypeSchema, css, escapeRegExp, exhaustiveGuard, getIsServer, getMentions, getPropertyNames, getRawData, hrtime, html, isPlainObject, itemMetadataSchema, jsonDateParse, mergeObjectsStrict, now, streamToText, takeOne, toKebabCase, toRawDeep, truncate, uncapitalize, uuidValidateV4 };
|
|
14898
|
+
export { AllSpecialValues, ForbiddenError, ID_SEPARATOR, InvalidOperationError, ItemEntityTypePropertyNames, ItemMetadata, ItemMetadataPropertyNames, MENTION_EVERYONE_ID, MENTION_HERE_ID, MENTION_ID_ATTRIBUTE, MENTION_LABEL_ATTRIBUTE, MENTION_TYPE, MENTION_TYPE_ATTRIBUTE, NIL, NotFoundError, NotInitializedError, Operation, RoutePath, SITE_NAME, SURVEY_DISPLAY_NAME, Serializable, UUIDV4_REGEX, applyItemMetadataMixin, capitalize, createItemEntityTypeSchema, css, escapeRegExp, exhaustiveGuard, getIsServer, getMentions, getPropertyNames, getRawData, getResult, getResultAsync, hrtime, html, isPlainObject, itemMetadataSchema, jsonDateParse, mergeObjectsStrict, noop, normalizeString, now, streamToText, takeOne, toAppError, toKebabCase, toRawDeep, truncate, uncapitalize, uuidValidateV4, withFinalizer, withFinalizerAsync };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@esposter/shared",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.23.0",
|
|
4
4
|
"description": "A library that contains shared typescript code.",
|
|
5
5
|
"homepage": "https://github.com/Esposter/Esposter/blob/main/packages/shared#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"typecheck": "tsgo"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@vueuse/core": "^14.
|
|
36
|
+
"@vueuse/core": "^14.3.0",
|
|
37
37
|
"node-html-parser": "^7.1.0",
|
|
38
|
-
"vue": "^3.5.
|
|
39
|
-
"zod": "^4.3
|
|
38
|
+
"vue": "^3.5.34",
|
|
39
|
+
"zod": "^4.4.3"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@azure/data-tables": "^13.3.2"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "b5172e2824227a4b5e9524a4945f521a70ff5c9d"
|
|
45
45
|
}
|