typescript type guard property in object