Vous trouverez ceci ci-dessous, à la ligne 4 du code source des Changesets
import { format } from "util";
Dans cet article, un aperçu du module util et de son utilisation dans les ensembles de modifications est fourni.
Le module util est principalement conçu pour prendre en charge les besoins des propres API internes de Node.js. Cependant, de nombreux utilitaires sont également utiles aux développeurs d'applications et de modules. Il est accessible en utilisant :
const util = require('util');
Vous pouvez en savoir plus sur le module Util ici.
Le module Util possède un certain nombre d'API, mais nous sommes intéressés par l'API Format car c'est ce qui est utilisé dans le code source des Changesets.
La méthode util.format() renvoie une chaîne formatée en utilisant le premier argument comme format de type printf.
Le premier argument est une chaîne contenant zéro ou plusieurs jetons d'espace réservé. Chaque jeton d'espace réservé est remplacé par la valeur convertie de l'argument correspondant. Les espaces réservés pris en charge sont :
%s — Chaîne.
%d — Nombre (valeur entière ou à virgule flottante).
%i — Entier.
%f — Valeur à virgule flottante.
%j — JSON. Remplacé par la chaîne « [Circulaire] » si l'argument contient des références circulaires.
%o — Objet. Représentation sous forme de chaîne d'un objet avec un formatage d'objet JavaScript générique. Semblable à
util.inspect() avec options { showHidden : true, profondeur : 4, showProxy : true }. Cela affichera l'objet complet
y compris les symboles et les propriétés non énumérables.
%O — Objet. Représentation sous forme de chaîne d'un objet avec un formatage d'objet JavaScript générique. Semblable à util.inspect()
sans options. Cela affichera l'objet complet, sans inclure les symboles et les propriétés non énumérables.
%% — signe de pourcentage unique (« % »). Cela ne consomme pas d’argument.
Si l'espace réservé n'a pas d'argument correspondant, l'espace réservé n'est pas remplacé.
util.format('%s:%s', 'foo'); // Returns: 'foo:%s'
S'il y a plus d'arguments transmis à la méthode util.format() que le nombre d'espaces réservés, les arguments supplémentaires sont contraints en chaînes puis concaténés à la chaîne renvoyée, chacune délimitée par un espace. Les arguments excessifs dont le type est « objet » ou « symbole » (sauf null) seront transformés par util.inspect().
util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'
Si le premier argument n'est pas une chaîne alors util.format() renvoie une chaîne qui est la concaténation de tous les arguments séparés par des espaces. Chaque argument est converti en chaîne à l'aide de util.inspect().
util.format(1, 2, 3); // '1 2 3'
Si un seul argument est passé à util.format(), il est renvoyé tel quel sans aucun formatage.
import { format } from "util";
Maintenant que nous comprenons les bases du module Util et de l'API de format, examinons maintenant l'utilisation du format dans les Changesets.
En recherchant le format, j'ai trouvé 2 cas où le format est utilisé.
const util = require('util');
Cela génère simplement une erreur et il n'y a aucun remplacement à effectuer puisque le premier argument est une chaîne vide.
util.format('%s:%s', 'foo'); // Returns: 'foo:%s'
Cela produit une chaîne séparée par un espace, en supposant que …args est séparé par des virgules
Chez Thinkthroo, nous étudions les grands projets open source et fournissons des guides architecturaux. Nous avons développé des composants réutilisables, construits avec tailwind, que vous pouvez utiliser dans votre projet. Nous proposons des services de développement Next.js, React et Node.
Prenez rendez-vous avec nous pour discuter de votre projet.
https://www.npmjs.com/package/util
https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L4
https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L88
https://nodejs.org/docs/latest-v8.x/api/util.html#util_util_format_format_args
https://github.com/changesets/changesets/blob/main/packages/logger/src/index.ts#L23
https://github.com/changesets/changesets/blob/main/packages/get-github-info/src/index.test.ts#L127
https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L88
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!