--- /dev/null
+{{# def.definitions }}
+{{# def.errors }}
+{{# def.setupKeyword }}
+{{# def.$data }}
+
+{{ var $op = $keyword == 'maxProperties' ? '>' : '<'; }}
+if ({{# def.$dataNotType:'number' }} Object.keys({{=$data}}).length {{=$op}} {{=$schemaValue}}) {
+ {{ var $errorKeyword = $keyword; }}
+ {{# def.error:'_limitProperties' }}
+} {{? $breakOnError }} else { {{?}}