最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Typescript papaparse No overload matches this call - Stack Overflow

programmeradmin0浏览0评论

I use Papaparse lib in typescript.

import Papa from 'papaparse';

Papa.parse(filePath, {
  download: true, 
  header: true,
  dynamicTyping: true,
  skipEmptyLines: true,
};

filepath type is string

I get error on filePath:

No overload matches this call. The last overload generated the following error. The 'string' type argument is not assignable to the 'unique symbol' type parameter.

In @types/papaparse, there is


/**
 * Parse local files
 * @param file a File object obtained from the DOM.
 * @param config a config object which contains a callback.
 * @returns Doesn't return anything. Results are provided asynchronously to a callback function.
 */
// tslint:disable-next-line: no-unnecessary-generics
export function parse<T, TFile extends LocalFile = LocalFile>(file: TFile, config: ParseLocalConfig<T, TFile>): void;

/**
 * Parse remote files
 * @param url the path or URL to the file to download.
 * @param config a config object.
 * @returns Doesn't return anything. Results are provided asynchronously to a callback function.
 */
// tslint:disable-next-line: no-unnecessary-generics
export function parse<T>(url: string, config: ParseRemoteConfig<T>): void;

I use Papaparse lib in typescript.

import Papa from 'papaparse';

Papa.parse(filePath, {
  download: true, 
  header: true,
  dynamicTyping: true,
  skipEmptyLines: true,
};

filepath type is string

I get error on filePath:

No overload matches this call. The last overload generated the following error. The 'string' type argument is not assignable to the 'unique symbol' type parameter.

In @types/papaparse, there is


/**
 * Parse local files
 * @param file a File object obtained from the DOM.
 * @param config a config object which contains a callback.
 * @returns Doesn't return anything. Results are provided asynchronously to a callback function.
 */
// tslint:disable-next-line: no-unnecessary-generics
export function parse<T, TFile extends LocalFile = LocalFile>(file: TFile, config: ParseLocalConfig<T, TFile>): void;

/**
 * Parse remote files
 * @param url the path or URL to the file to download.
 * @param config a config object.
 * @returns Doesn't return anything. Results are provided asynchronously to a callback function.
 */
// tslint:disable-next-line: no-unnecessary-generics
export function parse<T>(url: string, config: ParseRemoteConfig<T>): void;

Share Improve this question edited Mar 11, 2022 at 8:09 Hasina Njaratin asked Mar 11, 2022 at 6:53 Hasina NjaratinHasina Njaratin 4812 gold badges7 silver badges19 bronze badges 3
  • This import form...import Papa from 'papaparse'; is used to import default exports. Why don't you try import { parse } from 'papaparse'; and then use the function directly? – Nalin Ranjan Commented Mar 11, 2022 at 6:59
  • 1 I have the impression that you are missing the function plete(results: ParseResult<T>, file: TInput): void from the config argument. This may be confusing the piler to call a different overload than the one you think you are calling. – Nikos Paraskevopoulos Commented Mar 11, 2022 at 7:53
  • i updated the body question. i still get errors – Hasina Njaratin Commented Mar 11, 2022 at 8:10
Add a ment  | 

1 Answer 1

Reset to default 6

I added plete function and updated my code like this:

import { parse, ParseResult } from 'papaparse';

parse(filePath, {
  download: true, 
  header: true,
  dynamicTyping: true,
  skipEmptyLines: true,
  plete: function (results: ParseResult<Record<string, unknown>>) {
    /* ...code stuff... */
  }
};

and it works. thx

发布评论

评论列表(0)

  1. 暂无评论