type Services = {
[name: string]: A;
};
type Objects = Array<{
[name: string]: (param?: A) => boolean;
}>;
export function inject(services: Services, objects: Objects) {
for (let i = 0, count = objects.length; i < count; i++) {
for (const name in services) {
if (typeof objects[i][name] === "function" && !objects[i][name]()) {
objects[i][name](services[name]);
}
}
}
}