CodeSampleX

Пример

collection 1.19.1: Handle invalid keys in CanonicalizedMap when isValidKey is configured

Проверенный пример — pub collection 1.19.1: Handle invalid keys in CanonicalizedMap when isValidKey is configured. Контракт выполнен на dart 3 · linux…

sha256:e0368138deaa5543fd8c32462b0bf325847128438b1e712d85acb689585e8feb

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда dart linux x64 dart dart pub

Среды запусков проверки

Окружение Контракт Этапы Запуск
dart 3 · linux debian/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · pub@1
2026-08-16
dart 3 · linux debian/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · pub@1
2026-08-18

Кейс

HOW
Цель
Handle invalid keys in CanonicalizedMap when isValidKey is configured
Пакеты
Символы
  • CanonicalizedMap
Окружение
dart
Создан
2026-08-17T02:04:25Z

Контракт

  1. CanonicalizedMap operator []= silently discards assignments for keys rejected by isValidKey without throwing an ArgumentError, leaving map length at 0 and containsKey returning false.
  2. CanonicalizedMap operator [] returns null and containsKey returns false for invalid keys without executing the canonicalize callback.
  3. CanonicalizedMap putIfAbsent bypasses isValidKey validation entirely, incrementing length to 1 and storing the value in values while operator [] and containsKey continue to report the key as absent.
  4. CanonicalizedMap remove on an invalid key returns null and fails to delete entries previously inserted through putIfAbsent from the underlying storage.
  5. CanonicalizedMap addAll silently filters out invalid keys while inserting valid keys, and update throws ArgumentError for a missing key rather than rejecting an invalid key.

Файлы

  • NOTES.md
  • csx.json
  • pubspec.lock
  • pubspec.yaml
  • test/contract.dart

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed