Property 'next_cursor' does not exist on type 'ResourceApiResponse'

オープン
#627 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
node.js, typescript
領域
api

調査の方向性

まず ResourceApiResponse 型と v2.api.resources が返す型を特定し、これらの宣言を next_cursor を含むレスポンス例と比較します。Issue にある TypeScript エラーを再現し、その後 images.next_cursor へのアクセスが型チェックを通過すること、および関連する型チェックまたはテストが成功することを確認します。

索引モデルが issue の本文から書いたものです。

説明

Bug report for Cloudinary NPM SDK

Before proceeding, please update to latest version and test if the issue persists

Describe the bug in a sentence or two.

I'm trying to access next_cursor from ResourceApiResponse and I get the following error:

Property 'next_cursor' does not exist on type 'ResourceApiResponse'.ts (2339)

However the response clearly contains the next_cursor:

const response = {
  resources: [],
  next_cursor: 'NEXT_CURSOR',
  rate_limit_allowed: 0,
  rate_limit_reset_at: 'TIME',
  rate_limit_remaining: 0,
};

I'm fetching the images as follows (using SvelteKit):

export async function GET({ params }: RequestEvent): Promise<Response> {
  const result = await v2.api.resources({
    max_results: 1,
    next_cursor: params.slug,
  });

  return json(result);
}

And loading the images in my component as follows:

<script
  lang="ts"
  strictEvents>
  import type { ResourceApiResponse } from 'cloudinary';

  let nextCursor: string | null;
  let images: ResourceApiResponse;

  async function fetchImage(): Promise<ResourceApiResponse> {
    const response = await fetch(`/images/${nextCursor ?? ''}`);
    images = (await response.json()) as ResourceApiResponse;

    nextCursor = images.next_cursor; // <-- ERROR

    return images;
  }
</script>

Issue Type (Can be multiple)

[ ] Build - Can’t install or import the SDK
[ ] Babel - Babel errors or cross browser issues
[ ] Performance - Performance issues
[ ] Behaviour - Functions aren’t working as expected (Such as generate URL)
[ ] Documentation - Inconsistency between the docs and behaviour
[x] Incorrect Types - For typescript users who are having problems with our d.ts files
[ ] Other (Specify)

Steps to reproduce

… if applicable

Error screenshots

image

image

Browsers (if issue relates to UI, else ignore)

[x] Chrome
[ ] Firefox
[ ] Safari
[ ] Other (Specify)
[ ] All

Versions and Libraries (fill in the version numbers)

Cloudinary_NPM - 1.40.0
Node - 18.12.1
NPM - 8.19.2

Config Files (Please paste the following files if possible)

Package.json

{
  "name": "my-app",
  "version": "0.0.1",
  "private": true,
  "type": "module",
  "devDependencies": {
    "@playwright/test": "1.28.1",
    "@sveltejs/adapter-auto": "2.0.0",
    "@sveltejs/kit": "1.20.4",
    "@typescript-eslint/eslint-plugin": "6.5.0",
    "@typescript-eslint/parser": "6.5.0",
    "cloudinary": "1.40.0",
    "eslint": "8.28.0",
    "eslint-config-prettier": "9.0.0",
    "eslint-plugin-svelte": "2.30.0",
    "prettier": "2.8.0",
    "prettier-plugin-svelte": "2.10.1",
    "svelte": "4.0.5",
    "svelte-check": "3.4.3",
    "tslib": "2.4.1",
    "typescript": "5.2.2",
    "vite": "4.4.2",
    "vitest": "0.32.2"
  }
}

Repository

主要言語
JavaScript
スター
672
フォーク
318
PR マージ指標
30日以内にマージされた PR はありません

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

cloudinary/cloudinary_npm のほかの issue

cloudinary/cloudinary_npm の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。