машинопись экспортирует одно и то же имя интерфейса между встроенным объектом и другими - PullRequest
0 голосов
/ 13 февраля 2020

Я хочу экспортировать обернутый интерфейс объекта.

interface Wrap<T> {
    original: T
}

export interface WrappedObject extends Wrap<Object> { //It is wrapped Object.

}

//It works
let a : WrappedObject = {
    original : {
        example:3
    }
};
console.log(a.original.hasOwnProperty("example"));

Но если я изменю "WrappedObject" на "Объект", Wrap<Object> будет работать как Wrap<wrapped object>. Объект ссылается на себя.

interface Wrap<T> {
    original: T
}

export interface Object extends Wrap<Object> { //It is wrapped Object.

}

//It doesn't work.
let a : Object = {
    original : {
        example:3
    }
};
console.log(a.original.hasOwnProperty("example"));

//But it work.
let a : Object;
a.original.original.original.original;

Я хочу, чтобы Объект не ссылался на себя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...