foldkit 0.136.0 → 0.137.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/command/index.d.ts +5 -0
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +13 -3
- package/dist/file/select.d.ts +2 -2
- package/dist/file/select.js +2 -2
- package/dist/test/apps/crashOnRender.d.ts +3 -3
- package/dist/test/apps/crashOnRender.d.ts.map +1 -1
- package/dist/test/apps/crashOnRender.js +7 -5
- package/dist/test/apps/formChild.d.ts +5 -5
- package/dist/test/apps/formChild.d.ts.map +1 -1
- package/dist/test/apps/formChild.js +5 -5
- package/dist/test/apps/resumeUpload.d.ts +3 -3
- package/dist/test/apps/resumeUpload.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.js +5 -5
- package/package.json +1 -1
package/dist/command/index.d.ts
CHANGED
|
@@ -60,6 +60,11 @@ export type InterruptOption<Args, KeyField extends keyof Args & string = keyof A
|
|
|
60
60
|
* is callable as `Definition()`; declare it and `execute` receives the args and
|
|
61
61
|
* the Definition is callable as `Definition(args)`.
|
|
62
62
|
*
|
|
63
|
+
* Constructing a Command never runs `execute`. When `args` is declared the body
|
|
64
|
+
* is deferred until the runtime executes the Command, so no side effect the
|
|
65
|
+
* body performs and no exception it raises can reach update, and a Command that
|
|
66
|
+
* update builds and then discards runs nothing at all.
|
|
67
|
+
*
|
|
63
68
|
* With `interrupt`, every invocation registers under a key in the runtime's
|
|
64
69
|
* interrupt registry for the duration of its Effect, and the returned Definition
|
|
65
70
|
* carries an `Interrupt` constructor that builds an ordinary Command to stop it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"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"}
|
package/dist/command/index.js
CHANGED
|
@@ -2,6 +2,16 @@ import { Array, Effect, Function, Option, Predicate } from 'effect';
|
|
|
2
2
|
import { CommandDefinitionTypeId, brandAsDefinition } from './brand.js';
|
|
3
3
|
import * as Interruptible from './interruptible/index.js';
|
|
4
4
|
export { CommandDefinitionTypeId };
|
|
5
|
+
// NOTE: The suspend is load bearing, not a redundant wrapper. Without it the
|
|
6
|
+
// `execute` body runs the moment update constructs the Command, so any
|
|
7
|
+
// expression it evaluates on the way to returning its Effect runs inside a pure
|
|
8
|
+
// reducer. Every side effect the body performs runs there, and every exception
|
|
9
|
+
// it raises escapes update, even when update discards the Command instead of
|
|
10
|
+
// returning it. Reading a missing browser global is one instance, the one that
|
|
11
|
+
// surfaced this, not the boundary of it. Suspending defers the body to
|
|
12
|
+
// execution, where the runtime can contain any failure it produces.
|
|
13
|
+
// A no-args `execute` is already an Effect value and needs no equivalent.
|
|
14
|
+
const suspendExecute = (config, args) => Effect.suspend(() => config.execute(args));
|
|
5
15
|
export function define(name, config) {
|
|
6
16
|
const isArgsDeclared = Predicate.isNotUndefined(config.args);
|
|
7
17
|
const maybeInterrupt = Option.fromNullishOr(config.interrupt);
|
|
@@ -10,7 +20,7 @@ export function define(name, config) {
|
|
|
10
20
|
const definition = (args) => ({
|
|
11
21
|
name,
|
|
12
22
|
args,
|
|
13
|
-
effect: config
|
|
23
|
+
effect: suspendExecute(config, args),
|
|
14
24
|
messageMappers: [],
|
|
15
25
|
});
|
|
16
26
|
brandAsDefinition(definition, name);
|
|
@@ -50,7 +60,7 @@ export function define(name, config) {
|
|
|
50
60
|
name,
|
|
51
61
|
args,
|
|
52
62
|
key: name,
|
|
53
|
-
effect: Interruptible.__registerKeyWhileRunning(name, config
|
|
63
|
+
effect: Interruptible.__registerKeyWhileRunning(name, suspendExecute(config, args)),
|
|
54
64
|
messageMappers: [],
|
|
55
65
|
});
|
|
56
66
|
brandAsDefinition(definition, name);
|
|
@@ -67,7 +77,7 @@ export function define(name, config) {
|
|
|
67
77
|
name,
|
|
68
78
|
args,
|
|
69
79
|
key,
|
|
70
|
-
effect: Interruptible.__registerKeyWhileRunning(key, config
|
|
80
|
+
effect: Interruptible.__registerKeyWhileRunning(key, suspendExecute(config, args)),
|
|
71
81
|
messageMappers: [],
|
|
72
82
|
};
|
|
73
83
|
};
|
package/dist/file/select.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ import type { File } from './file.js';
|
|
|
15
15
|
* Effect.map(
|
|
16
16
|
* Option.match({
|
|
17
17
|
* onNone: () => CancelledSelectResume(),
|
|
18
|
-
* onSome: file =>
|
|
18
|
+
* onSome: file => CompletedSelectResume({ file }),
|
|
19
19
|
* }),
|
|
20
20
|
* ),
|
|
21
21
|
* ),
|
|
@@ -32,7 +32,7 @@ export declare const select: (accept: ReadonlyArray<string>) => Effect.Effect<Op
|
|
|
32
32
|
* ```typescript
|
|
33
33
|
* SelectAttachments(
|
|
34
34
|
* File.selectMultiple(['image/*', 'application/pdf']).pipe(
|
|
35
|
-
* Effect.map(files =>
|
|
35
|
+
* Effect.map(files => CompletedSelectAttachments({ files })),
|
|
36
36
|
* ),
|
|
37
37
|
* )
|
|
38
38
|
* ```
|
package/dist/file/select.js
CHANGED
|
@@ -40,7 +40,7 @@ const openPicker = ({ accept, multiple, }) => Effect.callback((resume, signal) =
|
|
|
40
40
|
* Effect.map(
|
|
41
41
|
* Option.match({
|
|
42
42
|
* onNone: () => CancelledSelectResume(),
|
|
43
|
-
* onSome: file =>
|
|
43
|
+
* onSome: file => CompletedSelectResume({ file }),
|
|
44
44
|
* }),
|
|
45
45
|
* ),
|
|
46
46
|
* ),
|
|
@@ -57,7 +57,7 @@ export const select = (accept) => openPicker({ accept, multiple: false }).pipe(E
|
|
|
57
57
|
* ```typescript
|
|
58
58
|
* SelectAttachments(
|
|
59
59
|
* File.selectMultiple(['image/*', 'application/pdf']).pipe(
|
|
60
|
-
* Effect.map(files =>
|
|
60
|
+
* Effect.map(files => CompletedSelectAttachments({ files })),
|
|
61
61
|
* ),
|
|
62
62
|
* )
|
|
63
63
|
* ```
|
|
@@ -19,7 +19,7 @@ export declare const Model: S.Struct<{
|
|
|
19
19
|
}>;
|
|
20
20
|
export type Model = typeof Model.Type;
|
|
21
21
|
export declare const ClickedReload: import("../../schema/index.js").CallableTaggedStruct<"ClickedReload", {}>;
|
|
22
|
-
export declare const
|
|
22
|
+
export declare const CompletedReloadSources: import("../../schema/index.js").CallableTaggedStruct<"CompletedReloadSources", {
|
|
23
23
|
sources: S.$Array<S.Struct<{
|
|
24
24
|
readonly kind: S.Literal<"Book">;
|
|
25
25
|
readonly id: S.String;
|
|
@@ -34,7 +34,7 @@ export declare const SelectedSource: import("../../schema/index.js").CallableTag
|
|
|
34
34
|
export declare const SubmittedNewSourceId: import("../../schema/index.js").CallableTaggedStruct<"SubmittedNewSourceId", {
|
|
35
35
|
id: S.String;
|
|
36
36
|
}>;
|
|
37
|
-
export declare const Message: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"ClickedReload", {}>, import("../../schema/index.js").CallableTaggedStruct<"
|
|
37
|
+
export declare const Message: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"ClickedReload", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedReloadSources", {
|
|
38
38
|
sources: S.$Array<S.Struct<{
|
|
39
39
|
readonly kind: S.Literal<"Book">;
|
|
40
40
|
readonly id: S.String;
|
|
@@ -50,7 +50,7 @@ export declare const Message: S.Union<readonly [import("../../schema/index.js").
|
|
|
50
50
|
export type Message = typeof Message.Type;
|
|
51
51
|
export declare const reloadedSources: ReadonlyArray<RawSource>;
|
|
52
52
|
export declare const ReloadSources: Command.CommandDefinitionNoArgs<"ReloadSources", Effect.Effect<{
|
|
53
|
-
readonly _tag: "
|
|
53
|
+
readonly _tag: "CompletedReloadSources";
|
|
54
54
|
readonly sources: readonly {
|
|
55
55
|
readonly kind: "Book";
|
|
56
56
|
readonly id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crashOnRender.d.ts","sourceRoot":"","sources":["../../../src/test/apps/crashOnRender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE/D,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAMhE,eAAO,MAAM,SAAS;;;EAGpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAK7C,eAAO,MAAM,MAAM;;;EAGjB,CAAA;AACF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC,eAAO,MAAM,KAAK;;;;;EAEhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"crashOnRender.d.ts","sourceRoot":"","sources":["../../../src/test/apps/crashOnRender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE/D,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAMhE,eAAO,MAAM,SAAS;;;EAGpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAK7C,eAAO,MAAM,MAAM;;;EAGjB,CAAA;AACF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC,eAAO,MAAM,KAAK;;;;;EAEhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,sBAAsB;;;;;EAEjC,CAAA;AACF,eAAO,MAAM,cAAc;;;;;EAA0C,CAAA;AACrE,eAAO,MAAM,oBAAoB;;EAA8C,CAAA;AAE/E,eAAO,MAAM,OAAO;;;;;;;;;;;;IAKlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAMzC,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,SAAS,CAGpD,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;iBAGxB,CAAA;AAIF,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,SAAS,CAEjD,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAErD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAiC,CAAA;AAI5D,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAiBxD,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,KAAG,QA4B5D,CAAA"}
|
|
@@ -19,12 +19,14 @@ export const Model = S.Struct({
|
|
|
19
19
|
});
|
|
20
20
|
// MESSAGE
|
|
21
21
|
export const ClickedReload = m('ClickedReload');
|
|
22
|
-
export const
|
|
22
|
+
export const CompletedReloadSources = m('CompletedReloadSources', {
|
|
23
|
+
sources: S.Array(RawSource),
|
|
24
|
+
});
|
|
23
25
|
export const SelectedSource = m('SelectedSource', { source: Source });
|
|
24
26
|
export const SubmittedNewSourceId = m('SubmittedNewSourceId', { id: S.String });
|
|
25
27
|
export const Message = S.Union([
|
|
26
28
|
ClickedReload,
|
|
27
|
-
|
|
29
|
+
CompletedReloadSources,
|
|
28
30
|
SelectedSource,
|
|
29
31
|
SubmittedNewSourceId,
|
|
30
32
|
]);
|
|
@@ -36,8 +38,8 @@ export const reloadedSources = [
|
|
|
36
38
|
{ kind: 'Book', id: '' },
|
|
37
39
|
];
|
|
38
40
|
export const ReloadSources = Command.define('ReloadSources', {
|
|
39
|
-
messages: [
|
|
40
|
-
execute: Effect.succeed(
|
|
41
|
+
messages: [CompletedReloadSources],
|
|
42
|
+
execute: Effect.succeed(CompletedReloadSources({ sources: reloadedSources })),
|
|
41
43
|
});
|
|
42
44
|
// INIT
|
|
43
45
|
export const validSources = [
|
|
@@ -50,7 +52,7 @@ export const initialModel = { sources: validSources };
|
|
|
50
52
|
// UPDATE
|
|
51
53
|
export const update = (model, message) => M.value(message).pipe(M.withReturnType(), M.tagsExhaustive({
|
|
52
54
|
ClickedReload: () => [model, [ReloadSources()]],
|
|
53
|
-
|
|
55
|
+
CompletedReloadSources: ({ sources }) => [
|
|
54
56
|
evo(model, { sources: () => sources }),
|
|
55
57
|
[],
|
|
56
58
|
],
|
|
@@ -9,10 +9,10 @@ export declare const SucceededSubmit: import("../../schema/index.js").CallableTa
|
|
|
9
9
|
id: S.String;
|
|
10
10
|
}>;
|
|
11
11
|
export declare const CancelledForm: import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>;
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const CompletedResetForm: import("../../schema/index.js").CallableTaggedStruct<"CompletedResetForm", {}>;
|
|
13
13
|
export declare const ChildMessage: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"SubmittedForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"SucceededSubmit", {
|
|
14
14
|
id: S.String;
|
|
15
|
-
}>, import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"
|
|
15
|
+
}>, import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedResetForm", {}>]>;
|
|
16
16
|
export type ChildMessage = typeof ChildMessage.Type;
|
|
17
17
|
export declare const RequestedSave: import("../../schema/index.js").CallableTaggedStruct<"RequestedSave", {
|
|
18
18
|
id: S.String;
|
|
@@ -27,7 +27,7 @@ export declare const SubmitForm: Command.CommandDefinitionNoArgs<"SubmitForm", E
|
|
|
27
27
|
readonly id: string;
|
|
28
28
|
}, never, never>>;
|
|
29
29
|
export declare const ResetForm: Command.CommandDefinitionNoArgs<"ResetForm", Effect.Effect<{
|
|
30
|
-
readonly _tag: "
|
|
30
|
+
readonly _tag: "CompletedResetForm";
|
|
31
31
|
}, never, never>>;
|
|
32
32
|
export declare const initialChildModel: ChildModel;
|
|
33
33
|
export declare const childUpdate: (_model: ChildModel, message: ChildMessage) => readonly [ChildModel, ReadonlyArray<Command.Command<ChildMessage>>, Option.Option<ChildOutMessage>];
|
|
@@ -42,13 +42,13 @@ export type ParentModel = typeof ParentModel.Type;
|
|
|
42
42
|
export declare const GotChildMessage: import("../../schema/index.js").CallableTaggedStruct<"GotChildMessage", {
|
|
43
43
|
message: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"SubmittedForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"SucceededSubmit", {
|
|
44
44
|
id: S.String;
|
|
45
|
-
}>, import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"
|
|
45
|
+
}>, import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedResetForm", {}>]>;
|
|
46
46
|
}>;
|
|
47
47
|
export declare const CompletedParentReset: import("../../schema/index.js").CallableTaggedStruct<"CompletedParentReset", {}>;
|
|
48
48
|
export declare const ParentMessage: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"GotChildMessage", {
|
|
49
49
|
message: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"SubmittedForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"SucceededSubmit", {
|
|
50
50
|
id: S.String;
|
|
51
|
-
}>, import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"
|
|
51
|
+
}>, import("../../schema/index.js").CallableTaggedStruct<"CancelledForm", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedResetForm", {}>]>;
|
|
52
52
|
}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedParentReset", {}>]>;
|
|
53
53
|
export type ParentMessage = typeof ParentMessage.Type;
|
|
54
54
|
export declare const initialParentModel: ParentModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formChild.d.ts","sourceRoot":"","sources":["../../../src/test/apps/formChild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhE,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAKjD,eAAO,MAAM,UAAU;;EAErB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,eAAe;;EAAyC,CAAA;AACrE,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"formChild.d.ts","sourceRoot":"","sources":["../../../src/test/apps/formChild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhE,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAKjD,eAAO,MAAM,UAAU;;EAErB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,eAAe;;EAAyC,CAAA;AACrE,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,kBAAkB,gFAA0B,CAAA;AAEzD,eAAO,MAAM,YAAY;;+JAKvB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAInD,eAAO,MAAM,aAAa;;EAAuC,CAAA;AACjE,eAAO,MAAM,eAAe,6EAAuB,CAAA;AAEnD,eAAO,MAAM,eAAe;;iFAA4C,CAAA;AACxE,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAIzD,eAAO,MAAM,UAAU;;;iBAGrB,CAAA;AAEF,eAAO,MAAM,SAAS;;iBAGpB,CAAA;AAIF,eAAO,MAAM,iBAAiB,EAAE,UAA+B,CAAA;AAI/D,eAAO,MAAM,WAAW,GACtB,QAAQ,UAAU,EAClB,SAAS,YAAY,KACpB,SAAS,CACV,UAAU,EACV,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAC5C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CA4B7B,CAAA;AAIH,eAAO,MAAM,WAAW;;;;;;EAItB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAIjD,eAAO,MAAM,eAAe;;;;EAE1B,CAAA;AACF,eAAO,MAAM,oBAAoB,kFAA4B,CAAA;AAE7D,eAAO,MAAM,aAAa;;;;sFAAmD,CAAA;AAC7E,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAIrD,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAA;AAID,eAAO,MAAM,YAAY,GACvB,aAAa,WAAW,EACxB,SAAS,aAAa,KACrB,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAqCpE,CAAA"}
|
|
@@ -9,12 +9,12 @@ export const ChildModel = S.Struct({
|
|
|
9
9
|
export const SubmittedForm = m('SubmittedForm');
|
|
10
10
|
export const SucceededSubmit = m('SucceededSubmit', { id: S.String });
|
|
11
11
|
export const CancelledForm = m('CancelledForm');
|
|
12
|
-
export const
|
|
12
|
+
export const CompletedResetForm = m('CompletedResetForm');
|
|
13
13
|
export const ChildMessage = S.Union([
|
|
14
14
|
SubmittedForm,
|
|
15
15
|
SucceededSubmit,
|
|
16
16
|
CancelledForm,
|
|
17
|
-
|
|
17
|
+
CompletedResetForm,
|
|
18
18
|
]);
|
|
19
19
|
// CHILD OUT MESSAGE
|
|
20
20
|
export const RequestedSave = m('RequestedSave', { id: S.String });
|
|
@@ -26,8 +26,8 @@ export const SubmitForm = Command.define('SubmitForm', {
|
|
|
26
26
|
execute: Effect.sync(() => SucceededSubmit({ id: 'abc' })),
|
|
27
27
|
});
|
|
28
28
|
export const ResetForm = Command.define('ResetForm', {
|
|
29
|
-
messages: [
|
|
30
|
-
execute: Effect.sync(() =>
|
|
29
|
+
messages: [CompletedResetForm],
|
|
30
|
+
execute: Effect.sync(() => CompletedResetForm()),
|
|
31
31
|
});
|
|
32
32
|
// CHILD INIT
|
|
33
33
|
export const initialChildModel = { status: 'Idle' };
|
|
@@ -48,7 +48,7 @@ export const childUpdate = (_model, message) => M.value(message).pipe(M.withRetu
|
|
|
48
48
|
[],
|
|
49
49
|
Option.some(RequestedCancel()),
|
|
50
50
|
],
|
|
51
|
-
|
|
51
|
+
CompletedResetForm: () => [{ status: 'Idle' }, [], Option.none()],
|
|
52
52
|
}));
|
|
53
53
|
// PARENT MODEL
|
|
54
54
|
export const ParentModel = S.Struct({
|
|
@@ -8,7 +8,7 @@ export declare const Model: S.Struct<{
|
|
|
8
8
|
}>;
|
|
9
9
|
export type Model = typeof Model.Type;
|
|
10
10
|
export declare const ClickedChooseResume: import("../../schema/index.js").CallableTaggedStruct<"ClickedChooseResume", {}>;
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const CompletedSelectResume: import("../../schema/index.js").CallableTaggedStruct<"CompletedSelectResume", {
|
|
12
12
|
file: S.Schema<File>;
|
|
13
13
|
}>;
|
|
14
14
|
export declare const CancelledSelectResume: import("../../schema/index.js").CallableTaggedStruct<"CancelledSelectResume", {}>;
|
|
@@ -17,7 +17,7 @@ export declare const SucceededReadPreview: import("../../schema/index.js").Calla
|
|
|
17
17
|
}>;
|
|
18
18
|
export declare const FailedReadPreview: import("../../schema/index.js").CallableTaggedStruct<"FailedReadPreview", {}>;
|
|
19
19
|
export declare const ClickedRemoveResume: import("../../schema/index.js").CallableTaggedStruct<"ClickedRemoveResume", {}>;
|
|
20
|
-
export declare const Message: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"ClickedChooseResume", {}>, import("../../schema/index.js").CallableTaggedStruct<"
|
|
20
|
+
export declare const Message: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"ClickedChooseResume", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedSelectResume", {
|
|
21
21
|
file: S.Schema<File>;
|
|
22
22
|
}>, import("../../schema/index.js").CallableTaggedStruct<"CancelledSelectResume", {}>, import("../../schema/index.js").CallableTaggedStruct<"SucceededReadPreview", {
|
|
23
23
|
dataUrl: S.String;
|
|
@@ -26,7 +26,7 @@ export type Message = typeof Message.Type;
|
|
|
26
26
|
export declare const SelectResume: Command.CommandDefinitionNoArgs<"SelectResume", Effect.Effect<{
|
|
27
27
|
readonly _tag: "CancelledSelectResume";
|
|
28
28
|
} | {
|
|
29
|
-
readonly _tag: "
|
|
29
|
+
readonly _tag: "CompletedSelectResume";
|
|
30
30
|
readonly file: File;
|
|
31
31
|
}, never, never>>;
|
|
32
32
|
export declare const ReadResumePreview: Command.CommandDefinitionWithArgs<"ReadResumePreview", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumeUpload.d.ts","sourceRoot":"","sources":["../../../src/test/apps/resumeUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhE,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAEjD,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAM5D,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAC3D,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"resumeUpload.d.ts","sourceRoot":"","sources":["../../../src/test/apps/resumeUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhE,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAEjD,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAM5D,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAC3D,eAAO,MAAM,qBAAqB;;EAEhC,CAAA;AACF,eAAO,MAAM,qBAAqB,mFAA6B,CAAA;AAC/D,eAAO,MAAM,oBAAoB;;EAE/B,CAAA;AACF,eAAO,MAAM,iBAAiB,+EAAyB,CAAA;AACvD,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAE3D,eAAO,MAAM,OAAO;;;;oKAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY;;;;;iBAUvB,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;iBAQ5B,CAAA;AAIF,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAA;AAID,KAAK,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAE7E,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,SAAS,OAAO,KAAG,YA+BrD,CAAA;AAsBH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,KAAG,IAmB5D,CAAA"}
|
|
@@ -11,7 +11,7 @@ export const Model = S.Struct({
|
|
|
11
11
|
});
|
|
12
12
|
// MESSAGE
|
|
13
13
|
export const ClickedChooseResume = m('ClickedChooseResume');
|
|
14
|
-
export const
|
|
14
|
+
export const CompletedSelectResume = m('CompletedSelectResume', {
|
|
15
15
|
file: File.File,
|
|
16
16
|
});
|
|
17
17
|
export const CancelledSelectResume = m('CancelledSelectResume');
|
|
@@ -22,7 +22,7 @@ export const FailedReadPreview = m('FailedReadPreview');
|
|
|
22
22
|
export const ClickedRemoveResume = m('ClickedRemoveResume');
|
|
23
23
|
export const Message = S.Union([
|
|
24
24
|
ClickedChooseResume,
|
|
25
|
-
|
|
25
|
+
CompletedSelectResume,
|
|
26
26
|
CancelledSelectResume,
|
|
27
27
|
SucceededReadPreview,
|
|
28
28
|
FailedReadPreview,
|
|
@@ -30,10 +30,10 @@ export const Message = S.Union([
|
|
|
30
30
|
]);
|
|
31
31
|
// COMMAND
|
|
32
32
|
export const SelectResume = Command.define('SelectResume', {
|
|
33
|
-
messages: [
|
|
33
|
+
messages: [CompletedSelectResume, CancelledSelectResume],
|
|
34
34
|
execute: File.select(['application/pdf']).pipe(Effect.map(Option.match({
|
|
35
35
|
onNone: () => CancelledSelectResume(),
|
|
36
|
-
onSome: file =>
|
|
36
|
+
onSome: file => CompletedSelectResume({ file }),
|
|
37
37
|
}))),
|
|
38
38
|
});
|
|
39
39
|
export const ReadResumePreview = Command.define('ReadResumePreview', {
|
|
@@ -49,7 +49,7 @@ export const initialModel = {
|
|
|
49
49
|
};
|
|
50
50
|
export const update = (model, message) => M.value(message).pipe(M.withReturnType(), M.tagsExhaustive({
|
|
51
51
|
ClickedChooseResume: () => [model, [SelectResume()]],
|
|
52
|
-
|
|
52
|
+
CompletedSelectResume: ({ file }) => [
|
|
53
53
|
evo(model, {
|
|
54
54
|
maybeResume: () => Option.some(file),
|
|
55
55
|
maybePreviewDataUrl: () => Option.none(),
|