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 debian/x64 · docker で contract…

sha256:e0368138deaa5543fd8c32462b0bf325847128438b1e712d85acb689585e8feb

このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。 合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。 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