@effect-app/vue 2.55.10 → 2.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/experimental/commander.d.ts +1 -1
- package/dist/experimental/intl.d.ts +1 -1
- package/dist/experimental/{makeExperimental.d.ts → makeUseCommand.d.ts} +2 -2
- package/dist/experimental/makeUseCommand.d.ts.map +1 -0
- package/dist/experimental/makeUseCommand.js +8 -0
- package/dist/experimental/toast.d.ts +1 -1
- package/dist/form.d.ts +2 -28
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +3 -39
- package/dist/makeClient.d.ts +130 -47
- package/dist/makeClient.d.ts.map +1 -1
- package/dist/makeClient.js +310 -230
- package/dist/runtime.d.ts +4 -43
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +8 -28
- package/package.json +4 -4
- package/src/experimental/{makeExperimental.ts → makeUseCommand.ts} +1 -1
- package/src/form.ts +2 -60
- package/src/makeClient.ts +684 -597
- package/src/runtime.ts +7 -28
- package/test/dist/stubs.d.ts.map +1 -1
- package/test/dist/stubs.js +3 -3
- package/test/stubs.ts +2 -2
- package/dist/experimental/makeExperimental.d.ts.map +0 -1
- package/dist/experimental/makeExperimental.js +0 -8
package/dist/runtime.d.ts
CHANGED
|
@@ -1,45 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ManagedRuntime } from "effect";
|
|
2
2
|
import { Effect, Layer } from "effect-app";
|
|
3
|
-
export declare function makeAppRuntime<A, E
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
readonly signal?: AbortSignal;
|
|
7
|
-
} | undefined) => Promise<A_1>;
|
|
8
|
-
runPromiseExit: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>, options?: {
|
|
9
|
-
readonly signal?: AbortSignal;
|
|
10
|
-
} | undefined) => Promise<Exit.Exit<A_1, E_1>>;
|
|
11
|
-
runSync: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>) => A_1;
|
|
12
|
-
runSyncExit: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>) => Exit.Exit<A_1, E_1>;
|
|
13
|
-
runFork: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>, options?: Runtime.RunForkOptions | undefined) => import("effect/Fiber").RuntimeFiber<A_1, E_1>;
|
|
14
|
-
};
|
|
15
|
-
clean: Effect.Effect<void, never, never>;
|
|
16
|
-
}, E, R>;
|
|
17
|
-
export declare function initializeSync<A, E>(layer: Layer.Layer<A, E, never>): {
|
|
18
|
-
runtime: Runtime.Runtime<A> & {
|
|
19
|
-
runPromise: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>, options?: {
|
|
20
|
-
readonly signal?: AbortSignal;
|
|
21
|
-
} | undefined) => Promise<A_1>;
|
|
22
|
-
runPromiseExit: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>, options?: {
|
|
23
|
-
readonly signal?: AbortSignal;
|
|
24
|
-
} | undefined) => Promise<Exit.Exit<A_1, E_1>>;
|
|
25
|
-
runSync: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>) => A_1;
|
|
26
|
-
runSyncExit: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>) => Exit.Exit<A_1, E_1>;
|
|
27
|
-
runFork: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>, options?: Runtime.RunForkOptions | undefined) => import("effect/Fiber").RuntimeFiber<A_1, E_1>;
|
|
28
|
-
};
|
|
29
|
-
clean: () => void;
|
|
30
|
-
};
|
|
31
|
-
export declare function initializeAsync<A, E>(layer: Layer.Layer<A, E, never>): Promise<{
|
|
32
|
-
runtime: Runtime.Runtime<A> & {
|
|
33
|
-
runPromise: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>, options?: {
|
|
34
|
-
readonly signal?: AbortSignal;
|
|
35
|
-
} | undefined) => Promise<A_1>;
|
|
36
|
-
runPromiseExit: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>, options?: {
|
|
37
|
-
readonly signal?: AbortSignal;
|
|
38
|
-
} | undefined) => Promise<Exit.Exit<A_1, E_1>>;
|
|
39
|
-
runSync: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>) => A_1;
|
|
40
|
-
runSyncExit: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>) => Exit.Exit<A_1, E_1>;
|
|
41
|
-
runFork: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>, options?: Runtime.RunForkOptions | undefined) => import("effect/Fiber").RuntimeFiber<A_1, E_1>;
|
|
42
|
-
};
|
|
43
|
-
clean: () => Promise<void>;
|
|
44
|
-
}>;
|
|
3
|
+
export declare function makeAppRuntime<A, E>(layer: Layer.Layer<A, E>): Effect.Effect<ManagedRuntime.ManagedRuntime<A, never>, E, never>;
|
|
4
|
+
export declare function initializeSync<A, E>(layer: Layer.Layer<A, E, never>): ManagedRuntime.ManagedRuntime<A, never>;
|
|
5
|
+
export declare function initializeAsync<A, E>(layer: Layer.Layer<A, E, never>): Promise<ManagedRuntime.ManagedRuntime<A, never>>;
|
|
45
6
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,YAAY,CAAA;AAElD,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,oEAS5D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,2CAGnE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,oDAGpE"}
|
package/dist/runtime.js
CHANGED
|
@@ -1,39 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ManagedRuntime } from "effect";
|
|
2
2
|
import { Effect, Layer, Logger } from "effect-app";
|
|
3
|
-
import * as Scope from "effect/Scope";
|
|
4
3
|
export function makeAppRuntime(layer) {
|
|
5
4
|
return Effect.gen(function* () {
|
|
6
5
|
layer = layer.pipe(Layer.provide(Logger.replace(Logger.defaultLogger, Logger.withSpanAnnotations(Logger.prettyLogger()))));
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return {
|
|
11
|
-
runtime: Object.assign(runtime, {
|
|
12
|
-
runPromise: Runtime.runPromise(runtime),
|
|
13
|
-
runPromiseExit: Runtime.runPromiseExit(runtime),
|
|
14
|
-
runSync: Runtime.runSync(runtime),
|
|
15
|
-
runSyncExit: Runtime.runSyncExit(runtime),
|
|
16
|
-
runFork: Runtime.runFork(runtime)
|
|
17
|
-
}),
|
|
18
|
-
clean: Scope.close(scope, Exit.void)
|
|
19
|
-
};
|
|
6
|
+
const mrt = ManagedRuntime.make(layer);
|
|
7
|
+
yield* mrt.runtimeEffect;
|
|
8
|
+
return mrt; // as we initialise here, there is no more error left.
|
|
20
9
|
});
|
|
21
10
|
}
|
|
22
11
|
export function initializeSync(layer) {
|
|
23
|
-
const
|
|
24
|
-
return
|
|
25
|
-
runtime,
|
|
26
|
-
clean: () => Effect.runSync(clean)
|
|
27
|
-
};
|
|
12
|
+
const runtime = Effect.runSync(makeAppRuntime(layer));
|
|
13
|
+
return runtime;
|
|
28
14
|
}
|
|
29
15
|
export function initializeAsync(layer) {
|
|
30
16
|
return Effect
|
|
31
|
-
.runPromise(makeAppRuntime(layer))
|
|
32
|
-
.then(({ clean, runtime }) => {
|
|
33
|
-
return {
|
|
34
|
-
runtime,
|
|
35
|
-
clean: () => Effect.runPromise(clean)
|
|
36
|
-
};
|
|
37
|
-
});
|
|
17
|
+
.runPromise(makeAppRuntime(layer));
|
|
38
18
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRWxELE1BQU0sVUFBVSxjQUFjLENBQU8sS0FBd0I7SUFDM0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDaEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDdkcsQ0FBQTtRQUNELE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQTtRQUN4QixPQUFPLEdBQThDLENBQUEsQ0FBQyxzREFBc0Q7SUFDOUcsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBTyxLQUErQjtJQUNsRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3JELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFPLEtBQStCO0lBQ25FLE9BQU8sTUFBTTtTQUNWLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUN0QyxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.56.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
"types": "./dist/experimental/intl.d.ts",
|
|
61
61
|
"default": "./dist/experimental/intl.js"
|
|
62
62
|
},
|
|
63
|
-
"./experimental/
|
|
64
|
-
"types": "./dist/experimental/
|
|
65
|
-
"default": "./dist/experimental/
|
|
63
|
+
"./experimental/makeUseCommand": {
|
|
64
|
+
"types": "./dist/experimental/makeUseCommand.d.ts",
|
|
65
|
+
"default": "./dist/experimental/makeUseCommand.js"
|
|
66
66
|
},
|
|
67
67
|
"./experimental/toast": {
|
|
68
68
|
"types": "./dist/experimental/toast.d.ts",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect } from "effect-app"
|
|
2
2
|
import { Commander } from "./commander.js"
|
|
3
3
|
|
|
4
|
-
export const
|
|
4
|
+
export const makeUseCommand = Effect.fnUntraced(function*<R = never>() {
|
|
5
5
|
const cmndr = yield* Commander
|
|
6
6
|
const runtime = yield* Effect.runtime<R>()
|
|
7
7
|
|
package/src/form.ts
CHANGED
|
@@ -2,11 +2,11 @@ import { createIntl, type IntlFormatters } from "@formatjs/intl"
|
|
|
2
2
|
import * as JSONSchema from "effect/JSONSchema"
|
|
3
3
|
import type { ParseError } from "effect/ParseResult"
|
|
4
4
|
import type {} from "intl-messageformat"
|
|
5
|
-
import { Either, Option, pipe, S
|
|
5
|
+
import { Either, Option, pipe, S } from "effect-app"
|
|
6
6
|
import type { Schema } from "effect-app/Schema"
|
|
7
7
|
import type { Unbranded } from "effect-app/Schema/brand"
|
|
8
8
|
import type { IsUnion } from "effect-app/utils"
|
|
9
|
-
import { capitalize,
|
|
9
|
+
import { capitalize, ref } from "vue"
|
|
10
10
|
|
|
11
11
|
// type GetSchemaFromProp<T> = T extends Field<infer S, any, any, any> ? S
|
|
12
12
|
// : never
|
|
@@ -381,64 +381,6 @@ function buildFieldInfo(
|
|
|
381
381
|
return info as any
|
|
382
382
|
}
|
|
383
383
|
|
|
384
|
-
export const buildFormFromSchema = <
|
|
385
|
-
From extends Record<PropertyKey, any>,
|
|
386
|
-
To extends Record<PropertyKey, any>,
|
|
387
|
-
C extends Record<PropertyKey, any>,
|
|
388
|
-
OnSubmitA
|
|
389
|
-
>(
|
|
390
|
-
s:
|
|
391
|
-
& Schema<
|
|
392
|
-
To,
|
|
393
|
-
From,
|
|
394
|
-
never
|
|
395
|
-
>
|
|
396
|
-
& { new(c: C): any; extend: any; fields: S.Struct.Fields },
|
|
397
|
-
state: Ref<Omit<From, "_tag">>,
|
|
398
|
-
onSubmit: (a: To) => Promise<OnSubmitA>
|
|
399
|
-
) => {
|
|
400
|
-
const fields = buildFieldInfoFromFieldsRoot(s).fields
|
|
401
|
-
const parse = S.decodeUnknownSync<any, any>(S.Struct(Struct.omit(s.fields, "_tag")) as any)
|
|
402
|
-
const isDirty = ref(false)
|
|
403
|
-
const isValid = ref(true)
|
|
404
|
-
const isLoading = ref(false)
|
|
405
|
-
|
|
406
|
-
const submit1 = <A>(onSubmit: (a: To) => Promise<A>) => async <T extends Promise<{ valid: boolean }>>(e: T) => {
|
|
407
|
-
isLoading.value = true
|
|
408
|
-
try {
|
|
409
|
-
const r = await e
|
|
410
|
-
if (!r.valid) return
|
|
411
|
-
return onSubmit(new s(parse(state.value)))
|
|
412
|
-
} finally {
|
|
413
|
-
isLoading.value = false
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
const submit = submit1(onSubmit)
|
|
417
|
-
|
|
418
|
-
watch(
|
|
419
|
-
state,
|
|
420
|
-
(v) => {
|
|
421
|
-
// TODO: do better
|
|
422
|
-
isDirty.value = JSON.stringify(v) !== JSON.stringify(state.value)
|
|
423
|
-
},
|
|
424
|
-
{ deep: true }
|
|
425
|
-
)
|
|
426
|
-
|
|
427
|
-
const submitFromState = () => submit(Promise.resolve({ valid: isValid.value }))
|
|
428
|
-
|
|
429
|
-
return {
|
|
430
|
-
fields,
|
|
431
|
-
/** optimized for Vuetify v-form submit callback */
|
|
432
|
-
submit,
|
|
433
|
-
/** optimized for Native form submit callback or general use */
|
|
434
|
-
submitFromState,
|
|
435
|
-
isDirty,
|
|
436
|
-
isValid,
|
|
437
|
-
/** includes whole submit, including potential asynchronous validation steps */
|
|
438
|
-
isLoading
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
|
|
442
384
|
export function getMetadataFromSchema(
|
|
443
385
|
ast: S.AST.AST
|
|
444
386
|
): {
|