mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-05-07 09:20:11 +10:00
185f3896c5
Anything prepended with TOY_API is 'public'. Anything that starts with Toy_private_* shouldn't be touched.
29 lines
1.0 KiB
C
29 lines
1.0 KiB
C
#pragma once
|
|
|
|
#include "toy_common.h"
|
|
|
|
#include "toy_value.h"
|
|
#include "toy_vm.h"
|
|
|
|
// [x] string.length
|
|
// [x] string.asUpper
|
|
// [x] string.asLower
|
|
// [x] array.length
|
|
// [x] array.pushBack(x)
|
|
// [x] array.popBack()
|
|
// [x] array.forEach(fn) // fn(x) -> void
|
|
// [ ] array.sort(fn) // fn(a,b) -> int
|
|
// [x] table.length
|
|
// [x] table.insert(x, y)
|
|
// [x] table.hasKey(x)
|
|
// [x] table.remove(x)
|
|
// [ ] table.forEach(fn) // fn(x,y) -> void
|
|
|
|
Toy_Value Toy_private_handleStringAttributes(Toy_VM* vm, Toy_Value compound, Toy_Value attribute);
|
|
Toy_Value Toy_private_handleArrayAttributes(Toy_VM* vm, Toy_Value compound, Toy_Value attribute);
|
|
Toy_Value Toy_private_handleTableAttributes(Toy_VM* vm, Toy_Value compound, Toy_Value attribute);
|
|
Toy_Value Toy_private_handleOpaqueAttributes(Toy_VM* vm, Toy_Value compound, Toy_Value attribute);
|
|
|
|
//plug-and-play attributes for custom objects
|
|
typedef Toy_Value (*Toy_OpaqueAttributeHandler)(Toy_VM* vm, Toy_Value compound, Toy_Value attribute);
|
|
TOY_API void Toy_setOpaqueAttributeHandler(Toy_OpaqueAttributeHandler cb); |