typings fix

This commit is contained in:
Seth Trowbridge 2025-10-31 14:45:18 -04:00
parent 8ade5f5703
commit dee5328d71
3 changed files with 39 additions and 40 deletions

View File

@ -1,7 +1,7 @@
/** @import * as TYPES from "./types.ts" */
/** @type {TYPES.GraphBuilder} */
function Builder({user, role, part, desk, pass}, folderName)
export function Room({user, role, part, desk, pass})
{
// mutate users
@ -116,7 +116,7 @@ function Builder({user, role, part, desk, pass}, folderName)
const [userID, userObject] = userData[i];
try
{
const resp = await fetch(`./room/${folderName}/${passID}/${userID}.json`);
const resp = await fetch(`./room/${context.Path}/${passID}/${userID}.json`);
/** @type {TYPES.UserPassFile} */
const json = await resp.json();
@ -168,26 +168,28 @@ function Builder({user, role, part, desk, pass}, folderName)
PassList[passID] = passObj;
}
return {
const context = {
Path:"",
Desk:DeskList,
Part:PartList,
User:UserList,
Role:RoleList,
Pass:PassList
};
}
return context;
}
/** @type {TYPES.MassDscription} */
export default function Graph(params)
{
/** @type {TYPES.MassBuilder} */
export default function MassBuild(params)
{
return ()=>{
Object.entries(params).forEach( ([roomFolderName, roomData])=>
{
params[roomFolderName] = Builder(roomData, roomFolderName);
roomData.Path = roomFolderName;
});
return params;
}
}
/** @type {TYPES.Scanner} */

View File

@ -21,24 +21,23 @@ export type GraphBuilder=
part:Parts,
desk:Desks,
pass:Record<string, [name:string]>,
},
folderName:string
}
)
=>GraphParts
export type GraphParts = {
Desk:Record<string, Desk>,
Part:Record<string, Part>,
User:Record<string, User>,
Role:Record<string, Role>,
Pass:Record<string, Pass>
Path:string
}
export type MassDscription=
(
params:Record<string, Parameters<GraphBuilder>[0]>
)
=>()=>Record<string, GraphParts>
export type MassBuilder=<Params extends Record<string, GraphParts>>(rooms:Params)=>()=>{
[K in keyof Params]: GraphParts
}
export type UserPassFile = Record<string, Array<[time:number, data:string, user?:User]>>

View File

@ -1,27 +1,25 @@
import Graph from "../../graph/graph.js";
//@ts-check
import Rooms, {Room} from "../../graph/graph.js";
import User from "./user.js";
export default Graph(
{
room_01:{
user:User,
role:
{
dev:["Development", "u1"]
},
part:
{
p1:"hey",
p2:"sup"
},
desk:
{
d1:["Desk 01", ["dev"], "one", {p1:3}, "p2"]
},
pass:{
pass_01:["pass 01"],
pass_02:["pass 02"]
}
export default Rooms({
room_01:Room({
user:User,
role:{
dev:["Development", "u1"]
},
part:{
p1:"hey",
p2:"sup"
},
desk:{
d1:["Desk 01", ["dev"], "one", {p1:3}, "p1"]
},
pass:{
pass_01:["pass 01"],
pass_02:["pass 02"]
}
}
);
})
})