From aef0d1c1268ab7d4bc18996c9c6b4da16a40aadc Mon Sep 17 00:00:00 2001 From: navewindre Date: Mon, 4 Dec 2023 18:06:10 +0100 Subject: bbbbbbbbwaaaaaaaaaaa --- sourcemod/scripting/include/GlobalAPI/iterable.inc | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 sourcemod/scripting/include/GlobalAPI/iterable.inc (limited to 'sourcemod/scripting/include/GlobalAPI/iterable.inc') diff --git a/sourcemod/scripting/include/GlobalAPI/iterable.inc b/sourcemod/scripting/include/GlobalAPI/iterable.inc new file mode 100644 index 0000000..585873b --- /dev/null +++ b/sourcemod/scripting/include/GlobalAPI/iterable.inc @@ -0,0 +1,55 @@ +// ================== DOUBLE INCLUDE ========================= // + +#if defined _GlobalAPI_Iterable_included_ +#endinput +#endif +#define _GlobalAPI_Iterable_included_ + +// =========================================================== // + +#include + +// =========================================================== // + +/* + Helper methodmap for JSON_Object arrays +*/ +methodmap APIIterable < JSON_Object +{ + /** + * Creates a new APIIterable + * + * @param hItems JSON_Object array handle + * @return A new APIIterable handle + */ + public APIIterable(JSON_Object hItems) + { + if (hItems.HasKey("result")) + { + return view_as(hItems.GetObject("result")); + } + return view_as(hItems); + } + + /* + Gets count of the items in the array + */ + property int Count + { + public get() { return this.Length; } + } + + /** + * Gets an object from the array by index + * + * @note This is an alias to GetObjectIndexed + * @param index Index of the object we want to retrieve + * @return JSON_Object handle to the object retrieved + */ + public JSON_Object GetById(int index) + { + return this.GetObjectIndexed(index); + } +} + +// =========================================================== // \ No newline at end of file -- cgit v1.2.3