From ee14193ae80d7b4cdc305dd60f1ab60ce7ef5dee Mon Sep 17 00:00:00 2001
From: Alvaro Cabrera <pateketrueke@gmail.com>
Date: Thu, 27 Nov 2014 16:26:07 -0600
Subject: [PATCH] Basic impl for minProperties/maxProperties

---
 lib/types/object.js          | Bin 881 -> 1491 bytes
 spec/core/types/objects.json |  27 +++++++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/lib/types/object.js b/lib/types/object.js
index cae6adb844ce975c3508c012484c46718d08ec8d..9d9a5992689acac315672ccaa1c1ff630ecc2d5f 100644
GIT binary patch
literal 1491
zcmY!{ElyP^E-A`PE>XAU;wnolQV2@SOG&LLP_R`fN-ZqSEK1c-FM<fEYeJQP`1!fW
zD)jX9OG`3y^dU0pnmSwx3JMA(MTuppMa8MuRKnz7YBLgx1B&tsim|E9NG#SZ07-&f
zkXD+PT#}ier%;?xnwFN6s*#_RrKwQOrJw+EesX?6rGl+Oeo~fRaZYA(ss_|83JN)?
zdFdq?P&o+4nu|+8AuYd1LBkp*ZKq&h4KWR3UUn+TIN!vQ4863R{QM#fFcacW4NV0t
zs6MzY3JN8;puhvUBU)D%VoxmCA_WDoAXG@f7Q)R=t&Ft>2Nzft#8t2b83Gcl1v#)N
zwWPEt53JgntCou^H$SB`Csi-Cq9DJh1QcMf5YZ@0%qdNUxE>T1;4o9LRj957+n<@H
zprHs+qX&{oEh@=OEmo+hQ2^`HD@ZIUNiE6)MFT`i6JnHt0!Sw;f*=OyD5&RVA}Lh|
z2_#k^^nwHuQ&KWPF_oBuDxQ*BkeZj0nwOlJS`1PLO=v0Va0?X_N-~P_%N6oc%N1OU
zit>vz)O|CHi!<}m6_8vGin;uxtkmQZ1toO_Z3VAje?L7?YR*f~Osj-AR8v7)L0t)y
za6l;%9G(ga&=3U~RSXYiP>2<!7J>p45*{#TfkG%c7LueD6p|9b2^yjVWCA3t6zmoJ
z!A{Z3POU74*o_p*nhI75(U4>SvO_N|zsNN)IYR>;b=j$vu+RqCpjTV~PQ74uCMZYx
zr)hxH=qMP1vLVPbAj^xRp$P`vJz#OL-yq6CQ3zFo5zXMt1NWI@QBh(g$mu2dC6xuK
zddc~D$%!R;i3J5Yl^P)T=wS0HhM}5Z%R%WE6tKCOc?!1BbcT{}K!Ixj3)|ep3Q+z}
z%uC77)yU1v(}C$gPFWxwAV~#n1w&1U=U^oP$aR{~d~cwmkegVci8rK?0;MRw02+~M
zYEWB2;R_K12PQ0f6u?Q4aKI}l)GDOr6sJN%7p4tbzUqOBkkpC-aHPh<!v-S{f~^Jx
erGi2&mx4kq#KX`83@b!6Ku#^zwC1X{<^lklv*UCC

delta 264
zcmcc2{gG{g*~GZ8&087E80)RMxD*u9@{1HS$`XqdvQsM+GV>J55_3vZ^$Lpe3sQ?p
zGE<8+6{@)u6ciLdN{X{H3lwY>d=pDD^okPmQu1>(G!^U=4D?LFMky#{rYUGBYJiog
zsVNkt78dJe=B1=o_@`-Pr&ekz*xK4E=o)H5%$#h*s>{Nqpin#c8MC?|+#MjRK@OSx
zj#*w&K>@@qjt)u$8B+kZHMOEZ10<>$t6-}z`5m*kK{SXPYYld1EyzTW$BI%*N{jLo
VN{SN8Qj3aH!CHznt+{Hgxd44vQKJ9=

diff --git a/spec/core/types/objects.json b/spec/core/types/objects.json
index 302be188..9ba7ae1a 100644
--- a/spec/core/types/objects.json
+++ b/spec/core/types/objects.json
@@ -25,6 +25,33 @@
           }
         },
         "valid": true
+      },
+      {
+        "description": "should handle minProperties",
+        "schema": {
+          "type": "object",
+          "properties": {
+            "x": { "type": "string" },
+            "y": { "type": "string" }
+          },
+          "required": ["x", "y"],
+          "minProperties": 2
+        },
+        "valid": true
+      },
+      {
+        "description": "should handle maxProperties",
+        "schema": {
+          "type": "object",
+          "patternProperties": {
+            "a+": { "type": "string" },
+            "b+": { "type": "string" },
+            "c+": { "type": "string" }
+          },
+          "minProperties": 1,
+          "maxProperties": 2
+        },
+        "valid": true
       }
     ]
   }
-- 
GitLab