Abfragestring mit ramda generieren

ami

Ich habe ein Objekt, das ein Array von Filtern darstellt. Jedes Objekt im Array hat idund value. Jetzt möchte ich aus diesem Array eine Abfragezeichenfolge generieren:

{ filtered: '[{"id":"tags","value":["soap"]}]',
  limit: '10',
  offset: '0',
  sorted: '[]' }

die Ausgabe sollte wie folgt aussehen:

/item?filtered=%5B%7B%22id%22%3A%22tags%22%2C%22value%22%3A%5B%22soap%22%5D%7D%5D&limit=10&offset=0&sorted=%5B%5D

Wie generiert man nun eine solche verschachtelte Abfrage mit Ramda?

Ross Mackay

Persönlich würde ich dafür einfach eine vorhandene Bibliothek verwenden (es gibt viele, suche npm nach query string). Wenn Sie es jedoch mit besonders Ramda selbst tun würden:

const qs = R.compose(
  s => `?${s}`, // Prepend a ?
  R.join('&'), // Join each segment of the query with '&'
  R.map(R.join('=')), // Join the key-value pairs with '='
  R.map(R.map(encodeURIComponent)), // encode keys and values
  R.toPairs, // convert the object to pairs like `['limit', 5]`
)(input)

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel