Read off the source itself, in O(1), on every call — never cached. The two facts it
asks about both belong to the source object and both can change without this module
hearing about it: transformStyle recreates every source on a basemap switch, and a
layer can be removed between two writes.
⚠️ This is NOT the whole eligibility question. It says the source is able; whether
the layer's features are identifiable (every one carrying a unique id) is a property
of the data, costs O(N) to establish, and is therefore decided once per whole-collection
write by GeoJSONCore — not here, and not per mutation.
Can this live source take a diff at all?
Read off the source itself, in O(1), on every call — never cached. The two facts it asks about both belong to the source object and both can change without this module hearing about it:
transformStylerecreates every source on a basemap switch, and a layer can be removed between two writes.⚠️ This is NOT the whole eligibility question. It says the source is able; whether the layer's features are identifiable (every one carrying a unique id) is a property of the data, costs O(N) to establish, and is therefore decided once per whole-collection write by
GeoJSONCore— not here, and not per mutation.