Grabbed dndbeyond's source code

```
~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js
```
This commit is contained in:
2025-05-28 11:50:03 -07:00
commit 8df9031d27
3592 changed files with 319051 additions and 0 deletions
@@ -0,0 +1,109 @@
import * as actionTypes from "../actions/toastMessage/actionTypes";
import { ToastMessageAction } from "../actions/toastMessage/typings";
import {
MessageState,
ToastMessageMetaState,
ToastMessageState,
ToastState,
} from "../stores/typings";
const initialMessagePayloadState: ToastState = {
title: "",
message: "",
};
/**
*
* @param state
* @param action
*/
function messagePayload(
state: ToastState = initialMessagePayloadState,
action: ToastMessageAction
): ToastState {
switch (action.type) {
case actionTypes.ADD_MESSAGE:
return {
...state,
...action.payload.toast,
};
}
return state;
}
const initialMessageMetaState: ToastMessageMetaState = {
level: "info",
autoDismiss: 5,
dismissible: true,
position: "bc",
};
/**
*
* @param state
* @param action
*/
function messageMeta(
state: ToastMessageMetaState = initialMessageMetaState,
action: ToastMessageAction
): ToastMessageMetaState {
switch (action.type) {
case actionTypes.ADD_MESSAGE:
return {
...state,
...action.payload.meta,
};
}
return state;
}
const initialMessageState: MessageState = {
payload: initialMessagePayloadState,
meta: {},
};
function message(
state: MessageState = initialMessageState,
action: ToastMessageAction
): MessageState {
switch (action.type) {
case actionTypes.ADD_MESSAGE:
return {
...state,
payload: messagePayload(undefined, action),
meta: messageMeta(undefined, action),
};
}
return state;
}
let messageId: number = 0;
/**
*
* @param state
* @param action
*/
function toastMessage(
state: ToastMessageState = {},
action: ToastMessageAction
): ToastMessageState {
switch (action.type) {
case actionTypes.ADD_MESSAGE:
messageId++;
return {
[messageId]: message(undefined, action),
};
case actionTypes.REMOVE_MESSAGE:
let newState: ToastMessageState = {};
Object.keys(state).forEach((messageId) => {
if (messageId !== action.payload.id) {
newState[messageId] = state[messageId];
}
});
return newState;
}
return state;
}
export default toastMessage;