Skip to content

Bug with latest TypeScript + Mapped types #65

@jarofghosts

Description

@jarofghosts

I've been trying to upgrade TypeScript to 3.9 and am encountering an issue with using typescript-is with mapped types in that version.

Minimal test case:

NestedError: Failed to transform node at: /Users/jesse.keane/Projects/personal/typescript-is-bug/index.ts:6:2
    at transformNodeAndChildren (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/transformer.js:35:15)
    at /Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/transformer.js:37:62
    at visitNode (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript/lib/typescript.js:74775:23)
    at Object.visitEachChild (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript/lib/typescript.js:75110:59)
    at transformNodeAndChildren (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/transformer.js:37:15)
    at /Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/transformer.js:37:62
    at visitNodes (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript/lib/typescript.js:74826:48)
    at visitLexicalEnvironment (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript/lib/typescript.js:74859:22)
    at Object.visitEachChild (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript/lib/typescript.js:75226:54)
    at transformNodeAndChildren (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/transformer.js:37:15)
Caused By: Error: Expected a valueDeclaration or a property type.
    at Object.getPropertyInfo (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-utils.js:90:19)
    at /Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:94:111
    at Array.map (<anonymous>)
    at /Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:94:80
    at Object.setFunctionIfNotExists (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-utils.js:37:46)
    at visitRegularObjectType (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:93:25)
    at visitObjectType (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:197:16)
    at Object.visitType (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:376:16)
    at createArrowFunction (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/transform-node.js:16:36)
    at Object.transformNode (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/transform-node.js:64:35) {
  nested: Error: Expected a valueDeclaration or a property type.
      at Object.getPropertyInfo (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-utils.js:90:19)
      at /Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:94:111
      at Array.map (<anonymous>)
      at /Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:94:80
      at Object.setFunctionIfNotExists (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-utils.js:37:46)
      at visitRegularObjectType (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:93:25)
      at visitObjectType (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:197:16)
      at Object.visitType (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/visitor-type-check.js:376:16)
      at createArrowFunction (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/transform-node.js:16:36)
      at Object.transformNode (/Users/jesse.keane/Projects/personal/typescript-is-bug/node_modules/typescript-is/lib/transform-inline/transform-node.js:64:35)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions