typings fix
This commit is contained in:
parent
8ade5f5703
commit
dee5328d71
@ -1,7 +1,7 @@
|
|||||||
/** @import * as TYPES from "./types.ts" */
|
/** @import * as TYPES from "./types.ts" */
|
||||||
|
|
||||||
/** @type {TYPES.GraphBuilder} */
|
/** @type {TYPES.GraphBuilder} */
|
||||||
function Builder({user, role, part, desk, pass}, folderName)
|
export function Room({user, role, part, desk, pass})
|
||||||
{
|
{
|
||||||
|
|
||||||
// mutate users
|
// mutate users
|
||||||
@ -116,7 +116,7 @@ function Builder({user, role, part, desk, pass}, folderName)
|
|||||||
const [userID, userObject] = userData[i];
|
const [userID, userObject] = userData[i];
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
const resp = await fetch(`./room/${folderName}/${passID}/${userID}.json`);
|
const resp = await fetch(`./room/${context.Path}/${passID}/${userID}.json`);
|
||||||
/** @type {TYPES.UserPassFile} */
|
/** @type {TYPES.UserPassFile} */
|
||||||
const json = await resp.json();
|
const json = await resp.json();
|
||||||
|
|
||||||
@ -168,26 +168,28 @@ function Builder({user, role, part, desk, pass}, folderName)
|
|||||||
PassList[passID] = passObj;
|
PassList[passID] = passObj;
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
const context = {
|
||||||
|
Path:"",
|
||||||
Desk:DeskList,
|
Desk:DeskList,
|
||||||
Part:PartList,
|
Part:PartList,
|
||||||
User:UserList,
|
User:UserList,
|
||||||
Role:RoleList,
|
Role:RoleList,
|
||||||
Pass:PassList
|
Pass:PassList
|
||||||
};
|
}
|
||||||
|
|
||||||
|
return context;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @type {TYPES.MassDscription} */
|
/** @type {TYPES.MassBuilder} */
|
||||||
export default function Graph(params)
|
export default function MassBuild(params)
|
||||||
{
|
{
|
||||||
return ()=>{
|
return ()=>{
|
||||||
Object.entries(params).forEach( ([roomFolderName, roomData])=>
|
Object.entries(params).forEach( ([roomFolderName, roomData])=>
|
||||||
{
|
{
|
||||||
params[roomFolderName] = Builder(roomData, roomFolderName);
|
roomData.Path = roomFolderName;
|
||||||
});
|
});
|
||||||
return params;
|
return params;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @type {TYPES.Scanner} */
|
/** @type {TYPES.Scanner} */
|
||||||
|
|||||||
@ -21,24 +21,23 @@ export type GraphBuilder=
|
|||||||
part:Parts,
|
part:Parts,
|
||||||
desk:Desks,
|
desk:Desks,
|
||||||
pass:Record<string, [name:string]>,
|
pass:Record<string, [name:string]>,
|
||||||
},
|
}
|
||||||
folderName:string
|
|
||||||
)
|
)
|
||||||
=>GraphParts
|
=>GraphParts
|
||||||
|
|
||||||
|
|
||||||
export type GraphParts = {
|
export type GraphParts = {
|
||||||
Desk:Record<string, Desk>,
|
Desk:Record<string, Desk>,
|
||||||
Part:Record<string, Part>,
|
Part:Record<string, Part>,
|
||||||
User:Record<string, User>,
|
User:Record<string, User>,
|
||||||
Role:Record<string, Role>,
|
Role:Record<string, Role>,
|
||||||
Pass:Record<string, Pass>
|
Pass:Record<string, Pass>
|
||||||
|
Path:string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MassDscription=
|
export type MassBuilder=<Params extends Record<string, GraphParts>>(rooms:Params)=>()=>{
|
||||||
(
|
[K in keyof Params]: GraphParts
|
||||||
params:Record<string, Parameters<GraphBuilder>[0]>
|
}
|
||||||
)
|
|
||||||
=>()=>Record<string, GraphParts>
|
|
||||||
|
|
||||||
export type UserPassFile = Record<string, Array<[time:number, data:string, user?:User]>>
|
export type UserPassFile = Record<string, Array<[time:number, data:string, user?:User]>>
|
||||||
|
|
||||||
|
|||||||
@ -1,27 +1,25 @@
|
|||||||
import Graph from "../../graph/graph.js";
|
//@ts-check
|
||||||
|
import Rooms, {Room} from "../../graph/graph.js";
|
||||||
import User from "./user.js";
|
import User from "./user.js";
|
||||||
|
|
||||||
export default Graph(
|
export default Rooms({
|
||||||
{
|
room_01:Room({
|
||||||
room_01:{
|
|
||||||
user:User,
|
user:User,
|
||||||
role:
|
role:{
|
||||||
{
|
|
||||||
dev:["Development", "u1"]
|
dev:["Development", "u1"]
|
||||||
},
|
},
|
||||||
part:
|
part:{
|
||||||
{
|
|
||||||
p1:"hey",
|
p1:"hey",
|
||||||
p2:"sup"
|
p2:"sup"
|
||||||
},
|
},
|
||||||
desk:
|
desk:{
|
||||||
{
|
d1:["Desk 01", ["dev"], "one", {p1:3}, "p1"]
|
||||||
d1:["Desk 01", ["dev"], "one", {p1:3}, "p2"]
|
|
||||||
},
|
},
|
||||||
pass:{
|
pass:{
|
||||||
pass_01:["pass 01"],
|
pass_01:["pass 01"],
|
||||||
pass_02:["pass 02"]
|
pass_02:["pass 02"]
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
}
|
})
|
||||||
);
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user