TypeScript/tests/cases/conformance/externalModules/typeOnly/computedPropertyName.ts
Andrew Branch b05dde747c
Update type-only import semantics to allow type queries (#36092)
* Change type-only semantics to allow type queries

* Don’t error using type-only import in ambient context

* Fix default import

* Fix namespace import

* Update more baselines

* Prevent circular resolution

* Track const enum expression usage

* Update baselines

* Perf tuning 1

* Test commit for perf impact

* Weave type-only alias declaration finding into alias resolution

* Fix namespace import of type-only exported symbols

* type-only exports do not contribute to the module object type

* Update APIs

* Fix enum casing, remove type-only conversion suggestion

* Short circuit type-only checks in resolveEntityName faster

* Fix casing in API

* Remove unused parameter

* Fix error on qualified names in type queries

* Allow type-only imports in computed property names

* Fix computed property names of types and abstract members

* Remove unused util

* Commit missing baselines

* Rename “check” functions so as not to overload the word “check”
2020-01-23 12:53:36 -08:00

44 lines
551 B
TypeScript

// @target: esnext
// @Filename: framework-hooks.ts
export const onInit = Symbol("onInit");
// @Filename: component.ts
import type { onInit } from "./framework-hooks";
interface Component {
[onInit]?(): void;
}
type T = {
[onInit]: any;
}
const o = {
[onInit]: 0 // Error
};
class C {
[onInit]: any; // Error (because class fields)
}
class D {
[onInit] = 0; // Error
}
class E {
[onInit]() {} // Error
}
abstract class F {
abstract [onInit](): void;
}
class G {
declare [onInit]: any;
}
declare class H {
[onInit]: any;
}