compareLayerOrderNormal static method

int compareLayerOrderNormal(
  1. CSSRule a,
  2. CSSRule b
)

Implementation

static int compareLayerOrderNormal(CSSRule a, CSSRule b) {
  final ak = a.layerOrderKey;
  final bk = b.layerOrderKey;
  if (ak == null && bk == null) return 0;
  // Unlayered is above all layers for normal declarations.
  if (ak == null) return 1;
  if (bk == null) return -1;

  final minLen = ak.length < bk.length ? ak.length : bk.length;
  for (var i = 0; i < minLen; i++) {
    final diff = ak[i] - bk[i];
    if (diff != 0) return diff;
  }
  // Parent layer comes before its sublayers.
  return ak.length - bk.length;
}