Skip to content

KitchenContents

Namespace Nfty.Core.Formats in assembly Nfty.Core.

public sealed record KitchenContents

What a Kitchen holds, as PATHS rather than loaded graphs. Deliberately not LoadedCookBook/LoadedRecipe/LoadedIngredient: reading an archive eagerly decodes every PNG inside it, so materialising a whole folder just to list it would pull the entire workspace into memory — the opposite of what a listing is for. Callers open what the user actually picks. Every list is sorted with Ordinal. Nothing here reaches an output file, but a workspace listing that reorders itself by machine locale is its own small bug, and the ordinal rule is the one this codebase keeps everywhere else.

Constructors

KitchenContents(KitchenManifest, string, IReadOnlyList<string>, IReadOnlyList<string>, IReadOnlyList<string>)

public KitchenContents(KitchenManifest Manifest, string Directory, IReadOnlyList<string> CookBooks, IReadOnlyList<string> Recipes, IReadOnlyList<string> Ingredients);

Parameters

  • Manifest (KitchenManifest) - The Kitchen's own manifest.
  • Directory (string) - The folder the Kitchen sits in, which was scanned.
  • CookBooks (IReadOnlyList<string>) - Paths of the .cbk files found, ordinal order.
  • Recipes (IReadOnlyList<string>) - Paths of the loose .rcp files found, ordinal order.
  • Ingredients (IReadOnlyList<string>) - Paths of the loose .igt files found, ordinal order.

Properties

CookBooks

public IReadOnlyList<string> CookBooks { get; init; }

Paths of the .cbk files found, ordinal order.

Directory

public string Directory { get; init; }

The folder the Kitchen sits in, which was scanned.

Ingredients

public IReadOnlyList<string> Ingredients { get; init; }

Paths of the loose .igt files found, ordinal order.

IsEmpty

public bool IsEmpty { get; }

Nothing has been put in this Kitchen yet — a fresh workspace, not a broken one.

Manifest

public KitchenManifest Manifest { get; init; }

The Kitchen's own manifest.

Recipes

public IReadOnlyList<string> Recipes { get; init; }

Paths of the loose .rcp files found, ordinal order.