示例
Handle unprovided multi-options when explicitly setting defaultsTo to null
sha256:6336a9211912d77dc7e7126ddc7997c3e53e58dc13a1da250530ae1dea82f0ba
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Handle unprovided multi-options when explicitly setting defaultsTo to null HOW
- 包
- args 2.7.0
- 环境
- dart
- 创建时间
- 2026-08-17T02:04:08Z
常见的想当然
Setting defaultsTo to null in ArgParser.addMultiOption causes the parsed result to be null if the option is left unset, allowing callers to distinguish an absent option from one given with no values.
这是本样本作者记下的、开发者或模型在此处通常会有的预期。下面的契约才是真正运行过的东西。
契约
- if (results['tags'] == null) throw StateError("ArgParser.addMultiOption silently coerces an explicitly provided defaultsTo: null into an empty list [], meaning the parsed value can never be null.");
- if (results['tags'] is! List || (results['tags'] as List).isNotEmpty) throw StateError("Expected an empty list.");
文件
- NOTES.md
- csx.json
- pubspec.lock
- pubspec.yaml
- test/contract.dart
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- dart 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · pub@1 · 2026-08-16 · ed25519:d91480838ac982c9