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.
		
		
		
		
		
			
		
			
				
					
					
						
							37 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							37 lines
						
					
					
						
							1.5 KiB
						
					
					
				| "use strict";
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| const formats_1 = require("./formats");
 | |
| const limit_1 = require("./limit");
 | |
| const codegen_1 = require("ajv/dist/compile/codegen");
 | |
| const fullName = new codegen_1.Name("fullFormats");
 | |
| const fastName = new codegen_1.Name("fastFormats");
 | |
| const formatsPlugin = (ajv, opts = { keywords: true }) => {
 | |
|     if (Array.isArray(opts)) {
 | |
|         addFormats(ajv, opts, formats_1.fullFormats, fullName);
 | |
|         return ajv;
 | |
|     }
 | |
|     const [formats, exportName] = opts.mode === "fast" ? [formats_1.fastFormats, fastName] : [formats_1.fullFormats, fullName];
 | |
|     const list = opts.formats || formats_1.formatNames;
 | |
|     addFormats(ajv, list, formats, exportName);
 | |
|     if (opts.keywords)
 | |
|         limit_1.default(ajv);
 | |
|     return ajv;
 | |
| };
 | |
| formatsPlugin.get = (name, mode = "full") => {
 | |
|     const formats = mode === "fast" ? formats_1.fastFormats : formats_1.fullFormats;
 | |
|     const f = formats[name];
 | |
|     if (!f)
 | |
|         throw new Error(`Unknown format "${name}"`);
 | |
|     return f;
 | |
| };
 | |
| function addFormats(ajv, list, fs, exportName) {
 | |
|     var _a;
 | |
|     var _b;
 | |
|     (_a = (_b = ajv.opts.code).formats) !== null && _a !== void 0 ? _a : (_b.formats = codegen_1._ `require("ajv-formats/dist/formats").${exportName}`);
 | |
|     for (const f of list)
 | |
|         ajv.addFormat(f, fs[f]);
 | |
| }
 | |
| module.exports = exports = formatsPlugin;
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| exports.default = formatsPlugin;
 | |
| //# sourceMappingURL=index.js.map
 |