You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Marc Prud'hommeaux (Jira)" <ji...@apache.org> on 2021/01/03 00:57:00 UTC

[jira] [Commented] (ARROW-8394) [JS] Typescript compiler errors for arrow d.ts files, when using es2015-esm package

    [ https://issues.apache.org/jira/browse/ARROW-8394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17257623#comment-17257623 ] 

Marc Prud'hommeaux commented on ARROW-8394:
-------------------------------------------

I don't think this has been fixed. I am seeing the same error with 2.0.1. This is also reported elsewhere: [https://github.com/apache/arrow/issues/8812]

The particular error I'm seeing is:
{code:java}
node_modules/apache-arrow/interfaces.d.ts:178:5 - error TS2502: '[Type.FixedSizeList]' is referenced directly or indirectly in its own type annotation.178     [Type.FixedSizeList]: T extends type.FixedSizeList ? vecs.FixedSizeListVector<T['valueType']> : never;
        ~~~~~~~~~~~~~~~~~~~~node_modules/apache-arrow/ipc/reader.d.ts:236:5 - error TS2717: Subsequent property declarations must have the same type.  Property 'schema' must be of type 'Schema<T>', but here has type 'Schema<any>'.236     schema: Schema;
        ~~~~~~  node_modules/apache-arrow/ipc/reader.d.ts:189:5
    189     schema: Schema<T>;
            ~~~~~~
    'schema' was also declared here.node_modules/apache-arrow/recordbatch.d.ts:17:18 - error TS2430: Interface 'RecordBatch<T>' incorrectly extends interface 'StructVector<T>'.
  The types of 'slice(...).clone' are incompatible between these types.
    Type '(data: Data<Struct<T>>, children?: AbstractVector<any>[]) => RecordBatch<T>' is not assignable to type '<R extends DataType<Type, any> = Struct<T>>(data: Data<R>, children?: AbstractVector<R>[]) => VectorType<R>'.
      Types of parameters 'data' and 'data' are incompatible.
        Type 'Data<R>' is not assignable to type 'Data<Struct<T>>'.
          Type 'R' is not assignable to type 'Struct<T>'.
            Property 'dataTypes' is missing in type 'DataType<Type, any>' but required in type 'Struct<T>'.17 export interface RecordBatch<T extends {
                    ~~~~~~~~~~~  node_modules/apache-arrow/type.d.ts:458:5
    458     dataTypes: T;
            ~~~~~~~~~
    'dataTypes' is declared here.node_modules/apache-arrow/recordbatch.d.ts:24:22 - error TS2415: Class 'RecordBatch<T>' incorrectly extends base class 'StructVector<T>'.24 export declare class RecordBatch<T extends {
                        ~~~~~~~~~~~
Found 4 errors.{code}
 

> [JS] Typescript compiler errors for arrow d.ts files, when using es2015-esm package
> -----------------------------------------------------------------------------------
>
>                 Key: ARROW-8394
>                 URL: https://issues.apache.org/jira/browse/ARROW-8394
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: JavaScript
>    Affects Versions: 0.16.0
>            Reporter: Shyamal Shukla
>            Assignee: Paul Taylor
>            Priority: Blocker
>              Labels: pull-request-available
>             Fix For: 2.0.0
>
>          Time Spent: 4h 40m
>  Remaining Estimate: 0h
>
> Attempting to use apache-arrow within a web application, but typescript compiler throws the following errors in some of arrow's .d.ts files
> import \{ Table } from "../node_modules/@apache-arrow/es2015-esm/Arrow";
> export class SomeClass {
> .
> .
> constructor() {
> const t = Table.from('');
> }
> *node_modules/@apache-arrow/es2015-esm/column.d.ts:14:22* - error TS2417: Class static side 'typeof Column' incorrectly extends base class static side 'typeof Chunked'. Types of property 'new' are incompatible.
> *node_modules/@apache-arrow/es2015-esm/ipc/reader.d.ts:238:5* - error TS2717: Subsequent property declarations must have the same type. Property 'schema' must be of type 'Schema', but here has type 'Schema'.
> 238 schema: Schema;
> *node_modules/@apache-arrow/es2015-esm/recordbatch.d.ts:17:18* - error TS2430: Interface 'RecordBatch' incorrectly extends interface 'StructVector'. The types of 'slice(...).clone' are incompatible between these types.
> the tsconfig.json file looks like
> {
>  "compilerOptions": {
>  "target":"ES6",
>  "outDir": "dist",
>  "baseUrl": "src/"
>  },
>  "exclude": ["dist"],
>  "include": ["src/*.ts"]
> }



--
This message was sent by Atlassian Jira
(v8.3.4#803005)