LibJS: Implement rawJSON and isRawJSON functions
Some checks are pending
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run

This commit is contained in:
aplefull 2025-04-23 19:43:00 +02:00 committed by Tim Flynn
commit 223c9c91e6
Notes: github-actions[bot] 2025-04-24 13:34:52 +00:00
10 changed files with 209 additions and 4 deletions

View file

@ -0,0 +1,22 @@
/*
* Copyright (c) 2025, Artsiom Yafremau <aplefull@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibJS/Runtime/GlobalObject.h>
#include <LibJS/Runtime/RawJSONObject.h>
namespace JS {
GC_DEFINE_ALLOCATOR(RawJSONObject);
GC::Ref<RawJSONObject> RawJSONObject::create(Realm& realm, Object* prototype)
{
if (!prototype)
return realm.create<RawJSONObject>(realm.intrinsics().empty_object_shape());
return realm.create<RawJSONObject>(ConstructWithPrototypeTag::Tag, *prototype);
}
}