diff options
| author | LinuxWizard42 <computerwizard@linuxmail.org> | 2022-10-12 22:54:37 +0300 | 
|---|---|---|
| committer | LinuxWizard42 <computerwizard@linuxmail.org> | 2022-10-12 22:54:37 +0300 | 
| commit | 703e03aba33f234712206769f57717ba7d92d23d (patch) | |
| tree | 0041f04ccb75bd5379c764e9fe42249fffe75fc3 /node_modules/ajv/lib/dot/uniqueItems.jst | |
| parent | ab6e257e6e9d9a483d7e86f220d8b209a2cd7753 (diff) | |
| download | FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.gz FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.zst  | |
Added export_allowed file to make repository visible in cgit
Diffstat (limited to 'node_modules/ajv/lib/dot/uniqueItems.jst')
| -rw-r--r-- | node_modules/ajv/lib/dot/uniqueItems.jst | 62 | 
1 files changed, 62 insertions, 0 deletions
diff --git a/node_modules/ajv/lib/dot/uniqueItems.jst b/node_modules/ajv/lib/dot/uniqueItems.jst new file mode 100644 index 0000000..e69b830 --- /dev/null +++ b/node_modules/ajv/lib/dot/uniqueItems.jst @@ -0,0 +1,62 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + + +{{? ($schema || $isData) && it.opts.uniqueItems !== false }} +  {{? $isData }} +    var {{=$valid}}; +    if ({{=$schemaValue}} === false || {{=$schemaValue}} === undefined) +      {{=$valid}} = true; +    else if (typeof {{=$schemaValue}} != 'boolean') +      {{=$valid}} = false; +    else { +  {{?}} + +  var i = {{=$data}}.length +    , {{=$valid}} = true +    , j; +  if (i > 1) { +    {{ +      var $itemType = it.schema.items && it.schema.items.type +        , $typeIsArray = Array.isArray($itemType); +    }} +    {{? !$itemType || $itemType == 'object' || $itemType == 'array' || +        ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0)) }} +      outer: +      for (;i--;) { +        for (j = i; j--;) { +          if (equal({{=$data}}[i], {{=$data}}[j])) { +            {{=$valid}} = false; +            break outer; +          } +        } +      } +    {{??}} +      var itemIndices = {}, item; +      for (;i--;) { +        var item = {{=$data}}[i]; +        {{ var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); }} +        if ({{= it.util[$method]($itemType, 'item', it.opts.strictNumbers, true) }}) continue; +        {{? $typeIsArray}} +          if (typeof item == 'string') item = '"' + item; +        {{?}} +        if (typeof itemIndices[item] == 'number') { +          {{=$valid}} = false; +          j = itemIndices[item]; +          break; +        } +        itemIndices[item] = i; +      } +    {{?}} +  } + +  {{? $isData }}  }  {{?}} + +  if (!{{=$valid}}) { +    {{# def.error:'uniqueItems' }} +  } {{? $breakOnError }} else { {{?}} +{{??}} +  {{? $breakOnError }} if (true) { {{?}} +{{?}}  | 
