effect-app 2.24.0 → 2.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/Array.d.ts +1 -1
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +7 -6
- package/dist/NonEmptySetBase.d.ts.map +1 -1
- package/dist/client/apiClientFactory.d.ts +16 -16
- package/package.json +10 -10
- package/src/Array.ts +10 -9
package/CHANGELOG.md
CHANGED
package/dist/Array.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare const isArray: {
|
|
|
9
9
|
};
|
|
10
10
|
export declare function NEAFromArray<T>(ar: Array<T>): Option.None<[T, ...T[]]> | Option.Some<[T, ...T[]]>;
|
|
11
11
|
export declare function NEROArrayFromArray<T>(ar: ReadonlyArray<T>): Option.None<readonly [T, ...T[]]> | Option.Some<readonly [T, ...T[]]>;
|
|
12
|
-
export declare const groupByT: (<A, Key
|
|
12
|
+
export declare const groupByT: (<A, Key>(f: (a: NoInfer<A>) => Key) => (as: ReadonlyArray<A>) => Array<readonly [Key, NonEmptyArray<A>]>) & (<A, Key>(as: ReadonlyArray<A>, f: (a: A) => Key) => Array<readonly [Key, NonEmptyArray<A>]>);
|
|
13
13
|
export declare function randomElement<A>(a: NonEmptyReadonlyArray<A>): A;
|
|
14
14
|
export declare function randomElement<A>(a: ReadonlyArray<A>): A | undefined;
|
|
15
15
|
export declare function filterWith<A>(self: ReadonlyArray<A>, predicates: ReadonlyArray<Predicate<A>>): A[];
|
package/dist/Array.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../src/Array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAGxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,eAAO,MAAM,eAAe,6DAAsD,CAAA;AAElF,eAAO,MAAM,OAAO,EAAE;IAEpB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;CACrC,CAAA;AAEjB,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,uDAE3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,yEAEzD;AAED,eAAO,MAAM,QAAQ,IAClB,CAAC,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../src/Array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAGxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,eAAO,MAAM,eAAe,6DAAsD,CAAA;AAElF,eAAO,MAAM,OAAO,EAAE;IAEpB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;CACrC,CAAA;AAEjB,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,uDAE3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,yEAEzD;AAED,eAAO,MAAM,QAAQ,IAClB,CAAC,EAAE,GAAG,KACF,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,KACtB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MACrE,CAAC,EAAE,GAAG,MACD,aAAa,CAAC,CAAC,CAAC,KACjB,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,KACb,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAiB5C,CAAA;AAEF,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAChE,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;AAKpE,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAE5F;AAED;;GAEG;AACH,wBAAiB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,iCAM5D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,oBAE1D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,oDAE5G;AAED,cAAc,cAAc,CAAA"}
|
package/dist/Array.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Chunk, Effect } from "effect";
|
|
2
2
|
import * as Array from "effect/Array";
|
|
3
3
|
import * as T from "effect/Effect";
|
|
4
|
-
import { dual
|
|
4
|
+
import { dual } from "./Function.js";
|
|
5
5
|
import * as Option from "./Option.js";
|
|
6
6
|
export const toNonEmptyArray = Option.liftPredicate(Array.isNonEmptyReadonlyArray);
|
|
7
7
|
export const isArray = Array.isArray;
|
|
@@ -12,18 +12,19 @@ export function NEROArrayFromArray(ar) {
|
|
|
12
12
|
return ar.length ? Option.some(ar) : Option.none();
|
|
13
13
|
}
|
|
14
14
|
export const groupByT = dual(2, (as, f) => {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
15
16
|
const r = {};
|
|
16
17
|
for (const a of as) {
|
|
17
18
|
const k = f(a);
|
|
18
19
|
// eslint-disable-next-line no-prototype-builtins
|
|
19
|
-
if (r.
|
|
20
|
-
r
|
|
20
|
+
if (r.has(k)) {
|
|
21
|
+
r.get(k).push(a);
|
|
21
22
|
}
|
|
22
23
|
else {
|
|
23
|
-
r
|
|
24
|
+
r.set(k, [a]);
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
|
-
return
|
|
27
|
+
return [...r.entries()];
|
|
27
28
|
});
|
|
28
29
|
export function randomElement(a) {
|
|
29
30
|
return a[Math.floor(Math.random() * a.length)];
|
|
@@ -50,4 +51,4 @@ export function forEachEffectNA(as, f) {
|
|
|
50
51
|
return Effect.map(T.forEach(as, f), (_) => Option.getOrNull(toNonEmptyArray(_)));
|
|
51
52
|
}
|
|
52
53
|
export * from "effect/Array";
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFdEMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFFbEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNwQyxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUVyQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtBQUVsRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBSWhCLEtBQUssQ0FBQyxPQUFPLENBQUE7QUFFakIsTUFBTSxVQUFVLFlBQVksQ0FBSSxFQUFZO0lBQzFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUN4RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFJLEVBQW9CO0lBQ3hELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUE4QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUNoRixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FRMUIsQ0FBQyxFQUFFLENBQ0gsRUFBb0IsRUFDcEIsQ0FBZ0IsRUFDeUIsRUFBRTtJQUMzQyxtRUFBbUU7SUFDbkUsTUFBTSxDQUFDLEdBQTBDLEVBQVMsQ0FBQTtJQUMxRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNkLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNiLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ25CLENBQUM7YUFBTSxDQUFDO1lBQ04sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUN6QixDQUFDLENBQUMsQ0FBQTtBQUlGLE1BQU0sVUFBVSxhQUFhLENBQUksQ0FBbUI7SUFDbEQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUksSUFBc0IsRUFBRSxVQUF1QztJQUMzRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDMUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUksTUFBbUIsRUFBRSxJQUFZO0lBQzNELE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtJQUV6QixPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzdCLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFJLE1BQW1CLEVBQUUsSUFBWTtJQUN6RCxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFhLEVBQTRCLEVBQUUsQ0FBbUM7SUFDM0csT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDbEYsQ0FBQztBQUVELGNBQWMsY0FBYyxDQUFBIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonEmptySetBase.d.ts","sourceRoot":"","sources":["../src/NonEmptySetBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAaL,KAAK,GAAG,EAET,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,MAAM,CAAA;CACjC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAA;AA0DnD,cAAM,OAAO,CAAC,CAAC;IACb,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"NonEmptySetBase.d.ts","sourceRoot":"","sources":["../src/NonEmptySetBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAaL,KAAK,GAAG,EAET,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,MAAM,CAAA;CACjC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAA;AA0DnD,cAAM,OAAO,CAAC,CAAC;IACb,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;CAG7D;AAED,MAAM,WAAW,2BAA2B,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CAAG;AAE5F,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EACnB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,EAAE,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,KAC5B,2BAA2B,CAAC,CAAC,CAAS,CAAA;AAE3C,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,6DAMrC;AAGD,cAAc,UAAU,CAAA"}
|
|
@@ -10,28 +10,28 @@ export declare const DefaultApiConfig: Config.Config<{
|
|
|
10
10
|
url: string;
|
|
11
11
|
headers: Option.Option<HashMap.HashMap<string, string>>;
|
|
12
12
|
}>;
|
|
13
|
-
declare const ApiClientFactory_base: (abstract new (service: (requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(models: M) => Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
13
|
+
declare const ApiClientFactory_base: (abstract new (service: (requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(models: M) => Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
14
14
|
raw: import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
15
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
16
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
17
|
-
}; } : never) => Readonly<(requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(models: M) => Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
15
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
16
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Encoded<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
17
|
+
}; } : never) => Readonly<(requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(models: M) => Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
18
18
|
raw: import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
19
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
20
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
21
|
-
}; } : never> & Context.TagClassShape<"ApiClientFactory", (requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(models: M) => Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
19
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
20
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Encoded<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
21
|
+
}; } : never> & Context.TagClassShape<"ApiClientFactory", (requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(models: M) => Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
22
22
|
raw: import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
23
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
24
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
23
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
24
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Encoded<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
25
25
|
}; } : never>) & {
|
|
26
26
|
toLayer: <E, R>(eff: Effect.Effect<Omit<ApiClientFactory, keyof Context.TagClassShape<any, any>>, E, R>) => Layer.Layer<ApiClientFactory, E, R>;
|
|
27
27
|
toLayerScoped: <E, R>(eff: Effect.Effect<Omit<ApiClientFactory, keyof Context.TagClassShape<any, any>>, E, R>) => Layer.Layer<ApiClientFactory, E, Exclude<R, import("effect/Scope").Scope>>;
|
|
28
28
|
of: (service: Omit<ApiClientFactory, keyof Context.TagClassShape<any, any>>) => ApiClientFactory;
|
|
29
29
|
} & Context.Tag<ApiClientFactory, ApiClientFactory> & {} & {
|
|
30
|
-
use: <X>(body: (_: (requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(models: M) => Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
30
|
+
use: <X>(body: (_: (requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(models: M) => Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
31
31
|
raw: import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
32
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
33
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
34
|
-
}; } : never) => X) => X extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E,
|
|
32
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
33
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Encoded<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
34
|
+
}; } : never) => X) => X extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, R | ApiClientFactory> : Effect.Effect<X, never, ApiClientFactory>;
|
|
35
35
|
};
|
|
36
36
|
/**
|
|
37
37
|
* Used to create clients for resource modules.
|
|
@@ -39,10 +39,10 @@ declare const ApiClientFactory_base: (abstract new (service: (requestLevelLayers
|
|
|
39
39
|
export declare class ApiClientFactory extends ApiClientFactory_base {
|
|
40
40
|
static readonly layer: (config: ApiConfig) => Layer.Layer<ApiClientFactory, never, HttpClient.HttpClient>;
|
|
41
41
|
static readonly layerFromConfig: Layer.Layer<ApiClientFactory, import("effect/ConfigError").ConfigError, HttpClient.HttpClient>;
|
|
42
|
-
static readonly makeFor: (requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(resource: M) => Effect.Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
42
|
+
static readonly makeFor: (requestLevelLayers: Layer.Layer<never, never, never>) => <M extends Requests>(resource: M) => Effect.Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
43
43
|
raw: import("./clientFor.js").RequestHandler<Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
44
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
45
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId
|
|
44
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Type<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
45
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<Schema.Schema.Type<Omit<M, "meta">[K]>, typeof Schema.symbolSerializable | typeof Schema.symbolWithResult | "_tag" | typeof import("effect/Request").RequestTypeId>, Schema.Schema.Encoded<Omit<M, "meta">[K]["success"]>, Schema.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
46
46
|
}; } : never, never, ApiClientFactory>;
|
|
47
47
|
}
|
|
48
48
|
export {};
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "2.24.
|
|
3
|
+
"version": "2.24.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@effect/rpc": "^0.
|
|
8
|
-
"@effect/rpc-http": "^0.
|
|
7
|
+
"@effect/rpc": "^0.50.1",
|
|
8
|
+
"@effect/rpc-http": "^0.48.1",
|
|
9
9
|
"@tsconfig/strictest": "^2.0.5",
|
|
10
10
|
"date-fns": "^4.1.0",
|
|
11
11
|
"nanoid": "^5.0.9",
|
|
12
12
|
"path-parser": "^6.1.0",
|
|
13
13
|
"query-string": "^9.1.1",
|
|
14
|
-
"ts-pattern": "^5.6.
|
|
14
|
+
"ts-pattern": "^5.6.2",
|
|
15
15
|
"ts-toolbelt": "^9.6.0",
|
|
16
|
-
"uuid": "^11.0.
|
|
16
|
+
"uuid": "^11.0.5",
|
|
17
17
|
"validator": "^13.12.0"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
@@ -24,16 +24,16 @@
|
|
|
24
24
|
"@babel/plugin-transform-modules-commonjs": "^7.26.3",
|
|
25
25
|
"babel-plugin-replace-import-extension": "^1.1.4",
|
|
26
26
|
"@faker-js/faker": "^8.4.1",
|
|
27
|
-
"@types/node": "~22.10.
|
|
27
|
+
"@types/node": "~22.10.9",
|
|
28
28
|
"@types/uuid": "^10.0.0",
|
|
29
29
|
"@types/validator": "^13.12.2",
|
|
30
30
|
"fast-check": "~3.23.2",
|
|
31
|
-
"typescript": "^5.7.
|
|
32
|
-
"vitest": "^
|
|
31
|
+
"typescript": "^5.7.3",
|
|
32
|
+
"vitest": "^3.0.4"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@effect/platform": "^0.
|
|
36
|
-
"effect": "^3.12.
|
|
35
|
+
"@effect/platform": "^0.75.1",
|
|
36
|
+
"effect": "^3.12.7"
|
|
37
37
|
},
|
|
38
38
|
"typesVersions": {
|
|
39
39
|
"*": {
|
package/src/Array.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { NonEmptyArray, NonEmptyReadonlyArray } from "effect/Array"
|
|
|
3
3
|
import * as Array from "effect/Array"
|
|
4
4
|
import * as T from "effect/Effect"
|
|
5
5
|
import type { Predicate } from "./Function.js"
|
|
6
|
-
import { dual
|
|
6
|
+
import { dual } from "./Function.js"
|
|
7
7
|
import * as Option from "./Option.js"
|
|
8
8
|
|
|
9
9
|
export const toNonEmptyArray = Option.liftPredicate(Array.isNonEmptyReadonlyArray)
|
|
@@ -23,28 +23,29 @@ export function NEROArrayFromArray<T>(ar: ReadonlyArray<T>) {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export const groupByT = dual<
|
|
26
|
-
<A, Key
|
|
26
|
+
<A, Key>(
|
|
27
27
|
f: (a: NoInfer<A>) => Key
|
|
28
28
|
) => (as: ReadonlyArray<A>) => Array<readonly [Key, NonEmptyArray<A>]>,
|
|
29
|
-
<A, Key
|
|
29
|
+
<A, Key>(
|
|
30
30
|
as: ReadonlyArray<A>,
|
|
31
31
|
f: (a: A) => Key
|
|
32
32
|
) => Array<readonly [Key, NonEmptyArray<A>]>
|
|
33
|
-
>(2, <A, Key
|
|
33
|
+
>(2, <A, Key>(
|
|
34
34
|
as: ReadonlyArray<A>,
|
|
35
35
|
f: (a: A) => Key
|
|
36
36
|
): Array<readonly [Key, NonEmptyArray<A>]> => {
|
|
37
|
-
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
38
|
+
const r: Map<Key, NonEmptyArray<A> & { 0: A }> = {} as any
|
|
38
39
|
for (const a of as) {
|
|
39
40
|
const k = f(a)
|
|
40
41
|
// eslint-disable-next-line no-prototype-builtins
|
|
41
|
-
if (r.
|
|
42
|
-
r
|
|
42
|
+
if (r.has(k)) {
|
|
43
|
+
r.get(k)!.push(a)
|
|
43
44
|
} else {
|
|
44
|
-
r
|
|
45
|
+
r.set(k, [a])
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
|
-
return
|
|
48
|
+
return [...r.entries()]
|
|
48
49
|
})
|
|
49
50
|
|
|
50
51
|
export function randomElement<A>(a: NonEmptyReadonlyArray<A>): A
|