Support "replace" utility function
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- typescript
- Área
- tooling
Línea de trabajo
Comienza revisando la función existente "modify" y cómo gestiona las rutas, las claves y los valores undefined. Define el comportamiento de replace para renombrar una clave, reemplazar una clave/valor, rechazar la ruta raíz y conservar el valor cuando es undefined; se considera terminado cuando la función exportada produce las operaciones de edición documentadas para esos casos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Similar to the "modify" function, but allowing the key to be changed too.
The two use cases I have in mind for this is:
- Renaming a key in-place while retaining the existing value
- Replacing an existing key/value with new key/value in the same place
Of course, the existing modify function could be overloaded to support this, but I suggest a new function because:
- It's not valid to supply the root for a replace
- The meaning of undefined value param changes
Example of how this would look if "replace" is implemented:
/**
* Computes the edit operations needed to replace a key/value in the JSON document.
*
* @param documentText The input text
* @param path The path of the value to change. The path represents either to a property or an array item.
* If the path points to an non-existing property or item, an error will be thrown.
* @param key The new key name for the specified property or item.
* @param value The new value for the specified property or item. If the value is undefined,
* the existing value will be retained.
* @param options Options
* @returns The edit operations describing the changes to the original document, following the format described in {@linkcode EditResult}.
* To apply the edit operations to the input, use {@linkcode applyEdits}.
*/
export function replace(text: string, path: JSONPath, key: string, value: any, options: ModificationOptions): EditResult;
- Lenguaje dominante
- TypeScript
- Estrellas
- 759
- Forks
- 66
- Merge medio
- 6 d 19 h
- PR fusionados (30 d)
- 5
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/node-jsonc-parser
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
microsoft/node-jsonc-parser#125 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
microsoft/node-jsonc-parser#105 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
microsoft/node-jsonc-parser#103 · 2 comentarios · 8 reacciones ·
-
Provide usage examplesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
microsoft/node-jsonc-parser#97 · 3 reacciones ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
microsoft/node-jsonc-parser#95 · 1 reacción ·
Todos los issues de microsoft/node-jsonc-parser
Issues similares
-
ADD openalgoAbiertotemplate
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
factory-active factory-automatic task-bug-reproduction-success task-identify-harness-labels-done task-identify-issue-type-done
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
vercel/ai#21528 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug Needs: Triage :mag:
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
microsoft/fluentui-contrib#671 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
sveltejs/acorn-typescript#150 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100