react-elmish 4.2.0-beta.4 → 4.2.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/.eslintrc +1 -1
- package/.vscode/settings.json +3 -0
- package/README.md +86 -13
- package/dist/Cmd.d.ts +19 -18
- package/dist/Cmd.js +3 -3
- package/dist/ElmComponent.d.ts +10 -10
- package/dist/ElmComponent.js +14 -10
- package/dist/ErrorHandling.d.ts +1 -1
- package/dist/ErrorHandling.js +1 -1
- package/dist/Init.d.ts +17 -0
- package/dist/Init.js +7 -1
- package/dist/Testing/fakeOptions.d.ts +24 -0
- package/dist/Testing/fakeOptions.js +26 -0
- package/dist/Testing/index.d.ts +17 -7
- package/dist/Testing/index.js +23 -6
- package/dist/Types.d.ts +8 -5
- package/dist/Types.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/useElmish.d.ts +31 -0
- package/dist/useElmish.js +8 -8
- package/package.json +7 -7
- package/dist/Testing/fakeInitResult.d.ts +0 -7
- package/dist/Testing/fakeInitResult.js +0 -28
package/.eslintrc
CHANGED
package/README.md
CHANGED
|
@@ -5,6 +5,35 @@
|
|
|
5
5
|
|
|
6
6
|
This library brings the elmish pattern to react.
|
|
7
7
|
|
|
8
|
+
- [Installation](#installation)
|
|
9
|
+
- [Basic Usage](#basic-usage)
|
|
10
|
+
- [More on messages](#more-on-messages)
|
|
11
|
+
- [Message arguments](#message-arguments)
|
|
12
|
+
- [Symbols instead of strings](#symbols-instead-of-strings)
|
|
13
|
+
- [Dispatch commands in the update map or update function](#dispatch-commands-in-the-update-map-or-update-function)
|
|
14
|
+
- [Dispatch a message](#dispatch-a-message)
|
|
15
|
+
- [Call an async function](#call-an-async-function)
|
|
16
|
+
- [Dispatch a command from `init`](#dispatch-a-command-from-init)
|
|
17
|
+
- [Subscriptions](#subscriptions)
|
|
18
|
+
- [Working with external sources of events](#working-with-external-sources-of-events)
|
|
19
|
+
- [Cleanup subscriptions](#cleanup-subscriptions)
|
|
20
|
+
- [Setup](#setup)
|
|
21
|
+
- [Error handling](#error-handling)
|
|
22
|
+
- [React life cycle management](#react-life-cycle-management)
|
|
23
|
+
- [Composition](#composition)
|
|
24
|
+
- [With an `UpdateMap`](#with-an-updatemap)
|
|
25
|
+
- [With an update function](#with-an-update-function)
|
|
26
|
+
- [Call back parent components](#call-back-parent-components)
|
|
27
|
+
- [Testing](#testing)
|
|
28
|
+
- [Testing the model and simple message commands](#testing-the-model-and-simple-message-commands)
|
|
29
|
+
- [Testing all (async) messages](#testing-all-async-messages)
|
|
30
|
+
- [Testing with an UpdateMap](#testing-with-an-updatemap)
|
|
31
|
+
- [UI Tests](#ui-tests)
|
|
32
|
+
- [Migrations](#migrations)
|
|
33
|
+
- [From v1.x to v2.x](#from-v1x-to-v2x)
|
|
34
|
+
- [From v2.x to v3.x](#from-v2x-to-v3x)
|
|
35
|
+
- [From v3.x to v4.x](#from-v3x-to-v4x)
|
|
36
|
+
|
|
8
37
|
## Installation
|
|
9
38
|
|
|
10
39
|
`npm install react-elmish`
|
|
@@ -13,14 +42,14 @@ This library brings the elmish pattern to react.
|
|
|
13
42
|
|
|
14
43
|
An elmish component basically consists of the following parts:
|
|
15
44
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
45
|
+
- The **Model** holding the state of the component.
|
|
46
|
+
- The **Props** for the component.
|
|
47
|
+
- The **Init** function to create the initial model based on the props.
|
|
48
|
+
- The **Messages** to dispatch which modify the model.
|
|
49
|
+
- The **Update** function to modify the model based on a specific message.
|
|
50
|
+
- The **View** which renders the component based on the current model.
|
|
22
51
|
|
|
23
|
-
|
|
52
|
+
**App.ts:**
|
|
24
53
|
|
|
25
54
|
First import everything from `react-elmish` and declare the **Message** discriminated union type:
|
|
26
55
|
|
|
@@ -101,7 +130,7 @@ export const update = (model: Model, msg: Msg, props: Props): UpdateReturnType<M
|
|
|
101
130
|
|
|
102
131
|
> **Note:** If you are using **typescript** and **typescript-eslint** you should enable the [switch-exhaustive-check](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md) rule.
|
|
103
132
|
|
|
104
|
-
|
|
133
|
+
**App.tsx:**
|
|
105
134
|
|
|
106
135
|
To put all this together and to render our component, we need a React component.
|
|
107
136
|
|
|
@@ -922,10 +951,54 @@ const update = getUpdateFn(updateMap);
|
|
|
922
951
|
const [model, cmd] = update(msg, model, props);
|
|
923
952
|
```
|
|
924
953
|
|
|
925
|
-
|
|
954
|
+
### UI Tests
|
|
955
|
+
|
|
956
|
+
To test UI components with a fake model you can use `renderWithModel` from the Testing namespace. The first parameter is a function to render your component (e.g. with **@testing-library/react**). The second parameter is the fake model or an options object, where you can also pass a fake `dispatch` function.
|
|
957
|
+
|
|
958
|
+
```tsx
|
|
959
|
+
import { renderWithModel } from "react-elmish/dist/Testing";
|
|
960
|
+
import { fireEvent, render, screen } from "@testing-library/react";
|
|
961
|
+
|
|
962
|
+
it("renders the correct value", () => {
|
|
963
|
+
// arrange
|
|
964
|
+
const model: Model = { value: "It works" };
|
|
965
|
+
|
|
966
|
+
// act
|
|
967
|
+
renderWithModel(() => render(<TestComponent />), model);
|
|
968
|
+
|
|
969
|
+
// assert
|
|
970
|
+
expect(screen.getByText("It works")).not.toBeNull();
|
|
971
|
+
});
|
|
972
|
+
|
|
973
|
+
it("dispatches the correct message", async () => {
|
|
974
|
+
// arrange
|
|
975
|
+
const model: Model = { value: "" };
|
|
976
|
+
const mockDispatch = jest.fn();
|
|
977
|
+
|
|
978
|
+
renderWithModel(
|
|
979
|
+
() => render(<TestComponent />),
|
|
980
|
+
{
|
|
981
|
+
model,
|
|
982
|
+
dispatch: mockDispatch
|
|
983
|
+
}
|
|
984
|
+
);
|
|
985
|
+
|
|
986
|
+
// act
|
|
987
|
+
fireEvent.click(screen.getByText("Click"));
|
|
988
|
+
|
|
989
|
+
// assert
|
|
990
|
+
expect(mockDispatch).toHaveBeenCalledWith({ name: "click" });
|
|
991
|
+
});
|
|
992
|
+
```
|
|
993
|
+
|
|
994
|
+
This works for function components using the `useElmish` hook and class components.
|
|
995
|
+
|
|
996
|
+
## Migrations
|
|
997
|
+
|
|
998
|
+
### From v1.x to v2.x
|
|
926
999
|
|
|
927
|
-
|
|
928
|
-
|
|
1000
|
+
- Use `Logger` and `Message` instead of `ILogger` and `IMessage`.
|
|
1001
|
+
- The global declaration of the `Nullable` type was removed, because it is unexpected for this library to declare such a type. You can declare this type for yourself if needed:
|
|
929
1002
|
|
|
930
1003
|
```ts
|
|
931
1004
|
declare global {
|
|
@@ -933,7 +1006,7 @@ const [model, cmd] = update(msg, model, props);
|
|
|
933
1006
|
}
|
|
934
1007
|
```
|
|
935
1008
|
|
|
936
|
-
|
|
1009
|
+
### From v2.x to v3.x
|
|
937
1010
|
|
|
938
1011
|
The signature of `useElmish` has changed. It takes an options object now. Thus there is no need for the `useElmishMap` function. Use the new `useElmish` hook with an `UpdateMap` instead.
|
|
939
1012
|
|
|
@@ -946,6 +1019,6 @@ import { useElmishMap } from "react-elmish/dist/legacy/useElmishMap";
|
|
|
946
1019
|
|
|
947
1020
|
**Notice**: These functions are marked as deprecated and will be removed in a later release.
|
|
948
1021
|
|
|
949
|
-
|
|
1022
|
+
### From v3.x to v4.x
|
|
950
1023
|
|
|
951
1024
|
Because the legacy `useElmish` and `useElmishMap` have been removed, you have to convert all usages of `useElmish` to use the parameter object.
|
package/dist/Cmd.d.ts
CHANGED
|
@@ -1,37 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Type of the dispatch function.
|
|
3
3
|
*/
|
|
4
|
-
declare type Dispatch<
|
|
4
|
+
declare type Dispatch<TMessage> = (msg: TMessage) => void;
|
|
5
5
|
declare type FallbackHandler = (error?: Error) => void;
|
|
6
6
|
declare type Sub<TMsg> = (dispatch: Dispatch<TMsg>, fallback?: FallbackHandler) => void;
|
|
7
7
|
/**
|
|
8
8
|
* Type of a command.
|
|
9
9
|
*/
|
|
10
|
-
declare type Cmd<
|
|
10
|
+
declare type Cmd<TMessage> = Sub<TMessage>[];
|
|
11
11
|
/**
|
|
12
12
|
* Contains functions to create commands.
|
|
13
|
-
* @template
|
|
13
|
+
* @template TMessage Type of the Message discriminated union.
|
|
14
14
|
*/
|
|
15
|
-
interface Command<
|
|
15
|
+
interface Command<TMessage> {
|
|
16
16
|
/**
|
|
17
17
|
* Represents an empty command.
|
|
18
|
+
* @deprecated Do return nothing (`undefined`) instead.
|
|
18
19
|
*/
|
|
19
20
|
none: [];
|
|
20
21
|
/**
|
|
21
22
|
* Creates a command out of a specific message.
|
|
22
|
-
* @param {
|
|
23
|
+
* @param {TMessage} msg The specific message.
|
|
23
24
|
*/
|
|
24
|
-
ofMsg: (msg:
|
|
25
|
+
ofMsg: (msg: TMessage) => Cmd<TMessage>;
|
|
25
26
|
/**
|
|
26
27
|
* Aggregates multiple commands.
|
|
27
|
-
* @param {Cmd<
|
|
28
|
+
* @param {Cmd<TMessage> []} commands Array of commands.
|
|
28
29
|
*/
|
|
29
|
-
batch: (...commands: Cmd<
|
|
30
|
+
batch: (...commands: Cmd<TMessage>[]) => Cmd<TMessage>;
|
|
30
31
|
/**
|
|
31
32
|
* Command to call the subscriber.
|
|
32
|
-
* @param {Sub<
|
|
33
|
+
* @param {Sub<TMessage>} sub The subscriber function.
|
|
33
34
|
*/
|
|
34
|
-
ofSub: (sub: Sub<
|
|
35
|
+
ofSub: (sub: Sub<TMessage>) => Cmd<TMessage>;
|
|
35
36
|
/**
|
|
36
37
|
* Provides functionalities to create commands from simple functions.
|
|
37
38
|
*/
|
|
@@ -43,21 +44,21 @@ interface Command<TMsg> {
|
|
|
43
44
|
* @param ofError Creates the message to dispatch when an error occurred.
|
|
44
45
|
* @param args The parameters of the task.
|
|
45
46
|
*/
|
|
46
|
-
either: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: TReturn) =>
|
|
47
|
+
either: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: TReturn) => TMessage, ofError: (error: Error) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
47
48
|
/**
|
|
48
49
|
* Creates a command out of a simple function and ignores the error case.
|
|
49
50
|
* @param task The function to call.
|
|
50
51
|
* @param ofSuccess Creates the message to dispatch after a successful call of the task.
|
|
51
52
|
* @param args The parameters of the task.
|
|
52
53
|
*/
|
|
53
|
-
perform: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: TReturn) =>
|
|
54
|
+
perform: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: TReturn) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
54
55
|
/**
|
|
55
56
|
* Creates a command out of a simple function and ignores the success case.
|
|
56
57
|
* @param task The function to call.
|
|
57
58
|
* @param ofError Creates the message to dispatch when an error occurred.
|
|
58
59
|
* @param args The parameters of the task.
|
|
59
60
|
*/
|
|
60
|
-
attempt: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofError: (error: Error) =>
|
|
61
|
+
attempt: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofError: (error: Error) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
61
62
|
};
|
|
62
63
|
/**
|
|
63
64
|
* Provides functionalities to create commands from async functions.
|
|
@@ -70,27 +71,27 @@ interface Command<TMsg> {
|
|
|
70
71
|
* @param ofError Creates the message to dispatch when the promise is rejected.
|
|
71
72
|
* @param args The parameters of the task.
|
|
72
73
|
*/
|
|
73
|
-
either: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofSuccess: (result: TReturn) =>
|
|
74
|
+
either: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofSuccess: (result: TReturn) => TMessage, ofError: (error: Error) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
74
75
|
/**
|
|
75
76
|
* Creates a command out of an async function and ignores the error case.
|
|
76
77
|
* @param task The async function to call.
|
|
77
78
|
* @param ofSuccess Creates the message to dispatch when the promise is resolved.
|
|
78
79
|
* @param args The parameters of the task.
|
|
79
80
|
*/
|
|
80
|
-
perform: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofSuccess: (result: TReturn) =>
|
|
81
|
+
perform: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofSuccess: (result: TReturn) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
81
82
|
/**
|
|
82
83
|
* Creates a command out of an async function and ignores the success case.
|
|
83
84
|
* @param task The async function to call.
|
|
84
85
|
* @param ofError Creates the message to dispatch when the promise is rejected.
|
|
85
86
|
* @param args The parameters of the task.
|
|
86
87
|
*/
|
|
87
|
-
attempt: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofError: (error: Error) =>
|
|
88
|
+
attempt: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofError: (error: Error) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
88
89
|
};
|
|
89
90
|
}
|
|
90
91
|
/**
|
|
91
92
|
* Creates a typed instance of the Command class.
|
|
92
|
-
* @template
|
|
93
|
+
* @template TMessage The type of the Msg discriminated union.
|
|
93
94
|
*/
|
|
94
|
-
declare function createCmd<
|
|
95
|
+
declare function createCmd<TMessage>(): Command<TMessage>;
|
|
95
96
|
export type { Dispatch, Cmd, };
|
|
96
97
|
export { createCmd, };
|
package/dist/Cmd.js
CHANGED
|
@@ -15,12 +15,12 @@ exports.createCmd = createCmd;
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Contains functions to create commands.
|
|
18
|
-
* @template
|
|
18
|
+
* @template TMessage Type of the Message discriminated union.
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Creates a typed instance of the Command class.
|
|
23
|
-
* @template
|
|
23
|
+
* @template TMessage The type of the Msg discriminated union.
|
|
24
24
|
*/
|
|
25
25
|
function createCmd() {
|
|
26
26
|
return {
|
|
@@ -150,4 +150,4 @@ function createCmd() {
|
|
|
150
150
|
}
|
|
151
151
|
};
|
|
152
152
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDbWQiLCJub25lIiwib2ZNc2ciLCJtc2ciLCJkaXNwYXRjaCIsImJhdGNoIiwiY29tbWFuZHMiLCJmbGF0Iiwib2ZTdWIiLCJzdWIiLCJvZkZ1bmMiLCJlaXRoZXIiLCJ0YXNrIiwib2ZTdWNjZXNzIiwib2ZFcnJvciIsImFyZ3MiLCJiaW5kIiwicmVzdWx0IiwiZXgiLCJwZXJmb3JtIiwiZmFsbGJhY2siLCJhdHRlbXB0Iiwib2ZQcm9taXNlIiwidGhlbiIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiXSwic291cmNlcyI6WyIuLi9zcmMvQ21kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHlwZSBvZiB0aGUgZGlzcGF0Y2ggZnVuY3Rpb24uXG4gKi9cbnR5cGUgRGlzcGF0Y2g8VE1zZz4gPSAobXNnOiBUTXNnKSA9PiB2b2lkO1xuXG50eXBlIEZhbGxiYWNrSGFuZGxlciA9IChlcnJvcj86IEVycm9yKSA9PiB2b2lkO1xudHlwZSBTdWI8VE1zZz4gPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNc2c+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcikgPT4gdm9pZDtcblxuLyoqXG4gKiBUeXBlIG9mIGEgY29tbWFuZC5cbiAqL1xudHlwZSBDbWQ8VE1zZz4gPSBTdWI8VE1zZz4gW107XG5cbi8qKlxuICogQ29udGFpbnMgZnVuY3Rpb25zIHRvIGNyZWF0ZSBjb21tYW5kcy5cbiAqIEB0ZW1wbGF0ZSBUTXNnIFR5cGUgb2YgdGhlIE1lc3NhZ2UgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xuaW50ZXJmYWNlIENvbW1hbmQ8VE1zZz4ge1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYW4gZW1wdHkgY29tbWFuZC5cbiAgICAgKi9cbiAgICBub25lOiBbXSxcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzcGVjaWZpYyBtZXNzYWdlLlxuICAgICAqIEBwYXJhbSB7VE1zZ30gbXNnIFRoZSBzcGVjaWZpYyBtZXNzYWdlLlxuICAgICAqL1xuICAgIG9mTXNnOiAobXNnOiBUTXNnKSA9PiBDbWQ8VE1zZz4sXG4gICAgLyoqXG4gICAgICogQWdncmVnYXRlcyBtdWx0aXBsZSBjb21tYW5kcy5cbiAgICAgKiBAcGFyYW0ge0NtZDxUTXNnPiBbXX0gY29tbWFuZHMgQXJyYXkgb2YgY29tbWFuZHMuXG4gICAgICovXG4gICAgYmF0Y2g6ICguLi5jb21tYW5kczogQ21kPFRNc2c+IFtdKSA9PiBDbWQ8VE1zZz4sXG4gICAgLyoqXG4gICAgICogQ29tbWFuZCB0byBjYWxsIHRoZSBzdWJzY3JpYmVyLlxuICAgICAqIEBwYXJhbSB7U3ViPFRNc2c+fSBzdWIgVGhlIHN1YnNjcmliZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgb2ZTdWI6IChzdWI6IFN1YjxUTXNnPikgPT4gQ21kPFRNc2c+LFxuICAgIC8qKlxuICAgICAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyB0byBjcmVhdGUgY29tbWFuZHMgZnJvbSBzaW1wbGUgZnVuY3Rpb25zLlxuICAgICAqL1xuICAgIG9mRnVuYzoge1xuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzaW1wbGUgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggYWZ0ZXIgYSBzdWNjZXNzZnVsIGNhbGwgb2YgdGhlIHRhc2suXG4gICAgICAgICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIGFuIGVycm9yIG9jY3VycmVkLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBlaXRoZXI6IDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTXNnLCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncykgPT4gQ21kPFRNc2c+LFxuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzaW1wbGUgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIGVycm9yIGNhc2UuXG4gICAgICAgICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICAgICogQHBhcmFtIG9mU3VjY2VzcyBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIGFmdGVyIGEgc3VjY2Vzc2Z1bCBjYWxsIG9mIHRoZSB0YXNrLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBwZXJmb3JtOiA8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1zZywgLi4uYXJnczogVEFyZ3MpID0+IENtZDxUTXNnPixcbiAgICAgICAgLyoqXG4gICAgICAgICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgc2ltcGxlIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIHRoZSBzdWNjZXNzIGNhc2UuXG4gICAgICAgICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICAgICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIGFuIGVycm9yIG9jY3VycmVkLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBhdHRlbXB0OiA8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1zZz4sXG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyBmdW5jdGlvbmFsaXRpZXMgdG8gY3JlYXRlIGNvbW1hbmRzIGZyb20gYXN5bmMgZnVuY3Rpb25zLlxuICAgICAqL1xuICAgIG9mUHJvbWlzZToge1xuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYW4gYXN5bmMgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgYXN5bmMgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cbiAgICAgICAgKiBAcGFyYW0gb2ZFcnJvciBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gICAgICAgICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG4gICAgICAgICovXG4gICAgICAgIGVpdGhlcjogPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRNc2csIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1zZz4sXG4gICAgICAgIC8qKlxuICAgICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhbiBhc3luYyBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgYXN5bmMgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cbiAgICAgICAgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cbiAgICAgICAgKi9cbiAgICAgICAgcGVyZm9ybTogPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1zZz4sXG4gICAgICAgIC8qKlxuICAgICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhbiBhc3luYyBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgc3VjY2VzcyBjYXNlLlxuICAgICAgICAqIEBwYXJhbSB0YXNrIFRoZSBhc3luYyBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgcHJvbWlzZSBpcyByZWplY3RlZC5cbiAgICAgICAgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cbiAgICAgICAgKi9cbiAgICAgICAgYXR0ZW1wdDogPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncykgPT4gQ21kPFRNc2c+LFxuICAgIH0sXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHR5cGVkIGluc3RhbmNlIG9mIHRoZSBDb21tYW5kIGNsYXNzLlxuICogQHRlbXBsYXRlIFRNc2cgVGhlIHR5cGUgb2YgdGhlIE1zZyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5mdW5jdGlvbiBjcmVhdGVDbWQ8VE1zZz4gKCk6IENvbW1hbmQ8VE1zZz4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIG5vbmU6IFtdLFxuICAgICAgICBvZk1zZyAobXNnOiBUTXNnKTogQ21kPFRNc2c+IHtcbiAgICAgICAgICAgIHJldHVybiBbZGlzcGF0Y2ggPT4gZGlzcGF0Y2gobXNnKV07XG4gICAgICAgIH0sXG4gICAgICAgIGJhdGNoICguLi5jb21tYW5kczogQ21kPFRNc2c+IFtdKTogQ21kPFRNc2c+IHtcbiAgICAgICAgICAgIHJldHVybiBjb21tYW5kcy5mbGF0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9mU3ViIChzdWI6IFN1YjxUTXNnPik6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICByZXR1cm4gW3N1Yl07XG4gICAgICAgIH0sXG4gICAgICAgIG9mRnVuYzoge1xuICAgICAgICAgICAgZWl0aGVyPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLCBvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRNc2csIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNc2c+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUTXNnPik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChleDogdW5rbm93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbYmluZF07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGVyZm9ybTxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0YXNrKC4uLmFyZ3MpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaChvZlN1Y2Nlc3MocmVzdWx0KSk7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjayhleCBhcyBFcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtiaW5kXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhdHRlbXB0PFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXNrKC4uLmFyZ3MpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChleDogdW5rbm93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbYmluZF07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBvZlByb21pc2U6IHtcbiAgICAgICAgICAgIGVpdGhlcjxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTXNnLCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4pOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGFzayguLi5hcmdzKS50aGVuKHJlc3VsdCA9PiBkaXNwYXRjaChvZlN1Y2Nlc3MocmVzdWx0KSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGV4OiBFcnJvcikgPT4gZGlzcGF0Y2gob2ZFcnJvcihleCkpKTtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtiaW5kXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwZXJmb3JtPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNc2c+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0RmFsbGJhY2tIYW5kbGVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBibGFua1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUTXNnPiwgZmFsbGJhY2s6IEZhbGxiYWNrSGFuZGxlciA9IGRlZmF1bHRGYWxsYmFja0hhbmRsZXIpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGFzayguLi5hcmdzKS50aGVuKHJlc3VsdCA9PiBkaXNwYXRjaChvZlN1Y2Nlc3MocmVzdWx0KSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZmFsbGJhY2spO1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW2JpbmRdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGF0dGVtcHQ8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFByb21pc2U8VFJldHVybj4sIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNc2c+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUTXNnPiwgZmFsbGJhY2s/OiBGYWxsYmFja0hhbmRsZXIpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGFzayguLi5hcmdzKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmYWxsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGV4OiBFcnJvcikgPT4gZGlzcGF0Y2gob2ZFcnJvcihleCkpKTtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtiaW5kXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcbn1cblxuZXhwb3J0IHR5cGUge1xuICAgIERpc3BhdGNoLFxuICAgIENtZCxcbn07XG5cbmV4cG9ydCB7XG4gICAgY3JlYXRlQ21kLFxufTsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7O0FBTUE7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQTZFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFNBQVQsR0FBMkM7RUFDdkMsT0FBTztJQUNIQyxJQUFJLEVBQUUsRUFESDtJQUVIQyxLQUZHLGlCQUVJQyxHQUZKLEVBRTBCO01BQ3pCLE9BQU8sQ0FBQyxVQUFBQyxRQUFRO1FBQUEsT0FBSUEsUUFBUSxDQUFDRCxHQUFELENBQVo7TUFBQSxDQUFULENBQVA7SUFDSCxDQUpFO0lBS0hFLEtBTEcsbUJBSzBDO01BQUEsa0NBQW5DQyxRQUFtQztRQUFuQ0EsUUFBbUM7TUFBQTs7TUFDekMsT0FBT0EsUUFBUSxDQUFDQyxJQUFU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
|
|
153
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDbWQiLCJub25lIiwib2ZNc2ciLCJtc2ciLCJkaXNwYXRjaCIsImJhdGNoIiwiY29tbWFuZHMiLCJmbGF0Iiwib2ZTdWIiLCJzdWIiLCJvZkZ1bmMiLCJlaXRoZXIiLCJ0YXNrIiwib2ZTdWNjZXNzIiwib2ZFcnJvciIsImFyZ3MiLCJiaW5kIiwicmVzdWx0IiwiZXgiLCJwZXJmb3JtIiwiZmFsbGJhY2siLCJhdHRlbXB0Iiwib2ZQcm9taXNlIiwidGhlbiIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiXSwic291cmNlcyI6WyIuLi9zcmMvQ21kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHlwZSBvZiB0aGUgZGlzcGF0Y2ggZnVuY3Rpb24uXG4gKi9cbnR5cGUgRGlzcGF0Y2g8VE1lc3NhZ2U+ID0gKG1zZzogVE1lc3NhZ2UpID0+IHZvaWQ7XG5cbnR5cGUgRmFsbGJhY2tIYW5kbGVyID0gKGVycm9yPzogRXJyb3IpID0+IHZvaWQ7XG50eXBlIFN1YjxUTXNnPiA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKSA9PiB2b2lkO1xuXG4vKipcbiAqIFR5cGUgb2YgYSBjb21tYW5kLlxuICovXG50eXBlIENtZDxUTWVzc2FnZT4gPSBTdWI8VE1lc3NhZ2U+IFtdO1xuXG4vKipcbiAqIENvbnRhaW5zIGZ1bmN0aW9ucyB0byBjcmVhdGUgY29tbWFuZHMuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVHlwZSBvZiB0aGUgTWVzc2FnZSBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgQ29tbWFuZDxUTWVzc2FnZT4ge1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYW4gZW1wdHkgY29tbWFuZC5cbiAgICAgKiBAZGVwcmVjYXRlZCBEbyByZXR1cm4gbm90aGluZyAoYHVuZGVmaW5lZGApIGluc3RlYWQuXG4gICAgICovXG4gICAgbm9uZTogW10sXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgc3BlY2lmaWMgbWVzc2FnZS5cbiAgICAgKiBAcGFyYW0ge1RNZXNzYWdlfSBtc2cgVGhlIHNwZWNpZmljIG1lc3NhZ2UuXG4gICAgICovXG4gICAgb2ZNc2c6IChtc2c6IFRNZXNzYWdlKSA9PiBDbWQ8VE1lc3NhZ2U+LFxuICAgIC8qKlxuICAgICAqIEFnZ3JlZ2F0ZXMgbXVsdGlwbGUgY29tbWFuZHMuXG4gICAgICogQHBhcmFtIHtDbWQ8VE1lc3NhZ2U+IFtdfSBjb21tYW5kcyBBcnJheSBvZiBjb21tYW5kcy5cbiAgICAgKi9cbiAgICBiYXRjaDogKC4uLmNvbW1hbmRzOiBDbWQ8VE1lc3NhZ2U+IFtdKSA9PiBDbWQ8VE1lc3NhZ2U+LFxuICAgIC8qKlxuICAgICAqIENvbW1hbmQgdG8gY2FsbCB0aGUgc3Vic2NyaWJlci5cbiAgICAgKiBAcGFyYW0ge1N1YjxUTWVzc2FnZT59IHN1YiBUaGUgc3Vic2NyaWJlciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBvZlN1YjogKHN1YjogU3ViPFRNZXNzYWdlPikgPT4gQ21kPFRNZXNzYWdlPixcbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyBmdW5jdGlvbmFsaXRpZXMgdG8gY3JlYXRlIGNvbW1hbmRzIGZyb20gc2ltcGxlIGZ1bmN0aW9ucy5cbiAgICAgKi9cbiAgICBvZkZ1bmM6IHtcbiAgICAgICAgLyoqXG4gICAgICAgICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgc2ltcGxlIGZ1bmN0aW9uIGFuZCBtYXBzIHRoZSByZXN1bHQuXG4gICAgICAgICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICAgICogQHBhcmFtIG9mU3VjY2VzcyBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIGFmdGVyIGEgc3VjY2Vzc2Z1bCBjYWxsIG9mIHRoZSB0YXNrLlxuICAgICAgICAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiBhbiBlcnJvciBvY2N1cnJlZC5cbiAgICAgICAgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cbiAgICAgICAgKi9cbiAgICAgICAgZWl0aGVyOiA8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1lc3NhZ2UsIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNZXNzYWdlLCAuLi5hcmdzOiBUQXJncykgPT4gQ21kPFRNZXNzYWdlPixcbiAgICAgICAgLyoqXG4gICAgICAgICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgc2ltcGxlIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIHRoZSBlcnJvciBjYXNlLlxuICAgICAgICAqIEBwYXJhbSB0YXNrIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCBhZnRlciBhIHN1Y2Nlc3NmdWwgY2FsbCBvZiB0aGUgdGFzay5cbiAgICAgICAgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cbiAgICAgICAgKi9cbiAgICAgICAgcGVyZm9ybTogPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLCBvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRNZXNzYWdlLCAuLi5hcmdzOiBUQXJncykgPT4gQ21kPFRNZXNzYWdlPixcbiAgICAgICAgLyoqXG4gICAgICAgICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgc2ltcGxlIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIHRoZSBzdWNjZXNzIGNhc2UuXG4gICAgICAgICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICAgICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIGFuIGVycm9yIG9jY3VycmVkLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBhdHRlbXB0OiA8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNZXNzYWdlLCAuLi5hcmdzOiBUQXJncykgPT4gQ21kPFRNZXNzYWdlPixcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyB0byBjcmVhdGUgY29tbWFuZHMgZnJvbSBhc3luYyBmdW5jdGlvbnMuXG4gICAgICovXG4gICAgb2ZQcm9taXNlOiB7XG4gICAgICAgIC8qKlxuICAgICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhbiBhc3luYyBmdW5jdGlvbiBhbmQgbWFwcyB0aGUgcmVzdWx0LlxuICAgICAgICAqIEBwYXJhbSB0YXNrIFRoZSBhc3luYyBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkLlxuICAgICAgICAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgcHJvbWlzZSBpcyByZWplY3RlZC5cbiAgICAgICAgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cbiAgICAgICAgKi9cbiAgICAgICAgZWl0aGVyOiA8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFByb21pc2U8VFJldHVybj4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1lc3NhZ2UsIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNZXNzYWdlLCAuLi5hcmdzOiBUQXJncykgPT4gQ21kPFRNZXNzYWdlPixcbiAgICAgICAgLyoqXG4gICAgICAgICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGFuIGFzeW5jIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIHRoZSBlcnJvciBjYXNlLlxuICAgICAgICAqIEBwYXJhbSB0YXNrIFRoZSBhc3luYyBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBwZXJmb3JtOiA8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFByb21pc2U8VFJldHVybj4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1lc3NhZ2U+LFxuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYW4gYXN5bmMgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIHN1Y2Nlc3MgY2FzZS5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgYXN5bmMgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZFcnJvciBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gICAgICAgICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG4gICAgICAgICovXG4gICAgICAgIGF0dGVtcHQ6IDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1lc3NhZ2U+LFxuICAgIH0sXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHR5cGVkIGluc3RhbmNlIG9mIHRoZSBDb21tYW5kIGNsYXNzLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBNc2cgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlQ21kPFRNZXNzYWdlPiAoKTogQ29tbWFuZDxUTWVzc2FnZT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIG5vbmU6IFtdLFxuICAgICAgICBvZk1zZyAobXNnOiBUTWVzc2FnZSk6IENtZDxUTWVzc2FnZT4ge1xuICAgICAgICAgICAgcmV0dXJuIFtkaXNwYXRjaCA9PiBkaXNwYXRjaChtc2cpXTtcbiAgICAgICAgfSxcbiAgICAgICAgYmF0Y2ggKC4uLmNvbW1hbmRzOiBDbWQ8VE1lc3NhZ2U+IFtdKTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICByZXR1cm4gY29tbWFuZHMuZmxhdCgpO1xuICAgICAgICB9LFxuICAgICAgICBvZlN1YiAoc3ViOiBTdWI8VE1lc3NhZ2U+KTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICByZXR1cm4gW3N1Yl07XG4gICAgICAgIH0sXG4gICAgICAgIG9mRnVuYzoge1xuICAgICAgICAgICAgZWl0aGVyPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLCBvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRNZXNzYWdlLCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTWVzc2FnZSwgLi4uYXJnczogVEFyZ3MpOiBDbWQ8VE1lc3NhZ2U+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUTWVzc2FnZT4pOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKG9mU3VjY2VzcyhyZXN1bHQpKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW2JpbmRdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBlcmZvcm08VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChleDogdW5rbm93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2soZXggYXMgRXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbYmluZF07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXR0ZW1wdDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFzayguLi5hcmdzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW2JpbmRdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgb2ZQcm9taXNlOiB7XG4gICAgICAgICAgICBlaXRoZXI8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFByb21pc2U8VFJldHVybj4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1lc3NhZ2UsIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNZXNzYWdlLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTWVzc2FnZT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNZXNzYWdlPik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0YXNrKC4uLmFyZ3MpLnRoZW4ocmVzdWx0ID0+IGRpc3BhdGNoKG9mU3VjY2VzcyhyZXN1bHQpKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXg6IEVycm9yKSA9PiBkaXNwYXRjaChvZkVycm9yKGV4KSkpO1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW2JpbmRdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBlcmZvcm08VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFByb21pc2U8VFJldHVybj4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdEZhbGxiYWNrSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYmxhbmtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LCBmYWxsYmFjazogRmFsbGJhY2tIYW5kbGVyID0gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0YXNrKC4uLmFyZ3MpLnRoZW4ocmVzdWx0ID0+IGRpc3BhdGNoKG9mU3VjY2VzcyhyZXN1bHQpKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaChmYWxsYmFjayk7XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbYmluZF07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXR0ZW1wdDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0YXNrKC4uLmFyZ3MpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXg6IEVycm9yKSA9PiBkaXNwYXRjaChvZkVycm9yKGV4KSkpO1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW2JpbmRdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9O1xufVxuXG5leHBvcnQgdHlwZSB7XG4gICAgRGlzcGF0Y2gsXG4gICAgQ21kLFxufTtcblxuZXhwb3J0IHtcbiAgICBjcmVhdGVDbWQsXG59OyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7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
|
package/dist/ElmComponent.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { InitFunction, UpdateFunction } from "./Types";
|
|
2
|
-
import { Message } from "./Init";
|
|
3
1
|
import React from "react";
|
|
2
|
+
import { Message } from "./Init";
|
|
3
|
+
import { InitFunction, UpdateFunction } from "./Types";
|
|
4
4
|
/**
|
|
5
|
-
* Abstract class for a react class component using the
|
|
5
|
+
* Abstract class for a react class component using the Elmish pattern.
|
|
6
6
|
* @export
|
|
7
7
|
* @abstract
|
|
8
8
|
* @class ElmComponent
|
|
9
9
|
* @extends {Component<TProps, TModel>}
|
|
10
10
|
* @template TModel The type of the model.
|
|
11
|
-
* @template
|
|
11
|
+
* @template TMessage The type of the messages.
|
|
12
12
|
* @template TProps The type of the props.
|
|
13
13
|
*/
|
|
14
|
-
declare abstract class ElmComponent<TModel,
|
|
14
|
+
declare abstract class ElmComponent<TModel, TMessage extends Message, TProps> extends React.Component<TProps> {
|
|
15
15
|
private initCmd;
|
|
16
16
|
private readonly componentName;
|
|
17
17
|
private readonly buffer;
|
|
@@ -25,7 +25,7 @@ declare abstract class ElmComponent<TModel, TMsg extends Message, TProps> extend
|
|
|
25
25
|
* @param name The name of the component.
|
|
26
26
|
* @memberof ElmComponent
|
|
27
27
|
*/
|
|
28
|
-
constructor(props: TProps, init: InitFunction<TProps, TModel,
|
|
28
|
+
constructor(props: TProps, init: InitFunction<TProps, TModel, TMessage>, name: string);
|
|
29
29
|
/**
|
|
30
30
|
* Is called when the component is loaded.
|
|
31
31
|
* When implementing this method, the base implementation has to be called.
|
|
@@ -48,19 +48,19 @@ declare abstract class ElmComponent<TModel, TMsg extends Message, TProps> extend
|
|
|
48
48
|
get model(): Readonly<TModel>;
|
|
49
49
|
/**
|
|
50
50
|
* Dispatches a message.
|
|
51
|
-
* @param {
|
|
51
|
+
* @param {TMessage} msg The message to dispatch.
|
|
52
52
|
* @memberof ElmComponent
|
|
53
53
|
*/
|
|
54
|
-
readonly dispatch: (msg:
|
|
54
|
+
readonly dispatch: (msg: TMessage) => void;
|
|
55
55
|
/**
|
|
56
56
|
* Function to modify the model based on a message.
|
|
57
57
|
* @param {TModel} model The current model.
|
|
58
|
-
* @param {
|
|
58
|
+
* @param {TMessage} msg The message to process.
|
|
59
59
|
* @param {TProps} props The props of the component.
|
|
60
60
|
* @returns The new model (can also be an empty object {}) and an optional new message to dispatch.
|
|
61
61
|
* @abstract
|
|
62
62
|
* @memberof ElmComponent
|
|
63
63
|
*/
|
|
64
|
-
abstract update: UpdateFunction<TProps, TModel,
|
|
64
|
+
abstract update: UpdateFunction<TProps, TModel, TMessage>;
|
|
65
65
|
}
|
|
66
66
|
export { ElmComponent, };
|
package/dist/ElmComponent.js
CHANGED
|
@@ -7,11 +7,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.ElmComponent = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _Init = require("./Init");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _fakeOptions = require("./Testing/fakeOptions");
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
17
|
|
|
@@ -54,13 +54,13 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
|
54
54
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
|
-
* Abstract class for a react class component using the
|
|
57
|
+
* Abstract class for a react class component using the Elmish pattern.
|
|
58
58
|
* @export
|
|
59
59
|
* @abstract
|
|
60
60
|
* @class ElmComponent
|
|
61
61
|
* @extends {Component<TProps, TModel>}
|
|
62
62
|
* @template TModel The type of the model.
|
|
63
|
-
* @template
|
|
63
|
+
* @template TMessage The type of the messages.
|
|
64
64
|
* @template TProps The type of the props.
|
|
65
65
|
*/
|
|
66
66
|
var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
@@ -76,8 +76,6 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
76
76
|
* @memberof ElmComponent
|
|
77
77
|
*/
|
|
78
78
|
function ElmComponent(props, init, name) {
|
|
79
|
-
var _getFakeInitResultOnc;
|
|
80
|
-
|
|
81
79
|
var _this;
|
|
82
80
|
|
|
83
81
|
_classCallCheck(this, ElmComponent);
|
|
@@ -155,7 +153,13 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
155
153
|
|
|
156
154
|
_defineProperty(_assertThisInitialized(_this), "update", void 0);
|
|
157
155
|
|
|
158
|
-
var
|
|
156
|
+
var fakeOptions = (0, _fakeOptions.getFakeOptionsOnce)();
|
|
157
|
+
|
|
158
|
+
if (fakeOptions !== null && fakeOptions !== void 0 && fakeOptions.dispatch) {
|
|
159
|
+
_this.dispatch = fakeOptions.dispatch;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
var _ref = fakeOptions !== null && fakeOptions !== void 0 && fakeOptions.model ? [fakeOptions.model] : init(_this.props),
|
|
159
163
|
_ref2 = _slicedToArray(_ref, 2),
|
|
160
164
|
_model = _ref2[0],
|
|
161
165
|
_cmd = _ref2[1];
|
|
@@ -222,7 +226,7 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
222
226
|
}
|
|
223
227
|
/**
|
|
224
228
|
* Dispatches a message.
|
|
225
|
-
* @param {
|
|
229
|
+
* @param {TMessage} msg The message to dispatch.
|
|
226
230
|
* @memberof ElmComponent
|
|
227
231
|
*/
|
|
228
232
|
|
|
@@ -232,4 +236,4 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
232
236
|
}(_react["default"].Component);
|
|
233
237
|
|
|
234
238
|
exports.ElmComponent = ElmComponent;
|
|
235
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbG1Db21wb25lbnQiLCJwcm9wcyIsImluaXQiLCJuYW1lIiwibXNnIiwibW9kZWxIYXNDaGFuZ2VkIiwibW9kZWwiLCJjdXJyZW50TW9kZWwiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwibGVuZ3RoIiwicmVlbnRlcmVkIiwiYnVmZmVyIiwicHVzaCIsIm5leHRNc2ciLCJtb2RpZmllZCIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiaW5mbyIsImNvbXBvbmVudE5hbWUiLCJkZWJ1ZyIsImRpc3BhdGNoTWlkZGxld2FyZSIsInVwZGF0ZSIsImNtZCIsImV4ZWNDbWQiLCJleCIsImVycm9yIiwic2hpZnQiLCJtb3VudGVkIiwiZm9yY2VVcGRhdGUiLCJnZXRGYWtlSW5pdFJlc3VsdE9uY2UiLCJpbml0Q21kIiwiZm9yRWFjaCIsImNhbGwiLCJkaXNwYXRjaCIsIlJlYWN0IiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vc3JjL0VsbUNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbml0RnVuY3Rpb24sIE51bGxhYmxlLCBVcGRhdGVGdW5jdGlvbiB9IGZyb20gXCIuL1R5cGVzXCI7XG5pbXBvcnQgeyBNZXNzYWdlLCBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IENtZCB9IGZyb20gXCIuL0NtZFwiO1xuaW1wb3J0IHsgZ2V0RmFrZUluaXRSZXN1bHRPbmNlIH0gZnJvbSBcIi4vVGVzdGluZy9mYWtlSW5pdFJlc3VsdFwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgZWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1zZyBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMuXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqL1xuYWJzdHJhY3QgY2xhc3MgRWxtQ29tcG9uZW50PFRNb2RlbCwgVE1zZyBleHRlbmRzIE1lc3NhZ2UsIFRQcm9wcz4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8VFByb3BzPiB7XG4gICAgcHJpdmF0ZSBpbml0Q21kOiBOdWxsYWJsZTxDbWQ8VE1zZz4+IHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYnVmZmVyOiBUTXNnIFtdID0gW107XG4gICAgcHJpdmF0ZSByZWVudGVyZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGN1cnJlbnRNb2RlbDogVE1vZGVsO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBFbG1Db21wb25lbnQuXG4gICAgICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAcGFyYW0geygpID0+IFRNb2RlbH0gaW5pdCBUaGUgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yIChwcm9wczogVFByb3BzLCBpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNc2c+LCBuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuXG4gICAgICAgIGNvbnN0IFttb2RlbCwgY21kXSA9IGdldEZha2VJbml0UmVzdWx0T25jZTxUTW9kZWwsIFRNc2c+KCkgPz8gaW5pdCh0aGlzLnByb3BzKTtcblxuICAgICAgICB0aGlzLmNvbXBvbmVudE5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLmN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuICAgICAgICB0aGlzLmluaXRDbWQgPSBjbWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gICAgICogV2hlbiBpbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QsIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uIGhhcyB0byBiZSBjYWxsZWQuXG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBjb21wb25lbnREaWRNb3VudCAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW91bnRlZCA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5pdENtZCkge1xuICAgICAgICAgICAgdGhpcy5leGVjQ21kKHRoaXMuaW5pdENtZCk7XG4gICAgICAgICAgICB0aGlzLmluaXRDbWQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIGJlZm9yZSB1bmxvYWRpbmcgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cbiAgICAgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50ICgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3VudGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleGVjQ21kIChjbWQ6IENtZDxUTXNnPik6IHZvaWQge1xuICAgICAgICBjbWQuZm9yRWFjaChjYWxsID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY2FsbCh0aGlzLmRpc3BhdGNoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG4gICAgICAgICAgICAgICAgU2VydmljZXMubG9nZ2VyPy5lcnJvcihleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbW9kZWwuXG4gICAgICogQHJlYWRvbmx5XG4gICAgICogQHR5cGUge1JlYWRvbmx5PFRNb2RlbD59XG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbW9kZWwgKCk6IFJlYWRvbmx5PFRNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIHtUTXNnfSBtc2cgVGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2guXG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBkaXNwYXRjaCA9IChtc2c6IFRNc2cpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgbW9kZWxIYXNDaGFuZ2VkID0gKG1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4pOiBib29sZWFuID0+IG1vZGVsICE9PSB0aGlzLmN1cnJlbnRNb2RlbCAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhtb2RlbCkubGVuZ3RoID4gMDtcblxuICAgICAgICBpZiAodGhpcy5yZWVudGVyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyLnB1c2gobXNnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVlbnRlcmVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgbGV0IG5leHRNc2c6IFRNc2cgfCB1bmRlZmluZWQgPSBtc2c7XG4gICAgICAgICAgICBsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgd2hpbGUgKG5leHRNc2cpIHtcbiAgICAgICAgICAgICAgICBTZXJ2aWNlcy5sb2dnZXI/LmluZm8oXCJFbG1cIiwgXCJtZXNzYWdlIGZyb21cIiwgdGhpcy5jb21wb25lbnROYW1lLCBuZXh0TXNnLm5hbWUpO1xuICAgICAgICAgICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJFbG1cIiwgXCJtZXNzYWdlIGZyb21cIiwgdGhpcy5jb21wb25lbnROYW1lLCBuZXh0TXNnKTtcblxuICAgICAgICAgICAgICAgIGlmIChTZXJ2aWNlcy5kaXNwYXRjaE1pZGRsZXdhcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlKG5leHRNc2cpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFttb2RlbCwgY21kXSA9IHRoaXMudXBkYXRlKHRoaXMuY3VycmVudE1vZGVsLCBuZXh0TXNnLCB0aGlzLnByb3BzKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAobW9kZWxIYXNDaGFuZ2VkKG1vZGVsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TW9kZWwgPSB7IC4uLnRoaXMuY3VycmVudE1vZGVsLCAuLi5tb2RlbCB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leGVjQ21kKGNtZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIChleDogdW5rbm93bikge1xuICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlcy5sb2dnZXI/LmVycm9yKGV4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBuZXh0TXNnID0gdGhpcy5idWZmZXIuc2hpZnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucmVlbnRlcmVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1vdW50ZWQgJiYgbW9kaWZpZWQpIHtcbiAgICAgICAgICAgICAgICBTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiRWxtXCIsIFwidXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gbW9kaWZ5IHRoZSBtb2RlbCBiYXNlZCBvbiBhIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIHtUTW9kZWx9IG1vZGVsIFRoZSBjdXJyZW50IG1vZGVsLlxuICAgICAqIEBwYXJhbSB7VE1zZ30gbXNnIFRoZSBtZXNzYWdlIHRvIHByb2Nlc3MuXG4gICAgICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEByZXR1cm5zIFRoZSBuZXcgbW9kZWwgKGNhbiBhbHNvIGJlIGFuIGVtcHR5IG9iamVjdCB7fSkgYW5kIGFuIG9wdGlvbmFsIG5ldyBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuICAgICAqIEBhYnN0cmFjdFxuICAgICAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgdXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1zZz47XG59XG5cbmV4cG9ydCB7XG4gICAgRWxtQ29tcG9uZW50LFxufTsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBOztBQUVBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
239
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbG1Db21wb25lbnQiLCJwcm9wcyIsImluaXQiLCJuYW1lIiwibXNnIiwibW9kZWxIYXNDaGFuZ2VkIiwibW9kZWwiLCJjdXJyZW50TW9kZWwiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwibGVuZ3RoIiwicmVlbnRlcmVkIiwiYnVmZmVyIiwicHVzaCIsIm5leHRNc2ciLCJtb2RpZmllZCIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiaW5mbyIsImNvbXBvbmVudE5hbWUiLCJkZWJ1ZyIsImRpc3BhdGNoTWlkZGxld2FyZSIsInVwZGF0ZSIsImNtZCIsImV4ZWNDbWQiLCJleCIsImVycm9yIiwic2hpZnQiLCJtb3VudGVkIiwiZm9yY2VVcGRhdGUiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsImRpc3BhdGNoIiwiaW5pdENtZCIsImZvckVhY2giLCJjYWxsIiwiUmVhY3QiLCJDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi9zcmMvRWxtQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENtZCB9IGZyb20gXCIuL0NtZFwiO1xuaW1wb3J0IHsgTWVzc2FnZSwgU2VydmljZXMgfSBmcm9tIFwiLi9Jbml0XCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9UZXN0aW5nL2Zha2VPcHRpb25zXCI7XG5pbXBvcnQgeyBJbml0RnVuY3Rpb24sIE51bGxhYmxlLCBVcGRhdGVGdW5jdGlvbiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgZm9yIGEgcmVhY3QgY2xhc3MgY29tcG9uZW50IHVzaW5nIHRoZSBFbG1pc2ggcGF0dGVybi5cbiAqIEBleHBvcnRcbiAqIEBhYnN0cmFjdFxuICogQGNsYXNzIEVsbUNvbXBvbmVudFxuICogQGV4dGVuZHMge0NvbXBvbmVudDxUUHJvcHMsIFRNb2RlbD59XG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMuXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqL1xuYWJzdHJhY3QgY2xhc3MgRWxtQ29tcG9uZW50PFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUUHJvcHM+IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFRQcm9wcz4ge1xuICAgIHByaXZhdGUgaW5pdENtZDogTnVsbGFibGU8Q21kPFRNZXNzYWdlPj4gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWZmZXI6IFRNZXNzYWdlIFtdID0gW107XG4gICAgcHJpdmF0ZSByZWVudGVyZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGN1cnJlbnRNb2RlbDogVE1vZGVsO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBFbG1Db21wb25lbnQuXG4gICAgICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAcGFyYW0geygpID0+IFRNb2RlbH0gaW5pdCBUaGUgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yIChwcm9wczogVFByb3BzLCBpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICBjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZSgpO1xuXG4gICAgICAgIGlmIChmYWtlT3B0aW9ucz8uZGlzcGF0Y2gpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2ggPSBmYWtlT3B0aW9ucy5kaXNwYXRjaDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2RlbCwgY21kXSA9IGZha2VPcHRpb25zPy5tb2RlbCA/IFtmYWtlT3B0aW9ucy5tb2RlbCBhcyBUTW9kZWxdIDogaW5pdCh0aGlzLnByb3BzKTtcblxuICAgICAgICB0aGlzLmNvbXBvbmVudE5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLmN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuICAgICAgICB0aGlzLmluaXRDbWQgPSBjbWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gICAgICogV2hlbiBpbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QsIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uIGhhcyB0byBiZSBjYWxsZWQuXG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBjb21wb25lbnREaWRNb3VudCAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW91bnRlZCA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5pdENtZCkge1xuICAgICAgICAgICAgdGhpcy5leGVjQ21kKHRoaXMuaW5pdENtZCk7XG4gICAgICAgICAgICB0aGlzLmluaXRDbWQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIGJlZm9yZSB1bmxvYWRpbmcgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cbiAgICAgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50ICgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3VudGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleGVjQ21kIChjbWQ6IENtZDxUTWVzc2FnZT4pOiB2b2lkIHtcbiAgICAgICAgY21kLmZvckVhY2goY2FsbCA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNhbGwodGhpcy5kaXNwYXRjaCk7XG4gICAgICAgICAgICB9IGNhdGNoIChleDogdW5rbm93bikge1xuICAgICAgICAgICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZXJyb3IoZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IG1vZGVsLlxuICAgICAqIEByZWFkb25seVxuICAgICAqIEB0eXBlIHtSZWFkb25seTxUTW9kZWw+fVxuICAgICAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG1vZGVsICgpOiBSZWFkb25seTxUTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1vZGVsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc3BhdGNoZXMgYSBtZXNzYWdlLlxuICAgICAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBkaXNwYXRjaC5cbiAgICAgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgbW9kZWxIYXNDaGFuZ2VkID0gKG1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4pOiBib29sZWFuID0+IG1vZGVsICE9PSB0aGlzLmN1cnJlbnRNb2RlbCAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhtb2RlbCkubGVuZ3RoID4gMDtcblxuICAgICAgICBpZiAodGhpcy5yZWVudGVyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyLnB1c2gobXNnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVlbnRlcmVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgbGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuICAgICAgICAgICAgbGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHdoaWxlIChuZXh0TXNnKSB7XG4gICAgICAgICAgICAgICAgU2VydmljZXMubG9nZ2VyPy5pbmZvKFwiRWxtXCIsIFwibWVzc2FnZSBmcm9tXCIsIHRoaXMuY29tcG9uZW50TmFtZSwgbmV4dE1zZy5uYW1lKTtcbiAgICAgICAgICAgICAgICBTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiRWxtXCIsIFwibWVzc2FnZSBmcm9tXCIsIHRoaXMuY29tcG9uZW50TmFtZSwgbmV4dE1zZyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoU2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlKSB7XG4gICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzLmRpc3BhdGNoTWlkZGxld2FyZShuZXh0TXNnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbbW9kZWwsIGNtZF0gPSB0aGlzLnVwZGF0ZSh0aGlzLmN1cnJlbnRNb2RlbCwgbmV4dE1zZywgdGhpcy5wcm9wcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGVsSGFzQ2hhbmdlZChtb2RlbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudE1vZGVsID0geyAuLi50aGlzLmN1cnJlbnRNb2RlbCwgLi4ubW9kZWwgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhlY0NtZChjbWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZXMubG9nZ2VyPy5lcnJvcihleCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmV4dE1zZyA9IHRoaXMuYnVmZmVyLnNoaWZ0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnJlZW50ZXJlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5tb3VudGVkICYmIG1vZGlmaWVkKSB7XG4gICAgICAgICAgICAgICAgU2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkVsbVwiLCBcInVwZGF0ZSBtb2RlbCBmb3JcIiwgdGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmN1cnJlbnRNb2RlbCk7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgbW9kZWwgYmFzZWQgb24gYSBtZXNzYWdlLlxuICAgICAqIEBwYXJhbSB7VE1vZGVsfSBtb2RlbCBUaGUgY3VycmVudCBtb2RlbC5cbiAgICAgKiBAcGFyYW0ge1RNZXNzYWdlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQHJldHVybnMgVGhlIG5ldyBtb2RlbCAoY2FuIGFsc28gYmUgYW4gZW1wdHkgb2JqZWN0IHt9KSBhbmQgYW4gb3B0aW9uYWwgbmV3IG1lc3NhZ2UgdG8gZGlzcGF0Y2guXG4gICAgICogQGFic3RyYWN0XG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB7XG4gICAgRWxtQ29tcG9uZW50LFxufTsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNlQSxZOzs7OztFQVFYO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksc0JBQW9CQyxLQUFwQixFQUFtQ0MsSUFBbkMsRUFBaUZDLElBQWpGLEVBQStGO0lBQUE7O0lBQUE7O0lBQzNGLDBCQUFNRixLQUFOOztJQUQyRjs7SUFBQTs7SUFBQSx5REFaeEQsRUFZd0Q7O0lBQUEsNERBWDNFLEtBVzJFOztJQUFBLDBEQVY3RSxLQVU2RTs7SUFBQTs7SUFBQSwyREFnRXBFLFVBQUNHLEdBQUQsRUFBeUI7TUFDaEQsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxLQUFEO1FBQUEsT0FBcUNBLEtBQUssS0FBSyxNQUFLQyxZQUFmLElBQStCQyxNQUFNLENBQUNDLG1CQUFQLENBQTJCSCxLQUEzQixFQUFrQ0ksTUFBbEMsR0FBMkMsQ0FBL0c7TUFBQSxDQUF4Qjs7TUFFQSxJQUFJLE1BQUtDLFNBQVQsRUFBb0I7UUFDaEIsTUFBS0MsTUFBTCxDQUFZQyxJQUFaLENBQWlCVCxHQUFqQjtNQUNILENBRkQsTUFFTztRQUNILE1BQUtPLFNBQUwsR0FBaUIsSUFBakI7UUFFQSxJQUFJRyxPQUE2QixHQUFHVixHQUFwQztRQUNBLElBQUlXLFFBQVEsR0FBRyxLQUFmOztRQUVBLE9BQU9ELE9BQVAsRUFBZ0I7VUFBQTs7VUFDWixvQkFBQUUsY0FBQSxDQUFTQyxNQUFULHNFQUFpQkMs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
|
package/dist/ErrorHandling.d.ts
CHANGED
|
@@ -28,6 +28,6 @@ declare function errorHandler<TModel, TMessage>(): {
|
|
|
28
28
|
* Calls the error handling middleware if specified.
|
|
29
29
|
* @param {Error} error The error.
|
|
30
30
|
*/
|
|
31
|
-
declare function handleError<TModel,
|
|
31
|
+
declare function handleError<TModel, TMessage>(error: Error): UpdateReturnType<TModel, TMessage>;
|
|
32
32
|
export type { ErrorMessage };
|
|
33
33
|
export { errorMsg, errorHandler, handleError, };
|
package/dist/ErrorHandling.js
CHANGED
|
@@ -55,4 +55,4 @@ function handleError(error) {
|
|
|
55
55
|
(_Services$logger = _Init.Services.logger) === null || _Services$logger === void 0 ? void 0 : _Services$logger.error(error);
|
|
56
56
|
return [{}];
|
|
57
57
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlcnJvck1zZyIsImVycm9yIiwibmFtZSIsImVycm9ySGFuZGxlciIsImhhbmRsZUVycm9yIiwiU2VydmljZXMiLCJlcnJvck1pZGRsZXdhcmUiLCJsb2dnZXIiXSwic291cmNlcyI6WyIuLi9zcmMvRXJyb3JIYW5kbGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIEVycm9yIG1lc3NhZ2Ugb2JqZWN0LlxuICogQWRkIHRoaXMgdG8geW91ciBNZXNzYWdlIHR5cGUuXG4gKi9cbmludGVyZmFjZSBFcnJvck1lc3NhZ2Uge1xuICAgIG5hbWU6IFwiZXJyb3JcIixcbiAgICBlcnJvcjogRXJyb3IsXG59XG5cbi8qKlxuICogVGhpcyBvYmplY3QgY29udGFpbnMgdGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhbiBlcnJvciBtZXNzYWdlLlxuICogU3ByZWFkIHRoaXMgaW50byB5b3VyIE1zZyBvYmplY3QuXG4gKi9cbmNvbnN0IGVycm9yTXNnID0ge1xuICAgIGVycm9yOiAoZXJyb3I6IEVycm9yKTogRXJyb3JNZXNzYWdlID0+ICh7IG5hbWU6IFwiZXJyb3JcIiwgZXJyb3IgfSksXG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gb2JqZWN0IHRvIGhhbmRsZSBlcnJvciBtZXNzYWdlcyBpbiBhbiB1cGRhdGUgbWFwLlxuICogU3ByZWFkIHRoaXMgaW50byB5b3VyIGBVcGRhdGVNYXBgLlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgYW4gZXJyb3IgaGFuZGxlciBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gZXJyb3JIYW5kbGVyPFRNb2RlbCwgVE1lc3NhZ2U+ICgpOiB7IGVycm9yOiAobXNnOiBFcnJvck1lc3NhZ2UpID0+
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlcnJvck1zZyIsImVycm9yIiwibmFtZSIsImVycm9ySGFuZGxlciIsImhhbmRsZUVycm9yIiwiU2VydmljZXMiLCJlcnJvck1pZGRsZXdhcmUiLCJsb2dnZXIiXSwic291cmNlcyI6WyIuLi9zcmMvRXJyb3JIYW5kbGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIEVycm9yIG1lc3NhZ2Ugb2JqZWN0LlxuICogQWRkIHRoaXMgdG8geW91ciBNZXNzYWdlIHR5cGUuXG4gKi9cbmludGVyZmFjZSBFcnJvck1lc3NhZ2Uge1xuICAgIG5hbWU6IFwiZXJyb3JcIixcbiAgICBlcnJvcjogRXJyb3IsXG59XG5cbi8qKlxuICogVGhpcyBvYmplY3QgY29udGFpbnMgdGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhbiBlcnJvciBtZXNzYWdlLlxuICogU3ByZWFkIHRoaXMgaW50byB5b3VyIE1zZyBvYmplY3QuXG4gKi9cbmNvbnN0IGVycm9yTXNnID0ge1xuICAgIGVycm9yOiAoZXJyb3I6IEVycm9yKTogRXJyb3JNZXNzYWdlID0+ICh7IG5hbWU6IFwiZXJyb3JcIiwgZXJyb3IgfSksXG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gb2JqZWN0IHRvIGhhbmRsZSBlcnJvciBtZXNzYWdlcyBpbiBhbiB1cGRhdGUgbWFwLlxuICogU3ByZWFkIHRoaXMgaW50byB5b3VyIGBVcGRhdGVNYXBgLlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgYW4gZXJyb3IgaGFuZGxlciBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gZXJyb3JIYW5kbGVyPFRNb2RlbCwgVE1lc3NhZ2U+ICgpOiB7IGVycm9yOiAobXNnOiBFcnJvck1lc3NhZ2UpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4gfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZXJyb3IgKHsgZXJyb3IgfSkge1xuICAgICAgICAgICAgcmV0dXJuIGhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuXG4vKipcbiAqIEhhbmRsZXMgYW4gZXJyb3IuXG4gKiBMb2dzIHRoZSBlcnJvciBpZiBhIExvZ2dlciB3YXMgc3BlY2lmaWVkLlxuICogQ2FsbHMgdGhlIGVycm9yIGhhbmRsaW5nIG1pZGRsZXdhcmUgaWYgc3BlY2lmaWVkLlxuICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgVGhlIGVycm9yLlxuICovXG5mdW5jdGlvbiBoYW5kbGVFcnJvcjxUTW9kZWwsIFRNZXNzYWdlPiAoZXJyb3I6IEVycm9yKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG4gICAgaWYgKFNlcnZpY2VzLmVycm9yTWlkZGxld2FyZSkge1xuICAgICAgICBTZXJ2aWNlcy5lcnJvck1pZGRsZXdhcmUoZXJyb3IpO1xuICAgIH1cbiAgICBTZXJ2aWNlcy5sb2dnZXI/LmVycm9yKGVycm9yKTtcblxuICAgIHJldHVybiBbe31dO1xufVxuXG5leHBvcnQgdHlwZSB7IEVycm9yTWVzc2FnZSB9O1xuXG5leHBvcnQge1xuICAgIGVycm9yTXNnLFxuICAgIGVycm9ySGFuZGxlcixcbiAgICBoYW5kbGVFcnJvcixcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1BLFFBQVEsR0FBRztFQUNiQyxLQUFLLEVBQUUsZUFBQ0EsTUFBRDtJQUFBLE9BQWlDO01BQUVDLElBQUksRUFBRSxPQUFSO01BQWlCRCxLQUFLLEVBQUxBO0lBQWpCLENBQWpDO0VBQUE7QUFETSxDQUFqQjtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFDQSxTQUFTRSxZQUFULEdBQWlIO0VBQzdHLE9BQU87SUFDSEYsS0FERyx1QkFDZTtNQUFBLElBQVRBLEtBQVMsUUFBVEEsS0FBUztNQUNkLE9BQU9HLFdBQVcsQ0FBQ0gsS0FBRCxDQUFsQjtJQUNIO0VBSEUsQ0FBUDtBQUtIO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxTQUFTRyxXQUFULENBQXdDSCxLQUF4QyxFQUEwRjtFQUFBOztFQUN0RixJQUFJSSxjQUFBLENBQVNDLGVBQWIsRUFBOEI7SUFDMUJELGNBQUEsQ0FBU0MsZUFBVCxDQUF5QkwsS0FBekI7RUFDSDs7RUFDRCxvQkFBQUksY0FBQSxDQUFTRSxNQUFULHNFQUFpQk4sS0FBakIsQ0FBdUJBLEtBQXZCO0VBRUEsT0FBTyxDQUFDLEVBQUQsQ0FBUDtBQUNIIn0=
|
package/dist/Init.d.ts
CHANGED
|
@@ -9,11 +9,28 @@ interface Message {
|
|
|
9
9
|
declare type ErrorMiddlewareFunc = (error: Error) => void;
|
|
10
10
|
declare type DispatchMiddlewareFunc = (msg: Message) => void;
|
|
11
11
|
interface ElmOptions {
|
|
12
|
+
/**
|
|
13
|
+
* The logger to use for logging called messages and updated models.
|
|
14
|
+
* @type {Logger}
|
|
15
|
+
*/
|
|
12
16
|
logger?: Logger;
|
|
17
|
+
/**
|
|
18
|
+
* Middleware to call when error messages are handled by the `handleError` function.
|
|
19
|
+
* @type {ErrorMiddlewareFunc}
|
|
20
|
+
*/
|
|
13
21
|
errorMiddleware?: ErrorMiddlewareFunc;
|
|
22
|
+
/**
|
|
23
|
+
* Middleware to call for every processed message.
|
|
24
|
+
* @type {DispatchMiddlewareFunc}
|
|
25
|
+
*/
|
|
14
26
|
dispatchMiddleware?: DispatchMiddlewareFunc;
|
|
15
27
|
}
|
|
16
28
|
declare const Services: ElmOptions;
|
|
29
|
+
/**
|
|
30
|
+
* This initializes the Elmish module.
|
|
31
|
+
* You only need to call this function if you want to set some of the options.
|
|
32
|
+
* @param {ElmOptions} options
|
|
33
|
+
*/
|
|
17
34
|
declare function init(options: ElmOptions): void;
|
|
18
35
|
export type { Logger, Message, ErrorMiddlewareFunc, DispatchMiddlewareFunc, ElmOptions, };
|
|
19
36
|
export { Services, init, };
|
package/dist/Init.js
CHANGED
|
@@ -10,6 +10,12 @@ var Services = {
|
|
|
10
10
|
errorMiddleware: undefined,
|
|
11
11
|
dispatchMiddleware: undefined
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* This initializes the Elmish module.
|
|
15
|
+
* You only need to call this function if you want to set some of the options.
|
|
16
|
+
* @param {ElmOptions} options
|
|
17
|
+
*/
|
|
18
|
+
|
|
13
19
|
exports.Services = Services;
|
|
14
20
|
|
|
15
21
|
function init(options) {
|
|
@@ -17,4 +23,4 @@ function init(options) {
|
|
|
17
23
|
Services.errorMiddleware = options.errorMiddleware;
|
|
18
24
|
Services.dispatchMiddleware = options.dispatchMiddleware;
|
|
19
25
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXJ2aWNlcyIsImxvZ2dlciIsInVuZGVmaW5lZCIsImVycm9yTWlkZGxld2FyZSIsImRpc3BhdGNoTWlkZGxld2FyZSIsImluaXQiLCJvcHRpb25zIl0sInNvdXJjZXMiOlsiLi4vc3JjL0luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIExvZ2dlciB7XG4gICAgZGVidWc6ICguLi5hcmdzOiB1bmtub3duIFtdKSA9PiB2b2lkLFxuICAgIGluZm86ICguLi5hcmdzOiB1bmtub3duIFtdKSA9PiB2b2lkLFxuICAgIGVycm9yOiAoLi4uYXJnczogdW5rbm93biBbXSkgPT4gdm9pZCxcbn1cblxuaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICAgIG5hbWU6IHN0cmluZyB8IHN5bWJvbCxcbn1cblxudHlwZSBFcnJvck1pZGRsZXdhcmVGdW5jID0gKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbnR5cGUgRGlzcGF0Y2hNaWRkbGV3YXJlRnVuYyA9IChtc2c6IE1lc3NhZ2UpID0+
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXJ2aWNlcyIsImxvZ2dlciIsInVuZGVmaW5lZCIsImVycm9yTWlkZGxld2FyZSIsImRpc3BhdGNoTWlkZGxld2FyZSIsImluaXQiLCJvcHRpb25zIl0sInNvdXJjZXMiOlsiLi4vc3JjL0luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIExvZ2dlciB7XG4gICAgZGVidWc6ICguLi5hcmdzOiB1bmtub3duIFtdKSA9PiB2b2lkLFxuICAgIGluZm86ICguLi5hcmdzOiB1bmtub3duIFtdKSA9PiB2b2lkLFxuICAgIGVycm9yOiAoLi4uYXJnczogdW5rbm93biBbXSkgPT4gdm9pZCxcbn1cblxuaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICAgIG5hbWU6IHN0cmluZyB8IHN5bWJvbCxcbn1cblxudHlwZSBFcnJvck1pZGRsZXdhcmVGdW5jID0gKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbnR5cGUgRGlzcGF0Y2hNaWRkbGV3YXJlRnVuYyA9IChtc2c6IE1lc3NhZ2UpID0+IHZvaWQ7XG5cbmludGVyZmFjZSBFbG1PcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbG9nZ2VyIHRvIHVzZSBmb3IgbG9nZ2luZyBjYWxsZWQgbWVzc2FnZXMgYW5kIHVwZGF0ZWQgbW9kZWxzLlxuICAgICAqIEB0eXBlIHtMb2dnZXJ9XG4gICAgICovXG4gICAgbG9nZ2VyPzogTG9nZ2VyLFxuXG4gICAgLyoqXG4gICAgICogTWlkZGxld2FyZSB0byBjYWxsIHdoZW4gZXJyb3IgbWVzc2FnZXMgYXJlIGhhbmRsZWQgYnkgdGhlIGBoYW5kbGVFcnJvcmAgZnVuY3Rpb24uXG4gICAgICogQHR5cGUge0Vycm9yTWlkZGxld2FyZUZ1bmN9XG4gICAgICovXG4gICAgZXJyb3JNaWRkbGV3YXJlPzogRXJyb3JNaWRkbGV3YXJlRnVuYyxcblxuICAgIC8qKlxuICAgICAqIE1pZGRsZXdhcmUgdG8gY2FsbCBmb3IgZXZlcnkgcHJvY2Vzc2VkIG1lc3NhZ2UuXG4gICAgICogQHR5cGUge0Rpc3BhdGNoTWlkZGxld2FyZUZ1bmN9XG4gICAgICovXG4gICAgZGlzcGF0Y2hNaWRkbGV3YXJlPzogRGlzcGF0Y2hNaWRkbGV3YXJlRnVuYyxcbn1cblxuY29uc3QgU2VydmljZXM6IEVsbU9wdGlvbnMgPSB7XG4gICAgbG9nZ2VyOiB1bmRlZmluZWQsXG4gICAgZXJyb3JNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG4gICAgZGlzcGF0Y2hNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG59O1xuXG4vKipcbiAqIFRoaXMgaW5pdGlhbGl6ZXMgdGhlIEVsbWlzaCBtb2R1bGUuXG4gKiBZb3Ugb25seSBuZWVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBpZiB5b3Ugd2FudCB0byBzZXQgc29tZSBvZiB0aGUgb3B0aW9ucy5cbiAqIEBwYXJhbSB7RWxtT3B0aW9uc30gb3B0aW9uc1xuICovXG5mdW5jdGlvbiBpbml0IChvcHRpb25zOiBFbG1PcHRpb25zKTogdm9pZCB7XG4gICAgU2VydmljZXMubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXI7XG4gICAgU2VydmljZXMuZXJyb3JNaWRkbGV3YXJlID0gb3B0aW9ucy5lcnJvck1pZGRsZXdhcmU7XG4gICAgU2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlID0gb3B0aW9ucy5kaXNwYXRjaE1pZGRsZXdhcmU7XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgICBMb2dnZXIsXG4gICAgTWVzc2FnZSxcbiAgICBFcnJvck1pZGRsZXdhcmVGdW5jLFxuICAgIERpc3BhdGNoTWlkZGxld2FyZUZ1bmMsXG4gICAgRWxtT3B0aW9ucyxcbn07XG5cbmV4cG9ydCB7XG4gICAgU2VydmljZXMsXG4gICAgaW5pdCxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBaUNBLElBQU1BLFFBQW9CLEdBQUc7RUFDekJDLE1BQU0sRUFBRUMsU0FEaUI7RUFFekJDLGVBQWUsRUFBRUQsU0FGUTtFQUd6QkUsa0JBQWtCLEVBQUVGO0FBSEssQ0FBN0I7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBQ0EsU0FBU0csSUFBVCxDQUFlQyxPQUFmLEVBQTBDO0VBQ3RDTixRQUFRLENBQUNDLE1BQVQsR0FBa0JLLE9BQU8sQ0FBQ0wsTUFBMUI7RUFDQUQsUUFBUSxDQUFDRyxlQUFULEdBQTJCRyxPQUFPLENBQUNILGVBQW5DO0VBQ0FILFFBQVEsQ0FBQ0ksa0JBQVQsR0FBOEJFLE9BQU8sQ0FBQ0Ysa0JBQXRDO0FBQ0gifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Dispatch } from "../Cmd";
|
|
2
|
+
import { MessageBase, Nullable } from "../Types";
|
|
3
|
+
/**
|
|
4
|
+
* Options for the `renderWithModel` function.
|
|
5
|
+
* @interface RenderWithModelOptions
|
|
6
|
+
* @template TModel The type of the model.
|
|
7
|
+
* @template TMessage The type of the messages discriminated union.
|
|
8
|
+
*/
|
|
9
|
+
interface RenderWithModelOptions<TModel, TMessage extends MessageBase> {
|
|
10
|
+
/**
|
|
11
|
+
* The model to use when rendering the component.
|
|
12
|
+
* @type {TModel}
|
|
13
|
+
*/
|
|
14
|
+
model: TModel;
|
|
15
|
+
/**
|
|
16
|
+
* A fake dispatch function to use when processing messages.
|
|
17
|
+
* @type {Dispatch<TMessage>}
|
|
18
|
+
*/
|
|
19
|
+
dispatch?: Dispatch<TMessage>;
|
|
20
|
+
}
|
|
21
|
+
declare function setFakeOptions(options: Nullable<RenderWithModelOptions<unknown, MessageBase>>): void;
|
|
22
|
+
declare function getFakeOptionsOnce<TModel, TMessage extends MessageBase>(): Nullable<RenderWithModelOptions<TModel, TMessage>>;
|
|
23
|
+
export type { RenderWithModelOptions, };
|
|
24
|
+
export { setFakeOptions, getFakeOptionsOnce, };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getFakeOptionsOnce = getFakeOptionsOnce;
|
|
7
|
+
exports.setFakeOptions = setFakeOptions;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Options for the `renderWithModel` function.
|
|
11
|
+
* @interface RenderWithModelOptions
|
|
12
|
+
* @template TModel The type of the model.
|
|
13
|
+
* @template TMessage The type of the messages discriminated union.
|
|
14
|
+
*/
|
|
15
|
+
var currentFakeOptions;
|
|
16
|
+
|
|
17
|
+
function setFakeOptions(options) {
|
|
18
|
+
currentFakeOptions = options;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function getFakeOptionsOnce() {
|
|
22
|
+
var temp = currentFakeOptions;
|
|
23
|
+
currentFakeOptions = null;
|
|
24
|
+
return temp;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjdXJyZW50RmFrZU9wdGlvbnMiLCJzZXRGYWtlT3B0aW9ucyIsIm9wdGlvbnMiLCJnZXRGYWtlT3B0aW9uc09uY2UiLCJ0ZW1wIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Rlc3RpbmcvZmFrZU9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlzcGF0Y2ggfSBmcm9tIFwiLi4vQ21kXCI7XG5pbXBvcnQgeyBNZXNzYWdlQmFzZSwgTnVsbGFibGUgfSBmcm9tIFwiLi4vVHlwZXNcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYHJlbmRlcldpdGhNb2RlbGAgZnVuY3Rpb24uXG4gKiBAaW50ZXJmYWNlIFJlbmRlcldpdGhNb2RlbE9wdGlvbnNcbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgUmVuZGVyV2l0aE1vZGVsT3B0aW9uczxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2U+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbW9kZWwgdG8gdXNlIHdoZW4gcmVuZGVyaW5nIHRoZSBjb21wb25lbnQuXG4gICAgICogQHR5cGUge1RNb2RlbH1cbiAgICAgKi9cbiAgICBtb2RlbDogVE1vZGVsLFxuXG4gICAgLyoqXG4gICAgICogQSBmYWtlIGRpc3BhdGNoIGZ1bmN0aW9uIHRvIHVzZSB3aGVuIHByb2Nlc3NpbmcgbWVzc2FnZXMuXG4gICAgICogQHR5cGUge0Rpc3BhdGNoPFRNZXNzYWdlPn1cbiAgICAgKi9cbiAgICBkaXNwYXRjaD86IERpc3BhdGNoPFRNZXNzYWdlPixcbn1cblxubGV0IGN1cnJlbnRGYWtlT3B0aW9uczogTnVsbGFibGU8UmVuZGVyV2l0aE1vZGVsT3B0aW9uczx1bmtub3duLCBNZXNzYWdlQmFzZT4+O1xuXG5mdW5jdGlvbiBzZXRGYWtlT3B0aW9ucyAob3B0aW9uczogTnVsbGFibGU8UmVuZGVyV2l0aE1vZGVsT3B0aW9uczx1bmtub3duLCBNZXNzYWdlQmFzZT4+KTogdm9pZCB7XG4gICAgY3VycmVudEZha2VPcHRpb25zID0gb3B0aW9ucztcbn1cblxuZnVuY3Rpb24gZ2V0RmFrZU9wdGlvbnNPbmNlPFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlQmFzZT4gKCk6IE51bGxhYmxlPFJlbmRlcldpdGhNb2RlbE9wdGlvbnM8VE1vZGVsLCBUTWVzc2FnZT4+IHtcbiAgICBjb25zdCB0ZW1wID0gY3VycmVudEZha2VPcHRpb25zO1xuXG4gICAgY3VycmVudEZha2VPcHRpb25zID0gbnVsbDtcblxuICAgIHJldHVybiB0ZW1wIGFzIFJlbmRlcldpdGhNb2RlbE9wdGlvbnM8VE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgICBSZW5kZXJXaXRoTW9kZWxPcHRpb25zLFxufTtcblxuZXhwb3J0IHtcbiAgICBzZXRGYWtlT3B0aW9ucyxcbiAgICBnZXRGYWtlT3B0aW9uc09uY2UsXG59OyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQSxJQUFJQSxrQkFBSjs7QUFFQSxTQUFTQyxjQUFULENBQXlCQyxPQUF6QixFQUFnRztFQUM1RkYsa0JBQWtCLEdBQUdFLE9BQXJCO0FBQ0g7O0FBRUQsU0FBU0Msa0JBQVQsR0FBeUg7RUFDckgsSUFBTUMsSUFBSSxHQUFHSixrQkFBYjtFQUVBQSxrQkFBa0IsR0FBRyxJQUFyQjtFQUVBLE9BQU9JLElBQVA7QUFDSCJ9
|
package/dist/Testing/index.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { Cmd
|
|
2
|
-
import {
|
|
1
|
+
import { Cmd } from "../Cmd";
|
|
2
|
+
import { MessageBase, Nullable, UpdateMap, UpdateReturnType } from "../Types";
|
|
3
|
+
import { RenderWithModelOptions } from "./fakeOptions";
|
|
3
4
|
/**
|
|
4
5
|
* Extracts the messages out of a command.
|
|
5
6
|
* @param cmd The command to process.
|
|
6
7
|
* @returns The array of messages.
|
|
7
8
|
*/
|
|
8
|
-
declare function getOfMsgParams<
|
|
9
|
+
declare function getOfMsgParams<TMessage>(cmd?: Cmd<TMessage>): TMessage[];
|
|
9
10
|
/**
|
|
10
11
|
* Executes all commands and resolves the messages.
|
|
11
12
|
* @param cmd The command to process.
|
|
12
13
|
* @returns The array of processed messages.
|
|
13
14
|
*/
|
|
14
|
-
declare function execCmd<
|
|
15
|
+
declare function execCmd<TMessage>(cmd?: Cmd<TMessage>): Promise<Nullable<TMessage>[]>;
|
|
15
16
|
/**
|
|
16
17
|
* Creates an update function out of an UpdateMap.
|
|
17
18
|
* @param {UpdateMap<TProps, TModel, TMessage>} updateMap The UpdateMap.
|
|
@@ -31,6 +32,15 @@ declare type UpdateArgsFactory<TProps, TModel, TMessage extends MessageBase> = (
|
|
|
31
32
|
* const [msg, model, props] = createUpdateArgs(Msg.myMessage(), { ... }, , { ... });
|
|
32
33
|
*/
|
|
33
34
|
declare function createUpdateArgsFactory<TProps, TModel, TMessage extends MessageBase>(initModel: () => TModel, initProps: () => TProps): UpdateArgsFactory<TProps, TModel, TMessage>;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Renders a component with a provided model.
|
|
37
|
+
* @template TModel The type of the model.
|
|
38
|
+
* @template TMessage The type of the message discriminated union.
|
|
39
|
+
* @template TResult The return type of the render function.
|
|
40
|
+
* @param {() => TResult} render A function to render the component. Use the `render` function of the used testing library.
|
|
41
|
+
* @param {(TModel | RenderWithModelOptions<TModel, TMessage>)} options The model or an options object.
|
|
42
|
+
* @returns {TResult} The returned value of the `render` function.
|
|
43
|
+
*/
|
|
44
|
+
declare function renderWithModel<TModel, TMessage extends MessageBase, TResult>(render: () => TResult, options: TModel | RenderWithModelOptions<TModel, TMessage>): TResult;
|
|
45
|
+
export type { UpdateArgsFactory, RenderWithModelOptions, };
|
|
46
|
+
export { getOfMsgParams, execCmd, getUpdateFn, createUpdateArgsFactory, renderWithModel, };
|
package/dist/Testing/index.js
CHANGED
|
@@ -9,11 +9,11 @@ exports.createUpdateArgsFactory = createUpdateArgsFactory;
|
|
|
9
9
|
exports.execCmd = execCmd;
|
|
10
10
|
exports.getOfMsgParams = getOfMsgParams;
|
|
11
11
|
exports.getUpdateFn = getUpdateFn;
|
|
12
|
-
exports.
|
|
12
|
+
exports.renderWithModel = renderWithModel;
|
|
13
13
|
|
|
14
14
|
var _useElmish = require("../useElmish");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _fakeOptions = require("./fakeOptions");
|
|
17
17
|
|
|
18
18
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
19
19
|
|
|
@@ -147,11 +147,28 @@ function createUpdateArgsFactory(initModel, initProps) {
|
|
|
147
147
|
return [msg, _objectSpread(_objectSpread({}, initModel()), modelTemplate), _objectSpread(_objectSpread({}, initProps()), propsTemplate)];
|
|
148
148
|
};
|
|
149
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Renders a component with a provided model.
|
|
152
|
+
* @template TModel The type of the model.
|
|
153
|
+
* @template TMessage The type of the message discriminated union.
|
|
154
|
+
* @template TResult The return type of the render function.
|
|
155
|
+
* @param {() => TResult} render A function to render the component. Use the `render` function of the used testing library.
|
|
156
|
+
* @param {(TModel | RenderWithModelOptions<TModel, TMessage>)} options The model or an options object.
|
|
157
|
+
* @returns {TResult} The returned value of the `render` function.
|
|
158
|
+
*/
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
function renderWithModel(render, options) {
|
|
162
|
+
if ("model" in options && "dispatch" in options) {
|
|
163
|
+
(0, _fakeOptions.setFakeOptions)(options);
|
|
164
|
+
} else {
|
|
165
|
+
(0, _fakeOptions.setFakeOptions)({
|
|
166
|
+
model: options
|
|
167
|
+
});
|
|
168
|
+
}
|
|
150
169
|
|
|
151
|
-
function renderWithFake(initResult, render, fakeDispatch) {
|
|
152
|
-
(0, _fakeInitResult.setFakes)(initResult, fakeDispatch !== null && fakeDispatch !== void 0 ? fakeDispatch : null);
|
|
153
170
|
var result = render();
|
|
154
|
-
(0,
|
|
171
|
+
(0, _fakeOptions.setFakeOptions)(null);
|
|
155
172
|
return result;
|
|
156
173
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRPZk1zZ1BhcmFtcyIsImNtZCIsIm1zZ05hbWVzIiwiZGlzcGF0Y2giLCJtc2ciLCJwdXNoIiwibWFwIiwiY3VycmVudENtZCIsImV4ZWNDbWQiLCJjYWxsZXJzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJlcnJvciIsImFsbCIsInJlc3VsdHMiLCJnZXRVcGRhdGVGbiIsInVwZGF0ZU1hcCIsIm1vZGVsIiwicHJvcHMiLCJjYWxsVXBkYXRlTWFwIiwiY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkiLCJpbml0TW9kZWwiLCJpbml0UHJvcHMiLCJtb2RlbFRlbXBsYXRlIiwicHJvcHNUZW1wbGF0ZSIsInJlbmRlcldpdGhNb2RlbCIsInJlbmRlciIsIm9wdGlvbnMiLCJzZXRGYWtlT3B0aW9ucyIsInJlc3VsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UZXN0aW5nL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENtZCB9IGZyb20gXCIuLi9DbWRcIjtcbmltcG9ydCB7IE1lc3NhZ2VCYXNlLCBOdWxsYWJsZSwgVXBkYXRlTWFwLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBjYWxsVXBkYXRlTWFwIH0gZnJvbSBcIi4uL3VzZUVsbWlzaFwiO1xuaW1wb3J0IHsgUmVuZGVyV2l0aE1vZGVsT3B0aW9ucywgc2V0RmFrZU9wdGlvbnMgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBtZXNzYWdlcyBvdXQgb2YgYSBjb21tYW5kLlxuICogQHBhcmFtIGNtZCBUaGUgY29tbWFuZCB0byBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIGFycmF5IG9mIG1lc3NhZ2VzLlxuICovXG5mdW5jdGlvbiBnZXRPZk1zZ1BhcmFtczxUTWVzc2FnZT4gKGNtZD86IENtZDxUTWVzc2FnZT4pOiBUTWVzc2FnZSBbXSB7XG4gICAgY29uc3QgbXNnTmFtZXM6IFRNZXNzYWdlIFtdID0gW107XG5cbiAgICBjb25zdCBkaXNwYXRjaCA9IChtc2c6IFRNZXNzYWdlKTogdm9pZCA9PiB7XG4gICAgICAgIG1zZ05hbWVzLnB1c2gobXNnKTtcbiAgICB9O1xuXG4gICAgY21kPy5tYXAoY3VycmVudENtZCA9PiBjdXJyZW50Q21kKGRpc3BhdGNoKSk7XG5cbiAgICByZXR1cm4gbXNnTmFtZXM7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYWxsIGNvbW1hbmRzIGFuZCByZXNvbHZlcyB0aGUgbWVzc2FnZXMuXG4gKiBAcGFyYW0gY21kIFRoZSBjb21tYW5kIHRvIHByb2Nlc3MuXG4gKiBAcmV0dXJucyBUaGUgYXJyYXkgb2YgcHJvY2Vzc2VkIG1lc3NhZ2VzLlxuICovXG5hc3luYyBmdW5jdGlvbiBleGVjQ21kPFRNZXNzYWdlPiAoY21kPzogQ21kPFRNZXNzYWdlPik6IFByb21pc2U8TnVsbGFibGU8VE1lc3NhZ2U+IFtdPiB7XG4gICAgaWYgKCFjbWQpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbGxlcnMgPSBjbWQubWFwKGFzeW5jIGN1cnJlbnRDbWQgPT4gbmV3IFByb21pc2U8TnVsbGFibGU8VE1lc3NhZ2U+PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHJlc29sdmUobXNnKTtcblxuICAgICAgICBjdXJyZW50Q21kKGRpc3BhdGNoLCBlcnJvciA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KSk7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoY2FsbGVycyk7XG5cbiAgICByZXR1cm4gcmVzdWx0cztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIHVwZGF0ZSBmdW5jdGlvbiBvdXQgb2YgYW4gVXBkYXRlTWFwLlxuICogQHBhcmFtIHtVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn0gdXBkYXRlTWFwIFRoZSBVcGRhdGVNYXAuXG4gKiBAcmV0dXJucyB7KG1zZzogVE1lc3NhZ2UsIG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT59IFRoZSBjcmVhdGVkIHVwZGF0ZSBmdW5jdGlvbiB3aGljaCBjYW4gYmUgdXNlZCBpbiB0ZXN0cy5cbiAqL1xuZnVuY3Rpb24gZ2V0VXBkYXRlRm48VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2U+ICh1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogKG1zZzogVE1lc3NhZ2UsIG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiAobXNnOiBUTWVzc2FnZSwgbW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcyk6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuICAgICAgICByZXR1cm4gY2FsbFVwZGF0ZU1hcCh1cGRhdGVNYXAsIG1zZywgbW9kZWwsIHByb3BzKTtcbiAgICB9O1xufVxuXG50eXBlIFVwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiA9IChtc2c6IFRNZXNzYWdlLCBtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LCBwcm9wc1RlbXBsYXRlPzogUGFydGlhbDxUUHJvcHM+KSA9PiBbVE1lc3NhZ2UsIFRNb2RlbCwgVFByb3BzXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBtZXNzYWdlLCBhIG1vZGVsLCBhbmQgcHJvcHMgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byBhbiB1cGRhdGUgZnVuY3Rpb24gaW4gdGVzdHMuXG4gKiBAcGFyYW0geygpID0+IFRNb2RlbH0gaW5pdE1vZGVsIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGFuIGluaXRpYWwgbW9kZWwuXG4gKiBAcGFyYW0geygpID0+IFRQcm9wc30gaW5pdFByb3BzIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGluaXRpYWwgcHJvcHMuXG4gKiBAcmV0dXJucyB7VXBkYXRlQXJnc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn0gQSBmdW5jdGlvbiB0byBjcmVhdGUgYSBtZXNzYWdlLCBhIG1vZGVsLCBhbmQgcHJvcHMuXG4gKiBAZXhhbXBsZVxuICogLy8gb25lIHRpbWVcbiAqIGNvbnN0IGNyZWF0ZVVwZGF0ZUFyZ3MgPSBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSgoKSA9PiAoeyAuLi4gfSksICgpID0+ICh7IC4uLiB9KSk7XG4gKiAvLyBpbiB0ZXN0c1xuICogY29uc3QgW21zZywgbW9kZWwsIHByb3BzXSA9IGNyZWF0ZVVwZGF0ZUFyZ3MoTXNnLm15TWVzc2FnZSgpLCB7IC4uLiB9LCAsIHsgLi4uIH0pO1xuICovXG5mdW5jdGlvbiBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlQmFzZT4gKGluaXRNb2RlbDogKCkgPT4gVE1vZGVsLCBpbml0UHJvcHM6ICgpID0+IFRQcm9wcyk6IFVwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiAobXNnOiBUTWVzc2FnZSwgbW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPiwgcHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPik6IFtUTWVzc2FnZSwgVE1vZGVsLCBUUHJvcHNdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG1zZyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi5pbml0TW9kZWwoKSxcbiAgICAgICAgICAgICAgICAuLi5tb2RlbFRlbXBsYXRlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi5pbml0UHJvcHMoKSxcbiAgICAgICAgICAgICAgICAuLi5wcm9wc1RlbXBsYXRlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9O1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBjb21wb25lbnQgd2l0aCBhIHByb3ZpZGVkIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2UgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqIEB0ZW1wbGF0ZSBUUmVzdWx0IFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgcmVuZGVyIGZ1bmN0aW9uLlxuICogQHBhcmFtIHsoKSA9PiBUUmVzdWx0fSByZW5kZXIgQSBmdW5jdGlvbiB0byByZW5kZXIgdGhlIGNvbXBvbmVudC4gVXNlIHRoZSBgcmVuZGVyYCBmdW5jdGlvbiBvZiB0aGUgdXNlZCB0ZXN0aW5nIGxpYnJhcnkuXG4gKiBAcGFyYW0geyhUTW9kZWwgfCBSZW5kZXJXaXRoTW9kZWxPcHRpb25zPFRNb2RlbCwgVE1lc3NhZ2U+KX0gb3B0aW9ucyBUaGUgbW9kZWwgb3IgYW4gb3B0aW9ucyBvYmplY3QuXG4gKiBAcmV0dXJucyB7VFJlc3VsdH0gVGhlIHJldHVybmVkIHZhbHVlIG9mIHRoZSBgcmVuZGVyYCBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyV2l0aE1vZGVsPFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlQmFzZSwgVFJlc3VsdD4gKHJlbmRlcjogKCkgPT4gVFJlc3VsdCwgb3B0aW9uczogVE1vZGVsIHwgUmVuZGVyV2l0aE1vZGVsT3B0aW9uczxUTW9kZWwsIFRNZXNzYWdlPik6IFRSZXN1bHQge1xuICAgIGlmIChcIm1vZGVsXCIgaW4gb3B0aW9ucyAmJiBcImRpc3BhdGNoXCIgaW4gb3B0aW9ucykge1xuICAgICAgICBzZXRGYWtlT3B0aW9ucyhvcHRpb25zIGFzIFJlbmRlcldpdGhNb2RlbE9wdGlvbnM8dW5rbm93biwgTWVzc2FnZUJhc2U+KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBzZXRGYWtlT3B0aW9ucyh7XG4gICAgICAgICAgICBtb2RlbDogb3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gcmVuZGVyKCk7XG5cbiAgICBzZXRGYWtlT3B0aW9ucyhudWxsKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgICBVcGRhdGVBcmdzRmFjdG9yeSxcbiAgICBSZW5kZXJXaXRoTW9kZWxPcHRpb25zLFxufTtcblxuZXhwb3J0IHtcbiAgICBnZXRPZk1zZ1BhcmFtcyxcbiAgICBleGVjQ21kLFxuICAgIGdldFVwZGF0ZUZuLFxuICAgIGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5LFxuICAgIHJlbmRlcldpdGhNb2RlbCxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7OytDQUZBLG9KOzs7Ozs7Ozs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsY0FBVCxDQUFtQ0MsR0FBbkMsRUFBcUU7RUFDakUsSUFBTUMsUUFBcUIsR0FBRyxFQUE5Qjs7RUFFQSxJQUFNQyxRQUFRLEdBQUcsU0FBWEEsUUFBVyxDQUFDQyxHQUFELEVBQXlCO0lBQ3RDRixRQUFRLENBQUNHLElBQVQsQ0FBY0QsR0FBZDtFQUNILENBRkQ7O0VBSUFILEdBQUcsU0FBSCxJQUFBQSxHQUFHLFdBQUgsWUFBQUEsR0FBRyxDQUFFSyxHQUFMLENBQVMsVUFBQUMsVUFBVTtJQUFBLE9BQUlBLFVBQVUsQ0FBQ0osUUFB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
|
package/dist/Types.d.ts
CHANGED
|
@@ -9,18 +9,21 @@ interface MessageBase {
|
|
|
9
9
|
interface MsgSource<T extends string> {
|
|
10
10
|
source: T;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* The return type of the `init` function.
|
|
14
|
+
*/
|
|
12
15
|
declare type InitResult<TModel, TMessage> = [TModel, Cmd<TMessage>?];
|
|
13
16
|
declare type InitFunction<TProps, TModel, TMessage> = (props: TProps) => InitResult<TModel, TMessage>;
|
|
14
17
|
/**
|
|
15
|
-
* Type for the return value of the update function.
|
|
18
|
+
* Type for the return value of the `update` function.
|
|
16
19
|
*/
|
|
17
|
-
declare type UpdateReturnType<TModel,
|
|
18
|
-
declare type UpdateFunction<TProps, TModel,
|
|
20
|
+
declare type UpdateReturnType<TModel, TMessage> = [Partial<TModel>, Cmd<TMessage>?];
|
|
21
|
+
declare type UpdateFunction<TProps, TModel, TMessage> = (model: TModel, msg: TMessage, props: TProps) => UpdateReturnType<TModel, TMessage>;
|
|
19
22
|
/**
|
|
20
23
|
* Type for mapping messages to functions.
|
|
21
24
|
* Use this type to create your update logic for the useElmish hook.
|
|
22
25
|
*/
|
|
23
|
-
declare type UpdateMap<TProps, TModel,
|
|
24
|
-
[M in
|
|
26
|
+
declare type UpdateMap<TProps, TModel, TMessage extends MessageBase> = {
|
|
27
|
+
[M in TMessage as M["name"]]: (msg: M, model: TModel, props: TProps) => UpdateReturnType<TModel, TMessage>;
|
|
25
28
|
};
|
|
26
29
|
export type { Nullable, MessageBase, MsgSource, InitResult, InitFunction, UpdateReturnType, UpdateFunction, UpdateMap, };
|
package/dist/Types.js
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL1R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENtZCB9IGZyb20gXCIuL0NtZFwiO1xuXG50eXBlIE51bGxhYmxlPFQ+
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL1R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENtZCB9IGZyb20gXCIuL0NtZFwiO1xuXG50eXBlIE51bGxhYmxlPFQ+ID0gVCB8IG51bGw7XG5cbmludGVyZmFjZSBNZXNzYWdlQmFzZSB7XG4gICAgbmFtZTogc3RyaW5nIHwgc3ltYm9sLFxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBNc2dTb3VyY2UgdHlwZS5cbiAqL1xuaW50ZXJmYWNlIE1zZ1NvdXJjZTxUIGV4dGVuZHMgc3RyaW5nPiB7XG4gICAgc291cmNlOiBULFxufVxuXG4vKipcbiAqIFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgYGluaXRgIGZ1bmN0aW9uLlxuICovXG50eXBlIEluaXRSZXN1bHQ8VE1vZGVsLCBUTWVzc2FnZT4gPSBbVE1vZGVsLCBDbWQ8VE1lc3NhZ2U+P107XG5cbnR5cGUgSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gPSAocHJvcHM6IFRQcm9wcykgPT4gSW5pdFJlc3VsdDxUTW9kZWwsIFRNZXNzYWdlPjtcblxuLyoqXG4gKiBUeXBlIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBgdXBkYXRlYCBmdW5jdGlvbi5cbiAqL1xudHlwZSBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+ID0gW1BhcnRpYWw8VE1vZGVsPiwgQ21kPFRNZXNzYWdlPj9dO1xuXG50eXBlIFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gPSAobW9kZWw6IFRNb2RlbCwgbXNnOiBUTWVzc2FnZSwgcHJvcHM6IFRQcm9wcykgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcblxuLyoqXG4gKiBUeXBlIGZvciBtYXBwaW5nIG1lc3NhZ2VzIHRvIGZ1bmN0aW9ucy5cbiAqIFVzZSB0aGlzIHR5cGUgdG8gY3JlYXRlIHlvdXIgdXBkYXRlIGxvZ2ljIGZvciB0aGUgdXNlRWxtaXNoIGhvb2suXG4gKi9cbnR5cGUgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiA9IHtcbiAgICBbTSBpbiBUTWVzc2FnZSBhcyBNW1wibmFtZVwiXV06IChtc2c6IE0sIG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG59O1xuXG5leHBvcnQgdHlwZSB7XG4gICAgTnVsbGFibGUsXG4gICAgTWVzc2FnZUJhc2UsXG4gICAgTXNnU291cmNlLFxuICAgIEluaXRSZXN1bHQsXG4gICAgSW5pdEZ1bmN0aW9uLFxuICAgIFVwZGF0ZVJldHVyblR5cGUsXG4gICAgVXBkYXRlRnVuY3Rpb24sXG4gICAgVXBkYXRlTWFwLFxufTsiXSwibWFwcGluZ3MiOiIifQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Cmd, createCmd, Dispatch } from "./Cmd";
|
|
2
|
+
import { ElmComponent } from "./ElmComponent";
|
|
2
3
|
import { errorHandler, ErrorMessage, errorMsg, handleError } from "./ErrorHandling";
|
|
3
4
|
import { init, Logger, Message } from "./Init";
|
|
4
5
|
import { InitResult, MsgSource, UpdateMap, UpdateReturnType } from "./Types";
|
|
5
6
|
import { SubscriptionResult, useElmish } from "./useElmish";
|
|
6
|
-
import { ElmComponent } from "./ElmComponent";
|
|
7
7
|
export type { Logger, Message, Cmd, Dispatch, InitResult, UpdateReturnType, SubscriptionResult, MsgSource, UpdateMap, ErrorMessage, };
|
|
8
8
|
export { init, createCmd, ElmComponent, errorMsg, errorHandler, handleError, useElmish, };
|
package/dist/index.js
CHANGED
|
@@ -48,11 +48,11 @@ Object.defineProperty(exports, "useElmish", {
|
|
|
48
48
|
|
|
49
49
|
var _Cmd = require("./Cmd");
|
|
50
50
|
|
|
51
|
+
var _ElmComponent = require("./ElmComponent");
|
|
52
|
+
|
|
51
53
|
var _ErrorHandling = require("./ErrorHandling");
|
|
52
54
|
|
|
53
55
|
var _Init = require("./Init");
|
|
54
56
|
|
|
55
57
|
var _useElmish = require("./useElmish");
|
|
56
|
-
|
|
57
|
-
var _ElmComponent = require("./ElmComponent");
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENtZCwgY3JlYXRlQ21kLCBEaXNwYXRjaCB9IGZyb20gXCIuL0NtZFwiO1xuaW1wb3J0IHsgZXJyb3JIYW5kbGVyLCBFcnJvck1lc3NhZ2UsIGVycm9yTXNnLCBoYW5kbGVFcnJvciB9IGZyb20gXCIuL0Vycm9ySGFuZGxpbmdcIjtcbmltcG9ydCB7IGluaXQsIExvZ2dlciwgTWVzc2FnZSB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IEluaXRSZXN1bHQsIE1zZ1NvdXJjZSwgVXBkYXRlTWFwLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvblJlc3VsdCwgdXNlRWxtaXNoIH0gZnJvbSBcIi4vdXNlRWxtaXNoXCI7XG5pbXBvcnQgeyBFbG1Db21wb25lbnQgfSBmcm9tIFwiLi9FbG1Db21wb25lbnRcIjtcblxuZXhwb3J0IHR5cGUge1xuICAgIExvZ2dlcixcbiAgICBNZXNzYWdlLFxuICAgIENtZCxcbiAgICBEaXNwYXRjaCxcbiAgICBJbml0UmVzdWx0LFxuICAgIFVwZGF0ZVJldHVyblR5cGUsXG4gICAgU3Vic2NyaXB0aW9uUmVzdWx0LFxuICAgIE1zZ1NvdXJjZSxcbiAgICBVcGRhdGVNYXAsXG4gICAgRXJyb3JNZXNzYWdlLFxufTtcblxuZXhwb3J0IHtcbiAgICBpbml0LFxuICAgIGNyZWF0ZUNtZCxcbiAgICBFbG1Db21wb25lbnQsXG4gICAgZXJyb3JNc2csXG4gICAgZXJyb3JIYW5kbGVyLFxuICAgIGhhbmRsZUVycm9yLFxuICAgIHVzZUVsbWlzaCxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQSJ9
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENtZCwgY3JlYXRlQ21kLCBEaXNwYXRjaCB9IGZyb20gXCIuL0NtZFwiO1xuaW1wb3J0IHsgRWxtQ29tcG9uZW50IH0gZnJvbSBcIi4vRWxtQ29tcG9uZW50XCI7XG5pbXBvcnQgeyBlcnJvckhhbmRsZXIsIEVycm9yTWVzc2FnZSwgZXJyb3JNc2csIGhhbmRsZUVycm9yIH0gZnJvbSBcIi4vRXJyb3JIYW5kbGluZ1wiO1xuaW1wb3J0IHsgaW5pdCwgTG9nZ2VyLCBNZXNzYWdlIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHsgSW5pdFJlc3VsdCwgTXNnU291cmNlLCBVcGRhdGVNYXAsIFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uUmVzdWx0LCB1c2VFbG1pc2ggfSBmcm9tIFwiLi91c2VFbG1pc2hcIjtcblxuZXhwb3J0IHR5cGUge1xuICAgIExvZ2dlcixcbiAgICBNZXNzYWdlLFxuICAgIENtZCxcbiAgICBEaXNwYXRjaCxcbiAgICBJbml0UmVzdWx0LFxuICAgIFVwZGF0ZVJldHVyblR5cGUsXG4gICAgU3Vic2NyaXB0aW9uUmVzdWx0LFxuICAgIE1zZ1NvdXJjZSxcbiAgICBVcGRhdGVNYXAsXG4gICAgRXJyb3JNZXNzYWdlLFxufTtcblxuZXhwb3J0IHtcbiAgICBpbml0LFxuICAgIGNyZWF0ZUNtZCxcbiAgICBFbG1Db21wb25lbnQsXG4gICAgZXJyb3JNc2csXG4gICAgZXJyb3JIYW5kbGVyLFxuICAgIGhhbmRsZUVycm9yLFxuICAgIHVzZUVsbWlzaCxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSJ9
|
package/dist/useElmish.d.ts
CHANGED
|
@@ -1,12 +1,43 @@
|
|
|
1
1
|
import { Cmd, Dispatch } from "./Cmd";
|
|
2
2
|
import { InitFunction, MessageBase, UpdateFunction, UpdateMap, UpdateReturnType } from "./Types";
|
|
3
|
+
/**
|
|
4
|
+
* The return type of the `subscription` function.
|
|
5
|
+
* @template TMessage The type of the messages discriminated union.
|
|
6
|
+
*/
|
|
3
7
|
declare type SubscriptionResult<TMessage> = [Cmd<TMessage>, (() => void)?];
|
|
4
8
|
declare type Subscription<TProps, TModel, TMessage> = (model: TModel, props: TProps) => SubscriptionResult<TMessage>;
|
|
9
|
+
/**
|
|
10
|
+
* Options for the `useElmish` hook.
|
|
11
|
+
* @interface UseElmishOptions
|
|
12
|
+
* @template TProps The type of the props.
|
|
13
|
+
* @template TModel The type of the model.
|
|
14
|
+
* @template TMessage The type of the messages discriminated union.
|
|
15
|
+
*/
|
|
5
16
|
interface UseElmishOptions<TProps, TModel, TMessage extends MessageBase> {
|
|
17
|
+
/**
|
|
18
|
+
* The name of the component. This is used for logging only.
|
|
19
|
+
* @type {string}
|
|
20
|
+
*/
|
|
6
21
|
name: string;
|
|
22
|
+
/**
|
|
23
|
+
* The props passed to the component.
|
|
24
|
+
* @type {TProps}
|
|
25
|
+
*/
|
|
7
26
|
props: TProps;
|
|
27
|
+
/**
|
|
28
|
+
* The function to initialize the components model. This function is only called once.
|
|
29
|
+
* @type {InitFunction<TProps, TModel, TMessage>}
|
|
30
|
+
*/
|
|
8
31
|
init: InitFunction<TProps, TModel, TMessage>;
|
|
32
|
+
/**
|
|
33
|
+
* The `update` function or update map object.
|
|
34
|
+
* @type {(UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>)}
|
|
35
|
+
*/
|
|
9
36
|
update: UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>;
|
|
37
|
+
/**
|
|
38
|
+
* The optional `subscription` function. This function is only called once.
|
|
39
|
+
* @type {(UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>)}
|
|
40
|
+
*/
|
|
10
41
|
subscription?: Subscription<TProps, TModel, TMessage>;
|
|
11
42
|
}
|
|
12
43
|
/**
|
package/dist/useElmish.js
CHANGED
|
@@ -7,12 +7,12 @@ exports.callUpdate = callUpdate;
|
|
|
7
7
|
exports.callUpdateMap = callUpdateMap;
|
|
8
8
|
exports.useElmish = useElmish;
|
|
9
9
|
|
|
10
|
-
var _fakeInitResult = require("./Testing/fakeInitResult");
|
|
11
|
-
|
|
12
10
|
var _react = require("react");
|
|
13
11
|
|
|
14
12
|
var _Init = require("./Init");
|
|
15
13
|
|
|
14
|
+
var _fakeOptions = require("./Testing/fakeOptions");
|
|
15
|
+
|
|
16
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
17
|
|
|
18
18
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -39,6 +39,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
39
39
|
* const [model, dispatch] = useElmish({ props, init, update, name: "MyComponent" });
|
|
40
40
|
*/
|
|
41
41
|
function useElmish(_ref) {
|
|
42
|
+
var _fakeOptions$dispatch;
|
|
43
|
+
|
|
42
44
|
var name = _ref.name,
|
|
43
45
|
props = _ref.props,
|
|
44
46
|
init = _ref.init,
|
|
@@ -71,8 +73,8 @@ function useElmish(_ref) {
|
|
|
71
73
|
}
|
|
72
74
|
});
|
|
73
75
|
}, []);
|
|
74
|
-
var
|
|
75
|
-
var dispatch = (0, _react.useCallback)(
|
|
76
|
+
var fakeOptions = (0, _fakeOptions.getFakeOptionsOnce)();
|
|
77
|
+
var dispatch = (0, _react.useCallback)((_fakeOptions$dispatch = fakeOptions === null || fakeOptions === void 0 ? void 0 : fakeOptions.dispatch) !== null && _fakeOptions$dispatch !== void 0 ? _fakeOptions$dispatch : function (msg) {
|
|
76
78
|
if (!initializedModel) {
|
|
77
79
|
return;
|
|
78
80
|
}
|
|
@@ -137,9 +139,7 @@ function useElmish(_ref) {
|
|
|
137
139
|
}, []);
|
|
138
140
|
|
|
139
141
|
if (!initializedModel) {
|
|
140
|
-
var
|
|
141
|
-
|
|
142
|
-
var _ref2 = (_getFakeInitResultOnc = (0, _fakeInitResult.getFakeInitResultOnce)()) !== null && _getFakeInitResultOnc !== void 0 ? _getFakeInitResultOnc : init(props),
|
|
142
|
+
var _ref2 = fakeOptions !== null && fakeOptions !== void 0 && fakeOptions.model ? [fakeOptions.model] : init(props),
|
|
143
143
|
_ref3 = _slicedToArray(_ref2, 2),
|
|
144
144
|
initModel = _ref3[0],
|
|
145
145
|
initCmd = _ref3[1];
|
|
@@ -183,4 +183,4 @@ function callUpdateMap(updateMap, msg, model, props) {
|
|
|
183
183
|
var updateFn = updateMap[msg.name];
|
|
184
184
|
return updateFn(msg, model, props);
|
|
185
185
|
}
|
|
186
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFbG1pc2giLCJuYW1lIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwic3Vic2NyaXB0aW9uIiwicmVlbnRlcmVkIiwiYnVmZmVyIiwiY3VycmVudE1vZGVsIiwidXNlU3RhdGUiLCJtb2RlbCIsInNldE1vZGVsIiwiaW5pdGlhbGl6ZWRNb2RlbCIsInByb3BzUmVmIiwidXNlUmVmIiwiY3VycmVudCIsImV4ZWNDbWQiLCJ1c2VDYWxsYmFjayIsImNtZCIsImZvckVhY2giLCJjYWxsIiwiZGlzcGF0Y2giLCJleCIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZXJyb3IiLCJmYWtlRGlzcGF0Y2giLCJnZXRGYWtlRGlzcGF0Y2hPbmNlIiwibXNnIiwibW9kZWxIYXNDaGFuZ2VkIiwidXBkYXRlZE1vZGVsIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImxlbmd0aCIsInB1c2giLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJpbmZvIiwiZGVidWciLCJkaXNwYXRjaE1pZGRsZXdhcmUiLCJjYWxsVXBkYXRlIiwibmV3TW9kZWwiLCJzaGlmdCIsInByZXZNb2RlbCIsImdldEZha2VJbml0UmVzdWx0T25jZSIsImluaXRNb2RlbCIsImluaXRDbWQiLCJ1c2VFZmZlY3QiLCJzdWJDbWQiLCJkZXN0cnVjdG9yIiwiY2FsbFVwZGF0ZU1hcCIsInVwZGF0ZU1hcCIsInVwZGF0ZUZuIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZUVsbWlzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMgKi9cbmltcG9ydCB7IENtZCwgRGlzcGF0Y2ggfSBmcm9tIFwiLi9DbWRcIjtcbmltcG9ydCB7IGdldEZha2VEaXNwYXRjaE9uY2UsIGdldEZha2VJbml0UmVzdWx0T25jZSB9IGZyb20gXCIuL1Rlc3RpbmcvZmFrZUluaXRSZXN1bHRcIjtcbmltcG9ydCB7IEluaXRGdW5jdGlvbiwgTWVzc2FnZUJhc2UsIE51bGxhYmxlLCBVcGRhdGVGdW5jdGlvbiwgVXBkYXRlTWFwLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuXG50eXBlIFN1YnNjcmlwdGlvblJlc3VsdDxUTWVzc2FnZT4gPSBbQ21kPFRNZXNzYWdlPiwgKCgpID0+IHZvaWQpP107XG50eXBlIFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpID0+IFN1YnNjcmlwdGlvblJlc3VsdDxUTWVzc2FnZT47XG5cbmludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiB7XG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHByb3BzOiBUUHJvcHMsXG4gICAgaW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4gICAgdXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4gICAgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG59XG5cbi8qKlxuICogSG9vayB0byB1c2UgdGhlIEVsbSBhcmNoaXRlY3R1cmUgcGF0dGVybiBpbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7VXNlRWxtaXNoT3B0aW9uc30gb3B0aW9ucyBUaGUgb3B0aW9ucyBwYXNzZWQgdGhlIHRoZSBob29rLlxuICogQHJldHVybnMgQSB0dXBsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IG1vZGVsIGFuZCB0aGUgZGlzcGF0Y2hlci5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbbW9kZWwsIGRpc3BhdGNoXSA9IHVzZUVsbWlzaCh7IHByb3BzLCBpbml0LCB1cGRhdGUsIG5hbWU6IFwiTXlDb21wb25lbnRcIiB9KTtcbiAqL1xuZnVuY3Rpb24gdXNlRWxtaXNoPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiAoeyBuYW1lLCBwcm9wcywgaW5pdCwgdXBkYXRlLCBzdWJzY3JpcHRpb24gfTogVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogW1RNb2RlbCwgRGlzcGF0Y2g8VE1lc3NhZ2U+XSB7XG4gICAgbGV0IHJlZW50ZXJlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGJ1ZmZlcjogVE1lc3NhZ2UgW10gPSBbXTtcbiAgICBsZXQgY3VycmVudE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuICAgIGNvbnN0IFttb2RlbCwgc2V0TW9kZWxdID0gdXNlU3RhdGU8TnVsbGFibGU8VE1vZGVsPj4obnVsbCk7XG4gICAgbGV0IGluaXRpYWxpemVkTW9kZWwgPSBtb2RlbDtcblxuICAgIGNvbnN0IHByb3BzUmVmID0gdXNlUmVmKHByb3BzKTtcblxuICAgIGlmIChwcm9wc1JlZi5jdXJyZW50ICE9PSBwcm9wcykge1xuICAgICAgICBwcm9wc1JlZi5jdXJyZW50ID0gcHJvcHM7XG4gICAgfVxuXG4gICAgY29uc3QgZXhlY0NtZCA9IHVzZUNhbGxiYWNrKChjbWQ6IENtZDxUTWVzc2FnZT4pOiB2b2lkID0+IHtcbiAgICAgICAgY21kLmZvckVhY2goY2FsbCA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNhbGwoZGlzcGF0Y2gpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICBTZXJ2aWNlcy5sb2dnZXI/LmVycm9yKGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgZmFrZURpc3BhdGNoID0gZ2V0RmFrZURpc3BhdGNoT25jZSgpO1xuICAgIGNvbnN0IGRpc3BhdGNoID0gdXNlQ2FsbGJhY2soZmFrZURpc3BhdGNoID8/ICgobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vZGVsSGFzQ2hhbmdlZCA9ICh1cGRhdGVkTW9kZWw6IFBhcnRpYWw8VE1vZGVsPik6IGJvb2xlYW4gPT4gdXBkYXRlZE1vZGVsICE9PSBpbml0aWFsaXplZE1vZGVsICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHVwZGF0ZWRNb2RlbCkubGVuZ3RoID4gMDtcblxuICAgICAgICBpZiAocmVlbnRlcmVkKSB7XG4gICAgICAgICAgICBidWZmZXIucHVzaChtc2cpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVlbnRlcmVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgbGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuICAgICAgICAgICAgbGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHdoaWxlIChuZXh0TXNnKSB7XG4gICAgICAgICAgICAgICAgU2VydmljZXMubG9nZ2VyPy5pbmZvKFwiRWxtXCIsIFwibWVzc2FnZSBmcm9tXCIsIG5hbWUsIG5leHRNc2cubmFtZSk7XG4gICAgICAgICAgICAgICAgU2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkVsbVwiLCBcIm1lc3NhZ2UgZnJvbVwiLCBuYW1lLCBuZXh0TXNnKTtcblxuICAgICAgICAgICAgICAgIGlmIChTZXJ2aWNlcy5kaXNwYXRjaE1pZGRsZXdhcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlKG5leHRNc2cpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtuZXdNb2RlbCwgY21kXSA9IGNhbGxVcGRhdGUodXBkYXRlLCBuZXh0TXNnLCB7IC4uLmluaXRpYWxpemVkTW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9LCBwcm9wc1JlZi5jdXJyZW50KTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAobW9kZWxIYXNDaGFuZ2VkKG5ld01vZGVsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudE1vZGVsID0geyAuLi5jdXJyZW50TW9kZWwsIC4uLm5ld01vZGVsIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWNDbWQoY21kKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG4gICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZXJyb3IoZXgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG5leHRNc2cgPSBidWZmZXIuc2hpZnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlZW50ZXJlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAobW9kaWZpZWQpIHtcbiAgICAgICAgICAgICAgICBzZXRNb2RlbChwcmV2TW9kZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLnByZXZNb2RlbCBhcyBUTW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9O1xuXG4gICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJFbG1cIiwgXCJ1cGRhdGUgbW9kZWwgZm9yXCIsIG5hbWUsIHVwZGF0ZWRNb2RlbCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRNb2RlbDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pLCBbXSk7XG5cbiAgICBpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcbiAgICAgICAgY29uc3QgW2luaXRNb2RlbCwgaW5pdENtZF0gPSBnZXRGYWtlSW5pdFJlc3VsdE9uY2U8VE1vZGVsLCBUTWVzc2FnZT4oKSA/PyBpbml0KHByb3BzKTtcblxuICAgICAgICBpbml0aWFsaXplZE1vZGVsID0gaW5pdE1vZGVsO1xuICAgICAgICBzZXRNb2RlbChpbml0aWFsaXplZE1vZGVsKTtcblxuICAgICAgICBpZiAoaW5pdENtZCkge1xuICAgICAgICAgICAgZXhlY0NtZChpbml0Q21kKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IFtzdWJDbWQsIGRlc3RydWN0b3JdID0gc3Vic2NyaXB0aW9uKGluaXRpYWxpemVkTW9kZWwgYXMgVE1vZGVsLCBwcm9wcyk7XG5cbiAgICAgICAgICAgIGV4ZWNDbWQoc3ViQ21kKTtcblxuICAgICAgICAgICAgaWYgKGRlc3RydWN0b3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVzdHJ1Y3RvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBbaW5pdGlhbGl6ZWRNb2RlbCwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiAodXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sIG1zZzogVE1lc3NhZ2UsIG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpOiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+IHtcbiAgICBpZiAodHlwZW9mIHVwZGF0ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGUobW9kZWwsIG1zZywgcHJvcHMpO1xuICAgIH1cblxuICAgIHJldHVybiBjYWxsVXBkYXRlTWFwKHVwZGF0ZSwgbXNnLCBtb2RlbCwgcHJvcHMpO1xufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiAodXBkYXRlTWFwOiBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgbXNnOiBUTWVzc2FnZSwgbW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcyk6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0tIFdlIGtub3cgdGhhdCBtc2cgZml0c1xuICAgIGNvbnN0IHVwZGF0ZUZuID0gdXBkYXRlTWFwW21zZy5uYW1lIGFzIFRNZXNzYWdlW1wibmFtZVwiXV0gYXMgKG1zZzogVE1lc3NhZ2UsIG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTXNnPjtcblxuICAgIHJldHVybiB1cGRhdGVGbihtc2csIG1vZGVsLCBwcm9wcyk7XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgICBTdWJzY3JpcHRpb25SZXN1bHQsXG59O1xuXG5leHBvcnQge1xuICAgIHVzZUVsbWlzaCxcbiAgICBjYWxsVXBkYXRlLFxuICAgIGNhbGxVcGRhdGVNYXAsXG59OyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUE7O0FBRUE7O0FBQ0E7Ozs7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
|
|
186
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFbG1pc2giLCJuYW1lIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwic3Vic2NyaXB0aW9uIiwicmVlbnRlcmVkIiwiYnVmZmVyIiwiY3VycmVudE1vZGVsIiwidXNlU3RhdGUiLCJtb2RlbCIsInNldE1vZGVsIiwiaW5pdGlhbGl6ZWRNb2RlbCIsInByb3BzUmVmIiwidXNlUmVmIiwiY3VycmVudCIsImV4ZWNDbWQiLCJ1c2VDYWxsYmFjayIsImNtZCIsImZvckVhY2giLCJjYWxsIiwiZGlzcGF0Y2giLCJleCIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZXJyb3IiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsIm1zZyIsIm1vZGVsSGFzQ2hhbmdlZCIsInVwZGF0ZWRNb2RlbCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJsZW5ndGgiLCJwdXNoIiwibmV4dE1zZyIsIm1vZGlmaWVkIiwiaW5mbyIsImRlYnVnIiwiZGlzcGF0Y2hNaWRkbGV3YXJlIiwiY2FsbFVwZGF0ZSIsIm5ld01vZGVsIiwic2hpZnQiLCJwcmV2TW9kZWwiLCJpbml0TW9kZWwiLCJpbml0Q21kIiwidXNlRWZmZWN0Iiwic3ViQ21kIiwiZGVzdHJ1Y3RvciIsImNhbGxVcGRhdGVNYXAiLCJ1cGRhdGVNYXAiLCJ1cGRhdGVGbiJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VFbG1pc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDbWQsIERpc3BhdGNoIH0gZnJvbSBcIi4vQ21kXCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IGdldEZha2VPcHRpb25zT25jZSB9IGZyb20gXCIuL1Rlc3RpbmcvZmFrZU9wdGlvbnNcIjtcbmltcG9ydCB7IEluaXRGdW5jdGlvbiwgTWVzc2FnZUJhc2UsIE51bGxhYmxlLCBVcGRhdGVGdW5jdGlvbiwgVXBkYXRlTWFwLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuLyoqXG4gKiBUaGUgcmV0dXJuIHR5cGUgb2YgdGhlIGBzdWJzY3JpcHRpb25gIGZ1bmN0aW9uLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG50eXBlIFN1YnNjcmlwdGlvblJlc3VsdDxUTWVzc2FnZT4gPSBbQ21kPFRNZXNzYWdlPiwgKCgpID0+IHZvaWQpP107XG50eXBlIFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpID0+IFN1YnNjcmlwdGlvblJlc3VsdDxUTWVzc2FnZT47XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGB1c2VFbG1pc2hgIGhvb2suXG4gKiBAaW50ZXJmYWNlIFVzZUVsbWlzaE9wdGlvbnNcbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgVGhlIHR5cGUgb2YgdGhlIHByb3BzLlxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzIGRpc2NyaW1pbmF0ZWQgdW5pb24uXG4gKi9cbmludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC4gVGhpcyBpcyB1c2VkIGZvciBsb2dnaW5nIG9ubHkuXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIHByb3BzIHBhc3NlZCB0byB0aGUgY29tcG9uZW50LlxuICAgICAqIEB0eXBlIHtUUHJvcHN9XG4gICAgICovXG4gICAgcHJvcHM6IFRQcm9wcyxcbiAgICAvKipcbiAgICAgKiBUaGUgZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50cyBtb2RlbC4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBvbmNlLlxuICAgICAqIEB0eXBlIHtJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn1cbiAgICAgKi9cbiAgICBpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbiAgICAvKipcbiAgICAgKiBUaGUgYHVwZGF0ZWAgZnVuY3Rpb24gb3IgdXBkYXRlIG1hcCBvYmplY3QuXG4gICAgICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuICAgICAqL1xuICAgIHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuICAgIC8qKlxuICAgICAqIFRoZSBvcHRpb25hbCBgc3Vic2NyaXB0aW9uYCBmdW5jdGlvbi4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBvbmNlLlxuICAgICAqIEB0eXBlIHsoVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KX1cbiAgICAgKi9cbiAgICBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbn1cblxuLyoqXG4gKiBIb29rIHRvIHVzZSB0aGUgRWxtIGFyY2hpdGVjdHVyZSBwYXR0ZXJuIGluIGEgZnVuY3Rpb24gY29tcG9uZW50LlxuICogQHBhcmFtIHtVc2VFbG1pc2hPcHRpb25zfSBvcHRpb25zIFRoZSBvcHRpb25zIHBhc3NlZCB0aGUgdGhlIGhvb2suXG4gKiBAcmV0dXJucyBBIHR1cGxlIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgbW9kZWwgYW5kIHRoZSBkaXNwYXRjaGVyLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IFttb2RlbCwgZGlzcGF0Y2hdID0gdXNlRWxtaXNoKHsgcHJvcHMsIGluaXQsIHVwZGF0ZSwgbmFtZTogXCJNeUNvbXBvbmVudFwiIH0pO1xuICovXG5mdW5jdGlvbiB1c2VFbG1pc2g8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2U+ICh7IG5hbWUsIHByb3BzLCBpbml0LCB1cGRhdGUsIHN1YnNjcmlwdGlvbiB9OiBVc2VFbG1pc2hPcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pOiBbVE1vZGVsLCBEaXNwYXRjaDxUTWVzc2FnZT5dIHtcbiAgICBsZXQgcmVlbnRlcmVkID0gZmFsc2U7XG4gICAgY29uc3QgYnVmZmVyOiBUTWVzc2FnZSBbXSA9IFtdO1xuICAgIGxldCBjdXJyZW50TW9kZWw6IFBhcnRpYWw8VE1vZGVsPiA9IHt9O1xuXG4gICAgY29uc3QgW21vZGVsLCBzZXRNb2RlbF0gPSB1c2VTdGF0ZTxOdWxsYWJsZTxUTW9kZWw+PihudWxsKTtcbiAgICBsZXQgaW5pdGlhbGl6ZWRNb2RlbCA9IG1vZGVsO1xuXG4gICAgY29uc3QgcHJvcHNSZWYgPSB1c2VSZWYocHJvcHMpO1xuXG4gICAgaWYgKHByb3BzUmVmLmN1cnJlbnQgIT09IHByb3BzKSB7XG4gICAgICAgIHByb3BzUmVmLmN1cnJlbnQgPSBwcm9wcztcbiAgICB9XG5cbiAgICBjb25zdCBleGVjQ21kID0gdXNlQ2FsbGJhY2soKGNtZDogQ21kPFRNZXNzYWdlPik6IHZvaWQgPT4ge1xuICAgICAgICBjbWQuZm9yRWFjaChjYWxsID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY2FsbChkaXNwYXRjaCk7XG4gICAgICAgICAgICB9IGNhdGNoIChleDogdW5rbm93bikge1xuICAgICAgICAgICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZXJyb3IoZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZSgpO1xuICAgIGNvbnN0IGRpc3BhdGNoID0gdXNlQ2FsbGJhY2soZmFrZU9wdGlvbnM/LmRpc3BhdGNoID8/ICgobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vZGVsSGFzQ2hhbmdlZCA9ICh1cGRhdGVkTW9kZWw6IFBhcnRpYWw8VE1vZGVsPik6IGJvb2xlYW4gPT4gdXBkYXRlZE1vZGVsICE9PSBpbml0aWFsaXplZE1vZGVsICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHVwZGF0ZWRNb2RlbCkubGVuZ3RoID4gMDtcblxuICAgICAgICBpZiAocmVlbnRlcmVkKSB7XG4gICAgICAgICAgICBidWZmZXIucHVzaChtc2cpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVlbnRlcmVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgbGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuICAgICAgICAgICAgbGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHdoaWxlIChuZXh0TXNnKSB7XG4gICAgICAgICAgICAgICAgU2VydmljZXMubG9nZ2VyPy5pbmZvKFwiRWxtXCIsIFwibWVzc2FnZSBmcm9tXCIsIG5hbWUsIG5leHRNc2cubmFtZSk7XG4gICAgICAgICAgICAgICAgU2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkVsbVwiLCBcIm1lc3NhZ2UgZnJvbVwiLCBuYW1lLCBuZXh0TXNnKTtcblxuICAgICAgICAgICAgICAgIGlmIChTZXJ2aWNlcy5kaXNwYXRjaE1pZGRsZXdhcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlKG5leHRNc2cpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtuZXdNb2RlbCwgY21kXSA9IGNhbGxVcGRhdGUodXBkYXRlLCBuZXh0TXNnLCB7IC4uLmluaXRpYWxpemVkTW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9LCBwcm9wc1JlZi5jdXJyZW50KTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAobW9kZWxIYXNDaGFuZ2VkKG5ld01vZGVsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudE1vZGVsID0geyAuLi5jdXJyZW50TW9kZWwsIC4uLm5ld01vZGVsIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWNDbWQoY21kKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG4gICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZXJyb3IoZXgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG5leHRNc2cgPSBidWZmZXIuc2hpZnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlZW50ZXJlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAobW9kaWZpZWQpIHtcbiAgICAgICAgICAgICAgICBzZXRNb2RlbChwcmV2TW9kZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLnByZXZNb2RlbCBhcyBUTW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9O1xuXG4gICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJFbG1cIiwgXCJ1cGRhdGUgbW9kZWwgZm9yXCIsIG5hbWUsIHVwZGF0ZWRNb2RlbCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRNb2RlbDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pLCBbXSk7XG5cbiAgICBpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcbiAgICAgICAgY29uc3QgW2luaXRNb2RlbCwgaW5pdENtZF0gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQocHJvcHMpO1xuXG4gICAgICAgIGluaXRpYWxpemVkTW9kZWwgPSBpbml0TW9kZWw7XG4gICAgICAgIHNldE1vZGVsKGluaXRpYWxpemVkTW9kZWwpO1xuXG4gICAgICAgIGlmIChpbml0Q21kKSB7XG4gICAgICAgICAgICBleGVjQ21kKGluaXRDbWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgY29uc3QgW3N1YkNtZCwgZGVzdHJ1Y3Rvcl0gPSBzdWJzY3JpcHRpb24oaW5pdGlhbGl6ZWRNb2RlbCBhcyBUTW9kZWwsIHByb3BzKTtcblxuICAgICAgICAgICAgZXhlY0NtZChzdWJDbWQpO1xuXG4gICAgICAgICAgICBpZiAoZGVzdHJ1Y3Rvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBkZXN0cnVjdG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIFtpbml0aWFsaXplZE1vZGVsLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGU8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2U+ICh1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgbXNnOiBUTWVzc2FnZSwgbW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcyk6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuICAgIGlmICh0eXBlb2YgdXBkYXRlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZShtb2RlbCwgbXNnLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhbGxVcGRhdGVNYXAodXBkYXRlLCBtc2csIG1vZGVsLCBwcm9wcyk7XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2U+ICh1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LCBtc2c6IFRNZXNzYWdlLCBtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gV2Uga25vdyB0aGF0IG1zZyBmaXRzXG4gICAgY29uc3QgdXBkYXRlRm4gPSB1cGRhdGVNYXBbbXNnLm5hbWUgYXMgVE1lc3NhZ2VbXCJuYW1lXCJdXSBhcyAobXNnOiBUTWVzc2FnZSwgbW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcykgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNc2c+O1xuXG4gICAgcmV0dXJuIHVwZGF0ZUZuKG1zZywgbW9kZWwsIHByb3BzKTtcbn1cblxuZXhwb3J0IHR5cGUge1xuICAgIFN1YnNjcmlwdGlvblJlc3VsdCxcbn07XG5cbmV4cG9ydCB7XG4gICAgdXNlRWxtaXNoLFxuICAgIGNhbGxVcGRhdGUsXG4gICAgY2FsbFVwZGF0ZU1hcCxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxTQUFULE9BQXlMO0VBQUE7O0VBQUEsSUFBckhDLElBQXFILFFBQXJIQSxJQUFxSDtFQUFBLElBQS9HQyxLQUErRyxRQUEvR0EsS0FBK0c7RUFBQSxJQUF4R0MsSUFBd0csUUFBeEdBLElBQXdHO0VBQUEsSUFBbEdDLE1BQWtHLFFBQWxHQSxNQUFrRztFQUFBLElBQTFGQyxZQUEwRixRQUExRkEsWUFBMEY7RUFDckwsSUFBSUMsU0FBUyxHQUFHLEtBQWhCO0VBQ0EsSUFBTUMsTUFBbUIsR0FBRyxFQUE1QjtFQUNBLElBQUlDLFlBQTZCLEdBQUcsRUFBcEM7O0VBRUEsZ0JBQTBCLElBQUFDLGVBQUEsRUFBMkIsSUFBM0IsQ0FBMUI7RUFBQTtFQUFBLElBQU9DLEtBQVA7RUFBQSxJQUFjQyxRQUFkOztFQUNBLElBQUlDLGdCQUFnQixHQUFHRixLQUF2QjtFQUVBLElBQU1HLFFBQVEsR0FBRyxJQUFBQyxhQUFBLEVBQU9aLEtBQVAsQ0FBakI7O0VBRUEsSUFBSVcsUUFBUSxDQUFDRSxPQUFULEtBQXFCYixLQUF6QixFQUFnQztJQUM1QlcsUUFBUSxDQUFDRSxPQUFULEdBQW1CYixLQUFuQjtFQUNIOztFQUVELElBQU1jLE9BQU8sR0FBRyxJQUFBQyxrQkFBQSxFQUFZLFVBQUNDLEdBQUQsRUFBOEI7SUFDdERBLEdBQUcsQ0FBQ0MsT0FBSixDQUFZLFVBQUFDLElBQUksRUFBSTtNQUNoQixJQUFJO1FBQ0FBLElBQUksQ0FBQ0MsUUFBRCxDQUFKO01BQ0gsQ0FGRCxDQUVFLE9BQU9DLEVBQVAsRUFBb0I7UUFBQTs7UUFDbEIsb0JB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-elmish",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.1",
|
|
4
4
|
"description": "Elmish for React using Typescript",
|
|
5
5
|
"author": "atheck",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"build:js": "babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline",
|
|
11
11
|
"test": "jest --coverage",
|
|
12
12
|
"test:watch": "jest --watch --coverage",
|
|
13
|
-
"lint": "npx eslint
|
|
13
|
+
"lint": "npx eslint \"{src,tests}/**/*.ts[x]\"",
|
|
14
14
|
"update": "npx npm-check-updates -i",
|
|
15
15
|
"semantic-release": "semantic-release"
|
|
16
16
|
},
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"@babel/preset-react": "7.18.6",
|
|
26
26
|
"@babel/preset-typescript": "7.18.6",
|
|
27
27
|
"@testing-library/react": "13.3.0",
|
|
28
|
-
"@types/jest": "28.1.
|
|
29
|
-
"@types/react": "18.0.
|
|
30
|
-
"eslint": "8.
|
|
31
|
-
"eslint-config-heck": "1.
|
|
28
|
+
"@types/jest": "28.1.7",
|
|
29
|
+
"@types/react": "18.0.17",
|
|
30
|
+
"eslint": "8.22.0",
|
|
31
|
+
"eslint-config-heck": "1.22.1",
|
|
32
32
|
"jest": "28.1.3",
|
|
33
33
|
"jest-environment-jsdom": "28.1.3",
|
|
34
34
|
"semantic-release": "19.0.3",
|
|
35
|
-
"ts-jest": "28.0.
|
|
35
|
+
"ts-jest": "28.0.8",
|
|
36
36
|
"typescript": "4.7.4"
|
|
37
37
|
},
|
|
38
38
|
"homepage": "https://github.com/atheck/react-elmish",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { InitResult, MessageBase, Nullable } from "../Types";
|
|
2
|
-
import { Dispatch } from "../Cmd";
|
|
3
|
-
declare type FakeInitResult = Nullable<[unknown, unknown?]>;
|
|
4
|
-
declare function setFakes(fakeInitResult: FakeInitResult, fakeDispatch?: Nullable<Dispatch<MessageBase>>): void;
|
|
5
|
-
declare function getFakeInitResultOnce<TModel, TMessage extends MessageBase>(): Nullable<InitResult<TModel, TMessage>>;
|
|
6
|
-
declare function getFakeDispatchOnce<TMessage extends MessageBase>(): Nullable<Dispatch<TMessage>>;
|
|
7
|
-
export { setFakes, getFakeInitResultOnce, getFakeDispatchOnce, };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getFakeDispatchOnce = getFakeDispatchOnce;
|
|
7
|
-
exports.getFakeInitResultOnce = getFakeInitResultOnce;
|
|
8
|
-
exports.setFakes = setFakes;
|
|
9
|
-
var currentFakeInitResult;
|
|
10
|
-
var currentFakeDispatch;
|
|
11
|
-
|
|
12
|
-
function setFakes(fakeInitResult, fakeDispatch) {
|
|
13
|
-
currentFakeInitResult = fakeInitResult;
|
|
14
|
-
currentFakeDispatch = fakeDispatch !== null && fakeDispatch !== void 0 ? fakeDispatch : null;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
function getFakeInitResultOnce() {
|
|
18
|
-
var temp = currentFakeInitResult;
|
|
19
|
-
currentFakeInitResult = null;
|
|
20
|
-
return temp;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function getFakeDispatchOnce() {
|
|
24
|
-
var temp = currentFakeDispatch;
|
|
25
|
-
currentFakeDispatch = null;
|
|
26
|
-
return temp;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjdXJyZW50RmFrZUluaXRSZXN1bHQiLCJjdXJyZW50RmFrZURpc3BhdGNoIiwic2V0RmFrZXMiLCJmYWtlSW5pdFJlc3VsdCIsImZha2VEaXNwYXRjaCIsImdldEZha2VJbml0UmVzdWx0T25jZSIsInRlbXAiLCJnZXRGYWtlRGlzcGF0Y2hPbmNlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Rlc3RpbmcvZmFrZUluaXRSZXN1bHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5pdFJlc3VsdCwgTWVzc2FnZUJhc2UsIE51bGxhYmxlIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBEaXNwYXRjaCB9IGZyb20gXCIuLi9DbWRcIjtcblxudHlwZSBGYWtlSW5pdFJlc3VsdCA9IE51bGxhYmxlPFt1bmtub3duLCB1bmtub3duP10+O1xuXG5sZXQgY3VycmVudEZha2VJbml0UmVzdWx0OiBGYWtlSW5pdFJlc3VsdDtcbmxldCBjdXJyZW50RmFrZURpc3BhdGNoOiBOdWxsYWJsZTxEaXNwYXRjaDxNZXNzYWdlQmFzZT4+O1xuXG5mdW5jdGlvbiBzZXRGYWtlcyAoZmFrZUluaXRSZXN1bHQ6IEZha2VJbml0UmVzdWx0LCBmYWtlRGlzcGF0Y2g/OiBOdWxsYWJsZTxEaXNwYXRjaDxNZXNzYWdlQmFzZT4+KTogdm9pZCB7XG4gICAgY3VycmVudEZha2VJbml0UmVzdWx0ID0gZmFrZUluaXRSZXN1bHQ7XG4gICAgY3VycmVudEZha2VEaXNwYXRjaCA9IGZha2VEaXNwYXRjaCA/PyBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRGYWtlSW5pdFJlc3VsdE9uY2U8VE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiAoKTogTnVsbGFibGU8SW5pdFJlc3VsdDxUTW9kZWwsIFRNZXNzYWdlPj4ge1xuICAgIGNvbnN0IHRlbXAgPSBjdXJyZW50RmFrZUluaXRSZXN1bHQgYXMgTnVsbGFibGU8SW5pdFJlc3VsdDxUTW9kZWwsIFRNZXNzYWdlPj47XG5cbiAgICBjdXJyZW50RmFrZUluaXRSZXN1bHQgPSBudWxsO1xuXG4gICAgcmV0dXJuIHRlbXA7XG59XG5cbmZ1bmN0aW9uIGdldEZha2VEaXNwYXRjaE9uY2U8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlQmFzZT4gKCk6IE51bGxhYmxlPERpc3BhdGNoPFRNZXNzYWdlPj4ge1xuICAgIGNvbnN0IHRlbXAgPSBjdXJyZW50RmFrZURpc3BhdGNoO1xuXG4gICAgY3VycmVudEZha2VEaXNwYXRjaCA9IG51bGw7XG5cbiAgICByZXR1cm4gdGVtcDtcbn1cblxuZXhwb3J0IHtcbiAgICBzZXRGYWtlcyxcbiAgICBnZXRGYWtlSW5pdFJlc3VsdE9uY2UsXG4gICAgZ2V0RmFrZURpc3BhdGNoT25jZSxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUtBLElBQUlBLHFCQUFKO0FBQ0EsSUFBSUMsbUJBQUo7O0FBRUEsU0FBU0MsUUFBVCxDQUFtQkMsY0FBbkIsRUFBbURDLFlBQW5ELEVBQXlHO0VBQ3JHSixxQkFBcUIsR0FBR0csY0FBeEI7RUFDQUYsbUJBQW1CLEdBQUdHLFlBQUgsYUFBR0EsWUFBSCxjQUFHQSxZQUFILEdBQW1CLElBQXRDO0FBQ0g7O0FBRUQsU0FBU0MscUJBQVQsR0FBZ0g7RUFDNUcsSUFBTUMsSUFBSSxHQUFHTixxQkFBYjtFQUVBQSxxQkFBcUIsR0FBRyxJQUF4QjtFQUVBLE9BQU9NLElBQVA7QUFDSDs7QUFFRCxTQUFTQyxtQkFBVCxHQUE0RjtFQUN4RixJQUFNRCxJQUFJLEdBQUdMLG1CQUFiO0VBRUFBLG1CQUFtQixHQUFHLElBQXRCO0VBRUEsT0FBT0ssSUFBUDtBQUNIIn0=
|