react-elmish 9.2.1 → 9.3.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/dist/Types.d.ts +9 -6
- package/dist/Types.js +1 -1
- package/dist/createCallBase.d.ts +2 -2
- package/dist/createCallBase.js +7 -4
- package/package.json +1 -1
package/dist/Types.d.ts
CHANGED
|
@@ -28,12 +28,13 @@ type InitFunction<TProps, TModel, TMessage> = (props: TProps) => InitResult<TMod
|
|
|
28
28
|
*/
|
|
29
29
|
type UpdateReturnType<TModel, TMessage> = [Partial<TModel>, ...(Cmd<TMessage> | undefined)[]];
|
|
30
30
|
type DeferFunction<TModel, TMessage> = (model: Partial<TModel>, ...commands: (Cmd<TMessage> | undefined)[]) => void;
|
|
31
|
-
type
|
|
32
|
-
|
|
31
|
+
type CallBaseFunction<TModel, TProps, TMessage extends Message> = (fn: (msg: TMessage, model: TModel, props: TProps, ...args: any[]) => UpdateReturnType<TModel, Message>) => UpdateReturnType<TModel, TMessage>;
|
|
32
|
+
type UpdateMapFunction<TProps, TModel, TMessage extends Message> = (msg: TMessage, model: TModel, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TModel, TMessage>;
|
|
33
|
+
interface UpdateFunctionOptions<TProps, TModel, TMessage extends Message, TSpecificMessage extends Message = TMessage> {
|
|
33
34
|
defer: DeferFunction<TModel, TMessage>;
|
|
34
|
-
callBase:
|
|
35
|
+
callBase: CallBaseFunction<TModel, TProps, TSpecificMessage>;
|
|
35
36
|
}
|
|
36
|
-
type UpdateFunction<TProps, TModel, TMessage> = (model: TModel, msg: TMessage, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TModel, TMessage>;
|
|
37
|
+
type UpdateFunction<TProps, TModel, TMessage extends Message> = (model: TModel, msg: TMessage, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TModel, TMessage>;
|
|
37
38
|
/**
|
|
38
39
|
* Type for mapping messages to functions.
|
|
39
40
|
* Use this type to create your update logic for the useElmish hook.
|
|
@@ -41,6 +42,8 @@ type UpdateFunction<TProps, TModel, TMessage> = (model: TModel, msg: TMessage, p
|
|
|
41
42
|
type UpdateMap<TProps, TModel, TMessage extends Message> = {
|
|
42
43
|
[TMessageName in TMessage["name"]]: (msg: TMessage & {
|
|
43
44
|
name: TMessageName;
|
|
44
|
-
}, model: TModel, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage
|
|
45
|
+
}, model: TModel, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage, TMessage & {
|
|
46
|
+
name: TMessageName;
|
|
47
|
+
}>) => UpdateReturnType<TModel, TMessage>;
|
|
45
48
|
};
|
|
46
|
-
export type { Cmd, DeferFunction, Dispatch, FallbackHandler, InitFunction, InitResult, Message, MsgSource, Nullable, Sub, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateMapFunction, UpdateReturnType, };
|
|
49
|
+
export type { CallBaseFunction, Cmd, DeferFunction, Dispatch, FallbackHandler, InitFunction, InitResult, Message, MsgSource, Nullable, Sub, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateMapFunction, UpdateReturnType, };
|
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL1R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbInR5cGUgTnVsbGFibGU8VFR5cGU+ID0gVFR5cGUgfCBudWxsO1xuXG5pbnRlcmZhY2UgTWVzc2FnZSB7XG5cdG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUeXBlIG9mIHRoZSBkaXNwYXRjaCBmdW5jdGlvbi5cbiAqL1xudHlwZSBEaXNwYXRjaDxUTWVzc2FnZT4gPSAobXNnOiBUTWVzc2FnZSkgPT4gdm9pZDtcblxudHlwZSBGYWxsYmFja0hhbmRsZXIgPSAoZXJyb3I/OiBFcnJvcikgPT4gdm9pZDtcbnR5cGUgU3ViPFRNc2c+ID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUTXNnPiwgZmFsbGJhY2s/OiBGYWxsYmFja0hhbmRsZXIpID0+IHZvaWQ7XG5cbi8qKlxuICogVHlwZSBvZiBhIGNvbW1hbmQuXG4gKi9cbnR5cGUgQ21kPFRNZXNzYWdlPiA9IFN1YjxUTWVzc2FnZT5bXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgTXNnU291cmNlIHR5cGUuXG4gKi9cbmludGVyZmFjZSBNc2dTb3VyY2U8VFNvdXJjZSBleHRlbmRzIHN0cmluZz4ge1xuXHRzb3VyY2U6IFRTb3VyY2U7XG59XG5cbi8qKlxuICogVGhlIHJldHVybiB0eXBlIG9mIHRoZSBgaW5pdGAgZnVuY3Rpb24uXG4gKi9cbnR5cGUgSW5pdFJlc3VsdDxUTW9kZWwsIFRNZXNzYWdlPiA9IFtUTW9kZWwsIC4uLihDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXTtcblxudHlwZSBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChwcm9wczogVFByb3BzKSA9PiBJbml0UmVzdWx0PFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG4vKipcbiAqIFR5cGUgZm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGB1cGRhdGVgIGZ1bmN0aW9uLlxuICovXG50eXBlIFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4gPSBbUGFydGlhbDxUTW9kZWw+LCAuLi4oQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV07XG5cbnR5cGUgRGVmZXJGdW5jdGlvbjxUTW9kZWwsIFRNZXNzYWdlPiA9IChtb2RlbDogUGFydGlhbDxUTW9kZWw+LCAuLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10pID0+
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL1R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbInR5cGUgTnVsbGFibGU8VFR5cGU+ID0gVFR5cGUgfCBudWxsO1xuXG5pbnRlcmZhY2UgTWVzc2FnZSB7XG5cdG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUeXBlIG9mIHRoZSBkaXNwYXRjaCBmdW5jdGlvbi5cbiAqL1xudHlwZSBEaXNwYXRjaDxUTWVzc2FnZT4gPSAobXNnOiBUTWVzc2FnZSkgPT4gdm9pZDtcblxudHlwZSBGYWxsYmFja0hhbmRsZXIgPSAoZXJyb3I/OiBFcnJvcikgPT4gdm9pZDtcbnR5cGUgU3ViPFRNc2c+ID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUTXNnPiwgZmFsbGJhY2s/OiBGYWxsYmFja0hhbmRsZXIpID0+IHZvaWQ7XG5cbi8qKlxuICogVHlwZSBvZiBhIGNvbW1hbmQuXG4gKi9cbnR5cGUgQ21kPFRNZXNzYWdlPiA9IFN1YjxUTWVzc2FnZT5bXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgTXNnU291cmNlIHR5cGUuXG4gKi9cbmludGVyZmFjZSBNc2dTb3VyY2U8VFNvdXJjZSBleHRlbmRzIHN0cmluZz4ge1xuXHRzb3VyY2U6IFRTb3VyY2U7XG59XG5cbi8qKlxuICogVGhlIHJldHVybiB0eXBlIG9mIHRoZSBgaW5pdGAgZnVuY3Rpb24uXG4gKi9cbnR5cGUgSW5pdFJlc3VsdDxUTW9kZWwsIFRNZXNzYWdlPiA9IFtUTW9kZWwsIC4uLihDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXTtcblxudHlwZSBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChwcm9wczogVFByb3BzKSA9PiBJbml0UmVzdWx0PFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG4vKipcbiAqIFR5cGUgZm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGB1cGRhdGVgIGZ1bmN0aW9uLlxuICovXG50eXBlIFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4gPSBbUGFydGlhbDxUTW9kZWw+LCAuLi4oQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV07XG5cbnR5cGUgRGVmZXJGdW5jdGlvbjxUTW9kZWwsIFRNZXNzYWdlPiA9IChtb2RlbDogUGFydGlhbDxUTW9kZWw+LCAuLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10pID0+IHZvaWQ7XG50eXBlIENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSAoXG5cdGZuOiAoXG5cdFx0bXNnOiBUTWVzc2FnZSxcblx0XHRtb2RlbDogVE1vZGVsLFxuXHRcdHByb3BzOiBUUHJvcHMsXG5cdFx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0V4cGxpY2l0QW55OiBhbnkgaXMgbmVlZGVkIGhlcmUgdG8gYWxsb3cgb3B0aW9ucyBvZiBhbnkgdHlwZVxuXHRcdC4uLmFyZ3M6IGFueVtdXG5cdCkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIE1lc3NhZ2U+LFxuKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG50eXBlIFVwZGF0ZU1hcEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+ID0gKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbikgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcblxuaW50ZXJmYWNlIFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUU3BlY2lmaWNNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSA9IFRNZXNzYWdlPiB7XG5cdGRlZmVyOiBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXHRjYWxsQmFzZTogQ2FsbEJhc2VGdW5jdGlvbjxUTW9kZWwsIFRQcm9wcywgVFNwZWNpZmljTWVzc2FnZT47XG59XG5cbnR5cGUgVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSAoXG5cdG1vZGVsOiBUTW9kZWwsXG5cdG1zZzogVE1lc3NhZ2UsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG4vKipcbiAqIFR5cGUgZm9yIG1hcHBpbmcgbWVzc2FnZXMgdG8gZnVuY3Rpb25zLlxuICogVXNlIHRoaXMgdHlwZSB0byBjcmVhdGUgeW91ciB1cGRhdGUgbG9naWMgZm9yIHRoZSB1c2VFbG1pc2ggaG9vay5cbiAqL1xudHlwZSBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSB7XG5cdFtUTWVzc2FnZU5hbWUgaW4gVE1lc3NhZ2VbXCJuYW1lXCJdXTogKFxuXHRcdG1zZzogVE1lc3NhZ2UgJiB7IG5hbWU6IFRNZXNzYWdlTmFtZSB9LFxuXHRcdG1vZGVsOiBUTW9kZWwsXG5cdFx0cHJvcHM6IFRQcm9wcyxcblx0XHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlLCBUTWVzc2FnZSAmIHsgbmFtZTogVE1lc3NhZ2VOYW1lIH0+LFxuXHQpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG59O1xuXG5leHBvcnQgdHlwZSB7XG5cdENhbGxCYXNlRnVuY3Rpb24sXG5cdENtZCxcblx0RGVmZXJGdW5jdGlvbixcblx0RGlzcGF0Y2gsXG5cdEZhbGxiYWNrSGFuZGxlcixcblx0SW5pdEZ1bmN0aW9uLFxuXHRJbml0UmVzdWx0LFxuXHRNZXNzYWdlLFxuXHRNc2dTb3VyY2UsXG5cdE51bGxhYmxlLFxuXHRTdWIsXG5cdFVwZGF0ZUZ1bmN0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlTWFwRnVuY3Rpb24sXG5cdFVwZGF0ZVJldHVyblR5cGUsXG59O1xuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
|
package/dist/createCallBase.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Message, UpdateFunctionOptions
|
|
2
|
-
declare function createCallBase<TProps, TModel, TMessage extends Message>(msg: TMessage, model: TModel, props: TProps, options: Omit<UpdateFunctionOptions<TProps, TModel, TMessage>, "callBase">):
|
|
1
|
+
import type { CallBaseFunction, Message, UpdateFunctionOptions } from "./Types";
|
|
2
|
+
declare function createCallBase<TProps, TModel, TMessage extends Message>(msg: TMessage, model: TModel, props: TProps, options: Omit<UpdateFunctionOptions<TProps, TModel, TMessage>, "callBase">): CallBaseFunction<TModel, TProps, TMessage>;
|
|
3
3
|
export { createCallBase };
|
package/dist/createCallBase.js
CHANGED
|
@@ -12,10 +12,13 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
12
12
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
13
|
function createCallBase(msg, model, props, options) {
|
|
14
14
|
var _callBase = function callBase(fn) {
|
|
15
|
-
return
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
return (
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- The current TMessage must be extended from Message
|
|
17
|
+
fn(msg, model, props, _objectSpread(_objectSpread({}, options), {}, {
|
|
18
|
+
callBase: _callBase
|
|
19
|
+
}))
|
|
20
|
+
);
|
|
18
21
|
};
|
|
19
22
|
return _callBase;
|
|
20
23
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDYWxsQmFzZSIsIm1zZyIsIm1vZGVsIiwicHJvcHMiLCJvcHRpb25zIiwiY2FsbEJhc2UiLCJmbiIsIl9vYmplY3RTcHJlYWQiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlQ2FsbEJhc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYWxsQmFzZUZ1bmN0aW9uLCBNZXNzYWdlLCBVcGRhdGVGdW5jdGlvbk9wdGlvbnMsIFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG5mdW5jdGlvbiBjcmVhdGVDYWxsQmFzZTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWw6IFRNb2RlbCxcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogT21pdDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgXCJjYWxsQmFzZVwiPixcbik6IENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlPiB7XG5cdGNvbnN0IGNhbGxCYXNlOiBDYWxsQmFzZUZ1bmN0aW9uPFRNb2RlbCwgVFByb3BzLCBUTWVzc2FnZT4gPSAoZm4pID0+XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gVGhlIGN1cnJlbnQgVE1lc3NhZ2UgbXVzdCBiZSBleHRlbmRlZCBmcm9tIE1lc3NhZ2Vcblx0XHRmbihtc2csIG1vZGVsLCBwcm9wcywgeyAuLi5vcHRpb25zLCBjYWxsQmFzZSB9KSBhcyBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG5cdHJldHVybiBjYWxsQmFzZTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEsU0FBU0EsY0FBY0EsQ0FDdEJDLEdBQWEsRUFDYkMsS0FBYSxFQUNiQyxLQUFhLEVBQ2JDLE9BQTBFLEVBQzdCO0VBQzdDLElBQU1DLFNBQW9ELEdBQUcsU0FBdkRBLFFBQW9EQSxDQUFJQyxFQUFFO0lBQUE7TUFDL0Q7TUFDQUEsRUFBRSxDQUFDTCxHQUFHLEVBQUVDLEtBQUssRUFBRUMsS0FBSyxFQUFBSSxhQUFBLENBQUFBLGFBQUEsS0FBT0gsT0FBTztRQUFFQyxRQUFRLEVBQVJBO01BQVEsRUFBRTtJQUFDO0VBQUEsQ0FBc0M7RUFFdEYsT0FBT0EsU0FBUTtBQUNoQiIsImlnbm9yZUxpc3QiOltdfQ==
|