{"_id":"@advanced-rest-client/validator-mixin","_rev":"10-019cbfbfcc5f0a29ef97855c9b1ee64a","name":"@advanced-rest-client/validator-mixin","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@advanced-rest-client/validator-mixin","version":"1.0.0","keywords":["api-components","arc-components","forms","validation","web-components"],"license":"Apache-2.0","_id":"@advanced-rest-client/validator-mixin@1.0.0","maintainers":[{"name":"jarrodek","email":"jarrodek@gmail.com"}],"contributors":[{"name":"Pawel Psztyc"},{"name":"The Advanced REST client authors","email":"arc@mulesoft.com"}],"homepage":"https://github.com/advanced-rest-client/validator-mixin#readme","bugs":{"url":"https://github.com/advanced-rest-client/validator-mixin/issues","email":"arc@mulesoft.com"},"dist":{"shasum":"fb684f8fbd014e9c26ebad2063759caac15c568f","tarball":"https://registry.npmjs.org/@advanced-rest-client/validator-mixin/-/validator-mixin-1.0.0.tgz","fileCount":5,"integrity":"sha512-P9l6+JPEIyzxZqOOxN/M2hS9xDEIXGPQoMZTDMuUY6rkm0FHrxzalTfqKPXkzTUuFrUyYMGavpDQga1U1XHsJg==","signatures":[{"sig":"MEQCIA/8vxwirn8TF8XR8wz9W/4W6vv76FOKQNSsK20t445PAiAGPjIYLr6nXflB9Wn/WRp6lEsdWAHMtv6DHEfjhgiSQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDIMeCRA9TVsSAnZWagAAxrQQAIv5ViroWrM1NT5IpPo4\n8MLtLB5/mIIWMvJtYd26t9cCG+plwYT0ir1Rjw90L8l244r9GAyqUIjoZ4NU\nKn2wqgGApA/IonU8AENssqwbkShHsLoPfKQ1AHW/XU7UEI/AJTRtQPwTG1in\nxNnFifmwgXOmgGAvob3vR3/OkMS35EIAocwfIHsHThE16G+tMNe8wu2Lmfoz\ngLYrfQwNCVCw961VGaTw5ntJbf39D01/ttMdD/QbLXQwhkZR2lY1+Uj1xpXJ\nC5C5B7K4iIakwZt39RWewN0E3yiJEeaivGF60sUx6BaOJdWLRLUN+LvhllQX\nYE4J4rAREaTNPelz8YYozzsFbPl4V5wGHevCG0sQkn69CKFsoEFuduTgpwrJ\netcUSc3LNAgHZcY6nGsbPaK/0cDdNYgS4EolrwjuG+flNUFGfXzBdFmEOLq9\nLhUQvQB0McoNbK11zoyYl7H/Qj4/le7Otdm/IGf2D/wIPWKc/JXBQhiZcS0A\n1Pu0xWbGAR8pJ4io5EXf37EuNRMaWbvQpF6oxt6na2HQ219VDkHdOxlxwbQ/\nNNtof7l3dFVnpm1bVlPfJvZn3wVkOzibxMoo8Un2IwDgVIrjw4pHL0d1mYWS\ngEhAbsE6zoQ5fbCuHZqt5grTRs7fVUd6YJbmGdf9Y6fnR29eoIPXNY5CQUAH\nqpMK\r\n=e41W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"validator-mixin.js","authors":["Pawel Psztyc","The Advanced REST client authors <arc@mulesoft.com>"],"gitHead":"a2989f4e486db0112c8cc7f8797e72a5db0cc886","scripts":{"test":"karma start --coverage","start":"owc-dev-server --open","test:sl":"karma start karma.sl.config.js --legacy --coverage","test:watch":"karma start --auto-watch=true --single-run=false","test:legacy":"karma start --legacy --coverage","update-types":"gen-typescript-declarations --deleteExisting --outDir .","test:legacy:watch":"karma start --legacy --auto-watch=true --single-run=false"},"_npmUser":{"name":"jarrodek","email":"jarrodek@gmail.com"},"deprecated":"This package is not maintained. Use @anypont-web-components/validator-mixin instead","repository":{"url":"git://github.com/advanced-rest-client/validator-mixin.git","type":"git"},"_npmVersion":"6.9.0","description":"A mixin to implement custom imput validator","directories":{},"_nodeVersion":"10.15.3","dependencies":{"@polymer/iron-meta":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"lit-html":"^1.0.0","lit-element":"^2.0.1","webpack-merge":"^4.1.5","owc-dev-server":"^1.0.0","@open-wc/testing":"^0.11.1","@open-wc/testing-karma":"^2.0.0","@advanced-rest-client/arc-demo-helper":"^1.0.3","@advanced-rest-client/testing-karma-sl":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/validator-mixin_1.0.0_1561101085972_0.3017127662701591","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@advanced-rest-client/validator-mixin","version":"1.0.1","keywords":["api-components","arc-components","forms","validation","web-components"],"license":"Apache-2.0","_id":"@advanced-rest-client/validator-mixin@1.0.1","maintainers":[{"name":"jarrodek","email":"jarrodek@gmail.com"}],"contributors":[{"name":"Pawel Psztyc"},{"name":"The Advanced REST client authors","email":"arc@mulesoft.com"}],"homepage":"https://github.com/advanced-rest-client/validator-mixin#readme","bugs":{"url":"https://github.com/advanced-rest-client/validator-mixin/issues","email":"arc@mulesoft.com"},"dist":{"shasum":"38ae913baac6c2bc05517a0c2f09aa9cd2bf7bf4","tarball":"https://registry.npmjs.org/@advanced-rest-client/validator-mixin/-/validator-mixin-1.0.1.tgz","fileCount":5,"integrity":"sha512-xsP4O96BuDHi+exZDMxAexUkQMHxjSFrZSiNbLi5iekByTYA1IUxmvLqdQ4/yWdeiM+YLl2ZgYwYMEYAWOIpWw==","signatures":[{"sig":"MEUCIQD0TMBKsC3RoEBEKObSHL3Tq+LartPHOMuhfwgwR1e9OwIgDXG0knJLsWIGvVdP8Qt1H+C8Tv0/1g/OQjVSUeL1Jno=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdEA38CRA9TVsSAnZWagAA7X8P/jE0EeZuRWHckGt66f6o\nOXOzRcR9mYeT+CH6bzNY4AnRjIy7FMmOnJlv/nuuGUmSdYCLkQgYv7jfYmb5\nvAk9XKSambxbuwEoH43dlfEKyva8ryjCG3i/ekJq4Wt6j4yNU8r6HG9LoG27\nHCvv4YKTTGuqH0HnEYbYG/o1c6VVTrdthyAxz5rvOWAZgOe0GJEzonyfUOyb\n/kFfDIloK7CpWyri86ehCiqWdCFgZIsYfkWv9YXjWT9iFwCHh9yrAfzvF5uZ\nR00Wih9OSrp3+ea5F6JA8QBD/z1VVQiqthh2ZsYj9AufuuRZDUmdG/nBDkGT\nudoR1LkyWyDDjvDgEbK2UhkwNT99LOyjSnRVt7S5fNzbQxu0wsB8BPH2hYRK\nh7FLGJvNSHR1VMDhNsFvEQU+fR2jZQvmztoO3qxi5wD47fDXnspEltfSA7xM\nShBw49G80pEviFvtBCpjFYNJjTjJPDDjfcbc2ezMuWJY34znqKg+gLBuXQU2\nxeOU4/pnc7TIG8ACN3GmVweACq8krpGBuhO6/Z/q7XbL+jSnDoJx5aDYryy/\n5ro2tRD7qf4f58mLKhqCb4JBo9umNjjbtycmiAcdjkWzABsNU4fnBsAGrs9P\neRDKMlM+NFmiqxUzPzdGP69Rl47ctFZnBc3jIV2Otq8+hEm/ZapERkfNSsGP\n6Bjq\r\n=2FLX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"validator-mixin.js","authors":["Pawel Psztyc","The Advanced REST client authors <arc@mulesoft.com>"],"gitHead":"1eaf7bd176a0abef8e9ad364751bceea12015c9a","scripts":{"test":"karma start --coverage","start":"owc-dev-server --open","test:sl":"karma start karma.sl.config.js --legacy --coverage","test:watch":"karma start --auto-watch=true --single-run=false","test:legacy":"karma start --legacy --coverage","update-types":"gen-typescript-declarations --deleteExisting --outDir .","test:legacy:watch":"karma start --legacy --auto-watch=true --single-run=false"},"_npmUser":{"name":"jarrodek","email":"jarrodek@gmail.com"},"deprecated":"This package is not maintained. Use @anypont-web-components/validator-mixin instead","repository":{"url":"git://github.com/advanced-rest-client/validator-mixin.git","type":"git"},"_npmVersion":"6.9.0","description":"A mixin to implement custom imput validator","directories":{},"_nodeVersion":"10.15.3","dependencies":{"@polymer/iron-meta":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"lit-html":"^1.0.0","lit-element":"^2.0.1","webpack-merge":"^4.1.5","owc-dev-server":"^1.0.0","@open-wc/testing":"^0.11.1","@open-wc/testing-karma":"^2.0.0","@advanced-rest-client/arc-demo-helper":"^1.0.3","@advanced-rest-client/testing-karma-sl":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/validator-mixin_1.0.1_1561333244343_0.14488087265649918","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-06-21T07:11:25.803Z","modified":"2026-04-07T19:31:14.352Z","1.0.0":"2019-06-21T07:11:26.140Z","1.0.1":"2019-06-23T23:40:44.439Z"},"bugs":{"url":"https://github.com/advanced-rest-client/validator-mixin/issues","email":"arc@mulesoft.com"},"license":"Apache-2.0","homepage":"https://github.com/advanced-rest-client/validator-mixin#readme","keywords":["api-components","arc-components","forms","validation","web-components"],"repository":{"url":"git://github.com/advanced-rest-client/validator-mixin.git","type":"git"},"description":"A mixin to implement custom imput validator","contributors":[{"name":"Pawel Psztyc"},{"name":"The Advanced REST client authors","email":"arc@mulesoft.com"}],"maintainers":[{"email":"jarrodek@gmail.com","name":"jarrodek"},{"email":"alexperez@mulesoft.com","name":"alexperez_march_2024"},{"email":"elmellidiego@gmail.com","name":"dmacias"}],"readme":"[![Published on NPM](https://img.shields.io/npm/v/@advanced-rest-client/validator-mixin.svg)](https://www.npmjs.com/package/@advanced-rest-client/validator-mixin)\n\n[![Build Status](https://travis-ci.org/advanced-rest-client/validator-mixin.svg?branch=stage)](https://travis-ci.org/advanced-rest-client/validator-mixin)\n\n## Deprecation notice\n\nThis package is not maintained. Use `@anypont-web-components/validator-mixin` instead.\n\n# ValidatorMixin\n\nA port of `iron-validator-behavior` that works with any JavaScript class.\n\nTo be used with Polymer 3, LitElement and low level web components.\n\nUse `ValidatorMixin` to implement a custom input/form validator.\n\nElement instances implementing this mixin will be registered for use\nin elements that implement `ValidatableMixin`.\n\n## Validator name\n\nBy default it takes lower case name of current HTML element. If this class\nis used outside custom elements environment then it uses static `is` property\nto get the name of the validator.\n\n```javascript\nstatic get is() {\n return 'my-validator';\n}\n```\n\n## Installation\n\n```bash\nnpm i @advanced-rest-client/validator-mixin\n```\n\n## Usage\n\n```javascript\nimport { LitElement } from 'lit-element';\nimport { ValidatorMixin } from '@advanced-rest-client/validator-mixin/validator-mixin.js';\n\nclass CatsOnly extends ValidatorMixin(LitElement) {\n  validateObject(obj) {\n    return !Object.keys(obj).some((key) => obj[key].match(/^(c|ca|cat|cats)?$/) === null);\n  }\n\n  validateArray(value) {\n    return !value.some((value) => value.match(/^(c|ca|cat|cats)?$/) === null);\n  }\n\n  validate(values) {\n    if (Array.isArray(values)) {\n      return this.validateArray(values);\n    }\n    if (typeof values === 'object') {\n      return this.validateObject(values);\n    }\n    return values.match(/^(c|ca|cat|cats)?$/) !== null;\n  }\n}\nwindow.customElements.define('cats-only', CatsOnly);\n```\n\n## Testing\n```bash\nnpm test\n```\n\n## Demo\n```bash\nnpm start\n```\n\n### API components\n\nThis components is a part of [API components ecosystem](https://elements.advancedrestclient.com/)\n","readmeFilename":"README.md"}