{"version":3,"sources":["../../src/manual/schema.ts"],"sourcesContent":["import { vboxSchema, validator } from \"../schemas\";\r\n\r\nconst userSchema = new vboxSchema({\r\n  username: validator.username({\r\n    required: true,\r\n    min: 5,\r\n    messages: {\r\n      required: \"Username is required\",\r\n      min: \"Username must be at least 5 characters\"\r\n    }\r\n  }),\r\n  email: validator.email({\r\n    required: true,\r\n    allowedDomains: [\"gmail.com\"],\r\n    messages: {\r\n      required: \"Email is required\",\r\n      domain: \"Only Gmail addresses are allowed\"\r\n    }\r\n  })\r\n}, // {\r\n//   validateAll: true,\r\n//   showErrors: true\r\n// }\r\n);\r\n\r\nconst testData = [\r\n  { \r\n    input: { \r\n      username: \"admin\", \r\n      email: \"user@gmail.com\", \r\n      password: \"Secure@12345678901234\" \r\n    } // ❌ Username \"admin\" is banned\r\n  },\r\n  { \r\n    input: { \r\n      username: \"test_123\", \r\n      email: \"example@outlook.com\", \r\n      password: \"Strong!P@ss4567890\" \r\n    } // ✅ All valid\r\n  },\r\n  { \r\n    input: { \r\n      username: \"valid_user\", \r\n      email: \"test@hotmail.com\", \r\n      password: \"Valid@123\" \r\n    } // ❌ Invalid email domain\r\n  },\r\n  { \r\n    input: { \r\n      username: \"ab\", \r\n      email: \"test@gmail.com\", \r\n      password: \"short\" \r\n    } // ❌ Username too short, weak password\r\n  }\r\n];\r\n\r\nconsole.log(\"\\n📌 Running Schema Tests...\\n\");\r\n\r\nlet passedTests = 0;\r\nconst totalTests = testData.length;\r\n\r\ntestData.forEach(({ input }, index) => {\r\n  const result = userSchema.validate(input);\r\n  \r\n  console.log(`🔹 Test ${index + 1}:`);\r\n  console.log(\"🔸 Input:\", JSON.stringify(input, null, 2));\r\n  console.log(\"🔸 Result:\", JSON.stringify(result, null, 2));\r\n\r\n  const expectedSuccess = Object.values(result.errors || {}).length === 0;\r\n  const expected = expectedSuccess \r\n    ? { success: true, data: input } \r\n    : { success: false, errors: result.errors };\r\n\r\n  console.log(\"🔸 Expected:\", JSON.stringify(expected, null, 2));\r\n\r\n  const testPassed = JSON.stringify(result) === JSON.stringify(expected);\r\n  if (testPassed) passedTests++;\r\n\r\n  console.log(testPassed ? \"✅ Test Passed!\\n\" : \"❌ Test Failed!\\n\");\r\n});\r\n\r\n// Test Summary\r\nconsole.log(\"📊 Test Summary\");\r\nconsole.log(`✅ Passed: ${passedTests}/${totalTests}`);\r\nconsole.log(`❌ Failed: ${totalTests - passedTests}/${totalTests}\\n`);"],"mappings":";;;;;;;AAEA,IAAM,aAAa,IAAI;AAAA,EAAW;AAAA,IAChC,UAAU,UAAU,SAAS;AAAA,MAC3B,UAAU;AAAA,MACV,KAAK;AAAA,MACL,UAAU;AAAA,QACR,UAAU;AAAA,QACV,KAAK;AAAA,MACP;AAAA,IACF,CAAC;AAAA,IACD,OAAO,UAAU,MAAM;AAAA,MACrB,UAAU;AAAA,MACV,gBAAgB,CAAC,WAAW;AAAA,MAC5B,UAAU;AAAA,QACR,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAIA;AAEA,IAAM,WAAW;AAAA,EACf;AAAA,IACE,OAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA;AAAA,EACF;AAAA,EACA;AAAA,IACE,OAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA;AAAA,EACF;AAAA,EACA;AAAA,IACE,OAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA;AAAA,EACF;AAAA,EACA;AAAA,IACE,OAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA;AAAA,EACF;AACF;AAEA,QAAQ,IAAI,uCAAgC;AAE5C,IAAI,cAAc;AAClB,IAAM,aAAa,SAAS;AAE5B,SAAS,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU;AACrC,QAAM,SAAS,WAAW,SAAS,KAAK;AAExC,UAAQ,IAAI,kBAAW,QAAQ,CAAC,GAAG;AACnC,UAAQ,IAAI,oBAAa,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC;AACvD,UAAQ,IAAI,qBAAc,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAEzD,QAAM,kBAAkB,OAAO,OAAO,OAAO,UAAU,CAAC,CAAC,EAAE,WAAW;AACtE,QAAM,WAAW,kBACb,EAAE,SAAS,MAAM,MAAM,MAAM,IAC7B,EAAE,SAAS,OAAO,QAAQ,OAAO,OAAO;AAE5C,UAAQ,IAAI,uBAAgB,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAE7D,QAAM,aAAa,KAAK,UAAU,MAAM,MAAM,KAAK,UAAU,QAAQ;AACrE,MAAI,WAAY;AAEhB,UAAQ,IAAI,aAAa,0BAAqB,uBAAkB;AAClE,CAAC;AAGD,QAAQ,IAAI,wBAAiB;AAC7B,QAAQ,IAAI,kBAAa,WAAW,IAAI,UAAU,EAAE;AACpD,QAAQ,IAAI,kBAAa,aAAa,WAAW,IAAI,UAAU;AAAA,CAAI;","names":[]}