Microsoft/TypeScript

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

Open

#61,330 opened on 2025年3月2日

GitHub で見る
 (3 comments) (12 reactions) (0 assignees)TypeScript (48,455 stars) (6,726 forks)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

コントリビューターガイド