MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / fx_serializeQuery

Function fx_serializeQuery

modules/data/url/url.c:1825–1873  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1823}
1824
1825void fx_serializeQuery(txMachine* the)
1826{
1827 txSlot* pairs;
1828 txSlot* pair;
1829 txSlot* result;
1830
1831 txInteger length, index;
1832 fxVars(the, 3);
1833 pairs = mxVarv(0);
1834 pair = mxVarv(1);
1835 result = mxVarv(2);
1836
1837 mxPushSlot(mxArgv(0));
1838 mxPullSlot(pairs);
1839
1840 mxPush(mxEmptyString);
1841 mxPullSlot(result);
1842
1843 mxPushSlot(pairs);
1844 mxGetID(mxID(_length));
1845 length = (txIndex)fxToLength(the, the->stack);
1846 mxPop();
1847
1848 index = 0;
1849 while (index < length) {
1850 if (index > 0)
1851 fxConcatStringC(the, result, "&");
1852 mxPushSlot(pairs);
1853 mxGetIndex(index);
1854 mxPullSlot(pair);
1855
1856 mxPushSlot(pair);
1857 mxGetID(mxID(_name));
1858 mxPullSlot(mxArgv(0));
1859 fx_serializeQueryPlus(the, (txString)gxFormSet);
1860 fxConcatString(the, result, mxResult);
1861
1862 fxConcatStringC(the, result, "=");
1863
1864 mxPushSlot(pair);
1865 mxGetID(mxID(_value));
1866 mxPullSlot(mxArgv(0));
1867 fx_serializeQueryPlus(the, (txString)gxFormSet);
1868 fxConcatString(the, result, mxResult);
1869 index++;
1870 }
1871
1872 *mxResult = *result;
1873}
1874
1875void fx_serializeQueryPlus(txMachine* the, txString theSet)
1876{

Callers

nothing calls this directly

Calls 5

fxVarsFunction · 0.85
fxToLengthFunction · 0.85
fxConcatStringCFunction · 0.85
fx_serializeQueryPlusFunction · 0.85
fxConcatStringFunction · 0.85

Tested by

no test coverage detected