Microsoft/TypeScript

Support `proposal-json-parse-with-source` (`JSON.rawJSON()`, `JSON.isRawJSON()`, `context` parameter of `reviver` function, etc...)

Open

#61,330 建立於 2025年3月2日

在 GitHub 查看
 (3 留言) (12 反應) (0 負責人)TypeScript (48,455 star) (6,726 fork)batch import
BugDomain: lib.d.tsHelp Wanted

描述

⚙ Compilation target

ESNext

⚙ Library

ESNext

Missing / Incorrect Definition

JSON.rawJSON() appears to be missing. Apologies if I've missed something or if this is the wrong place to raise an issue. I searched through both PRs and issues in both this repo and https://github.com/microsoft/TypeScript-DOM-lib-generator but couldn't find any references for it.

Image

Sample Code

// https://www.typescriptlang.org/play/?target=99#code/MYewdgzgLgBAHjAvDAUgZQPIDkB0AnAQwHd1sAKAcgAYKBKIA
const x = JSON.rawJSON('0')

Documentation Link

Per https://github.com/microsoft/TypeScript/issues/19044 it seems like TypeScript's policy is to support Stage 3+ features and proposal-json-parse-with-source is stage 3. (If I misunderstood the typescript teams policy on experimental features it would be awesome to have this documented in https://github.com/Microsoft/TypeScript/wiki/FAQ)

MDN also documents this feature here.

Additionally, it appears to have been implemented in V8 and in webkit.

Testing experimentally, it is available in node 22+ and in the latest Chromium as well:

Image

Image

貢獻者指南

Support `proposal-json-parse-with-source` (`JSON.rawJSON()`, `JSON.isRawJSON()`, `context` parameter of `reviver` function, etc...) · Microsoft/TypeScript#61330 | Good First Issue