71 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| var __importDefault = (this && this.__importDefault) || function (mod) {
 | |
|     return (mod && mod.__esModule) ? mod : { "default": mod };
 | |
| };
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| const benchmark_1 = __importDefault(require("benchmark"));
 | |
| const index_1 = require("../index");
 | |
| const emptySuite = new benchmark_1.default.Suite("z.object: empty");
 | |
| const shortSuite = new benchmark_1.default.Suite("z.object: short");
 | |
| const longSuite = new benchmark_1.default.Suite("z.object: long");
 | |
| const empty = index_1.z.object({});
 | |
| const short = index_1.z.object({
 | |
|     string: index_1.z.string(),
 | |
| });
 | |
| const long = index_1.z.object({
 | |
|     string: index_1.z.string(),
 | |
|     number: index_1.z.number(),
 | |
|     boolean: index_1.z.boolean(),
 | |
| });
 | |
| emptySuite
 | |
|     .add("valid", () => {
 | |
|     empty.parse({});
 | |
| })
 | |
|     .add("valid: extra keys", () => {
 | |
|     empty.parse({ string: "string" });
 | |
| })
 | |
|     .add("invalid: null", () => {
 | |
|     try {
 | |
|         empty.parse(null);
 | |
|     }
 | |
|     catch (err) { }
 | |
| })
 | |
|     .on("cycle", (e) => {
 | |
|     console.log(`${emptySuite.name}: ${e.target}`);
 | |
| });
 | |
| shortSuite
 | |
|     .add("valid", () => {
 | |
|     short.parse({ string: "string" });
 | |
| })
 | |
|     .add("valid: extra keys", () => {
 | |
|     short.parse({ string: "string", number: 42 });
 | |
| })
 | |
|     .add("invalid: null", () => {
 | |
|     try {
 | |
|         short.parse(null);
 | |
|     }
 | |
|     catch (err) { }
 | |
| })
 | |
|     .on("cycle", (e) => {
 | |
|     console.log(`${shortSuite.name}: ${e.target}`);
 | |
| });
 | |
| longSuite
 | |
|     .add("valid", () => {
 | |
|     long.parse({ string: "string", number: 42, boolean: true });
 | |
| })
 | |
|     .add("valid: extra keys", () => {
 | |
|     long.parse({ string: "string", number: 42, boolean: true, list: [] });
 | |
| })
 | |
|     .add("invalid: null", () => {
 | |
|     try {
 | |
|         long.parse(null);
 | |
|     }
 | |
|     catch (err) { }
 | |
| })
 | |
|     .on("cycle", (e) => {
 | |
|     console.log(`${longSuite.name}: ${e.target}`);
 | |
| });
 | |
| exports.default = {
 | |
|     suites: [emptySuite, shortSuite, longSuite],
 | |
| };
 | 
