Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

JSON array slicing

Aperta
#12 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
mysql, postgresql, sqlite, typescript
Ambito
databases

Direzione di ricerca

Inizia dal punto di ingresso proposto jsonbArraySlice e verifica come la sua query PostgreSQL JSONB gestisce l’inizio, la fine, l’ordinamento e i limiti omessi. Controlla se esistono pattern equivalenti di JSON o slicing di array per PostgreSQL, MySQL e SQLite, quindi definisci il comportamento supportato e verificalo su questi database.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

help wanted

In Postgres, JSON arrays do not support subscript slicing (e.g. array[2:]) syntax.

export function jsonbArraySlice<T>(
  array: SQLExpression<T[]>,
  start: SQLValue<number>,
  end?: SQLValue<number>
) {
  // Postgres array slicing is 1-based and inclusive of both start and
  // end. If end is omitted, slice to the end of the array.
  return sql<T[]>`
    SELECT jsonb_agg(elem)
    FROM (
      SELECT elem
      FROM jsonb_array_elements(${array})
        WITH ORDINALITY arr(elem, ord)
      WHERE ord >= ${start}
      ${end !== undefined ? sql`AND ord <= ${end}` : undefined}
      ORDER BY ord
    ) sub
  `
}

That's a JSONB implementation. Could use a JSON one too. Also need to see if MySQL and SQLite support a similar pattern.

Lingua principale
TypeScript
Stelle
173
Fork
7
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di alloc/drizzle-plus

Tutte le issue di alloc/drizzle-plus

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.