summaryrefslogtreecommitdiff
path: root/node_modules/ajv-keywords/keywords/oneRequired.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:16:09 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:16:09 +0800
commitd1d9f00b1bd660842addf5e6b1d1b64c852a9eea (patch)
tree60fb37ae73a1109d95301de5ec9b61b5726a4b61 /node_modules/ajv-keywords/keywords/oneRequired.js
parent7c85166c4cbdd862fc4252007d2df5befcbc2a58 (diff)
added hover prefixer
Diffstat (limited to 'node_modules/ajv-keywords/keywords/oneRequired.js')
-rw-r--r--node_modules/ajv-keywords/keywords/oneRequired.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/node_modules/ajv-keywords/keywords/oneRequired.js b/node_modules/ajv-keywords/keywords/oneRequired.js
new file mode 100644
index 00000000..5468463b
--- /dev/null
+++ b/node_modules/ajv-keywords/keywords/oneRequired.js
@@ -0,0 +1,24 @@
+'use strict';
+
+module.exports = function defFunc(ajv) {
+ defFunc.definition = {
+ type: 'object',
+ macro: function (schema) {
+ if (schema.length == 0) return true;
+ if (schema.length == 1) return {required: schema};
+ var schemas = schema.map(function (prop) {
+ return {required: [prop]};
+ });
+ return {oneOf: schemas};
+ },
+ metaSchema: {
+ type: 'array',
+ items: {
+ type: 'string'
+ }
+ }
+ };
+
+ ajv.addKeyword('oneRequired', defFunc.definition);
+ return ajv;
+};