Skip to content
This repository was archived by the owner on Dec 8, 2025. It is now read-only.

added Number.toFixed function - #621

Open
Jack Tan (JackTam1993) wants to merge 3 commits into
microsoft:mainfrom
JackTam1993:toFixed
Open

added Number.toFixed function#621
Jack Tan (JackTam1993) wants to merge 3 commits into
microsoft:mainfrom
JackTam1993:toFixed

Conversation

@JackTam1993

Copy link
Copy Markdown

I added an empty toFixed function in packages/core/src/number.ts and test case in devs/run-tests/02numbers.ts. when I run the test case withyarn build and yarn test, the console will return an exception

WASM> Exception: TypeError
WASM> message: setting field 'toFixed' of a builtin frozen object
WASM> at prototype [as F1_pc16] (node_modules/@devicescript/core/src/number.ts:1:1)
WASM> at main [as F0_pc3] (devs/run-tests/02numbers.ts:1:1)

I think some settings occured this error?

@JackTam1993

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

@mmoskal

Michał Moskal (mmoskal) commented Nov 1, 2023

Copy link
Copy Markdown
Contributor

We only allow adding properties to objects listed in builtin_proto_idx. Try this:

diff --git a/runtime/devicescript/objects.c b/runtime/devicescript/objects.c
index b75762b7..1e80756c 100644
--- a/runtime/devicescript/objects.c
+++ b/runtime/devicescript/objects.c
@@ -261,8 +261,9 @@ static const uint8_t builtin_proto_idx[] = {
     [DEVS_BUILTIN_OBJECT_BUFFER] = 10,
     [DEVS_BUILTIN_OBJECT_GPIO_PROTOTYPE] = 11,
     [DEVS_BUILTIN_OBJECT_GPIO] = 12,
+    [DEVS_BUILTIN_OBJECT_NUMBER_PROTOTYPE] = 13,
 };
-#define MAX_PROTO 12
+#define MAX_PROTO 13
 
 devs_maplike_t *devs_get_builtin_object(devs_ctx_t *ctx, unsigned idx) {
     if (idx < sizeof(builtin_proto_idx)) {

@mmoskal

Copy link
Copy Markdown
Contributor

It didn't work?

@JackTam1993

Copy link
Copy Markdown
Author

It didn't work?

No, it didn't.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants