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

未关闭
#627 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
领域
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 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

cloudinary/cloudinary_npm 的其他 Issue

查看 cloudinary/cloudinary_npm 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。