in lib/index.ts [262:275]
function getPropertyDeclarationsOfObject(obj: any): dom.ObjectTypeMember[] {
walkStack.add(obj);
const keys = getKeysOfObject(obj);
const result = keys.map(getProperty);
walkStack.delete(obj);
return result;
function getProperty(k: string) {
if (walkStack.has(obj[k])) {
return create.property(k, dom.type.any);
}
return create.property(k, getTypeOfValue(obj[k]));
}
}