@livestore/utils 0.0.12 → 0.0.13
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/.tsbuildinfo.json +1 -0
- package/dist/Deferred.d.ts +10 -0
- package/dist/Deferred.d.ts.map +1 -0
- package/dist/Deferred.js +18 -0
- package/dist/Deferred.js.map +1 -0
- package/dist/NoopTracer.d.ts +10 -0
- package/dist/NoopTracer.d.ts.map +1 -0
- package/dist/NoopTracer.js +54 -0
- package/dist/NoopTracer.js.map +1 -0
- package/dist/base64.d.ts +12 -0
- package/dist/base64.d.ts.map +1 -0
- package/dist/base64.js +114 -0
- package/dist/base64.js.map +1 -0
- package/dist/browser.d.ts +3 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +28 -0
- package/dist/browser.js.map +1 -0
- package/dist/effect/Effect.d.ts +11 -0
- package/dist/effect/Effect.d.ts.map +1 -0
- package/dist/effect/Effect.js +23 -0
- package/dist/effect/Effect.js.map +1 -0
- package/dist/effect/Error.d.ts +13 -0
- package/dist/effect/Error.d.ts.map +1 -0
- package/dist/effect/Error.js +13 -0
- package/dist/effect/Error.js.map +1 -0
- package/dist/effect/Schedule.d.ts +4 -0
- package/dist/effect/Schedule.d.ts.map +1 -0
- package/dist/effect/Schedule.js +5 -0
- package/dist/effect/Schedule.js.map +1 -0
- package/dist/effect/ServiceContext.d.ts +37 -0
- package/dist/effect/ServiceContext.d.ts.map +1 -0
- package/dist/effect/ServiceContext.js +55 -0
- package/dist/effect/ServiceContext.js.map +1 -0
- package/dist/effect/index.d.ts +9 -0
- package/dist/effect/index.d.ts.map +1 -0
- package/dist/effect/index.js +9 -0
- package/dist/effect/index.js.map +1 -0
- package/dist/global.d.ts +5 -0
- package/dist/global.d.ts.map +1 -0
- package/dist/global.js +2 -0
- package/dist/global.js.map +1 -0
- package/dist/guards.d.ts +6 -0
- package/dist/guards.d.ts.map +1 -0
- package/dist/guards.js +6 -0
- package/dist/guards.js.map +1 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +158 -0
- package/dist/index.js.map +1 -0
- package/dist/object/index.d.ts +10 -0
- package/dist/object/index.d.ts.map +1 -0
- package/dist/object/index.js +10 -0
- package/dist/object/index.js.map +1 -0
- package/dist/object/omit.d.ts +3 -0
- package/dist/object/omit.d.ts.map +1 -0
- package/dist/object/omit.js +14 -0
- package/dist/object/omit.js.map +1 -0
- package/dist/object/pick.d.ts +14 -0
- package/dist/object/pick.d.ts.map +1 -0
- package/dist/object/pick.js +17 -0
- package/dist/object/pick.js.map +1 -0
- package/dist/promise.d.ts +6 -0
- package/dist/promise.d.ts.map +1 -0
- package/dist/promise.js +27 -0
- package/dist/promise.js.map +1 -0
- package/dist/set.d.ts +2 -0
- package/dist/set.d.ts.map +1 -0
- package/dist/set.js +10 -0
- package/dist/set.js.map +1 -0
- package/dist/string.d.ts +3 -0
- package/dist/string.d.ts.map +1 -0
- package/dist/string.js +3 -0
- package/dist/string.js.map +1 -0
- package/dist/time.d.ts +12 -0
- package/dist/time.d.ts.map +1 -0
- package/dist/time.js +22 -0
- package/dist/time.js.map +1 -0
- package/package.json +16 -18
- package/src/effect/Effect.ts +3 -5
- package/src/effect/Error.ts +5 -2
- package/src/effect/Schedule.ts +2 -4
- package/src/effect/ServiceContext.ts +2 -8
- package/src/effect/index.ts +47 -58
- package/src/global.ts +1 -1
- package/src/index.ts +12 -14
- package/src/object/index.ts +1 -1
- package/tsconfig.json +2 -5
- package/src/effect/Layer.ts +0 -42
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;AAE1G,eAAO,MAAM,iBAAiB,EAAE,MAAM,eA6BrC,CAAA"}
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const detectBrowserName = () => {
|
|
2
|
+
if (!navigator.userAgent) {
|
|
3
|
+
return 'Something';
|
|
4
|
+
}
|
|
5
|
+
const isOpera = navigator.userAgent.includes('OP');
|
|
6
|
+
const isChrome = navigator.userAgent.includes('Chrome') && !isOpera;
|
|
7
|
+
const isSafari = navigator.userAgent.includes('Safari') && !isChrome;
|
|
8
|
+
const isFirefox = navigator.userAgent.includes('Firefox');
|
|
9
|
+
const isEdge = navigator.userAgent.includes('Edg') || navigator.userAgent.includes('Trident');
|
|
10
|
+
// TODO: also parse out version
|
|
11
|
+
if (isOpera) {
|
|
12
|
+
return 'Opera';
|
|
13
|
+
}
|
|
14
|
+
if (isChrome) {
|
|
15
|
+
return 'Chrome';
|
|
16
|
+
}
|
|
17
|
+
if (isSafari) {
|
|
18
|
+
return 'Safari';
|
|
19
|
+
}
|
|
20
|
+
if (isFirefox) {
|
|
21
|
+
return 'Firefox';
|
|
22
|
+
}
|
|
23
|
+
if (isEdge) {
|
|
24
|
+
return 'Edge';
|
|
25
|
+
}
|
|
26
|
+
return 'Browser';
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA0B,GAAG,EAAE;IAC3D,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;QACxB,OAAO,WAAW,CAAA;KACnB;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;IACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAE7F,+BAA+B;IAE/B,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAA;KACf;IACD,IAAI,QAAQ,EAAE;QACZ,OAAO,QAAQ,CAAA;KAChB;IACD,IAAI,QAAQ,EAAE;QACZ,OAAO,QAAQ,CAAA;KAChB;IACD,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAA;KACjB;IACD,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAA;KACd;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Context } from 'effect';
|
|
2
|
+
import { Effect } from 'effect';
|
|
3
|
+
export * from 'effect/Effect';
|
|
4
|
+
export declare const log: <A>(message: A, ...rest: any[]) => Effect.Effect<never, never, void>;
|
|
5
|
+
export declare const logWarn: <A>(message: A, ...rest: any[]) => Effect.Effect<never, never, void>;
|
|
6
|
+
export declare const logError: <A>(message: A, ...rest: any[]) => Effect.Effect<never, never, void>;
|
|
7
|
+
/** Logs both on errors and defects */
|
|
8
|
+
export declare const tapCauseLogPretty: <R, E, A>(eff: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
|
|
9
|
+
export declare const tapSync: <A>(tapFn: (a: A) => unknown) => <R, E>(eff: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
|
|
10
|
+
export declare const debugLogEnv: (msg?: string) => Effect.Effect<never, never, Context.Context<never>>;
|
|
11
|
+
//# sourceMappingURL=Effect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAS,MAAM,EAAQ,MAAM,QAAQ,CAAA;AAE5C,cAAc,eAAe,CAAA;AAE7B,eAAO,MAAM,GAAG,2BAA4B,GAAG,EAAE,KAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAGhF,CAAA;AAEJ,eAAO,MAAM,OAAO,2BAA4B,GAAG,EAAE,KAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAGpF,CAAA;AAEJ,eAAO,MAAM,QAAQ,2BAA4B,GAAG,EAAE,KAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAGrF,CAAA;AAEJ,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,kEAU1B,CAAA;AAEJ,eAAO,MAAM,OAAO,uBACG,OAAO,kEAEyB,CAAA;AAEvD,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAI1F,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Cause, Effect, pipe } from 'effect';
|
|
2
|
+
export * from 'effect/Effect';
|
|
3
|
+
export const log = (message, ...rest) => Effect.sync(() => {
|
|
4
|
+
console.log(message, ...rest);
|
|
5
|
+
});
|
|
6
|
+
export const logWarn = (message, ...rest) => Effect.sync(() => {
|
|
7
|
+
console.warn(message, ...rest);
|
|
8
|
+
});
|
|
9
|
+
export const logError = (message, ...rest) => Effect.sync(() => {
|
|
10
|
+
console.error(message, ...rest);
|
|
11
|
+
});
|
|
12
|
+
/** Logs both on errors and defects */
|
|
13
|
+
export const tapCauseLogPretty = (eff) => Effect.tapErrorCause(eff, (err) => {
|
|
14
|
+
if (Cause.isInterruptedOnly(err)) {
|
|
15
|
+
return Effect.unit;
|
|
16
|
+
}
|
|
17
|
+
// @ts-expect-error TODO get proper worker name https://github.com/vitejs/vite/issues/12992
|
|
18
|
+
const threadName = window.__tmpWorkerName ? `Worker ${window.__tmpWorkerName}` : 'Main Thread';
|
|
19
|
+
return logError(`Error on ${threadName}`, Cause.pretty(err));
|
|
20
|
+
});
|
|
21
|
+
export const tapSync = (tapFn) => (eff) => Effect.tap(eff, (a) => Effect.sync(() => tapFn(a)));
|
|
22
|
+
export const debugLogEnv = (msg) => pipe(Effect.context(), Effect.tap((env) => log(msg ?? 'debugLogEnv', env)));
|
|
23
|
+
//# sourceMappingURL=Effect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE5C,cAAc,eAAe,CAAA;AAE7B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,OAAU,EAAE,GAAG,IAAW,EAAqC,EAAE,CACtF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,OAAU,EAAE,GAAG,IAAW,EAAqC,EAAE,CAC1F,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;AAChC,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,OAAU,EAAE,GAAG,IAAW,EAAqC,EAAE,CAC3F,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA;AAEJ,sCAAsC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAU,GAA2B,EAA0B,EAAE,CAChG,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;IAChC,IAAI,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;QAChC,OAAO,MAAM,CAAC,IAAI,CAAA;KACnB;IAED,2FAA2F;IAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,aAAa,CAAA;IAE9F,OAAO,QAAQ,CAAC,YAAY,UAAU,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9D,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,OAAO,GAClB,CAAI,KAAwB,EAAE,EAAE,CAChC,CAAO,GAA2B,EAA0B,EAAE,CAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAuD,EAAE,CAC/F,IAAI,CACF,MAAM,CAAC,OAAO,EAAS,EACvB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,aAAa,EAAE,GAAG,CAAC,CAAC,CACpD,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Data } from 'effect';
|
|
2
|
+
declare const UnknownError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/Equal").Equal>) => Data.YieldableError & {
|
|
3
|
+
readonly _tag: "UnknownError";
|
|
4
|
+
} & A;
|
|
5
|
+
export declare class UnknownError extends UnknownError_base<{
|
|
6
|
+
readonly error: any;
|
|
7
|
+
readonly payload?: any;
|
|
8
|
+
}> {
|
|
9
|
+
toString: () => string;
|
|
10
|
+
static from: (error: any, payload?: any) => UnknownError;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=Error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../src/effect/Error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;;;;AAI7B,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAA;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAA;CACvB,CAAC;IACA,QAAQ,eAGP;IAED,MAAM,CAAC,IAAI,UAAW,GAAG,YAAY,GAAG,kBAAyC;CAClF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Data } from 'effect';
|
|
2
|
+
import { errorToString, objectToString } from '../index.js';
|
|
3
|
+
export class UnknownError extends Data.TaggedError('UnknownError') {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.toString = () => {
|
|
7
|
+
const payloadStr = this.payload ? ` with payload ${objectToString(this.payload)}` : '';
|
|
8
|
+
return `UnknownError: ${errorToString(this.error)}${payloadStr}`;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
UnknownError.from = (error, payload) => new UnknownError({ error, payload });
|
|
13
|
+
//# sourceMappingURL=Error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Error.js","sourceRoot":"","sources":["../../src/effect/Error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE3D,MAAM,OAAO,YAAa,SAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAG/D;IAHF;;QAIE,aAAQ,GAAG,GAAG,EAAE;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACtF,OAAO,iBAAiB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,EAAE,CAAA;QAClE,CAAC,CAAA;IAGH,CAAC;;AADQ,iBAAI,GAAG,CAAC,KAAU,EAAE,OAAa,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,AAAtE,CAAsE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schedule.d.ts","sourceRoot":"","sources":["../../src/effect/Schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjD,cAAc,iBAAiB,CAAA;AAE/B,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,aAAa,CAK7F,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Duration, pipe, Schedule } from 'effect';
|
|
2
|
+
export * from 'effect/Schedule';
|
|
3
|
+
export const exponentialBackoff10Sec = pipe(Schedule.exponential(Duration.millis(10), 4), // 10ms, 40ms, 160ms, 640ms, 2560ms, ...
|
|
4
|
+
Schedule.andThenEither(Schedule.spaced(Duration.seconds(1))), Schedule.compose(Schedule.elapsed), Schedule.whileOutput(Duration.lessThanOrEqualTo(Duration.seconds(10))));
|
|
5
|
+
//# sourceMappingURL=Schedule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schedule.js","sourceRoot":"","sources":["../../src/effect/Schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjD,cAAc,iBAAiB,CAAA;AAE/B,MAAM,CAAC,MAAM,uBAAuB,GAA8D,IAAI,CACpG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,wCAAwC;AACtF,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAClC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CACvE,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Runtime } from 'effect';
|
|
2
|
+
import { Effect, Exit, Layer } from 'effect';
|
|
3
|
+
export interface MainLayer<Ctx> {
|
|
4
|
+
layer: Layer.Layer<never, never, Ctx>;
|
|
5
|
+
close: Effect.Effect<never, never, void>;
|
|
6
|
+
}
|
|
7
|
+
export declare const unsafeMainLayer: <Ctx>(original: Layer.Layer<never, never, Ctx>) => MainLayer<Ctx>;
|
|
8
|
+
export declare const make: <TStaticData, Ctx>(staticData: TStaticData, runtime: Runtime.Runtime<Ctx>, close?: Effect.Effect<never, never, void>) => ServiceContext<Ctx, TStaticData>;
|
|
9
|
+
export interface ServiceContext<Ctx, TStaticData> {
|
|
10
|
+
readonly provide: <E, A>(self: Effect.Effect<Ctx, E, A>) => Effect.Effect<never, E, A>;
|
|
11
|
+
/**
|
|
12
|
+
* Fire and Forget. Errors are logged however.
|
|
13
|
+
*/
|
|
14
|
+
readonly runWithErrorLog: <E, A>(self: Effect.Effect<Ctx, E, A>) => AbortCallback;
|
|
15
|
+
readonly runSync: <E, A>(self: Effect.Effect<Ctx, E, A>) => A;
|
|
16
|
+
/**
|
|
17
|
+
* Fire and Forget. A promise that never fails nor returns any value.
|
|
18
|
+
* Errors are logged however.
|
|
19
|
+
*/
|
|
20
|
+
readonly runPromiseWithErrorLog: <E, A>(self: Effect.Effect<Ctx, E, A>) => Promise<A | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* A Promise that never fails, the Resolved value is an Exit result that can be either Success or Failed
|
|
23
|
+
*/
|
|
24
|
+
readonly runPromiseExit: <E, A>(self: Effect.Effect<Ctx, E, A>) => Promise<Exit.Exit<E, A>>;
|
|
25
|
+
readonly runPromise: <E, A>(self: Effect.Effect<Ctx, E, A>) => Promise<A>;
|
|
26
|
+
readonly withRuntime: (fn: (runtime: Runtime.Runtime<Ctx>) => void) => void;
|
|
27
|
+
/** Closes the ServiceContext and closing all its layers */
|
|
28
|
+
readonly close: Effect.Effect<never, never, void>;
|
|
29
|
+
readonly closePromise: () => Promise<void>;
|
|
30
|
+
readonly staticData: TStaticData;
|
|
31
|
+
}
|
|
32
|
+
export type AbortCallback = () => void;
|
|
33
|
+
export declare const runWithErrorLog: <E, A>(self: Effect.Effect<never, E, A>) => () => void;
|
|
34
|
+
export declare const runPromiseWithErrorLog: <E, A>(self: Effect.Effect<never, E, A>) => Promise<A | undefined>;
|
|
35
|
+
export declare const MissingContext: Effect.Effect<never, never, never>;
|
|
36
|
+
export declare const empty: <Ctx, TStaticData>() => ServiceContext<Ctx, TStaticData>;
|
|
37
|
+
//# sourceMappingURL=ServiceContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceContext.d.ts","sourceRoot":"","sources":["../../src/effect/ServiceContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAS,MAAM,EAAE,IAAI,EAAS,KAAK,EAAe,MAAM,QAAQ,CAAA;AAEvE,MAAM,WAAW,SAAS,CAAC,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACzC;AAED,eAAO,MAAM,eAAe,mEAU3B,CAAA;AAED,eAAO,MAAM,IAAI,qFAGR,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,qCAezC,CAAA;AAED,MAAM,WAAW,cAAc,CAAC,GAAG,EAAE,WAAW;IAC9C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAEtF;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,CAAA;IAEjF,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;IAE7D;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAEjG;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3F,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAEzE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,IAAI,CAAA;IAE3E,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAA;CACjC;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAA;AAEtC,eAAO,MAAM,eAAe,wDAU3B,CAAA;AAED,eAAO,MAAM,sBAAsB,oEAQ/B,CAAA;AAEJ,eAAO,MAAM,cAAc,oCAAkF,CAAA;AAE7G,eAAO,MAAM,KAAK,0DAWhB,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Cause, Effect, Exit, Fiber, Layer, pipe, Scope } from 'effect';
|
|
2
|
+
export const unsafeMainLayer = (original) => {
|
|
3
|
+
const scope = Effect.runSync(Scope.make());
|
|
4
|
+
const layer = pipe(original, Layer.memoize, Effect.parallelFinalizers, // NOTE this runs the layer teardown in parallel
|
|
5
|
+
Effect.provideService(Scope.Scope, scope), Effect.runSync);
|
|
6
|
+
return { layer, close: Scope.close(scope, Exit.unit) };
|
|
7
|
+
};
|
|
8
|
+
export const make = (staticData, runtime, close = Effect.dieMessage('close not implemented')) => {
|
|
9
|
+
return {
|
|
10
|
+
provide: (self) => Effect.provide(runtime)(self),
|
|
11
|
+
runWithErrorLog: (self) => runWithErrorLog(Effect.provide(runtime)(self)),
|
|
12
|
+
runSync: (self) => Effect.runSync(Effect.provide(runtime)(self)),
|
|
13
|
+
runPromiseWithErrorLog: (self) => runPromiseWithErrorLog(Effect.provide(runtime)(self)),
|
|
14
|
+
runPromiseExit: (self) => Effect.runPromiseExit(Effect.provide(runtime)(self)),
|
|
15
|
+
runPromise: (self) => Effect.runPromise(Effect.provide(runtime)(self)),
|
|
16
|
+
withRuntime: (fn) => fn(runtime),
|
|
17
|
+
close: close,
|
|
18
|
+
closePromise: () => Effect.runPromise(close),
|
|
19
|
+
staticData,
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export const runWithErrorLog = (self) => {
|
|
23
|
+
const fiber = Effect.runFork(self);
|
|
24
|
+
fiber.addObserver((ex) => {
|
|
25
|
+
if (ex._tag === 'Failure' && Cause.isInterruptedOnly(ex.cause) === false) {
|
|
26
|
+
console.error(Cause.pretty(ex.cause));
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return () => {
|
|
30
|
+
Effect.runFork(Fiber.interrupt(fiber));
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export const runPromiseWithErrorLog = (self) => Effect.runPromiseExit(self).then((ex) => {
|
|
34
|
+
if (ex._tag === 'Failure') {
|
|
35
|
+
console.error(Cause.pretty(ex.cause));
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return ex.value;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
export const MissingContext = Effect.die('service context not provided, wrap your app in LiveServiceContext');
|
|
43
|
+
export const empty = () => ({
|
|
44
|
+
provide: () => MissingContext,
|
|
45
|
+
runWithErrorLog: () => runWithErrorLog(MissingContext),
|
|
46
|
+
runSync: () => Effect.runSync(MissingContext),
|
|
47
|
+
runPromiseWithErrorLog: () => runPromiseWithErrorLog(MissingContext),
|
|
48
|
+
runPromiseExit: () => Effect.runPromiseExit(MissingContext),
|
|
49
|
+
runPromise: () => Effect.runPromise(MissingContext),
|
|
50
|
+
withRuntime: () => Effect.runSync(MissingContext),
|
|
51
|
+
close: Effect.dieMessage('Empty ServiceContext cannot be closed'),
|
|
52
|
+
closePromise: () => Promise.reject('Empty ServiceContext cannot be closed'),
|
|
53
|
+
staticData: {},
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=ServiceContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceContext.js","sourceRoot":"","sources":["../../src/effect/ServiceContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import '../global.js';
|
|
2
|
+
export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, RuntimeFlags, PubSub, Exit, Cause, Runtime, Scheduler, FiberRef, FiberRefs, FiberRefsPatch, Deferred, Metric, MetricState, Request, Tracer, Context, Data, Either, Brand, Hash, Equal, Chunk, Duration, ReadonlyArray, ReadonlyRecord, SortedMap, HashMap, HashSet, MutableHashSet, Option, Layer, Stream, Channel, SubscriptionRef, pipe, identity, Match, } from 'effect';
|
|
3
|
+
export * as Schema from '@effect/schema/Schema';
|
|
4
|
+
export * as OtelTracer from '@effect/opentelemetry/Tracer';
|
|
5
|
+
export * as Effect from './Effect.js';
|
|
6
|
+
export * as Schedule from './Schedule.js';
|
|
7
|
+
export * from './Error.js';
|
|
8
|
+
export * as ServiceContext from './ServiceContext.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import '../global.js';
|
|
2
|
+
export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, RuntimeFlags, PubSub, Exit, Cause, Runtime, Scheduler, FiberRef, FiberRefs, FiberRefsPatch, Deferred, Metric, MetricState, Request, Tracer, Context, Data, Either, Brand, Hash, Equal, Chunk, Duration, ReadonlyArray, ReadonlyRecord, SortedMap, HashMap, HashSet, MutableHashSet, Option, Layer, Stream, Channel, SubscriptionRef, pipe, identity, Match, } from 'effect';
|
|
3
|
+
export * as Schema from '@effect/schema/Schema';
|
|
4
|
+
export * as OtelTracer from '@effect/opentelemetry/Tracer';
|
|
5
|
+
export * as Effect from './Effect.js';
|
|
6
|
+
export * as Schedule from './Schedule.js';
|
|
7
|
+
export * from './Error.js';
|
|
8
|
+
export * as ServiceContext from './ServiceContext.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA"}
|
package/dist/global.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,MAAM,IAAI,CAAC,OAAO,SAAS,MAAM,GAAG,SAAS,IAAI,GAAG,CAAA;CAC3D;AAED,OAAO,EAAE,CAAA"}
|
package/dist/global.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":""}
|
package/dist/guards.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const isNotUndefined: <T>(_: T | undefined) => _ is T;
|
|
2
|
+
export declare const isNotNull: <T>(_: T | null) => _ is T;
|
|
3
|
+
export declare const isUndefined: <T>(_: T | undefined) => _ is undefined;
|
|
4
|
+
export declare const isNil: (val: any) => val is null | undefined;
|
|
5
|
+
export declare const isNotNil: <T>(val: T | null | undefined) => val is T;
|
|
6
|
+
//# sourceMappingURL=guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,iCAAmD,CAAA;AAE9E,eAAO,MAAM,SAAS,4BAAyC,CAAA;AAC/D,eAAO,MAAM,WAAW,yCAA2D,CAAA;AAEnF,eAAO,MAAM,KAAK,QAAS,GAAG,4BAA+D,CAAA;AAE7F,eAAO,MAAM,QAAQ,4CAAgF,CAAA"}
|
package/dist/guards.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const isNotUndefined = (_) => _ !== undefined;
|
|
2
|
+
export const isNotNull = (_) => _ !== null;
|
|
3
|
+
export const isUndefined = (_) => _ === undefined;
|
|
4
|
+
export const isNil = (val) => val === null || val === undefined;
|
|
5
|
+
export const isNotNil = (val) => val !== null && val !== undefined;
|
|
6
|
+
//# sourceMappingURL=guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,CAAgB,EAAU,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,CAAW,EAAU,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,CAAgB,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;AAEnF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAQ,EAA2B,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAA;AAE7F,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,GAAyB,EAAY,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export * from './string.js';
|
|
2
|
+
export * from './guards.js';
|
|
3
|
+
export * from './object/index.js';
|
|
4
|
+
export * from './promise.js';
|
|
5
|
+
export * from './time.js';
|
|
6
|
+
export * from './NoopTracer.js';
|
|
7
|
+
export * from './set.js';
|
|
8
|
+
export * from './browser.js';
|
|
9
|
+
export * from './Deferred.js';
|
|
10
|
+
export * as base64 from './base64.js';
|
|
11
|
+
export { default as prettyBytes } from 'pretty-bytes';
|
|
12
|
+
export { v4 as uuid } from 'uuid';
|
|
13
|
+
import type * as otel from '@opentelemetry/api';
|
|
14
|
+
export * as dateFns from 'date-fns';
|
|
15
|
+
export type Prettify<T> = T extends infer U ? {
|
|
16
|
+
[K in keyof U]: Prettify<U[K]>;
|
|
17
|
+
} : never;
|
|
18
|
+
export type PrettifyFlat<T> = T extends infer U ? {
|
|
19
|
+
[K in keyof U]: U[K];
|
|
20
|
+
} : never;
|
|
21
|
+
export type TypeEq<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
|
|
22
|
+
/** `A` is subtype of `B` */
|
|
23
|
+
export type IsSubtype<A, B> = A extends B ? true : false;
|
|
24
|
+
export type AssertTrue<T extends true> = T;
|
|
25
|
+
export type Writeable<T> = {
|
|
26
|
+
-readonly [P in keyof T]: T[P];
|
|
27
|
+
};
|
|
28
|
+
export type DeepWriteable<T> = {
|
|
29
|
+
-readonly [P in keyof T]: DeepWriteable<T[P]>;
|
|
30
|
+
};
|
|
31
|
+
export type Primitive = null | undefined | string | number | boolean | symbol | bigint;
|
|
32
|
+
export type LiteralUnion<LiteralType, BaseType extends Primitive> = LiteralType | (BaseType & Record<never, never>);
|
|
33
|
+
export declare const sleep: (ms: number) => Promise<unknown>;
|
|
34
|
+
export declare const times: (n: number, fn: (index: number) => {}) => void;
|
|
35
|
+
export declare const debugCatch: <T>(try_: () => T) => T;
|
|
36
|
+
export declare const recRemoveUndefinedValues: (val: any) => void;
|
|
37
|
+
export declare const debugDeepCopy: <T>(val: T) => T;
|
|
38
|
+
export declare const prop: <T extends {}, K extends keyof T>(key: K) => (obj: T) => T[K];
|
|
39
|
+
export declare const objectToString: (error: any) => string;
|
|
40
|
+
export declare const errorToString: (error: any) => string;
|
|
41
|
+
export declare const capitalizeFirstLetter: (str: string) => string;
|
|
42
|
+
/**
|
|
43
|
+
* Use this to make assertion at end of if-else chain that all members of a
|
|
44
|
+
* union have been accounted for.
|
|
45
|
+
*/
|
|
46
|
+
export declare function casesHandled(unexpectedCase: never): never;
|
|
47
|
+
export declare const shouldNeverHappen: (msg?: string) => never;
|
|
48
|
+
export declare const assertNever: (failIfFalse: boolean, msg?: string) => void;
|
|
49
|
+
export declare const debuggerPipe: <T>(val: T) => T;
|
|
50
|
+
export declare const notYetImplemented: (msg?: string) => never;
|
|
51
|
+
export declare const noop: () => void;
|
|
52
|
+
export type Thunk<T> = () => T;
|
|
53
|
+
export declare const unwrapThunk: <T>(_: T | (() => T)) => T;
|
|
54
|
+
export type NullableFieldsToOptional<T> = PrettifyFlat<Partial<T> & {
|
|
55
|
+
[K in keyof T as null extends T[K] ? K : never]?: Exclude<T[K], null>;
|
|
56
|
+
} & {
|
|
57
|
+
[K in keyof T as null extends T[K] ? never : K]: T[K];
|
|
58
|
+
}>;
|
|
59
|
+
/** `end` is not included */
|
|
60
|
+
export declare const range: (start: number, end: number) => number[];
|
|
61
|
+
export declare const throttle: (fn: () => void, ms: number) => () => void;
|
|
62
|
+
export declare const getTraceParentHeader: (parentSpan: otel.Span) => string;
|
|
63
|
+
export declare const assertTag: <TObj extends {
|
|
64
|
+
_tag: string;
|
|
65
|
+
}, TTag extends TObj["_tag"]>(obj: TObj, tag: TTag) => Extract<TObj, {
|
|
66
|
+
_tag: TTag;
|
|
67
|
+
}>;
|
|
68
|
+
export declare const memoize: <T extends (...args: any[]) => any>(fn: T) => T;
|
|
69
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
export * from './string.js';
|
|
2
|
+
export * from './guards.js';
|
|
3
|
+
export * from './object/index.js';
|
|
4
|
+
export * from './promise.js';
|
|
5
|
+
export * from './time.js';
|
|
6
|
+
export * from './NoopTracer.js';
|
|
7
|
+
export * from './set.js';
|
|
8
|
+
export * from './browser.js';
|
|
9
|
+
export * from './Deferred.js';
|
|
10
|
+
export * as base64 from './base64.js';
|
|
11
|
+
export { default as prettyBytes } from 'pretty-bytes';
|
|
12
|
+
export { v4 as uuid } from 'uuid';
|
|
13
|
+
export * as dateFns from 'date-fns';
|
|
14
|
+
export const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
15
|
+
export const times = (n, fn) => {
|
|
16
|
+
for (let i = 0; i < n; i++) {
|
|
17
|
+
fn(i);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export const debugCatch = (try_) => {
|
|
21
|
+
try {
|
|
22
|
+
return try_();
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
debugger;
|
|
26
|
+
throw e;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export const recRemoveUndefinedValues = (val) => {
|
|
30
|
+
if (Array.isArray(val)) {
|
|
31
|
+
val.forEach(recRemoveUndefinedValues);
|
|
32
|
+
}
|
|
33
|
+
else if (typeof val === 'object') {
|
|
34
|
+
Object.keys(val).forEach((key) => {
|
|
35
|
+
if (val[key] === undefined) {
|
|
36
|
+
delete val[key];
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
recRemoveUndefinedValues(val[key]);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export const debugDeepCopy = (val) => JSON.parse(JSON.stringify(val));
|
|
45
|
+
export const prop = (key) => (obj) => obj[key];
|
|
46
|
+
export const objectToString = (error) => {
|
|
47
|
+
const stack = error.stack;
|
|
48
|
+
const str = error.toString();
|
|
49
|
+
const stackStr = stack ? `\n${stack}` : '';
|
|
50
|
+
if (str !== '[object Object]')
|
|
51
|
+
return str + stackStr;
|
|
52
|
+
try {
|
|
53
|
+
return JSON.stringify({ ...error, stack }, null, 2);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
console.log(error);
|
|
57
|
+
return 'Error while printing error: ' + e;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
export const errorToString = objectToString;
|
|
61
|
+
export const capitalizeFirstLetter = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
|
62
|
+
/**
|
|
63
|
+
* Use this to make assertion at end of if-else chain that all members of a
|
|
64
|
+
* union have been accounted for.
|
|
65
|
+
*/
|
|
66
|
+
/* eslint-disable-next-line prefer-arrow/prefer-arrow-functions */
|
|
67
|
+
export function casesHandled(unexpectedCase) {
|
|
68
|
+
debugger;
|
|
69
|
+
throw new Error(`A case was not handled for value: ${truncate(objectToString(unexpectedCase), 1000)}`);
|
|
70
|
+
}
|
|
71
|
+
export const shouldNeverHappen = (msg) => {
|
|
72
|
+
debugger;
|
|
73
|
+
throw new Error(`This should never happen ${msg}`);
|
|
74
|
+
};
|
|
75
|
+
export const assertNever = (failIfFalse, msg) => {
|
|
76
|
+
if (failIfFalse === false) {
|
|
77
|
+
debugger;
|
|
78
|
+
throw new Error(`This should never happen ${msg}`);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
export const debuggerPipe = (val) => {
|
|
82
|
+
debugger;
|
|
83
|
+
return val;
|
|
84
|
+
};
|
|
85
|
+
const truncate = (str, length) => {
|
|
86
|
+
if (str.length > length) {
|
|
87
|
+
return str.slice(0, length) + '...';
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return str;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
export const notYetImplemented = (msg) => {
|
|
94
|
+
debugger;
|
|
95
|
+
throw new Error(`Not yet implemented ${msg}`);
|
|
96
|
+
};
|
|
97
|
+
export const noop = () => { };
|
|
98
|
+
export const unwrapThunk = (_) => {
|
|
99
|
+
if (typeof _ === 'function') {
|
|
100
|
+
return _();
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return _;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
/** `end` is not included */
|
|
107
|
+
export const range = (start, end) => {
|
|
108
|
+
const length = end - start;
|
|
109
|
+
return Array.from({ length }, (_, i) => start + i);
|
|
110
|
+
};
|
|
111
|
+
export const throttle = (fn, ms) => {
|
|
112
|
+
let shouldWait = false;
|
|
113
|
+
let shouldCallAgain = false;
|
|
114
|
+
const timeoutFunc = () => {
|
|
115
|
+
if (shouldCallAgain) {
|
|
116
|
+
fn();
|
|
117
|
+
shouldCallAgain = false;
|
|
118
|
+
setTimeout(timeoutFunc, ms);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
shouldWait = false;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
return () => {
|
|
125
|
+
if (shouldWait) {
|
|
126
|
+
shouldCallAgain = true;
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
fn();
|
|
130
|
+
shouldWait = true;
|
|
131
|
+
setTimeout(timeoutFunc, ms);
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
export const getTraceParentHeader = (parentSpan) => {
|
|
135
|
+
const spanContext = parentSpan.spanContext();
|
|
136
|
+
// Format: {version}-{trace_id}-{span_id}-{trace_flags}
|
|
137
|
+
// https://www.w3.org/TR/trace-context/#examples-of-http-traceparent-headers
|
|
138
|
+
return `00-${spanContext.traceId}-${spanContext.spanId}-01`;
|
|
139
|
+
};
|
|
140
|
+
export const assertTag = (obj, tag) => {
|
|
141
|
+
if (obj._tag !== tag) {
|
|
142
|
+
throw new Error(`Expected tag ${tag} but got ${obj._tag}`);
|
|
143
|
+
}
|
|
144
|
+
return obj;
|
|
145
|
+
};
|
|
146
|
+
export const memoize = (fn) => {
|
|
147
|
+
const cache = new Map();
|
|
148
|
+
return ((...args) => {
|
|
149
|
+
const key = JSON.stringify(args);
|
|
150
|
+
if (cache.has(key)) {
|
|
151
|
+
return cache.get(key);
|
|
152
|
+
}
|
|
153
|
+
const result = fn(...args);
|
|
154
|
+
cache.set(key, result);
|
|
155
|
+
return result;
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AAErD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAA;AAIjC,OAAO,KAAK,OAAO,MAAM,UAAU,CAAA;AAkBnC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAyB,EAAQ,EAAE;IAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,EAAE,CAAC,CAAC,CAAC,CAAA;KACN;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,IAAa,EAAK,EAAE;IAChD,IAAI;QACF,OAAO,IAAI,EAAE,CAAA;KACd;IAAC,OAAO,CAAM,EAAE;QACf,QAAQ,CAAA;QACR,MAAM,CAAC,CAAA;KACR;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAQ,EAAQ,EAAE;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAA;KACtC;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAClC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBAC1B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;aAChB;iBAAM;gBACL,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;aACnC;QACH,CAAC,CAAC,CAAA;KACH;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,GAAM,EAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,IAAI,GACf,CAAkC,GAAM,EAAE,EAAE,CAC5C,CAAC,GAAM,EAAQ,EAAE,CACf,GAAG,CAAC,GAAG,CAAC,CAAA;AAEZ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAU,EAAU,EAAE;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IACzB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1C,IAAI,GAAG,KAAK,iBAAiB;QAAE,OAAO,GAAG,GAAG,QAAQ,CAAA;IAEpD,IAAI;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;KACpD;IAAC,OAAO,CAAM,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAElB,OAAO,8BAA8B,GAAG,CAAC,CAAA;KAC1C;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAA;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAExG;;;GAGG;AACH,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,cAAqB;IAChD,QAAQ,CAAA;IACR,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;AACxG,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAY,EAAS,EAAE;IACvD,QAAQ,CAAA;IACR,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAoB,EAAE,GAAY,EAAQ,EAAE;IACtE,IAAI,WAAW,KAAK,KAAK,EAAE;QACzB,QAAQ,CAAA;QACR,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;KACnD;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,GAAM,EAAK,EAAE;IAC3C,QAAQ,CAAA;IACR,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,MAAc,EAAU,EAAE;IACvD,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE;QACvB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAA;KACpC;SAAM;QACL,OAAO,GAAG,CAAA;KACX;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAY,EAAS,EAAE;IACvD,QAAQ,CAAA;IACR,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;AAI5B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,CAAgB,EAAK,EAAE;IACpD,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE;QAC3B,OAAQ,CAAS,EAAE,CAAA;KACpB;SAAM;QACL,OAAO,CAAC,CAAA;KACT;AACH,CAAC,CAAA;AAUD,4BAA4B;AAC5B,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAY,EAAE;IAC5D,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAc,EAAE,EAAU,EAAE,EAAE;IACrD,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,IAAI,eAAe,GAAG,KAAK,CAAA;IAE3B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,eAAe,EAAE;YACnB,EAAE,EAAE,CAAA;YACJ,eAAe,GAAG,KAAK,CAAA;YACvB,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;SAC5B;aAAM;YACL,UAAU,GAAG,KAAK,CAAA;SACnB;IACH,CAAC,CAAA;IAED,OAAO,GAAG,EAAE;QACV,IAAI,UAAU,EAAE;YACd,eAAe,GAAG,IAAI,CAAA;YACtB,OAAM;SACP;QAED,EAAE,EAAE,CAAA;QACJ,UAAU,GAAG,IAAI,CAAA;QACjB,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC7B,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAqB,EAAE,EAAE;IAC5D,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;IAC5C,uDAAuD;IACvD,4EAA4E;IAC5E,OAAO,MAAM,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,KAAK,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,GAAS,EACT,GAAS,EACsB,EAAE;IACjC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,YAAY,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;KAC3D;IAED,OAAO,GAAU,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAoC,EAAK,EAAK,EAAE;IACrE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAA;IAE9C,OAAO,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SACtB;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACtB,OAAO,MAAM,CAAA;IACf,CAAC,CAAQ,CAAA;AACX,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './pick.js';
|
|
2
|
+
export * from './omit.js';
|
|
3
|
+
type ValueOfRecord<R extends Record<any, any>> = R extends Record<any, infer V> ? V : never;
|
|
4
|
+
export declare const mapObjectValues: <O_In extends Record<string, any>, V_Out>(obj: O_In, mapValue: (key: keyof O_In, val: ValueOfRecord<O_In>) => V_Out) => { [K in keyof O_In]: V_Out; };
|
|
5
|
+
export type Entries<T> = {
|
|
6
|
+
[K in keyof T]: [K, T[K]];
|
|
7
|
+
}[keyof T][];
|
|
8
|
+
export declare const objectEntries: <T extends Record<string, any>>(obj: T) => Entries<T>;
|
|
9
|
+
export declare const keyObjectFromObject: <TObj extends Record<string, any>>(obj: TObj) => { [K in keyof TObj]: K; };
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AAEzB,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE3F,eAAO,MAAM,eAAe,uJAM3B,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;AAEjE,eAAO,MAAM,aAAa,uDAA2F,CAAA;AAErH,eAAO,MAAM,mBAAmB,4EAItB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { pipe } from 'effect';
|
|
2
|
+
export * from './pick.js';
|
|
3
|
+
export * from './omit.js';
|
|
4
|
+
export const mapObjectValues = (obj, mapValue) => {
|
|
5
|
+
const mappedEntries = Object.entries(obj).map(([key, val]) => [key, mapValue(key, val)]);
|
|
6
|
+
return Object.fromEntries(mappedEntries);
|
|
7
|
+
};
|
|
8
|
+
export const objectEntries = (obj) => Object.entries(obj);
|
|
9
|
+
export const keyObjectFromObject = (obj) => pipe(objectEntries(obj).map(([k]) => [k, k]), Object.fromEntries);
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AAIzB,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAS,EACT,QAA8D,EAChC,EAAE;IAChC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAiB,EAAE,GAAG,CAAC,CAAU,CAAC,CAAA;IAC/G,OAAO,MAAM,CAAC,WAAW,CAAC,aAAa,CAAQ,CAAA;AACjD,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,aAAa,GAAG,CAAgC,GAAM,EAAc,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAe,CAAA;AAErH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAmC,GAAS,EAA4B,EAAE,CAC3G,IAAI,CACF,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACvC,MAAM,CAAC,WAAW,CACZ,CAAA"}
|