const obj = {
extend: (p: {
property: string;
methods: { name: string; call: string; params: number }[];
}) => {
obj[p.property] = {};
p.methods.forEach((m) => {
obj[p.property][m.name] = (params: any[]) =>
m.call + "____" + params.length;
});
},
};
obj.extend({
property: "Scope1",
methods: [
{
name: "functionName",
call: "function_name",
params: 1,
},
],
});
// How to add type to make below code not prompt type errors in typescript. In typescript, this code below will prompt type errors.
console.log(obj["Scope1"].functionName(["firstParam"]));
How to add type to make that code not prompt type errors in typescript. obj extend methods, all the methods were putted in one property.