update libs

This commit is contained in:
Proddy
2023-04-11 18:30:45 +02:00
parent 79bff902e1
commit 8eb7793cd0
18 changed files with 385 additions and 324 deletions

View File

@@ -51,6 +51,7 @@
"@typescript-eslint/restrict-plus-operands": "off",
"@typescript-eslint/no-unused-expressions": "off",
"@typescript-eslint/no-implied-eval": "off",
"@typescript-eslint/no-misused-promises": "off",
"@typescript-eslint/ban-types": [
"error",
{

View File

@@ -23,12 +23,12 @@
"@emotion/styled": "^11.10.6",
"@msgpack/msgpack": "^3.0.0-beta2",
"@mui/icons-material": "^5.11.16",
"@mui/material": "^5.11.16",
"@mui/material": "^5.12.0",
"@remix-run/router": "^1.5.0",
"@table-library/react-table-library": "4.1.0",
"@types/lodash-es": "^4.17.7",
"@types/node": "^18.15.11",
"@types/react": "^18.0.33",
"@types/react": "^18.0.34",
"@types/react-dom": "^18.0.11",
"@types/react-router-dom": "^5.3.3",
"@yarnpkg/pnpify": "^4.0.0-rc.42",
@@ -46,15 +46,15 @@
"react-toastify": "^9.1.2",
"sockette": "^2.0.6",
"typesafe-i18n": "^5.24.3",
"typescript": "^5.0.3"
"typescript": "^5.0.4"
},
"devDependencies": {
"@types/mime-types": "^2",
"@types/styled-components": "^5",
"@typescript-eslint/eslint-plugin": "^5.57.1",
"@typescript-eslint/parser": "^5.57.1",
"@vitejs/plugin-react-swc": "^3.2.0",
"eslint": "^8.37.0",
"@typescript-eslint/eslint-plugin": "^5.58.0",
"@typescript-eslint/parser": "^5.58.0",
"@vitejs/plugin-react-swc": "^3.3.0",
"eslint": "^8.38.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-prettier": "^8.8.0",
@@ -68,11 +68,11 @@
"npm-run-all": "^4.1.5",
"prettier": "^2.8.7",
"rollup-plugin-visualizer": "^5.9.0",
"terser": "^5.16.8",
"terser": "^5.16.9",
"vite": "^4.2.1",
"vite-plugin-minify": "^1.5.2",
"vite-plugin-svgr": "^2.4.0",
"vite-tsconfig-paths": "^4.0.8"
"vite-tsconfig-paths": "^4.1.0"
},
"packageManager": "yarn@3.4.1"
}

View File

@@ -60,7 +60,6 @@ const ManageUsersForm: FC = () => {
border-top: 1px solid #565656;
border-bottom: 1px solid #565656;
}
&:nth-of-type(odd) .td {
background-color: #303030;
}

View File

@@ -319,8 +319,8 @@ const en: Translation = {
SCHEDULE_TIMER_1: 'on startup',
SCHEDULE_TIMER_2: 'every minute',
SCHEDULE_TIMER_3: 'every hour',
CUSTOM_ENTITIES: 'Custom entities',
ENTITIES_HELP_1: 'Fetch custom entities from the EMS-bus'
CUSTOM_ENTITIES: 'Custom Entities',
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus'
};
export default en;

View File

@@ -319,8 +319,8 @@ const fr: Translation = {
SCHEDULE_TIMER_1: 'on startup', // TODO translate
SCHEDULE_TIMER_2: 'every minute', // TODO translate
SCHEDULE_TIMER_3: 'every hour', // TODO translate
CUSTOM_ENTITIES: 'Custom entities',
ENTITIES_HELP_1: 'Fetch custom entities from the EMS-bus'
CUSTOM_ENTITIES: 'Custom Entities', // TODO translate
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus' // TODO translate
};
export default fr;

View File

@@ -319,8 +319,8 @@ const nl: Translation = {
SCHEDULE_TIMER_1: 'on startup', // TODO translate
SCHEDULE_TIMER_2: 'every minute', // TODO translate
SCHEDULE_TIMER_3: 'every hour', // TODO translate
CUSTOM_ENTITIES: 'Custom entities',
ENTITIES_HELP_1: 'Fetch custom entities from the EMS-bus'
CUSTOM_ENTITIES: 'Custom Entities', // TODO translate
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus' // TODO translate
};
export default nl;

View File

@@ -319,8 +319,8 @@ const no: Translation = {
SCHEDULE_TIMER_1: 'ved oppstart',
SCHEDULE_TIMER_2: 'hvert minutt',
SCHEDULE_TIMER_3: 'hver time',
CUSTOM_ENTITIES: 'Custom entities',
ENTITIES_HELP_1: 'Fetch custom entities from the EMS-bus'
CUSTOM_ENTITIES: 'Custom Entities', // TODO translate
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus' // TODO translate
};
export default no;

View File

@@ -319,8 +319,8 @@ const pl: BaseTranslation = {
SCHEDULE_TIMER_1: 'przy starcie',
SCHEDULE_TIMER_2: 'co minutę',
SCHEDULE_TIMER_3: 'co godzinę',
CUSTOM_ENTITIES: 'Custom entities',
ENTITIES_HELP_1: 'Fetch custom entities from the EMS-bus'
CUSTOM_ENTITIES: 'Custom Entities', // TODO translate
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus' // TODO translate
};
export default pl;

View File

@@ -319,8 +319,8 @@ const sv: Translation = {
SCHEDULE_TIMER_1: 'on startup', // TODO translate
SCHEDULE_TIMER_2: 'every minute', // TODO translate
SCHEDULE_TIMER_3: 'every hour', // TODO translate
CUSTOM_ENTITIES: 'Custom entities',
ENTITIES_HELP_1: 'Fetch custom entities from the EMS-bus'
CUSTOM_ENTITIES: 'Custom Entities', // TODO translate
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus' // TODO translate
};
export default sv;

View File

@@ -319,8 +319,8 @@ const tr: Translation = {
SCHEDULE_TIMER_1: 'on startup', // TODO translate
SCHEDULE_TIMER_2: 'every minute', // TODO translate
SCHEDULE_TIMER_3: 'every hour', // TODO translate
CUSTOM_ENTITIES: 'Custom entities',
ENTITIES_HELP_1: 'Fetch custom entities from the EMS-bus'
CUSTOM_ENTITIES: 'Custom Entities', // TODO translate
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus' // TODO translate
};
export default tr;

View File

@@ -10,7 +10,6 @@ import {
DialogActions,
DialogContent,
DialogTitle,
TextField,
MenuItem,
InputAdornment
} from '@mui/material';
@@ -33,36 +32,62 @@ import { extractErrorMessage, updateValue } from 'utils';
import { validate } from 'validators';
import { entityItemValidation } from './validators';
import { ValidateFieldsError } from 'async-validator';
import { useI18nContext } from 'i18n/i18n-react';
import { ValidateFieldsError } from 'async-validator';
import * as EMSESP from './api';
function makeid() {
return Math.floor(Math.random() * (Math.floor(200) - 100) + 100);
}
const SettingsEntities: FC = () => {
const { LL, locale } = useI18nContext();
const { LL } = useI18nContext();
const [numChanges, setNumChanges] = useState<number>(0);
const blocker = useBlocker(numChanges !== 0);
const emptyEntity = {
id: 0,
name: '',
device_id: 8,
type_id: 2,
type_id: 0,
offset: 0,
factor: 1,
uom: 0,
val_type: 2,
name: 'name',
deleted: false
deleted: false,
o_name: ''
};
const [entity, setEntity] = useState<EntityItem[]>([emptyEntity]);
const [entities, setEntities] = useState<EntityItem[]>([emptyEntity]);
const [entityItem, setEntityItem] = useState<EntityItem>();
const [errorMessage, setErrorMessage] = useState<string>();
const [creating, setCreating] = useState<boolean>(false);
const [fieldErrors, setFieldErrors] = useState<ValidateFieldsError>();
function hasEntityChanged(ei: EntityItem) {
return (
ei.id !== ei.o_id ||
(ei?.name || '') !== (ei?.o_name || '') ||
ei.device_id !== ei.o_device_id ||
ei.type_id !== ei.o_type_id ||
ei.offset !== ei.o_offset ||
ei.uom !== ei.o_uom ||
ei.factor !== ei.o_factor ||
ei.val_type !== ei.o_val_type ||
ei.deleted !== ei.o_deleted
);
}
const getNumChanges = () => {
if (!entities) {
return 0;
}
return entities.filter((ei) => hasEntityChanged(ei)).length;
};
useEffect(() => {
setNumChanges(getNumChanges());
});
@@ -78,6 +103,9 @@ const SettingsEntities: FC = () => {
}
`,
BaseCell: `
&:nth-of-type(1) {
padding: 8px;
}
&:nth-of-type(2) {
text-align: center;
}
@@ -88,7 +116,7 @@ const SettingsEntities: FC = () => {
text-align: center;
}
&:nth-of-type(5) {
text-align: right;
text-align: center;
}
`,
HeaderRow: `
@@ -118,23 +146,11 @@ const SettingsEntities: FC = () => {
`
});
const fetchEntities = useCallback(async () => {
try {
const response = await EMSESP.readEntities();
setOriginalEntity(response.data.entity);
} catch (error) {
setErrorMessage(extractErrorMessage(error, LL.PROBLEM_LOADING()));
}
}, [LL]);
useEffect(() => {
fetchEntities();
}, [fetchEntities]);
const setOriginalEntity = (data: EntityItem[]) => {
setEntity(
setEntities(
data.map((ei) => ({
...ei,
o_id: ei.id,
o_device_id: ei.device_id,
o_type_id: ei.type_id,
o_offset: ei.offset,
@@ -147,41 +163,35 @@ const SettingsEntities: FC = () => {
);
};
function hasEntityChanged(ei: EntityItem) {
return (
ei.device_id !== ei.o_device_id ||
ei.type_id !== ei.o_type_id ||
ei.name !== ei.o_name ||
ei.offset !== ei.o_offset ||
ei.uom !== ei.o_uom ||
ei.factor !== ei.o_factor ||
ei.val_type !== ei.o_val_type ||
ei.deleted !== ei.o_deleted
);
const fetchEntities = useCallback(async () => {
try {
const response = await EMSESP.readEntities();
setOriginalEntity(response.data.entities);
} catch (error) {
setErrorMessage(extractErrorMessage(error, LL.PROBLEM_LOADING()));
}
}, [LL]);
const getNumChanges = () => {
if (!entity) {
return 0;
}
return entity.filter((ei) => hasEntityChanged(ei)).length;
};
useEffect(() => {
void fetchEntities();
}, [fetchEntities]);
const saveEntity = async () => {
if (entity) {
const saveEntities = async () => {
if (entities) {
try {
const response = await EMSESP.writeEntities({
entity: entity
entities: entities
.filter((ei) => !ei.deleted)
.map((condensed_ei) => {
return {
id: condensed_ei.id,
name: condensed_ei.name,
device_id: condensed_ei.device_id,
type_id: condensed_ei.type_id,
offset: condensed_ei.offset,
factor: condensed_ei.factor,
val_type: condensed_ei.val_type,
uom: condensed_ei.uom,
name: condensed_ei.name
val_type: condensed_ei.val_type
};
})
});
@@ -193,7 +203,7 @@ const SettingsEntities: FC = () => {
} catch (error) {
toast.error(extractErrorMessage(error, LL.PROBLEM_UPDATING()));
}
setOriginalEntity(entity);
setOriginalEntity(entities);
}
};
@@ -205,20 +215,22 @@ const SettingsEntities: FC = () => {
const addEntityItem = () => {
setCreating(true);
setEntityItem({
device_id: 8,
type_id: 2,
id: makeid(),
device_id: 11,
type_id: 0,
offset: 0,
factor: 1,
val_type: 2,
uom: 0,
name: 'name',
name: '',
deleted: false
});
};
const updateEntityItem = () => {
console.log('here');
if (entityItem) {
setEntity([...entity.filter((ei) => creating || ei.o_name !== entityItem.o_name), entityItem]);
setEntities([...entities.filter((ei) => creating || ei.o_id !== entityItem.o_id), entityItem]);
}
setEntityItem(undefined);
};
@@ -233,24 +245,20 @@ const SettingsEntities: FC = () => {
return new Intl.NumberFormat().format(value) + ' ' + DeviceValueUOM_s[uom];
}
function showHex(value: string, digit: number) {
function showHex(value: number, digit: number) {
if (digit === 4) {
return '0x' + ('000' + value).slice(-4);
return '0x' + ('000' + value.toString(16).toUpperCase()).slice(-4);
}
return '0x' + ('0' + value).slice(-2);
return '0x' + ('0' + value.toString(16).toUpperCase()).slice(-2);
}
const renderEntity = () => {
if (!entity) {
if (!entities) {
return <FormLoader errorMessage={errorMessage} />;
}
return (
<Table
data={{ nodes: entity.filter((ei) => !ei.deleted).sort((a, b) => a.name.localeCompare(b.time)) }}
theme={entity_theme}
layout={{ custom: true }}
>
<Table data={{ nodes: entities.filter((ei) => !ei.deleted) }} theme={entity_theme} layout={{ custom: true }}>
{(tableList: any) => (
<>
<Header>
@@ -259,7 +267,7 @@ const SettingsEntities: FC = () => {
<HeaderCell stiff>Device ID</HeaderCell>
<HeaderCell stiff>Type ID</HeaderCell>
<HeaderCell stiff>Offset</HeaderCell>
<HeaderCell stiff>{LL.VALUE()}</HeaderCell>
<HeaderCell stiff>{LL.VALUE(0)}</HeaderCell>
</HeaderRow>
</Header>
<Body>
@@ -287,11 +295,16 @@ const SettingsEntities: FC = () => {
const validateEntityItem = async () => {
if (entityItem) {
console.log(1);
try {
setFieldErrors(undefined);
await validate(entityItemValidation(entity, entityItem), entityItem);
console.log(2);
await validate(entityItemValidation(entities, entityItem), entityItem);
console.log(3);
updateEntityItem();
} catch (errors: any) {
console.log(4);
console.log(errors);
setFieldErrors(errors);
}
}
@@ -307,7 +320,7 @@ const SettingsEntities: FC = () => {
return (
<Dialog open={!!entityItem} onClose={() => closeDialog()}>
<DialogTitle>
{creating ? LL.ADD(1) + ' ' + LL.NEW() : LL.EDIT()}&nbsp;{LL.CUSTOM_ENTITIES()}
{creating ? LL.ADD(1) + ' ' + LL.NEW() : LL.EDIT()}&nbsp;{LL.ENTITY()}
</DialogTitle>
<DialogContent dividers>
<Box display="flex" flexWrap="wrap" mb={1}>
@@ -323,11 +336,12 @@ const SettingsEntities: FC = () => {
value={entityItem.name}
margin="normal"
fullWidth
onChange={updateValue(setEntityItem)}
// onChange={updateValue(setEntityItem)}
/>
</Grid>
<Grid item xs={4}>
<ValidatedTextField
fieldErrors={fieldErrors}
name="device_id"
label="Device ID"
margin="normal"
@@ -341,6 +355,7 @@ const SettingsEntities: FC = () => {
</Grid>
<Grid item xs={4}>
<ValidatedTextField
fieldErrors={fieldErrors}
name="type_id"
label="Type ID"
margin="normal"
@@ -354,6 +369,7 @@ const SettingsEntities: FC = () => {
</Grid>
<Grid item xs={4}>
<ValidatedTextField
fieldErrors={fieldErrors}
name="offset"
label="Offset"
margin="normal"
@@ -469,7 +485,7 @@ const SettingsEntities: FC = () => {
startIcon={<WarningIcon color="warning" />}
variant="contained"
color="info"
onClick={() => saveEntity()}
onClick={() => saveEntities()}
>
{LL.APPLY_CHANGES(numChanges)}
</Button>

View File

@@ -72,12 +72,12 @@ const SettingsScheduler: FC = () => {
name: '',
o_name: ''
};
const [schedule, setSchedule] = useState<ScheduleItem[]>([emptySchedule]);
const [scheduleItem, setScheduleItem] = useState<ScheduleItem>();
const [dow, setDow] = useState<string[]>([]);
const [errorMessage, setErrorMessage] = useState<string>();
const [creating, setCreating] = useState<boolean>(false);
const [fieldErrors, setFieldErrors] = useState<ValidateFieldsError>();
// eslint-disable-next-line

View File

@@ -97,18 +97,6 @@ export function getCustomizations(): AxiosPromise<void> {
return AXIOS.get('/getCustomizations');
}
export function getEntities(): AxiosPromise<void> {
return AXIOS.get('/getEntities');
}
export function readEntities(): AxiosPromise<void> {
return AXIOS.get('/entity');
}
export function writeEntities(entities: Entities): AxiosPromise<void> {
return AXIOS.post('/entity', entities);
}
export function getSchedule(): AxiosPromise<Schedule> {
return AXIOS.get('/getSchedule');
}
@@ -120,3 +108,15 @@ export function readSchedule(): AxiosPromise<Schedule> {
export function writeSchedule(schedule: Schedule): AxiosPromise<void> {
return AXIOS.post('/schedule', schedule);
}
export function getEntities(): AxiosPromise<Entities> {
return AXIOS.get('/getEntities');
}
export function readEntities(): AxiosPromise<Entities> {
return AXIOS.get('/entities');
}
export function writeEntities(entities: Entities): AxiosPromise<void> {
return AXIOS.post('/entities', entities);
}

View File

@@ -339,25 +339,27 @@ export enum ScheduleFlag {
}
export interface EntityItem {
id: number; // unique number
name: string;
device_id: string;
type_id: string;
device_id: number;
type_id: number;
offset: number;
factor: number;
uom: number;
val_type: number;
value?: number;
deleted?: boolean; // optional
o_id?: number;
o_name?: string;
o_device_id?: string;
o_type_id?: string;
o_device_id?: number;
o_type_id?: number;
o_offset?: number;
o_factor?: number;
o_uom?: number;
o_val_type?: number;
deleted?: boolean; // optional
o_deleted?: boolean;
}
export interface Entities {
entity: EntityItem[];
entities: EntityItem[];
}

View File

@@ -85,6 +85,16 @@ export const createSettingsValidator = (settings: Settings) =>
})
});
export const uniqueNameValidator = (schedule: ScheduleItem[], o_name?: string) => ({
validator(rule: InternalRuleItem, name: string, callback: (error?: string) => void) {
if (name && o_name && o_name !== name && schedule.find((si) => si.name === name)) {
callback('Name already in use');
} else {
callback();
}
}
});
export const schedulerItemValidation = (schedule: ScheduleItem[], scheduleItem: ScheduleItem) =>
new Schema({
name: [
@@ -101,9 +111,9 @@ export const schedulerItemValidation = (schedule: ScheduleItem[], scheduleItem:
]
});
export const uniqueNameValidator = (schedule: ScheduleItem[], o_name?: string) => ({
export const uniqueEntityNameValidator = (entities: EntityItem[], o_name?: string) => ({
validator(rule: InternalRuleItem, name: string, callback: (error?: string) => void) {
if (name && o_name && o_name !== name && schedule.find((si) => si.name === name)) {
if (name && o_name && o_name !== name && entities.find((ei) => ei.name === name)) {
callback('Name already in use');
} else {
callback();
@@ -111,7 +121,7 @@ export const uniqueNameValidator = (schedule: ScheduleItem[], o_name?: string) =
}
});
export const entityItemValidation = (entity: EntityItem[], entityItem: EntityItem) =>
export const entityItemValidation = (entities: EntityItem[], entityItem: EntityItem) =>
new Schema({
name: [
{ required: true, message: 'Name is required' },
@@ -120,28 +130,15 @@ export const entityItemValidation = (entity: EntityItem[], entityItem: EntityIte
pattern: /^[a-zA-Z0-9_\\.]{1,15}$/,
message: "Must be <15 characters: alpha numeric, '_' or '.'"
},
...[uniqueEntityNameValidator(entity, entityItem.o_name)]
...[uniqueEntityNameValidator(entities, entityItem.o_name)]
],
device_id: [
{ required: true, message: 'Device_id is required' },
{ type: 'string', pattern: /^[A-F0-9]{1,2}$/, message: 'Must be a hex number' }
],
type_id: [
{ required: true, message: 'Type_id is required' },
{ type: 'string', pattern: /^[A-F0-9]{1,4}$/, message: 'Must be a hex number' }
],
offset: [
{ required: true, message: 'Offset is required' },
{ type: 'number', min: 0, max: 255, message: 'Must be between 0 and 255' }
]
});
export const uniqueEntityNameValidator = (entity: EntityItem[], o_name?: string) => ({
validator(rule: InternalRuleItem, name: string, callback: (error?: string) => void) {
if (name && o_name && o_name !== name && entity.find((ei) => ei.name === name)) {
callback('Name already in use');
} else {
callback();
}
}
device_id: [{ type: 'hex', required: true, message: 'ID must be a hex value' }]
// type_id: [
// { required: true, message: 'Type_id is required' },
// { type: 'string', pattern: /^[A-F0-9]{1,4}$/, message: 'Must be a hex number' }
// ],
// offset: [
// { required: true, message: 'Offset is required' },
// { type: 'number', min: 0, max: 255, message: 'Must be between 0 and 255' }
// ]
});

View File

@@ -2,7 +2,6 @@ import { defineConfig, type PluginOption } from 'vite';
import react from '@vitejs/plugin-react-swc';
import viteTsconfigPaths from 'vite-tsconfig-paths';
import svgrPlugin from 'vite-plugin-svgr';
// import { ViteMinifyPlugin } from 'vite-plugin-minify';
import { visualizer } from 'rollup-plugin-visualizer';
import ProgmemGenerator from './progmem-generator';
@@ -19,19 +18,6 @@ export default defineConfig(({ command, mode }) => {
react(),
viteTsconfigPaths(),
svgrPlugin(),
// ViteMinifyPlugin({
// removeAttributeQuotes: true,
// minifyCSS: true,
// minifyJS: true,
// decodeEntities: true,
// removeComments: true,
// removeEmptyAttributes: true,
// removeOptionalTags: true,
// removeEmptyElements: true,
// removeScriptTypeAttributes: true,
// removeTagWhitespace: true,
// minifyURLs: true
// }),
ProgmemGenerator({ outputPath: '../lib/framework/WWWData.h', bytesPerLine: 20 })
],

View File

@@ -279,7 +279,7 @@ __metadata:
languageName: node
linkType: hard
"@emotion/cache@npm:^11.10.5":
"@emotion/cache@npm:^11.10.5, @emotion/cache@npm:^11.10.7":
version: 11.10.7
resolution: "@emotion/cache@npm:11.10.7"
dependencies:
@@ -595,10 +595,10 @@ __metadata:
languageName: node
linkType: hard
"@eslint/js@npm:8.37.0":
version: 8.37.0
resolution: "@eslint/js@npm:8.37.0"
checksum: 6abb3d97412ac960c7436ecdaa56eb00ac57c34782dc0901c82b259c32704e45044927b2910d786ec2127e548986d67e7ba29fec46abfb5d8fc9bedf379af2cf
"@eslint/js@npm:8.38.0":
version: 8.38.0
resolution: "@eslint/js@npm:8.38.0"
checksum: e2f4b565d542758779b98019cfa63e24fc56fabfb8d04caf7f6310753703116b880b6a8061d671f2a40a68dba24a8a199eb01d5c8b140f53c49f05c75b404ff5
languageName: node
linkType: hard
@@ -703,14 +703,14 @@ __metadata:
languageName: node
linkType: hard
"@mui/base@npm:5.0.0-alpha.124":
version: 5.0.0-alpha.124
resolution: "@mui/base@npm:5.0.0-alpha.124"
"@mui/base@npm:5.0.0-alpha.125":
version: 5.0.0-alpha.125
resolution: "@mui/base@npm:5.0.0-alpha.125"
dependencies:
"@babel/runtime": ^7.21.0
"@emotion/is-prop-valid": ^1.2.0
"@mui/types": ^7.2.3
"@mui/utils": ^5.11.13
"@mui/types": ^7.2.4
"@mui/utils": ^5.12.0
"@popperjs/core": ^2.11.7
clsx: ^1.2.1
prop-types: ^15.8.1
@@ -722,14 +722,14 @@ __metadata:
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 103a3af33f7125cf7320a6b5de49cc6223563978066ebd4a9721de385c2b7990ff5e14139e5bd290714bd0e5db58b9b960b08051d5c14219c5835ba1a0e0c587
checksum: 0a87b5141500885c364382375816d23b48799e38c57993b0bbb2dbfce8052a8bdba588b2cd6cee75dc2fc43a873ce3d27a223ef1395c42a0b2e28d59e559b2bf
languageName: node
linkType: hard
"@mui/core-downloads-tracker@npm:^5.11.16":
version: 5.11.16
resolution: "@mui/core-downloads-tracker@npm:5.11.16"
checksum: c9f1ed7a6f78ba9db80cb59c4a17ab4ef9af6837bf85ae87161fb745e64a617c91f7f1b35296c33c9039d42e61e49290eedae2e22ea16ded5a57e2c239c055a0
"@mui/core-downloads-tracker@npm:^5.12.0":
version: 5.12.0
resolution: "@mui/core-downloads-tracker@npm:5.12.0"
checksum: b0bc0c67be036fc6b965827ffb2ad2134c317237439dcbbe0b90a1807e92f93894e8d5e6650df4833b5a9b88b28d77cb2cd4435d23bbb9ab751c023684012e5f
languageName: node
linkType: hard
@@ -749,16 +749,16 @@ __metadata:
languageName: node
linkType: hard
"@mui/material@npm:^5.11.16":
version: 5.11.16
resolution: "@mui/material@npm:5.11.16"
"@mui/material@npm:^5.12.0":
version: 5.12.0
resolution: "@mui/material@npm:5.12.0"
dependencies:
"@babel/runtime": ^7.21.0
"@mui/base": 5.0.0-alpha.124
"@mui/core-downloads-tracker": ^5.11.16
"@mui/system": ^5.11.16
"@mui/types": ^7.2.3
"@mui/utils": ^5.11.13
"@mui/base": 5.0.0-alpha.125
"@mui/core-downloads-tracker": ^5.12.0
"@mui/system": ^5.12.0
"@mui/types": ^7.2.4
"@mui/utils": ^5.12.0
"@types/react-transition-group": ^4.4.5
clsx: ^1.2.1
csstype: ^3.1.2
@@ -778,16 +778,16 @@ __metadata:
optional: true
"@types/react":
optional: true
checksum: a674b179edd9af749d5a7edee6e2bf031b56b06311d6d0c567ec2a53936a0416443a74dcd02d360748442260f0829ad087ed5c1172d714fec2eb29d22683d234
checksum: d8f2e875393dd254d70aafea08e1289d4cc4d085af581cd8fd4cc2882d5e265b8c926322ac64c1e0d18c5f441969abef2611c87346d685ad18fcfbc27e2d8ddf
languageName: node
linkType: hard
"@mui/private-theming@npm:^5.11.13":
version: 5.11.13
resolution: "@mui/private-theming@npm:5.11.13"
"@mui/private-theming@npm:^5.12.0":
version: 5.12.0
resolution: "@mui/private-theming@npm:5.12.0"
dependencies:
"@babel/runtime": ^7.21.0
"@mui/utils": ^5.11.13
"@mui/utils": ^5.12.0
prop-types: ^15.8.1
peerDependencies:
"@types/react": ^17.0.0 || ^18.0.0
@@ -795,16 +795,16 @@ __metadata:
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 114801958fe0153b2c7c07640d5453dc783bebdc96e35612f18b90370a461bb0d5c24d0d3ea5b48dc369299660e4246f6d739a97aa47821e5d5b955329d38ec4
checksum: c7ad031d9574a4b217400ce78f2f58a487fae5249ce46a124ae1a2814e8cc52848dd20fdff7ccc4e6342b83f5e77ec1d5b1eabc74777647fb1f7f0a4f8b5be25
languageName: node
linkType: hard
"@mui/styled-engine@npm:^5.11.16":
version: 5.11.16
resolution: "@mui/styled-engine@npm:5.11.16"
"@mui/styled-engine@npm:^5.12.0":
version: 5.12.0
resolution: "@mui/styled-engine@npm:5.12.0"
dependencies:
"@babel/runtime": ^7.21.0
"@emotion/cache": ^11.10.5
"@emotion/cache": ^11.10.7
csstype: ^3.1.2
prop-types: ^15.8.1
peerDependencies:
@@ -816,19 +816,19 @@ __metadata:
optional: true
"@emotion/styled":
optional: true
checksum: 308b7406c7e4ade762c21339644803ad5510c96940e1bd99586cbcea9fa3468216fbace47ed603ea8106fff5d493dadba4ebac07e89175c3f12d50b7571c90d8
checksum: 278ce278b0622866b4b8d1caab4ed151986c5f967830140783e1f5609bd5f9fe34c470daef8bcf2ba9706bc4fe8caae950227bb3853ddde3e5b2f45c2f90aad5
languageName: node
linkType: hard
"@mui/system@npm:^5.11.16":
version: 5.11.16
resolution: "@mui/system@npm:5.11.16"
"@mui/system@npm:^5.12.0":
version: 5.12.0
resolution: "@mui/system@npm:5.12.0"
dependencies:
"@babel/runtime": ^7.21.0
"@mui/private-theming": ^5.11.13
"@mui/styled-engine": ^5.11.16
"@mui/types": ^7.2.3
"@mui/utils": ^5.11.13
"@mui/private-theming": ^5.12.0
"@mui/styled-engine": ^5.12.0
"@mui/types": ^7.2.4
"@mui/utils": ^5.12.0
clsx: ^1.2.1
csstype: ^3.1.2
prop-types: ^15.8.1
@@ -844,25 +844,25 @@ __metadata:
optional: true
"@types/react":
optional: true
checksum: 53c699dd20dd0bc312b81844a5e2a55e184d13042300e5027ace490b89a41e6e01f857d7b8a21b95aad6e215b4467a0fa9bbf7b1bb1b877fe8429f986378fd4e
checksum: d53e70f35b8cc19c687ba72fc79a1f4cc20e0dd0335433fc255bc70291f89460b88bdddb7a9f17d11ffa6de3710117cc666c28ea0ac234fd2da13e82ee3c3c34
languageName: node
linkType: hard
"@mui/types@npm:^7.2.3":
version: 7.2.3
resolution: "@mui/types@npm:7.2.3"
"@mui/types@npm:^7.2.4":
version: 7.2.4
resolution: "@mui/types@npm:7.2.4"
peerDependencies:
"@types/react": "*"
peerDependenciesMeta:
"@types/react":
optional: true
checksum: d66575b6e5b37462bc4182ee5eae7f9f10792d4cdbe407fdb055136c62c3e05c6fa8969680373a723fbede0d1b1c17941c2cccd5a0409751a09aa22a712eafc0
checksum: 17411effd184eff34d6a1a55b2249c7e1ef195bb30c48154f0b16fdce428ff55be4ec5dde8b4a556c01eda2d34e3dcc18d925f8fdee606f5bc15f91167f0ecbc
languageName: node
linkType: hard
"@mui/utils@npm:^5.11.13":
version: 5.11.13
resolution: "@mui/utils@npm:5.11.13"
"@mui/utils@npm:^5.12.0":
version: 5.12.0
resolution: "@mui/utils@npm:5.12.0"
dependencies:
"@babel/runtime": ^7.21.0
"@types/prop-types": ^15.7.5
@@ -871,7 +871,7 @@ __metadata:
react-is: ^18.2.0
peerDependencies:
react: ^17.0.0 || ^18.0.0
checksum: ba9812784d90b3bbe7c56cc0daf35cd972b576789b2dedb4d1df73005bc55af58d01c11dd21f2104206a49d93f08b9ba1a19a63c605df7b4760a1a864f675ead
checksum: 81813844674de745c3834e40d224b02aae98bfee0ada2dd5c68256fd5e866eaaf11b59f575e5d14676c61699ad8d44350f9b72da3c49cdc4b23e6efead965944
languageName: node
linkType: hard
@@ -1100,90 +1100,90 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-darwin-arm64@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-darwin-arm64@npm:1.3.46"
"@swc/core-darwin-arm64@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-darwin-arm64@npm:1.3.49"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@swc/core-darwin-x64@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-darwin-x64@npm:1.3.46"
"@swc/core-darwin-x64@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-darwin-x64@npm:1.3.49"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@swc/core-linux-arm-gnueabihf@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.46"
"@swc/core-linux-arm-gnueabihf@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.49"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"@swc/core-linux-arm64-gnu@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-linux-arm64-gnu@npm:1.3.46"
"@swc/core-linux-arm64-gnu@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-linux-arm64-gnu@npm:1.3.49"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@swc/core-linux-arm64-musl@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-linux-arm64-musl@npm:1.3.46"
"@swc/core-linux-arm64-musl@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-linux-arm64-musl@npm:1.3.49"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@swc/core-linux-x64-gnu@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-linux-x64-gnu@npm:1.3.46"
"@swc/core-linux-x64-gnu@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-linux-x64-gnu@npm:1.3.49"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@swc/core-linux-x64-musl@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-linux-x64-musl@npm:1.3.46"
"@swc/core-linux-x64-musl@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-linux-x64-musl@npm:1.3.49"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@swc/core-win32-arm64-msvc@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-win32-arm64-msvc@npm:1.3.46"
"@swc/core-win32-arm64-msvc@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-win32-arm64-msvc@npm:1.3.49"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@swc/core-win32-ia32-msvc@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-win32-ia32-msvc@npm:1.3.46"
"@swc/core-win32-ia32-msvc@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-win32-ia32-msvc@npm:1.3.49"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@swc/core-win32-x64-msvc@npm:1.3.46":
version: 1.3.46
resolution: "@swc/core-win32-x64-msvc@npm:1.3.46"
"@swc/core-win32-x64-msvc@npm:1.3.49":
version: 1.3.49
resolution: "@swc/core-win32-x64-msvc@npm:1.3.49"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@swc/core@npm:^1.3.35":
version: 1.3.46
resolution: "@swc/core@npm:1.3.46"
"@swc/core@npm:^1.3.42":
version: 1.3.49
resolution: "@swc/core@npm:1.3.49"
dependencies:
"@swc/core-darwin-arm64": 1.3.46
"@swc/core-darwin-x64": 1.3.46
"@swc/core-linux-arm-gnueabihf": 1.3.46
"@swc/core-linux-arm64-gnu": 1.3.46
"@swc/core-linux-arm64-musl": 1.3.46
"@swc/core-linux-x64-gnu": 1.3.46
"@swc/core-linux-x64-musl": 1.3.46
"@swc/core-win32-arm64-msvc": 1.3.46
"@swc/core-win32-ia32-msvc": 1.3.46
"@swc/core-win32-x64-msvc": 1.3.46
"@swc/core-darwin-arm64": 1.3.49
"@swc/core-darwin-x64": 1.3.49
"@swc/core-linux-arm-gnueabihf": 1.3.49
"@swc/core-linux-arm64-gnu": 1.3.49
"@swc/core-linux-arm64-musl": 1.3.49
"@swc/core-linux-x64-gnu": 1.3.49
"@swc/core-linux-x64-musl": 1.3.49
"@swc/core-win32-arm64-msvc": 1.3.49
"@swc/core-win32-ia32-msvc": 1.3.49
"@swc/core-win32-x64-msvc": 1.3.49
peerDependencies:
"@swc/helpers": ^0.5.0
dependenciesMeta:
@@ -1207,7 +1207,10 @@ __metadata:
optional: true
"@swc/core-win32-x64-msvc":
optional: true
checksum: 245c213425fecc16ae5a078ec0451f3567430609ef40ef4f1dc2fb795de86229d4203956b5b02ae304232cf93b25bbec3aaed23989d41fdb432aecc1cfdabc0e
peerDependenciesMeta:
"@swc/helpers":
optional: true
checksum: 3a8463047fb79a4bc5987cd24f935e19e59dfe967648c6abbc0b61f9197b76109de832fb03e5e6452459f9e2165b565f86dbc9ecd9506f58bd4befff8e0ddc47
languageName: node
linkType: hard
@@ -1407,7 +1410,7 @@ __metadata:
languageName: node
linkType: hard
"@types/react@npm:*, @types/react@npm:^18.0.33":
"@types/react@npm:*":
version: 18.0.33
resolution: "@types/react@npm:18.0.33"
dependencies:
@@ -1418,6 +1421,17 @@ __metadata:
languageName: node
linkType: hard
"@types/react@npm:^18.0.34":
version: 18.0.34
resolution: "@types/react@npm:18.0.34"
dependencies:
"@types/prop-types": "*"
"@types/scheduler": "*"
csstype: ^3.0.2
checksum: 97e6ea3b5eea0b270c2c36f5cc44699fe21e30ceda4ffc6936ad40ff755bd8b16637f41d8b0bd20d50eb3261b0981e8f4822b2bd5805208532292499f6de340c
languageName: node
linkType: hard
"@types/responselike@npm:^1.0.0":
version: 1.0.0
resolution: "@types/responselike@npm:1.0.0"
@@ -1459,14 +1473,14 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^5.57.1":
version: 5.57.1
resolution: "@typescript-eslint/eslint-plugin@npm:5.57.1"
"@typescript-eslint/eslint-plugin@npm:^5.58.0":
version: 5.58.0
resolution: "@typescript-eslint/eslint-plugin@npm:5.58.0"
dependencies:
"@eslint-community/regexpp": ^4.4.0
"@typescript-eslint/scope-manager": 5.57.1
"@typescript-eslint/type-utils": 5.57.1
"@typescript-eslint/utils": 5.57.1
"@typescript-eslint/scope-manager": 5.58.0
"@typescript-eslint/type-utils": 5.58.0
"@typescript-eslint/utils": 5.58.0
debug: ^4.3.4
grapheme-splitter: ^1.0.4
ignore: ^5.2.0
@@ -1479,43 +1493,43 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 3847db76ed4a5df9cbb0f0155afa81951323a93ba37de3dca872b325502d0203da859a67f6d201bcfdf4985188b80227b7fd039206f7b921c96d33befe7ed25d
checksum: cda31ae6ff09c742f921304ea1a2a0d0823f7e20d7969ba6320ab14df2b3269b93a61eded96a59f01cfd24f28efb91e461e42bb09f493ed013936a899697a868
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^5.57.1":
version: 5.57.1
resolution: "@typescript-eslint/parser@npm:5.57.1"
"@typescript-eslint/parser@npm:^5.58.0":
version: 5.58.0
resolution: "@typescript-eslint/parser@npm:5.58.0"
dependencies:
"@typescript-eslint/scope-manager": 5.57.1
"@typescript-eslint/types": 5.57.1
"@typescript-eslint/typescript-estree": 5.57.1
"@typescript-eslint/scope-manager": 5.58.0
"@typescript-eslint/types": 5.58.0
"@typescript-eslint/typescript-estree": 5.58.0
debug: ^4.3.4
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 4e2ea4694b261a25bca452db502666ddb4444cced9518eb2d34bd06d099885858307c9b320fd1aaeb45513811dc1984bbba370e5a8567671bad7fc5a0eb8bcc7
checksum: fb7a4ce59eb803d29705e0134b6731823d9d7b56dd76a4de4ff07eb09d56cc851ed9988ecacdc2d0cbd929115a02ce564b0bb1b97d8732e05707dbe4332460ae
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:5.57.1":
version: 5.57.1
resolution: "@typescript-eslint/scope-manager@npm:5.57.1"
"@typescript-eslint/scope-manager@npm:5.58.0":
version: 5.58.0
resolution: "@typescript-eslint/scope-manager@npm:5.58.0"
dependencies:
"@typescript-eslint/types": 5.57.1
"@typescript-eslint/visitor-keys": 5.57.1
checksum: f0905f70939980164c0205c6c6d3638bea40fd9afb1acc83632360e66725f185eee9da595721f0bcd57cc5f951224d9d47bd8dc9c9b2373920f9d236081a8344
"@typescript-eslint/types": 5.58.0
"@typescript-eslint/visitor-keys": 5.58.0
checksum: 66c82609ac6c9cf00e163126619e7c487adc938f02e4567a2c26319916a175b9aee792aa80bd319a20848c834c6e599cd302c9f5b68c64b95d02f024f511ac66
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:5.57.1":
version: 5.57.1
resolution: "@typescript-eslint/type-utils@npm:5.57.1"
"@typescript-eslint/type-utils@npm:5.58.0":
version: 5.58.0
resolution: "@typescript-eslint/type-utils@npm:5.58.0"
dependencies:
"@typescript-eslint/typescript-estree": 5.57.1
"@typescript-eslint/utils": 5.57.1
"@typescript-eslint/typescript-estree": 5.58.0
"@typescript-eslint/utils": 5.58.0
debug: ^4.3.4
tsutils: ^3.21.0
peerDependencies:
@@ -1523,23 +1537,23 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 21fb0653398d2d6d32e4bcb8fe4f4d802d63f0cd50f2e4b982f410b075f5441edffe64924dd1ba71f89eccef3b04eaae8c23543e7618723c7344914378ce3796
checksum: 3ca4443f43b8263745afda3ff05517074da77d1dad25867845d386b29b012548b720d12334aca8bf15323a76557099e4ce3025a5a0fa84e070f6a4c1dc36d44e
languageName: node
linkType: hard
"@typescript-eslint/types@npm:5.57.1":
version: 5.57.1
resolution: "@typescript-eslint/types@npm:5.57.1"
checksum: 549214a87a52359013270982ef4e69ce17d8a063717a8cb9d127425e76b9113a8db437b67e6802be2ba35c4c025cb37907b003cc29306a8d7d7800c58838aa38
"@typescript-eslint/types@npm:5.58.0":
version: 5.58.0
resolution: "@typescript-eslint/types@npm:5.58.0"
checksum: 3e5973909a5c585f5aebf919eec8ac213e9b5089c7357ea832ffa2bd39df70dce0b806d4bcc39a15e309830dfbf7bdf22d9808ab3c466729b8536e9d7e83eccc
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:5.57.1":
version: 5.57.1
resolution: "@typescript-eslint/typescript-estree@npm:5.57.1"
"@typescript-eslint/typescript-estree@npm:5.58.0":
version: 5.58.0
resolution: "@typescript-eslint/typescript-estree@npm:5.58.0"
dependencies:
"@typescript-eslint/types": 5.57.1
"@typescript-eslint/visitor-keys": 5.57.1
"@typescript-eslint/types": 5.58.0
"@typescript-eslint/visitor-keys": 5.58.0
debug: ^4.3.4
globby: ^11.1.0
is-glob: ^4.0.3
@@ -1548,46 +1562,46 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 3c5483a9bb8413ba117be12de334b9e533fe75320b5308e7d21a41661dd627b8a403575e5bce84ff9ca7b0678446dd6e98e73b2f05b9f4bb2d02a0a067b421d7
checksum: 51c2a92217a1ccc01acf3c5c371b8c4b48b066cb6341441c35b74b6f3e13d21f81e0aed041215f3f4cf73320f5cd6cc3061801c51a3049958ee9a171a6efa196
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:5.57.1":
version: 5.57.1
resolution: "@typescript-eslint/utils@npm:5.57.1"
"@typescript-eslint/utils@npm:5.58.0":
version: 5.58.0
resolution: "@typescript-eslint/utils@npm:5.58.0"
dependencies:
"@eslint-community/eslint-utils": ^4.2.0
"@types/json-schema": ^7.0.9
"@types/semver": ^7.3.12
"@typescript-eslint/scope-manager": 5.57.1
"@typescript-eslint/types": 5.57.1
"@typescript-eslint/typescript-estree": 5.57.1
"@typescript-eslint/scope-manager": 5.58.0
"@typescript-eslint/types": 5.58.0
"@typescript-eslint/typescript-estree": 5.58.0
eslint-scope: ^5.1.1
semver: ^7.3.7
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
checksum: bab8a94e30fc22fa6b3db5c6eee059697ce5e5e03f355c1fc465de184129b4824186a82235e14111c644d2b337721ae9f4d294a52a6f3dd4377edd35b922e3aa
checksum: 71ea338d9b67b59792e9d9a82b723acbee815534044294b169e3727f5394445d95a6200c919f0c28020bc5954df0f7110e9d0a4586e77ebebcd1662c06b30157
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:5.57.1":
version: 5.57.1
resolution: "@typescript-eslint/visitor-keys@npm:5.57.1"
"@typescript-eslint/visitor-keys@npm:5.58.0":
version: 5.58.0
resolution: "@typescript-eslint/visitor-keys@npm:5.58.0"
dependencies:
"@typescript-eslint/types": 5.57.1
"@typescript-eslint/types": 5.58.0
eslint-visitor-keys: ^3.3.0
checksum: 9a84589334fe675d18ca3a572aa0caf1b4c7baa80857642aee40378f5c79cf9dddd06a0fec31d7ff6a73f577f68f910fb745d51728fac317b388b8de764561db
checksum: e41b0cf8bf766c491fe96e26b4cd20e6af4dbe85ff773a32887b7557ffd199117d8cdc86ceef5ce224d06c5e14d54a8edb679e58185f5a9c6b450615eaac6f30
languageName: node
linkType: hard
"@vitejs/plugin-react-swc@npm:^3.2.0":
version: 3.2.0
resolution: "@vitejs/plugin-react-swc@npm:3.2.0"
"@vitejs/plugin-react-swc@npm:^3.3.0":
version: 3.3.0
resolution: "@vitejs/plugin-react-swc@npm:3.3.0"
dependencies:
"@swc/core": ^1.3.35
"@swc/core": ^1.3.42
peerDependencies:
vite: ^4
checksum: fa2e707ee67244596a8d8d2738875af904d0e30a108cb5788ada0815efebaf5001a3168b90093c2322502be36e87b131f22fb8eb7c5e351f6eb1893eb64299f5
checksum: 29e7389540ac448328c3450cde81b4a48815a6a57bf823b3b94b4372084d0a7a7cabb39041e9d6b6c31ebdb7f5739e54d91cfc9ec29f724daa2b9b027ecc9376
languageName: node
linkType: hard
@@ -1718,23 +1732,23 @@ __metadata:
"@emotion/styled": ^11.10.6
"@msgpack/msgpack": ^3.0.0-beta2
"@mui/icons-material": ^5.11.16
"@mui/material": ^5.11.16
"@mui/material": ^5.12.0
"@remix-run/router": ^1.5.0
"@table-library/react-table-library": 4.1.0
"@types/lodash-es": ^4.17.7
"@types/mime-types": ^2
"@types/node": ^18.15.11
"@types/react": ^18.0.33
"@types/react": ^18.0.34
"@types/react-dom": ^18.0.11
"@types/react-router-dom": ^5.3.3
"@types/styled-components": ^5
"@typescript-eslint/eslint-plugin": ^5.57.1
"@typescript-eslint/parser": ^5.57.1
"@vitejs/plugin-react-swc": ^3.2.0
"@typescript-eslint/eslint-plugin": ^5.58.0
"@typescript-eslint/parser": ^5.58.0
"@vitejs/plugin-react-swc": ^3.3.0
"@yarnpkg/pnpify": ^4.0.0-rc.42
async-validator: ^4.2.5
axios: ^1.3.5
eslint: ^8.37.0
eslint: ^8.38.0
eslint-config-airbnb: ^19.0.4
eslint-config-airbnb-typescript: ^17.0.0
eslint-config-prettier: ^8.8.0
@@ -1759,13 +1773,13 @@ __metadata:
react-toastify: ^9.1.2
rollup-plugin-visualizer: ^5.9.0
sockette: ^2.0.6
terser: ^5.16.8
terser: ^5.16.9
typesafe-i18n: ^5.24.3
typescript: ^5.0.3
typescript: ^5.0.4
vite: ^4.2.1
vite-plugin-minify: ^1.5.2
vite-plugin-svgr: ^2.4.0
vite-tsconfig-paths: ^4.0.8
vite-tsconfig-paths: ^4.1.0
languageName: unknown
linkType: soft
@@ -3134,14 +3148,14 @@ __metadata:
languageName: node
linkType: hard
"eslint@npm:^8.37.0":
version: 8.37.0
resolution: "eslint@npm:8.37.0"
"eslint@npm:^8.38.0":
version: 8.38.0
resolution: "eslint@npm:8.38.0"
dependencies:
"@eslint-community/eslint-utils": ^4.2.0
"@eslint-community/regexpp": ^4.4.0
"@eslint/eslintrc": ^2.0.2
"@eslint/js": 8.37.0
"@eslint/js": 8.38.0
"@humanwhocodes/config-array": ^0.11.8
"@humanwhocodes/module-importer": ^1.0.1
"@nodelib/fs.walk": ^1.2.8
@@ -3180,7 +3194,7 @@ __metadata:
text-table: ^0.2.0
bin:
eslint: bin/eslint.js
checksum: 3798781652b1c32d8a4a654c2dd7f2abbff808a806ddd7fd8f86a49586a824854369943d49ee52dcda47b8b03cd49585820f2ab69fc61bb17a0d7677785a2cf7
checksum: 1aeba0106770bd29834bb01550c72fa0ebea851ceeaef61d2860ecb455391992b316f222600939f11d12db2a7ea6fb9443f4aa137566f98f9f26af9fa40b96b5
languageName: node
linkType: hard
@@ -6042,7 +6056,7 @@ __metadata:
languageName: node
linkType: hard
"terser@npm:^5.10.0, terser@npm:^5.16.8":
"terser@npm:^5.10.0":
version: 5.16.8
resolution: "terser@npm:5.16.8"
dependencies:
@@ -6056,6 +6070,20 @@ __metadata:
languageName: node
linkType: hard
"terser@npm:^5.16.9":
version: 5.16.9
resolution: "terser@npm:5.16.9"
dependencies:
"@jridgewell/source-map": ^0.3.2
acorn: ^8.5.0
commander: ^2.20.0
source-map-support: ~0.5.20
bin:
terser: bin/terser
checksum: eb883b606aa698e314957aa2cf6e70c1dc632d0d2dcda13e7a2cc73569a05034721826c0d6f9b31c6bb08bbc4fc633b6591871814dada71da9d34af9e284dc4f
languageName: node
linkType: hard
"text-table@npm:^0.2.0":
version: 0.2.0
resolution: "text-table@npm:0.2.0"
@@ -6217,23 +6245,23 @@ __metadata:
languageName: node
linkType: hard
"typescript@npm:^5.0.3":
version: 5.0.3
resolution: "typescript@npm:5.0.3"
"typescript@npm:^5.0.4":
version: 5.0.4
resolution: "typescript@npm:5.0.4"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 13221c7f7dd2aa9cf8ac2fb1b5ca3825ff3d97a43b4656fd22ca36c0ec30179643b5157d620c3e4af9d3fc9234a571bd3ea175624b3d37c494d7ed159b038df2
checksum: 2f5bd1cead194905957cb34e220b1d6ff1662399adef8ec1864f74620922d860ee35b6e50eafb3b636ea6fd437195e454e1146cb630a4236b5095ed7617395c2
languageName: node
linkType: hard
"typescript@patch:typescript@^5.0.3#~builtin<compat/typescript>":
version: 5.0.3
resolution: "typescript@patch:typescript@npm%3A5.0.3#~builtin<compat/typescript>::version=5.0.3&hash=1f5320"
"typescript@patch:typescript@^5.0.4#~builtin<compat/typescript>":
version: 5.0.4
resolution: "typescript@patch:typescript@npm%3A5.0.4#~builtin<compat/typescript>::version=5.0.4&hash=1f5320"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 7e50cd198d2f7f052ac4e10d9a9b6e88ed91b3434c32b6e82f278a4e33727b42fee5d33929ef8a633b409a6bf62fd4bb95df464809507b7a703a4c73269dce3c
checksum: db16dd188048c172051825c7e6eea3e6bf577020625e5635fb8265d22683897d9ed7579b41a3a3e961fba5728c58e324d52041e9ca21d0dfc4bafa8bcf8e7a4b
languageName: node
linkType: hard
@@ -6337,9 +6365,9 @@ __metadata:
languageName: node
linkType: hard
"vite-tsconfig-paths@npm:^4.0.8":
version: 4.0.8
resolution: "vite-tsconfig-paths@npm:4.0.8"
"vite-tsconfig-paths@npm:^4.1.0":
version: 4.1.0
resolution: "vite-tsconfig-paths@npm:4.1.0"
dependencies:
debug: ^4.1.1
globrex: ^0.1.2
@@ -6349,7 +6377,7 @@ __metadata:
peerDependenciesMeta:
vite:
optional: true
checksum: 754e404a085668cbd1da08e4ebac7aef09efc3357524273d34bb68ab4dd705b8a0cce9e98c7bd0828f1c525669bf5f165d09c8d81c47011c6a5185fc30bd60de
checksum: 9846dfdd7118067539728f88a3b5f6a109d01392fa83bef6ad0505def2b1ed24579a4955df7db4b3ab60e9a816867a48e8b508f34030ef0d20b773293c91298d
languageName: node
linkType: hard

View File

@@ -599,6 +599,32 @@ const emsesp_devicedata_4 = {
]
};
// CUSTOM ENTITIES
let emsesp_entities = {
entities: [
{
id: 0,
name: 'test1',
device_id: 8,
type_id: 2,
offset: 0,
factor: 0,
uom: 2,
val_type: 2
},
{
id: 1,
name: 'test2',
device_id: 11,
type_id: 222,
offset: 2,
factor: 2,
uom: 4,
val_type: 5
}
]
};
// SCHEDULE
let emsesp_schedule = {
schedule: [
@@ -1369,6 +1395,12 @@ rest_server.get(GET_SCHEDULE_ENDPOINT, (req, res) => {
res.json(emsesp_schedule);
});
const GET_ENTITIES_ENDPOINT = REST_ENDPOINT_ROOT + 'entities';
rest_server.get(GET_ENTITIES_ENDPOINT, (req, res) => {
console.log('Sending Entities data');
res.json(emsesp_entities);
});
// start server
const expressServer = rest_server.listen(port, () =>
console.log(`EMS-ESP REST API server running on http://localhost:${port}/`)