You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					38 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					38 lines
				
				1.2 KiB
			| 
											3 years ago
										 | "use strict"; | ||
|  | Object.defineProperty(exports, "__esModule", { value: true }); | ||
|  | const codegen_1 = require("../../compile/codegen"); | ||
|  | const util_1 = require("../../compile/util"); | ||
|  | const error = { | ||
|  |     message: "property name must be valid", | ||
|  |     params: ({ params }) => (0, codegen_1._) `{propertyName: ${params.propertyName}}`, | ||
|  | }; | ||
|  | const def = { | ||
|  |     keyword: "propertyNames", | ||
|  |     type: "object", | ||
|  |     schemaType: ["object", "boolean"], | ||
|  |     error, | ||
|  |     code(cxt) { | ||
|  |         const { gen, schema, data, it } = cxt; | ||
|  |         if ((0, util_1.alwaysValidSchema)(it, schema)) | ||
|  |             return; | ||
|  |         const valid = gen.name("valid"); | ||
|  |         gen.forIn("key", data, (key) => { | ||
|  |             cxt.setParams({ propertyName: key }); | ||
|  |             cxt.subschema({ | ||
|  |                 keyword: "propertyNames", | ||
|  |                 data: key, | ||
|  |                 dataTypes: ["string"], | ||
|  |                 propertyName: key, | ||
|  |                 compositeRule: true, | ||
|  |             }, valid); | ||
|  |             gen.if((0, codegen_1.not)(valid), () => { | ||
|  |                 cxt.error(true); | ||
|  |                 if (!it.allErrors) | ||
|  |                     gen.break(); | ||
|  |             }); | ||
|  |         }); | ||
|  |         cxt.ok(valid); | ||
|  |     }, | ||
|  | }; | ||
|  | exports.default = def; | ||
|  | //# sourceMappingURL=propertyNames.js.map
 |