Gestion de bibliothèque personnelle auto-hébergée : catalogue, prêts, scan de code-barres, consultation hors-ligne. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
24 lines
1.2 KiB
C#
24 lines
1.2 KiB
C#
namespace MaBibli.Client.Composants;
|
|
|
|
/// <summary>
|
|
/// Ce qu'un coup de scanner a produit : le code du livre ou de la revue, et son add-on éventuel.
|
|
/// </summary>
|
|
/// <param name="Code">EAN-13 normalisé, seul code qui identifie l'ouvrage.</param>
|
|
/// <param name="Parution">
|
|
/// Contenu de l'add-on <b>EAN-2</b>, imprimé à côté du code principal sur les périodiques.
|
|
/// </param>
|
|
/// <remarks>
|
|
/// ⚠️ <b>L'EAN-2 est une indication, jamais une donnée acquise.</b> Il porte le numéro de
|
|
/// parution d'une revue — c'est sa raison d'être normative — mais rien n'a pu être vérifié sur
|
|
/// des magazines réels : la vérification demande un exemplaire devant la caméra. Il est donc
|
|
/// <b>proposé</b> à l'utilisateur dans un champ qu'il corrige, jamais enregistré tel quel.
|
|
/// <para>
|
|
/// L'add-on <b>EAN-5</b> n'est pas remonté : il porte un <i>prix</i>, et le confondre avec un
|
|
/// numéro créerait des numéros « 00595 » que personne ne comprendrait.
|
|
/// </para>
|
|
/// </remarks>
|
|
public readonly record struct CodeScanne(string Code, string? Parution);
|
|
|
|
/// <summary>Forme brute renvoyée par <c>scanner-camera.js</c>, avant validation de l'ISBN.</summary>
|
|
internal sealed record LectureCodeBarres(string? Code, string? Parution);
|