cloudinary / cloudinary_npm

Cloudinary NPM for node.js integration
629 stars 323 forks source link

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

Open florestankorp opened 1 year ago

florestankorp commented 1 year ago

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

-

tamaracloudinary commented 1 year ago

Hi @florestankorp, thanks for reporting this issue. We've opened a new internal ticket to address it. We have plans to resolve it in our upcoming sprint. We'll keep you updated right here as soon as the fix is deployed. Thanks for your valuable feedback, Tamara

tamaracloudinary commented 1 year ago

Hi @florestankorp, I wanted to update you that a fix for the issue was deployed. Can you please try and let me know if everything works okay for you now? Thank you for your patience. Best, Tamara