hunk.code_window:       // Increment the ref count.
         subscriptions.set(subscriptionKey, refCount + 1)
         if (!refCount) {
           const dispose = subscribe(originKey, { next })
           if (typeof dispose !== 'function') {
             throw new Error(
               'The `subscribe` function must return a function to unsubscribe.'
             )
  
hunk.labels: keep keep keep keep replace keep keep keep keep
hunk.after_edit:         const dispose = subscribe(args, { next })
  
hunk.file_path: subscription/src/index.ts
hunk.type: replace
file: {
    "name": "swr",
    "version": "2.2.0",
    "description": "React Hooks library for remote data fetching",
    "keywords": [
      "swr",
      "react",
      "hooks",
      "request",
      "cache",
      "fetch"
    ],
    "packageManager": "pnpm@8.4.0",
    "main": "./core/dist/index.js",
    "module": "./core/dist/index.esm.js",
    "types": "./core/dist/index.d.ts",
    "exports": {
      "./package.json": "./package.json",
      ".": {
        "types": "./core/dist/index.d.ts",
        "react-server": "./core/dist/react-server.mjs",
        "import": "./core/dist/index.mjs",
        "module": "./core/dist/index.esm.js",
        "require": "./core/dist/index.js"
      },
      "./infinite": {
        "types": "./infinite/dist/index.d.ts",
        "react-server": "./infinite/dist/react-server.mjs",
        "import": "./infinite/dist/index.mjs",
        "module": "./infinite/dist/index.esm.js",
        "require": "./infinite/dist/index.js"
      },
      "./immutable": {
        "types": "./immutable/dist/index.d.ts",
        "import": "./immutable/dist/index.mjs",
        "module": "./immutable/dist/index.esm.js",
        "require": "./immutable/dist/index.js"
      },
      "./subscription": {
        "types": "./subscription/dist/index.d.ts",
        "import": "./subscription/dist/index.mjs",
        "module": "./subscription/dist/index.esm.js",
        "require": "./subscription/dist/index.js"
      },
      "./mutation": {
        "types": "./mutation/dist/index.d.ts",
        "import": "./mutation/dist/index.mjs",
        "module": "./mutation/dist/index.esm.js",
        "require": "./mutation/dist/index.js"
      },
      "./_internal": {
        "types": "./_internal/dist/index.d.ts",
        "react-server": "./_internal/dist/react-server.mjs",
        "import": "./_internal/dist/index.mjs",
        "module": "./_internal/dist/index.esm.js",
        "require": "./_internal/dist/index.js"
      }
    },
    "files": [
      "core/dist/**/*.{js,d.ts,mjs}",
      "infinite/dist/**/*.{js,d.ts,mjs}",
      "immutable/dist/**/*.{js,d.ts,mjs}",
      "mutation/dist/**/*.{js,d.ts,mjs}",
      "_internal/dist/**/*.{js,d.ts,mjs}",
      "subscription/dist/*.{js,d.ts,mjs}",
      "core/package.json",
      "infinite/package.json",
      "immutable/package.json",
      "mutation/package.json",
      "_internal/package.json",
      "subscription/package.json"
    ],
    "repository": "github:vercel/swr",
    "homepage": "https://swr.vercel.app",
    "license": "MIT",
    "scripts": {
      "prepare": "husky install",
      "csb:install": "corepack enable && corepack pnpm i",
      "csb:build": "pnpm build",
      "clean": "pnpm -r run clean && rimraf playwright-report test-result",
      "watch": "pnpm -r run watch",
      "build": "pnpm build-package _internal && pnpm build-package core && pnpm build-package infinite && pnpm build-package immutable && pnpm build-package mutation && pnpm build-package subscription",
      "build:e2e": "pnpm next build e2e/site",
      "build-package": "bunchee --cwd",
      "types:check": "pnpm -r run types:check",
      "prepublishOnly": "pnpm clean && pnpm build",
      "publish-beta": "pnpm publish --tag beta",
      "format": "prettier --write ./**/*.{ts,tsx}",
      "lint": "eslint . --ext .ts,.tsx --cache",
      "lint:fix": "pnpm lint --fix",
      "coverage": "jest --coverage",
      "test-typing": "tsc --noEmit -p test/type/tsconfig.json && tsc --noEmit -p test/tsconfig.json",
      "test": "jest",
      "test:build": "jest --config jest.config.build.js",
      "test:e2e": "playwright test",
      "run-all-checks": "pnpm types:check && pnpm lint && pnpm test && pnpm test-typing"
    },
    "lint-staged": {
      "*.{ts,tsx}": [
        "eslint --fix --cache",
        "prettier --write"
      ]
    },
    "devDependencies": {
      "@playwright/test": "^1.34.3",
      "@swc/core": "^1.3.62",
      "@swc/jest": "0.2.26",
      "@testing-library/jest-dom": "^5.16.5",
      "@testing-library/react": "^14.0.0",
      "@type-challenges/utils": "0.1.1",
      "@types/jest": "^29.5.2",
      "@types/node": "^20.2.5",
      "@types/react": "^18.2.8",
      "@types/use-sync-external-store": "^0.0.3",
      "@typescript-eslint/eslint-plugin": "5.59.8",
      "@typescript-eslint/parser": "5.59.8",
      "bunchee": "3.5.0",
      "eslint": "8.42.0",
      "eslint-config-prettier": "8.8.0",
      "eslint-plugin-jest-dom": "5.0.1",
      "eslint-plugin-react": "7.32.2",
      "eslint-plugin-react-hooks": "4.6.0",
      "eslint-plugin-testing-library": "5.11.0",
      "husky": "8.0.3",
      "jest": "29.5.0",
      "jest-environment-jsdom": "29.5.0",
      "lint-staged": "13.2.2",
      "next": "^13.4.4",
      "prettier": "2.8.8",
      "react": "^18.2.0",
      "react-dom": "^18.2.0",
      "react-error-boundary": "^4.0.9",
      "rimraf": "5.0.1",
      "semver": "^7.5.1",
      "swr": "workspace:*",
      "typescript": "5.1.3"
    },
    "peerDependencies": {
      "react": "^16.11.0 || ^17.0.0 || ^18.0.0"
    },
    "prettier": {
      "tabWidth": 2,
      "semi": false,
      "useTabs": false,
      "singleQuote": true,
      "arrowParens": "avoid",
      "trailingComma": "none"
    },
    "dependencies": {
      "client-only": "^0.0.1",
      "use-sync-external-store": "^1.2.0"
    }
  }
  