namespace ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Import; /// /// Options that drive an run. Captures the few knobs that /// reasonably differ between projects without forcing a dedicated subclass per import shape: /// scope filter (Global vs. Local:N), maximum rows to keep (defensive cap on suspicious /// exports), and whether to silently drop malformed rows or surface a parse exception. /// /// /// /// matches the optional Scope column on RSLogix CSV /// exports — "Global" tags live at the project root; "Local:1" / "Local:2" / etc. are /// scoped to ladder file 1, ladder file 2, etc. When non-null, only rows whose /// Scope value matches case-insensitively are emitted; rows with no Scope /// column are treated as Global. /// /// /// defaults to true — RSLogix exports tend to carry /// the occasional cosmetic row (single-letter alias, comment-only rows, blank lines) /// and the v1 contract is "import what we can, log a warning for everything else". /// Set to false to fail-fast on the first malformed row (useful for CI lint). /// /// public sealed record ImportOptions( string? ScopeFilter = null, int? MaxRowsToImport = null, bool IgnoreInvalid = true);