diff --git a/src/sbbs3/js_filebase.c b/src/sbbs3/js_filebase.c index 8481ae94f459b950a53b8092e1497dfc1dbc3e47..3a1e96d853d2812b823f16e90025d454d63b7d87 100644 --- a/src/sbbs3/js_filebase.c +++ b/src/sbbs3/js_filebase.c @@ -1367,14 +1367,14 @@ static jsSyncMethodSpec js_filebase_functions[] = { ,31900 }, {"get", js_get_file, 2, JSTYPE_OBJECT - ,JSDOCSTR("<filename | file-meta-object> [,detail=FileBase.DETAIL.NORM]") + ,JSDOCSTR("filename or file-meta-object [,detail=FileBase.DETAIL.NORM]") ,JSDOCSTR("get a file metadata object") ,31900 }, {"get_list", js_get_file_list, 4, JSTYPE_ARRAY ,JSDOCSTR("[filespec] [,detail=FileBase.DETAIL.NORM] [,since-time=0] [,sort=true [,order]]") ,JSDOCSTR("get a list (array) of file metadata objects" - ", the default sort order is the sysop-configured order or <tt>FileBase.SORT.NAME_A</tt>" + ", the default sort order is the sysop-configured order or <tt>FileBase.SORT.NAME_AI</tt>" ) ,31900 }, @@ -1541,6 +1541,27 @@ js_filebase_constructor(JSContext *cx, uintN argc, jsval *arglist) return JS_TRUE; } +#ifdef BUILD_JSDOCS +static char* filebase_detail_prop_desc[] = { + "Include indexed-filenames only", + "Normal level of file detail (e.g. full filenames, minimal meta data)", + "Normal level of file detail plus extended descriptions", + "Maximum file detail, include undefined/null property values", + NULL +}; + +static char* filebase_sort_prop_desc[] = { + "Natural sort order (same as DATE_A)", + "Filename ascending, case insensitive sort order", + "Filename descending, case insensitive sort order", + "Filename ascending, case sensitive sort order", + "Filename descending, case sensitive sort order", + "Import date/time ascending sort order", + "Import date/time descending sort order", + NULL +}; +#endif + JSObject* DLLCALL js_CreateFileBaseClass(JSContext* cx, JSObject* parent, scfg_t* cfg) { JSObject* obj; @@ -1567,6 +1588,10 @@ JSObject* DLLCALL js_CreateFileBaseClass(JSContext* cx, JSObject* parent, scfg_t , JSPROP_PERMANENT|JSPROP_ENUMERATE|JSPROP_READONLY); JS_DefineProperty(cx, detail, "MAX", INT_TO_JSVAL(file_detail_extdesc + 1), NULL, NULL , JSPROP_PERMANENT|JSPROP_ENUMERATE|JSPROP_READONLY); +#ifdef BUILD_JSDOCS + js_DescribeSyncObject(cx, obj, "Detail level", 31900); + js_CreateArrayOfStrings(cx, obj, "_property_desc_list", filebase_detail_prop_desc, JSPROP_READONLY); +#endif } JSObject* sort = JS_DefineObject(cx, constructor, "SORT", NULL, NULL, JSPROP_PERMANENT|JSPROP_ENUMERATE|JSPROP_READONLY); if(sort != NULL) { @@ -1584,6 +1609,10 @@ JSObject* DLLCALL js_CreateFileBaseClass(JSContext* cx, JSObject* parent, scfg_t , JSPROP_PERMANENT|JSPROP_ENUMERATE|JSPROP_READONLY); JS_DefineProperty(cx, sort, "DATE_D", INT_TO_JSVAL(FILE_SORT_DATE_D), NULL, NULL , JSPROP_PERMANENT|JSPROP_ENUMERATE|JSPROP_READONLY); +#ifdef BUILD_JSDOCS + js_DescribeSyncObject(cx, obj, "Sort order", 31900); + js_CreateArrayOfStrings(cx, obj, "_property_desc_list", filebase_sort_prop_desc, JSPROP_READONLY); +#endif } } return obj;