CX_SETTER_DEF(cxStack, items) { CX_ASSERT(cxJsonIsArray(value), "items must is array"); cxJson items = cxJsonToArray(value); CX_JSON_ARRAY_EACH_BEG(items, v) cxAny any = cxJsonTocxObject(v); if(any != NULL){ cxStackPush(this, any); } CX_JSON_ARRAY_EACH_END(items, v) }
cxStr cxStrFormatConvert(cxJson args) { CX_ASSERT(cxJsonIsArray(args), "args must is array"); cxStr format = cxJsonStrAt(args, 0); if(!cxStrOK(format)){ return cxStrEmpty(); } cxRegex regex = cxRegexCreate("%[0-9.lcdfosxX-]+", format, 0); cxStr rv = cxRegexReplace(regex, cxStrConvertReplaceFunc, args); if(!cxStrOK(rv)) { return cxStrEmpty(); } return rv; }