@effect-app/infra 4.0.0-beta.190 → 4.0.0-beta.192
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 +15 -0
- package/dist/Emailer/service.d.ts +2 -2
- package/dist/Emailer/service.d.ts.map +1 -1
- package/dist/MainFiberSet.d.ts +5 -5
- package/dist/MainFiberSet.d.ts.map +1 -1
- package/dist/MainFiberSet.js +1 -1
- package/dist/Model/Repository/ext.d.ts +3 -3
- package/dist/Model/Repository/ext.d.ts.map +1 -1
- package/dist/Model/Repository/ext.js +1 -1
- package/dist/Model/filter/types/path/eager.d.ts +1 -1
- package/dist/Model/filter/types/path/eager.d.ts.map +1 -1
- package/dist/Model/filter/types/path/eager.js +1 -1
- package/dist/Model/query/dsl.d.ts +16 -16
- package/dist/Model/query/dsl.d.ts.map +1 -1
- package/dist/RequestContext.d.ts +1 -1
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +1 -2
- package/dist/Store/Cosmos/query.d.ts +1 -1
- package/dist/Store/Cosmos/query.d.ts.map +1 -1
- package/dist/Store/Cosmos/query.js +3 -3
- package/dist/Store/service.d.ts +2 -2
- package/dist/Store/service.d.ts.map +1 -1
- package/dist/adapters/ServiceBus.d.ts +3 -3
- package/dist/adapters/ServiceBus.d.ts.map +1 -1
- package/dist/adapters/logger.d.ts +1 -1
- package/dist/api/ContextProvider.d.ts +2 -2
- package/dist/api/ContextProvider.d.ts.map +1 -1
- package/dist/api/ContextProvider.js +1 -1
- package/dist/api/routing.d.ts +8 -8
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +1 -1
- package/dist/test.d.ts +2 -2
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +1 -1
- package/package.json +10 -12
- package/src/Emailer/service.ts +1 -1
- package/src/MainFiberSet.ts +2 -3
- package/src/Model/Repository/ext.ts +3 -4
- package/src/Model/filter/types/path/eager.ts +1 -2
- package/src/Model/query/dsl.ts +18 -18
- package/src/RequestContext.ts +0 -2
- package/src/Store/Cosmos/query.ts +7 -9
- package/src/Store/service.ts +1 -1
- package/src/adapters/ServiceBus.ts +1 -1
- package/src/api/ContextProvider.ts +1 -2
- package/src/api/routing.ts +10 -16
- package/src/test.ts +1 -1
- package/dist/Operations.d.ts +0 -55
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -99
- package/dist/OperationsRepo.d.ts +0 -23
- package/dist/OperationsRepo.d.ts.map +0 -1
- package/dist/OperationsRepo.js +0 -14
- package/eslint.config.mjs +0 -24
package/src/Model/query/dsl.ts
CHANGED
|
@@ -54,7 +54,7 @@ type ExtractFieldValuesRefined<T> = T extends QueryTogether<any, infer TFieldVal
|
|
|
54
54
|
|
|
55
55
|
export type RelationDirection = "some" | "every"
|
|
56
56
|
export type Relation = { relation: RelationDirection }
|
|
57
|
-
export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues
|
|
57
|
+
export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues>
|
|
58
58
|
export type QueryWhere<
|
|
59
59
|
TFieldValues extends FieldValues,
|
|
60
60
|
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
@@ -1538,7 +1538,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1538
1538
|
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
1539
1539
|
): (
|
|
1540
1540
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1541
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2
|
|
1541
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>
|
|
1542
1542
|
|
|
1543
1543
|
<
|
|
1544
1544
|
TFieldValues extends FieldValues,
|
|
@@ -1555,7 +1555,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1555
1555
|
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
1556
1556
|
): (
|
|
1557
1557
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1558
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined3
|
|
1558
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined3>
|
|
1559
1559
|
|
|
1560
1560
|
<
|
|
1561
1561
|
TFieldValues extends FieldValues,
|
|
@@ -1577,7 +1577,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1577
1577
|
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
1578
1578
|
): (
|
|
1579
1579
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1580
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined4
|
|
1580
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined4>
|
|
1581
1581
|
|
|
1582
1582
|
<
|
|
1583
1583
|
TFieldValues extends FieldValues,
|
|
@@ -1604,7 +1604,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1604
1604
|
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
1605
1605
|
): (
|
|
1606
1606
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1607
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined5
|
|
1607
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined5>
|
|
1608
1608
|
|
|
1609
1609
|
<
|
|
1610
1610
|
TFieldValues extends FieldValues,
|
|
@@ -1636,7 +1636,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1636
1636
|
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
1637
1637
|
): (
|
|
1638
1638
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1639
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined6
|
|
1639
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined6>
|
|
1640
1640
|
|
|
1641
1641
|
<
|
|
1642
1642
|
TFieldValues extends FieldValues,
|
|
@@ -1673,7 +1673,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1673
1673
|
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
1674
1674
|
): (
|
|
1675
1675
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1676
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined7
|
|
1676
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined7>
|
|
1677
1677
|
|
|
1678
1678
|
<
|
|
1679
1679
|
TFieldValues extends FieldValues,
|
|
@@ -1715,7 +1715,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1715
1715
|
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
1716
1716
|
): (
|
|
1717
1717
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1718
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2
|
|
1718
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>
|
|
1719
1719
|
|
|
1720
1720
|
<
|
|
1721
1721
|
TFieldValues extends FieldValues,
|
|
@@ -1762,7 +1762,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1762
1762
|
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
1763
1763
|
): (
|
|
1764
1764
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1765
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined9
|
|
1765
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined9>
|
|
1766
1766
|
|
|
1767
1767
|
<
|
|
1768
1768
|
TFieldValues extends FieldValues,
|
|
@@ -1814,7 +1814,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1814
1814
|
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
1815
1815
|
): (
|
|
1816
1816
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1817
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined10
|
|
1817
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined10>
|
|
1818
1818
|
|
|
1819
1819
|
<
|
|
1820
1820
|
TFieldValues extends FieldValues,
|
|
@@ -1871,7 +1871,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1871
1871
|
) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>
|
|
1872
1872
|
): (
|
|
1873
1873
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1874
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined11
|
|
1874
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined11>
|
|
1875
1875
|
|
|
1876
1876
|
<
|
|
1877
1877
|
TFieldValues extends FieldValues,
|
|
@@ -1933,7 +1933,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
1933
1933
|
) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>
|
|
1934
1934
|
): (
|
|
1935
1935
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1936
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined12
|
|
1936
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined12>
|
|
1937
1937
|
|
|
1938
1938
|
<
|
|
1939
1939
|
TFieldValues extends FieldValues,
|
|
@@ -2000,7 +2000,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
2000
2000
|
) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>
|
|
2001
2001
|
): (
|
|
2002
2002
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2003
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined13
|
|
2003
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined13>
|
|
2004
2004
|
|
|
2005
2005
|
<
|
|
2006
2006
|
TFieldValues extends FieldValues,
|
|
@@ -2072,7 +2072,7 @@ export type NestedQueriesFreeDisjointRefinement = {
|
|
|
2072
2072
|
) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>
|
|
2073
2073
|
): (
|
|
2074
2074
|
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2075
|
-
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined14
|
|
2075
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined14>
|
|
2076
2076
|
}
|
|
2077
2077
|
|
|
2078
2078
|
export type FilterWhere =
|
|
@@ -2099,12 +2099,12 @@ export type WhereEveryOrSome =
|
|
|
2099
2099
|
subPath: TFieldName,
|
|
2100
2100
|
dude: (
|
|
2101
2101
|
current: Query<TFieldValues[TFieldName][number]>
|
|
2102
|
-
) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]
|
|
2102
|
+
) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>,
|
|
2103
2103
|
...dudes: ((
|
|
2104
|
-
current: QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]
|
|
2105
|
-
) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]
|
|
2104
|
+
current: QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>
|
|
2105
|
+
) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>)[]
|
|
2106
2106
|
): (
|
|
2107
2107
|
current: Query<TFieldValues>
|
|
2108
|
-
) => QueryWhere<TFieldValues, TFieldValues
|
|
2108
|
+
) => QueryWhere<TFieldValues, TFieldValues>
|
|
2109
2109
|
}
|
|
2110
2110
|
& FilterContinuationsWithSubpath
|
package/src/RequestContext.ts
CHANGED
|
@@ -53,11 +53,9 @@ export const spanAttributes = (ctx: Pick<RequestContext, "locale" | "namespace">
|
|
|
53
53
|
|
|
54
54
|
// codegen:start {preset: model}
|
|
55
55
|
//
|
|
56
|
-
/* eslint-disable */
|
|
57
56
|
export namespace RequestContext {
|
|
58
57
|
export interface Encoded extends S.StructNestedEncoded<typeof RequestContext> {}
|
|
59
58
|
}
|
|
60
|
-
/* eslint-enable */
|
|
61
59
|
//
|
|
62
60
|
// codegen:end
|
|
63
61
|
//
|
|
@@ -279,16 +279,14 @@ export function buildWhereCosmosQuery3(
|
|
|
279
279
|
query: `
|
|
280
280
|
SELECT ${
|
|
281
281
|
select
|
|
282
|
-
?
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
: `ARRAY (SELECT ${s.subKeys.map((_) => dottedToAccess(`t.${_}`)).join(",")}
|
|
282
|
+
? select
|
|
283
|
+
.map((s) =>
|
|
284
|
+
typeof s === "string"
|
|
285
|
+
? dottedToAccess(s === idKey ? "f.id" : `f.${s}`) // x["y"} vs x.y, helps with reserved keywords like "value"
|
|
286
|
+
: `ARRAY (SELECT ${s.subKeys.map((_) => dottedToAccess(`t.${_}`)).join(",")}
|
|
288
287
|
FROM t in ${dottedToAccess(`f.${s.key}`)}) AS ${s.key}`
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
}`
|
|
288
|
+
)
|
|
289
|
+
.join(", ")
|
|
292
290
|
: "f"
|
|
293
291
|
}
|
|
294
292
|
FROM ${name} f
|
package/src/Store/service.ts
CHANGED
|
@@ -52,7 +52,7 @@ export class Sender extends Context.Opaque<Sender, {
|
|
|
52
52
|
sendMessages: (
|
|
53
53
|
messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch,
|
|
54
54
|
options?: Omit<OperationOptionsBase, "abortSignal">
|
|
55
|
-
) => Effect.Effect<void
|
|
55
|
+
) => Effect.Effect<void>
|
|
56
56
|
}>()("Sender", { make: makeSender }) {
|
|
57
57
|
static readonly layer = (name: string) => this.toLayer(this.make(name))
|
|
58
58
|
}
|
|
@@ -98,8 +98,7 @@ export const ContextProvider = <
|
|
|
98
98
|
| Effect.Effect<ContextProviderA, never, ContextProviderR>
|
|
99
99
|
| (() => Generator<
|
|
100
100
|
Yieldable<any, any, never, ContextProviderR>,
|
|
101
|
-
ContextProviderA
|
|
102
|
-
any
|
|
101
|
+
ContextProviderA
|
|
103
102
|
>),
|
|
104
103
|
MakeContextProviderE,
|
|
105
104
|
MakeContextProviderR | Scope.Scope
|
package/src/api/routing.ts
CHANGED
|
@@ -384,9 +384,7 @@ export const makeRouter = <
|
|
|
384
384
|
: Impl[K]["raw"] extends (...args: any[]) => Stream.Stream<any, any, infer R> ? R
|
|
385
385
|
: Impl[K]["raw"] extends Stream.Stream<any, any, infer R> ? R
|
|
386
386
|
: Impl[K]["raw"] extends (...args: any[]) => Generator<
|
|
387
|
-
Yieldable<any, any, any, infer R
|
|
388
|
-
any,
|
|
389
|
-
any
|
|
387
|
+
Yieldable<any, any, any, infer R>
|
|
390
388
|
> ? R
|
|
391
389
|
: never
|
|
392
390
|
: Impl[K] extends (...args: any[]) => Effect.Effect<any, any, infer R> ? R
|
|
@@ -394,9 +392,7 @@ export const makeRouter = <
|
|
|
394
392
|
: Impl[K] extends (...args: any[]) => Stream.Stream<any, any, infer R> ? R
|
|
395
393
|
: Impl[K] extends Stream.Stream<any, any, infer R> ? R
|
|
396
394
|
: Impl[K] extends (...args: any[]) => Generator<
|
|
397
|
-
Yieldable<any, any, any, infer R
|
|
398
|
-
any,
|
|
399
|
-
any
|
|
395
|
+
Yieldable<any, any, any, infer R>
|
|
400
396
|
> ? R
|
|
401
397
|
: never,
|
|
402
398
|
| GetEffectContext<RequestContextMap, Resource[K]["config"]>
|
|
@@ -425,7 +421,7 @@ export const makeRouter = <
|
|
|
425
421
|
match: any
|
|
426
422
|
) =>
|
|
427
423
|
| Effect.Effect<THandlers, MakeE, MakeR>
|
|
428
|
-
| Generator<Yieldable<any, any, MakeE, MakeR>, THandlers
|
|
424
|
+
| Generator<Yieldable<any, any, MakeE, MakeR>, THandlers>
|
|
429
425
|
) => {
|
|
430
426
|
const dependenciesL = (dependencies ? Layer.mergeAll(...dependencies as any) : Layer.empty) as Layer.Layer<
|
|
431
427
|
LayerUtils.GetLayersSuccess<MakeDependencies>,
|
|
@@ -620,8 +616,7 @@ export const makeRouter = <
|
|
|
620
616
|
any,
|
|
621
617
|
any
|
|
622
618
|
>,
|
|
623
|
-
{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> }
|
|
624
|
-
any
|
|
619
|
+
{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> }
|
|
625
620
|
>
|
|
626
621
|
/** @deprecated */
|
|
627
622
|
readonly ಠ_ಠ: never
|
|
@@ -652,8 +647,7 @@ export const makeRouter = <
|
|
|
652
647
|
// v4: generators yield Yieldable with asEffect()
|
|
653
648
|
effect: (match: typeof router3) => Generator<
|
|
654
649
|
Yieldable<any, any, any, any>,
|
|
655
|
-
{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> }
|
|
656
|
-
any
|
|
650
|
+
{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> }
|
|
657
651
|
>
|
|
658
652
|
}
|
|
659
653
|
>(
|
|
@@ -713,23 +707,23 @@ export type MakeErrors<Make> = /*Make extends { readonly effect: (_: any) => Eff
|
|
|
713
707
|
: Make extends { readonly effect: (_: any) => Effect.Effect<any, never, any> } ? never
|
|
714
708
|
: */
|
|
715
709
|
// v4: generators yield Yieldable with asEffect()
|
|
716
|
-
Make extends { readonly effect: (_: any) => Generator<Yieldable<any, any, never, any
|
|
717
|
-
: Make extends { readonly effect: (_: any) => Generator<Yieldable<any, any, infer E, any
|
|
710
|
+
Make extends { readonly effect: (_: any) => Generator<Yieldable<any, any, never, any>> } ? never
|
|
711
|
+
: Make extends { readonly effect: (_: any) => Generator<Yieldable<any, any, infer E, any>> } ? E
|
|
718
712
|
: never
|
|
719
713
|
|
|
720
714
|
export type MakeContext<Make> = /*Make extends { readonly effect: (_: any) => Effect.Effect<any, any, infer R> } ? R
|
|
721
715
|
: Make extends { readonly effect: (_: any) => Effect.Effect<any, any, never> } ? never
|
|
722
716
|
: */
|
|
723
717
|
// v4: generators yield Yieldable with asEffect()
|
|
724
|
-
Make extends { readonly effect: (_: any) => Generator<Yieldable<any, any, any
|
|
725
|
-
: Make extends { readonly effect: (_: any) => Generator<Yieldable<any, any, any, infer R
|
|
718
|
+
Make extends { readonly effect: (_: any) => Generator<Yieldable<any, any, any>> } ? never
|
|
719
|
+
: Make extends { readonly effect: (_: any) => Generator<Yieldable<any, any, any, infer R>> } ? R
|
|
726
720
|
: never
|
|
727
721
|
|
|
728
722
|
export type MakeHandlers<Make, _Handlers extends Record<string, any>> = /*Make extends
|
|
729
723
|
{ readonly effect: (_: any) => Effect.Effect<{ [K in keyof Handlers]: AnyHandler<Handlers[K]> }, any, any> }
|
|
730
724
|
? Effect.Success<ReturnType<Make["effect"]>>
|
|
731
725
|
: */
|
|
732
|
-
Make extends { readonly effect: (_: any) => Generator<any, infer S
|
|
726
|
+
Make extends { readonly effect: (_: any) => Generator<any, infer S> } ? S
|
|
733
727
|
: never
|
|
734
728
|
|
|
735
729
|
export type MakeDepsE<Make> = Layer.Error<MakeDeps<Make>>
|
package/src/test.ts
CHANGED
|
@@ -16,7 +16,7 @@ export const createRandomInstance = <A extends object, I, R>(s: S.Codec<A, I, R>
|
|
|
16
16
|
/**
|
|
17
17
|
* Like `createRandomInstance`, but takes encoded values rather than decoded ones.
|
|
18
18
|
*/
|
|
19
|
-
export const createRandomInstanceI = <A extends object, I>(s: S.Codec<A, I
|
|
19
|
+
export const createRandomInstanceI = <A extends object, I>(s: S.Codec<A, I> & { fields: S.Struct.Fields }) => {
|
|
20
20
|
const gen = generate(S.toArbitrary(s))
|
|
21
21
|
const encode = S.encodeSync(s)
|
|
22
22
|
const decode = S.decodeSync(s)
|
package/dist/Operations.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { Context, Effect, type Fiber, Layer, Option, S } from "effect-app";
|
|
2
|
-
import { Operation, OperationId, type OperationProgress } from "effect-app/Operations";
|
|
3
|
-
import { NonEmptyString2k } from "effect-app/Schema";
|
|
4
|
-
import * as Scope from "effect/Scope";
|
|
5
|
-
import { OperationsRepo } from "./OperationsRepo.js";
|
|
6
|
-
import { RequestFiberSet } from "./RequestFiberSet.js";
|
|
7
|
-
declare const Operations_base: Context.OpaqueClass<Operations, "effect-app/Operations", {
|
|
8
|
-
cleanup: Effect.Effect<void[], never, never>;
|
|
9
|
-
register: (title: NonEmptyString2k) => Effect.Effect<S.StringId, never, Scope.Scope>;
|
|
10
|
-
fork: <R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect.Effect<A, E, R>, fnc: (id: OperationId) => Effect.Effect<A2, E2, R2>, title: NonEmptyString2k) => Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
|
|
11
|
-
fork2: {
|
|
12
|
-
(title: NonEmptyString2k): <R, E, A>(self: (opId: OperationId) => Effect.Effect<A, E, R>) => Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
13
|
-
<R, E, A>(self: (opId: OperationId) => Effect.Effect<A, E, R>, title: NonEmptyString2k): Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
14
|
-
};
|
|
15
|
-
forkOperation: {
|
|
16
|
-
(title: NonEmptyString2k): <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
17
|
-
<R, E, A>(self: Effect.Effect<A, E, R>, title: NonEmptyString2k): Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
18
|
-
};
|
|
19
|
-
forkOperationFunction: <R, E, A, Inp>(fnc: (inp: Inp) => Effect.Effect<A, E, R>, title: NonEmptyString2k) => (inp: Inp) => Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
20
|
-
all: Effect.Effect<Operation[], never, never>;
|
|
21
|
-
find: (id: OperationId) => Effect.Effect<Option.Option<Operation>, never, never>;
|
|
22
|
-
update: (id: S.StringId, progress: OperationProgress) => Effect.Effect<void, never, never>;
|
|
23
|
-
}> & {
|
|
24
|
-
readonly make: Effect.Effect<{
|
|
25
|
-
cleanup: Effect.Effect<void[], never, never>;
|
|
26
|
-
register: (title: NonEmptyString2k) => Effect.Effect<S.StringId, never, Scope.Scope>;
|
|
27
|
-
fork: <R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect.Effect<A, E, R>, fnc: (id: OperationId) => Effect.Effect<A2, E2, R2>, title: NonEmptyString2k) => Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
|
|
28
|
-
fork2: {
|
|
29
|
-
(title: NonEmptyString2k): <R, E, A>(self: (opId: OperationId) => Effect.Effect<A, E, R>) => Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
30
|
-
<R, E, A>(self: (opId: OperationId) => Effect.Effect<A, E, R>, title: NonEmptyString2k): Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
31
|
-
};
|
|
32
|
-
forkOperation: {
|
|
33
|
-
(title: NonEmptyString2k): <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
34
|
-
<R, E, A>(self: Effect.Effect<A, E, R>, title: NonEmptyString2k): Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
35
|
-
};
|
|
36
|
-
forkOperationFunction: <R, E, A, Inp>(fnc: (inp: Inp) => Effect.Effect<A, E, R>, title: NonEmptyString2k) => (inp: Inp) => Effect.Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
|
|
37
|
-
all: Effect.Effect<Operation[], never, never>;
|
|
38
|
-
find: (id: OperationId) => Effect.Effect<Option.Option<Operation>, never, never>;
|
|
39
|
-
update: (id: S.StringId, progress: OperationProgress) => Effect.Effect<void, never, never>;
|
|
40
|
-
}, never, OperationsRepo | RequestFiberSet>;
|
|
41
|
-
};
|
|
42
|
-
export declare class Operations extends Operations_base {
|
|
43
|
-
private static readonly CleanupLive;
|
|
44
|
-
static readonly Live: Layer.Layer<Operations, never, OperationsRepo>;
|
|
45
|
-
static readonly forkOperation: (title: NonEmptyString2k) => <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<RunningOperation<A, E>, never, Operations | Exclude<R, Scope.Scope>>;
|
|
46
|
-
static readonly forkOperationFunction: <R, E, A, Inp>(fnc: (inp: Inp) => Effect.Effect<A, E, R>, title: NonEmptyString2k) => (inp: Inp) => Effect.Effect<RunningOperation<A, E>, never, Operations | Exclude<R, Scope.Scope>>;
|
|
47
|
-
static readonly fork: <R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect.Effect<A, E, R>, fnc: (id: OperationId) => Effect.Effect<A2, E2, R2>, title: NonEmptyString2k) => Effect.Effect<RunningOperation<A, E>, never, Operations | Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
|
|
48
|
-
static readonly fork2: (title: NonEmptyString2k) => <R, E, A>(self: (opId: OperationId) => Effect.Effect<A, E, R>) => Effect.Effect<RunningOperation<A, E>, never, Operations | Exclude<R, Scope.Scope>>;
|
|
49
|
-
}
|
|
50
|
-
export interface RunningOperation<A, E> {
|
|
51
|
-
id: OperationId;
|
|
52
|
-
fiber: Fiber.Fiber<A, E>;
|
|
53
|
-
}
|
|
54
|
-
export {};
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL09wZXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFTLE9BQU8sRUFBa0IsTUFBTSxFQUFRLEtBQUssS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFZLE1BQU0sWUFBWSxDQUFBO0FBR2pILE9BQU8sRUFBRSxTQUFTLEVBQW9CLFdBQVcsRUFBRSxLQUFLLGlCQUFpQixFQUFvQixNQUFNLHVCQUF1QixDQUFBO0FBQzFILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3BELE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBSXJDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7OztzQkFvQzNCLGdCQUFnQjtXQXlCM0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQ3pCLENBQUMsRUFBRSxFQUFFLFdBQVcsS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQzVDLENBQUMsRUFBRSxFQUFFLFdBQVcsS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQzVDLGdCQUFnQixLQUN0QixNQUFNLENBQUMsTUFBTSxDQUNkLGdCQUFnQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDdEIsS0FBSyxFQUNMLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUNuRDs7Z0JBZ0JTLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxFQUFF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
|
package/dist/Operations.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../src/Operations.ts"],"names":[],"mappings":"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"}
|
package/dist/Operations.js
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { reportError } from "@effect-app/infra/errorReporter";
|
|
2
|
-
import { subHours } from "date-fns";
|
|
3
|
-
import { Cause, Context, copy, Duration, Effect, Exit, Layer, Option, S, Schedule } from "effect-app";
|
|
4
|
-
import { annotateLogscoped } from "effect-app/Effect";
|
|
5
|
-
import { dual, pipe } from "effect-app/Function";
|
|
6
|
-
import { Operation, OperationFailure, OperationId, OperationSuccess } from "effect-app/Operations";
|
|
7
|
-
import { NonEmptyString2k } from "effect-app/Schema";
|
|
8
|
-
import * as Scope from "effect/Scope";
|
|
9
|
-
import { setupRequestContextFromCurrent } from "./api/setupRequest.js";
|
|
10
|
-
import { MainFiberSet } from "./MainFiberSet.js";
|
|
11
|
-
import { where } from "./Model/query.js";
|
|
12
|
-
import { OperationsRepo } from "./OperationsRepo.js";
|
|
13
|
-
import { batch } from "./rateLimit.js";
|
|
14
|
-
import { RequestFiberSet } from "./RequestFiberSet.js";
|
|
15
|
-
const reportAppError = reportError("Operations.Cleanup");
|
|
16
|
-
const make = Effect.gen(function* () {
|
|
17
|
-
const repo = yield* OperationsRepo;
|
|
18
|
-
const reqFiberSet = yield* RequestFiberSet;
|
|
19
|
-
const makeOp = Effect.sync(() => OperationId.make());
|
|
20
|
-
const addOp = Effect.fnUntraced(function* (id, title) {
|
|
21
|
-
return yield* repo.save(Operation.make({ id, title })).pipe(Effect.orDie);
|
|
22
|
-
});
|
|
23
|
-
const finishOp = Effect.fnUntraced(function* (id, exit) {
|
|
24
|
-
const op = yield* repo.get(id).pipe(Effect.orDie);
|
|
25
|
-
const result = Exit.isSuccess(exit)
|
|
26
|
-
? OperationSuccess.make({})
|
|
27
|
-
: OperationFailure.make({
|
|
28
|
-
message: Cause.hasInterruptsOnly(exit.cause)
|
|
29
|
-
? NonEmptyString2k("Interrupted")
|
|
30
|
-
: Cause.hasDies(exit.cause)
|
|
31
|
-
? NonEmptyString2k("Unknown error")
|
|
32
|
-
: Cause
|
|
33
|
-
.findErrorOption(exit.cause)
|
|
34
|
-
.pipe(Option.flatMap((_) => typeof _ === "object" && _ !== null && "message" in _ && S.is(NonEmptyString2k)(_.message)
|
|
35
|
-
? Option.some(_.message)
|
|
36
|
-
: Option.none()), Option.getOrNull)
|
|
37
|
-
});
|
|
38
|
-
return yield* repo.save(copy(op, { updatedAt: new Date(), result })).pipe(Effect.orDie);
|
|
39
|
-
});
|
|
40
|
-
const register = (title) => Effect.tap(makeOp, (id) => Effect.andThen(annotateLogscoped("operationId", id), Effect.acquireRelease(addOp(id, title), (_, exit) => finishOp(id, exit))));
|
|
41
|
-
const cleanup = Effect
|
|
42
|
-
.gen(function* () {
|
|
43
|
-
const before = subHours(new Date(), 1);
|
|
44
|
-
const ops = yield* repo.query(where("updatedAt", "lt", before.toISOString()));
|
|
45
|
-
return yield* pipe(ops, batch(100, Effect.succeed, (items) => repo.removeAndPublish(items)));
|
|
46
|
-
})
|
|
47
|
-
.pipe(setupRequestContextFromCurrent("Operations.cleanup"));
|
|
48
|
-
const findOp = (id) => repo.find(id);
|
|
49
|
-
const update = Effect.fnUntraced(function* (id, progress) {
|
|
50
|
-
const op = yield* repo.get(id).pipe(Effect.orDie);
|
|
51
|
-
return yield* repo.save(copy(op, { updatedAt: new Date(), progress })).pipe(Effect.orDie);
|
|
52
|
-
});
|
|
53
|
-
function fork(self, fnc, title) {
|
|
54
|
-
return Effect.gen(function* () {
|
|
55
|
-
const scope = yield* Scope.make();
|
|
56
|
-
const id = yield* Scope.provide(register(title), scope);
|
|
57
|
-
const fiber = yield* reqFiberSet.forkDaemonReportUnexpected(Scope.use(self(id).pipe(Effect.withSpan(title, {}, { captureStackTrace: false })), scope));
|
|
58
|
-
yield* Scope.provide(Effect.forkScoped(Effect.interruptible(fnc(id))), scope);
|
|
59
|
-
return { fiber, id };
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
const fork2 = dual(2, Effect.fnUntraced(function* (self, title) {
|
|
63
|
-
const scope = yield* Scope.make();
|
|
64
|
-
const id = yield* Scope.provide(register(title), scope);
|
|
65
|
-
const fiber = yield* reqFiberSet.forkDaemonReportUnexpected(Scope.use(self(id).pipe(Effect.withSpan(title, {}, { captureStackTrace: false })), scope));
|
|
66
|
-
return { fiber, id };
|
|
67
|
-
}));
|
|
68
|
-
const forkOperation = dual(2, Effect.fnUntraced(function* (self, title) {
|
|
69
|
-
const scope = yield* Scope.make();
|
|
70
|
-
const id = yield* Scope.provide(register(title), scope);
|
|
71
|
-
const fiber = yield* reqFiberSet.forkDaemonReportUnexpected(Scope.use(self.pipe(Effect.withSpan(title, {}, { captureStackTrace: false })), scope));
|
|
72
|
-
return { fiber, id };
|
|
73
|
-
}));
|
|
74
|
-
function forkOperationFunction(fnc, title) {
|
|
75
|
-
return (inp) => forkOperation(fnc(inp), title);
|
|
76
|
-
}
|
|
77
|
-
return {
|
|
78
|
-
cleanup,
|
|
79
|
-
register,
|
|
80
|
-
fork,
|
|
81
|
-
fork2,
|
|
82
|
-
forkOperation,
|
|
83
|
-
forkOperationFunction,
|
|
84
|
-
all: repo.all,
|
|
85
|
-
find: findOp,
|
|
86
|
-
update
|
|
87
|
-
};
|
|
88
|
-
});
|
|
89
|
-
export class Operations extends Context.Opaque()("effect-app/Operations", { make }) {
|
|
90
|
-
static CleanupLive = this
|
|
91
|
-
.use((_) => _.cleanup.pipe(Effect.exit, Effect.flatMap((exit) => Exit.isSuccess(exit) ? Effect.void : reportAppError(exit.cause)), Effect.schedule(Schedule.fixed(Duration.minutes(20))), Effect.map((_) => _), MainFiberSet.run))
|
|
92
|
-
.pipe(Layer.effectDiscard, Layer.provide(MainFiberSet.Live));
|
|
93
|
-
static Live = this.CleanupLive.pipe(Layer.provideMerge(this.toLayer(this.make)), Layer.provide(RequestFiberSet.Live));
|
|
94
|
-
static forkOperation = (title) => (self) => this.use((_) => _.forkOperation(self, title));
|
|
95
|
-
static forkOperationFunction = (fnc, title) => (inp) => this.use((_) => _.forkOperationFunction(fnc, title)(inp));
|
|
96
|
-
static fork = (self, fnc, title) => this.use((_) => _.fork(self, fnc, title));
|
|
97
|
-
static fork2 = (title) => (self) => this.use((_) => _.fork2(self, title));
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9PcGVyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBYyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDckQsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBMEIsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMxSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDaEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXRELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0FBRXhELE1BQU0s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
|
package/dist/OperationsRepo.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Context, Effect } from "effect-app";
|
|
2
|
-
import { Operation } from "effect-app/Operations";
|
|
3
|
-
declare const OperationsRepo_base: Context.ServiceClass<OperationsRepo, "OperationRepo", import("./Model/Repository.js").ExtendedRepository<Operation, {
|
|
4
|
-
readonly createdAt: string;
|
|
5
|
-
readonly id: string;
|
|
6
|
-
readonly progress?: import("effect-app/Operations").OperationProgress.Encoded | undefined;
|
|
7
|
-
readonly result?: import("effect-app/Operations").OperationSuccess.Encoded | import("effect-app/Operations").OperationFailure.Encoded | undefined;
|
|
8
|
-
readonly title: string;
|
|
9
|
-
readonly updatedAt: string | null;
|
|
10
|
-
}, never, "Operation", "id", never, never, never>> & {
|
|
11
|
-
readonly make: Effect.Effect<import("./Model/Repository.js").ExtendedRepository<Operation, {
|
|
12
|
-
readonly createdAt: string;
|
|
13
|
-
readonly id: string;
|
|
14
|
-
readonly progress?: import("effect-app/Operations").OperationProgress.Encoded | undefined;
|
|
15
|
-
readonly result?: import("effect-app/Operations").OperationSuccess.Encoded | import("effect-app/Operations").OperationFailure.Encoded | undefined;
|
|
16
|
-
readonly title: string;
|
|
17
|
-
readonly updatedAt: string | null;
|
|
18
|
-
}, never, "Operation", "id", never, never, never>, never, import("./Model.js").RepositoryRegistry | import("./Store.js").StoreMaker>;
|
|
19
|
-
};
|
|
20
|
-
export declare class OperationsRepo extends OperationsRepo_base {
|
|
21
|
-
}
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uc1JlcG8uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9PcGVyYXRpb25zUmVwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdqRCxxQkFBYSxjQUFlLFNBQVEsbUJBV25DO0NBQUcifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OperationsRepo.d.ts","sourceRoot":"","sources":["../src/OperationsRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;;;;;;AAGjD,qBAAa,cAAe,SAAQ,mBAWnC;CAAG"}
|
package/dist/OperationsRepo.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Context, Effect } from "effect-app";
|
|
2
|
-
import { Operation } from "effect-app/Operations";
|
|
3
|
-
import { makeRepo } from "./Model.js";
|
|
4
|
-
export class OperationsRepo extends Context.Service()("OperationRepo", {
|
|
5
|
-
make: Effect.gen(function* () {
|
|
6
|
-
return yield* makeRepo("Operation", Operation, {
|
|
7
|
-
config: {
|
|
8
|
-
allowNamespace: () => true
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
})
|
|
12
|
-
}) {
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uc1JlcG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvT3BlcmF0aW9uc1JlcG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsTUFBTSxPQUFPLGNBQWUsU0FBUSxPQUFPLENBQUMsT0FBTyxFQUFrQixDQUNuRSxlQUFlLEVBQ2Y7SUFDRSxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRTtZQUM3QyxNQUFNLEVBQUU7Z0JBQ04sY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7YUFDM0I7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDLENBQUM7Q0FDSCxDQUNGO0NBQUcifQ==
|
package/eslint.config.mjs
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { augmentedConfig } from "@effect-app/eslint-shared-config/eslint.base.config"
|
|
2
|
-
import path from "node:path"
|
|
3
|
-
import { fileURLToPath } from "node:url"
|
|
4
|
-
|
|
5
|
-
const __filename = fileURLToPath(import.meta.url)
|
|
6
|
-
const __dirname = path.dirname(__filename)
|
|
7
|
-
|
|
8
|
-
export default [
|
|
9
|
-
...augmentedConfig(__dirname, false, undefined, true),
|
|
10
|
-
{
|
|
11
|
-
ignores: [
|
|
12
|
-
"**/*.js",
|
|
13
|
-
"**/*.jsx",
|
|
14
|
-
"**/*.d.ts",
|
|
15
|
-
"node_modules/"
|
|
16
|
-
]
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
rules: {
|
|
20
|
-
"@typescript-eslint/no-empty-interface": "off",
|
|
21
|
-
"@typescript-eslint/no-explicit-any": "warn"
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
]
|